Beispiel #1
0
        public void SimpleDocumentSanitizerTests()
        {
            var sanitizer = HtmlSanitizer.SimpleHtml5DocumentSanitizer();

            string input    = @"<html>
<body>
    <h1>Heading</h1>
    <p>Some comments<span></span></p>
    <script type=""text/javascript"">I'm illegal for sure</script>
    <p><a href=""http://www.vereyon.com/"">Nofollow legal link</a> and here's another one: <a href=""javascript:alert('test')"">Obviously I'm illegal</a></p>
</body>
</html>";
            string expected = @"<html>
<body>
    <h1>Heading</h1>
    <p>Some comments</p>
    
    <p><a href=""http://www.vereyon.com/"" target=""_blank"" rel=""nofollow"">Nofollow legal link</a> and here&#39;s another one: Obviously I&#39;m illegal</p>
</body>
</html>";

            var output = sanitizer.Sanitize(input);

            Assert.Equal(expected, output);
        }
        public void SanitizeMsWordDocument()
        {
            var sanitizer = HtmlSanitizer.SimpleHtml5DocumentSanitizer();

            string input    = @"<html xmlns:v=""urn:schemas-microsoft-com:vml""
xmlns:o=""urn:schemas-microsoft-com:office:office""
xmlns:w=""urn:schemas-microsoft-com:office:word""
xmlns:m=""http://schemas.microsoft.com/office/2004/12/omml""
xmlns=""http://www.w3.org/TR/REC-html40"">

<head>
<meta http-equiv=Content-Type content=""text/html; charset=windows-1252"">
<meta name=ProgId content=Word.Document>
<meta name=Generator content=""Microsoft Word 12"">
<meta name=Originator content=""Microsoft Word 12"">
<link rel=File-List href=""Test_files/filelist.xml"">
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>Akkermans</o:Author>
  <o:LastAuthor>Akkermans</o:LastAuthor>
  <o:Revision>3</o:Revision>
  <o:TotalTime>6</o:TotalTime>
  <o:Created>2015-07-08T08:39:00Z</o:Created>
  <o:LastSaved>2015-07-08T08:45:00Z</o:LastSaved>
  <o:Pages>1</o:Pages>
  <o:Words>14</o:Words>
  <o:Characters>77</o:Characters>
  <o:Lines>1</o:Lines>
  <o:Paragraphs>1</o:Paragraphs>
  <o:CharactersWithSpaces>90</o:CharactersWithSpaces>
  <o:Version>12.00</o:Version>
 </o:DocumentProperties>
</xml><![endif]-->
<link rel=themeData href=""Test_files/themedata.thmx"">
<link rel=colorSchemeMapping href=""Test_files/colorschememapping.xml"">
<!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:Zoom>120</w:Zoom>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:TrackMoves>false</w:TrackMoves>
  <w:TrackFormatting/>
  <w:HyphenationZone>21</w:HyphenationZone>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>NL</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:DontVertAlignCellWithSp/>
   <w:DontBreakConstrainedForcedTables/>
   <w:DontVertAlignInTxbx/>
   <w:Word11KerningPairs/>
   <w:CachedColBalance/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
  <m:mathPr>
   <m:mathFont m:val=""Cambria Math""/>
   <m:brkBin m:val=""before""/>
   <m:brkBinSub m:val=""&#45;-""/>
   <m:smallFrac m:val=""off""/>
   <m:dispDef/>
   <m:lMargin m:val=""0""/>
   <m:rMargin m:val=""0""/>
   <m:defJc m:val=""centerGroup""/>
   <m:wrapIndent m:val=""1440""/>
   <m:intLim m:val=""subSup""/>
   <m:naryLim m:val=""undOvr""/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState=""false"" DefUnhideWhenUsed=""true""
  DefSemiHidden=""true"" DefQFormat=""false"" DefPriority=""99""
  LatentStyleCount=""267"">
  <w:LsdException Locked=""false"" Priority=""0"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""Normal""/>
  <w:LsdException Locked=""false"" Priority=""9"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""heading 1""/>
  <w:LsdException Locked=""false"" Priority=""9"" QFormat=""true"" Name=""heading 2""/>
  <w:LsdException Locked=""false"" Priority=""9"" QFormat=""true"" Name=""heading 3""/>
  <w:LsdException Locked=""false"" Priority=""9"" QFormat=""true"" Name=""heading 4""/>
  <w:LsdException Locked=""false"" Priority=""9"" QFormat=""true"" Name=""heading 5""/>
  <w:LsdException Locked=""false"" Priority=""9"" QFormat=""true"" Name=""heading 6""/>
  <w:LsdException Locked=""false"" Priority=""9"" QFormat=""true"" Name=""heading 7""/>
  <w:LsdException Locked=""false"" Priority=""9"" QFormat=""true"" Name=""heading 8""/>
  <w:LsdException Locked=""false"" Priority=""9"" QFormat=""true"" Name=""heading 9""/>
  <w:LsdException Locked=""false"" Priority=""39"" Name=""toc 1""/>
  <w:LsdException Locked=""false"" Priority=""39"" Name=""toc 2""/>
  <w:LsdException Locked=""false"" Priority=""39"" Name=""toc 3""/>
  <w:LsdException Locked=""false"" Priority=""39"" Name=""toc 4""/>
  <w:LsdException Locked=""false"" Priority=""39"" Name=""toc 5""/>
  <w:LsdException Locked=""false"" Priority=""39"" Name=""toc 6""/>
  <w:LsdException Locked=""false"" Priority=""39"" Name=""toc 7""/>
  <w:LsdException Locked=""false"" Priority=""39"" Name=""toc 8""/>
  <w:LsdException Locked=""false"" Priority=""39"" Name=""toc 9""/>
  <w:LsdException Locked=""false"" Priority=""35"" QFormat=""true"" Name=""caption""/>
  <w:LsdException Locked=""false"" Priority=""10"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""Title""/>
  <w:LsdException Locked=""false"" Priority=""1"" Name=""Default Paragraph Font""/>
  <w:LsdException Locked=""false"" Priority=""11"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""Subtitle""/>
  <w:LsdException Locked=""false"" Priority=""22"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""Strong""/>
  <w:LsdException Locked=""false"" Priority=""20"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""Emphasis""/>
  <w:LsdException Locked=""false"" Priority=""59"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Table Grid""/>
  <w:LsdException Locked=""false"" UnhideWhenUsed=""false"" Name=""Placeholder Text""/>
  <w:LsdException Locked=""false"" Priority=""1"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""No Spacing""/>
  <w:LsdException Locked=""false"" Priority=""60"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Shading""/>
  <w:LsdException Locked=""false"" Priority=""61"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light List""/>
  <w:LsdException Locked=""false"" Priority=""62"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Grid""/>
  <w:LsdException Locked=""false"" Priority=""63"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 1""/>
  <w:LsdException Locked=""false"" Priority=""64"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 2""/>
  <w:LsdException Locked=""false"" Priority=""65"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 1""/>
  <w:LsdException Locked=""false"" Priority=""66"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 2""/>
  <w:LsdException Locked=""false"" Priority=""67"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 1""/>
  <w:LsdException Locked=""false"" Priority=""68"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 2""/>
  <w:LsdException Locked=""false"" Priority=""69"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 3""/>
  <w:LsdException Locked=""false"" Priority=""70"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Dark List""/>
  <w:LsdException Locked=""false"" Priority=""71"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Shading""/>
  <w:LsdException Locked=""false"" Priority=""72"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful List""/>
  <w:LsdException Locked=""false"" Priority=""73"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Grid""/>
  <w:LsdException Locked=""false"" Priority=""60"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Shading Accent 1""/>
  <w:LsdException Locked=""false"" Priority=""61"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light List Accent 1""/>
  <w:LsdException Locked=""false"" Priority=""62"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Grid Accent 1""/>
  <w:LsdException Locked=""false"" Priority=""63"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 1 Accent 1""/>
  <w:LsdException Locked=""false"" Priority=""64"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 2 Accent 1""/>
  <w:LsdException Locked=""false"" Priority=""65"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 1 Accent 1""/>
  <w:LsdException Locked=""false"" UnhideWhenUsed=""false"" Name=""Revision""/>
  <w:LsdException Locked=""false"" Priority=""34"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""List Paragraph""/>
  <w:LsdException Locked=""false"" Priority=""29"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""Quote""/>
  <w:LsdException Locked=""false"" Priority=""30"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""Intense Quote""/>
  <w:LsdException Locked=""false"" Priority=""66"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 2 Accent 1""/>
  <w:LsdException Locked=""false"" Priority=""67"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 1 Accent 1""/>
  <w:LsdException Locked=""false"" Priority=""68"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 2 Accent 1""/>
  <w:LsdException Locked=""false"" Priority=""69"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 3 Accent 1""/>
  <w:LsdException Locked=""false"" Priority=""70"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Dark List Accent 1""/>
  <w:LsdException Locked=""false"" Priority=""71"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Shading Accent 1""/>
  <w:LsdException Locked=""false"" Priority=""72"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful List Accent 1""/>
  <w:LsdException Locked=""false"" Priority=""73"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Grid Accent 1""/>
  <w:LsdException Locked=""false"" Priority=""60"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Shading Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""61"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light List Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""62"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Grid Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""63"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 1 Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""64"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 2 Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""65"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 1 Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""66"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 2 Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""67"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 1 Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""68"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 2 Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""69"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 3 Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""70"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Dark List Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""71"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Shading Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""72"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful List Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""73"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Grid Accent 2""/>
  <w:LsdException Locked=""false"" Priority=""60"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Shading Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""61"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light List Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""62"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Grid Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""63"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 1 Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""64"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 2 Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""65"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 1 Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""66"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 2 Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""67"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 1 Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""68"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 2 Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""69"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 3 Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""70"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Dark List Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""71"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Shading Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""72"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful List Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""73"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Grid Accent 3""/>
  <w:LsdException Locked=""false"" Priority=""60"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Shading Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""61"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light List Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""62"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Grid Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""63"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 1 Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""64"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 2 Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""65"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 1 Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""66"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 2 Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""67"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 1 Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""68"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 2 Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""69"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 3 Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""70"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Dark List Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""71"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Shading Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""72"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful List Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""73"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Grid Accent 4""/>
  <w:LsdException Locked=""false"" Priority=""60"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Shading Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""61"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light List Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""62"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Grid Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""63"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 1 Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""64"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 2 Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""65"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 1 Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""66"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 2 Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""67"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 1 Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""68"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 2 Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""69"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 3 Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""70"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Dark List Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""71"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Shading Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""72"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful List Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""73"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Grid Accent 5""/>
  <w:LsdException Locked=""false"" Priority=""60"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Shading Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""61"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light List Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""62"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Light Grid Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""63"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 1 Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""64"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Shading 2 Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""65"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 1 Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""66"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium List 2 Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""67"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 1 Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""68"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 2 Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""69"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Medium Grid 3 Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""70"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Dark List Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""71"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Shading Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""72"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful List Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""73"" SemiHidden=""false""
   UnhideWhenUsed=""false"" Name=""Colorful Grid Accent 6""/>
  <w:LsdException Locked=""false"" Priority=""19"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""Subtle Emphasis""/>
  <w:LsdException Locked=""false"" Priority=""21"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""Intense Emphasis""/>
  <w:LsdException Locked=""false"" Priority=""31"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""Subtle Reference""/>
  <w:LsdException Locked=""false"" Priority=""32"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""Intense Reference""/>
  <w:LsdException Locked=""false"" Priority=""33"" SemiHidden=""false""
   UnhideWhenUsed=""false"" QFormat=""true"" Name=""Book Title""/>
  <w:LsdException Locked=""false"" Priority=""37"" Name=""Bibliography""/>
  <w:LsdException Locked=""false"" Priority=""39"" QFormat=""true"" Name=""TOC Heading""/>
 </w:LatentStyles>
</xml><![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:""Cambria Math"";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:-536870145 1107305727 0 0 415 0;}
@font-face
	{font-family:Cambria;
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:-536870145 1073743103 0 0 415 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-536870145 1073786111 1 0 415 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"""";
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:10.0pt;
	margin-left:0cm;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:""Calibri"",""sans-serif"";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:""Times New Roman"";
	mso-bidi-theme-font:minor-bidi;
	mso-fareast-language:EN-US;}
h1
	{mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-link:""Heading 1 Char"";
	mso-style-next:Normal;
	margin-top:24.0pt;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:0cm;
	margin-bottom:.0001pt;
	line-height:115%;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	mso-outline-level:1;
	font-size:14.0pt;
	font-family:""Cambria"",""serif"";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:""Times New Roman"";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:""Times New Roman"";
	mso-bidi-theme-font:major-bidi;
	color:#365F91;
	mso-themecolor:accent1;
	mso-themeshade:191;
	mso-font-kerning:0pt;
	mso-fareast-language:EN-US;}
h2
	{mso-style-priority:9;
	mso-style-qformat:yes;
	mso-style-link:""Heading 2 Char"";
	mso-style-next:Normal;
	margin-top:10.0pt;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:0cm;
	margin-bottom:.0001pt;
	line-height:115%;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	mso-outline-level:2;
	font-size:13.0pt;
	font-family:""Cambria"",""serif"";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:""Times New Roman"";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:""Times New Roman"";
	mso-bidi-theme-font:major-bidi;
	color:#4F81BD;
	mso-themecolor:accent1;
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	mso-themecolor:hyperlink;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-noshow:yes;
	mso-style-priority:99;
	color:purple;
	mso-themecolor:followedhyperlink;
	text-decoration:underline;
	text-underline:single;}
span.Heading1Char
	{mso-style-name:""Heading 1 Char"";
	mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:""Heading 1"";
	mso-ansi-font-size:14.0pt;
	mso-bidi-font-size:14.0pt;
	font-family:""Cambria"",""serif"";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:""Times New Roman"";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:""Times New Roman"";
	mso-bidi-theme-font:major-bidi;
	color:#365F91;
	mso-themecolor:accent1;
	mso-themeshade:191;
	font-weight:bold;}
span.Heading2Char
	{mso-style-name:""Heading 2 Char"";
	mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:""Heading 2"";
	mso-ansi-font-size:13.0pt;
	mso-bidi-font-size:13.0pt;
	font-family:""Cambria"",""serif"";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:""Times New Roman"";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:""Times New Roman"";
	mso-bidi-theme-font:major-bidi;
	color:#4F81BD;
	mso-themecolor:accent1;
	font-weight:bold;}
span.SpellE
	{mso-style-name:"""";
	mso-spl-e:yes;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:""Times New Roman"";
	mso-bidi-theme-font:minor-bidi;
	mso-fareast-language:EN-US;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page WordSection1
	{size:595.3pt 841.9pt;
	margin:70.85pt 70.85pt 70.85pt 70.85pt;
	mso-header-margin:35.4pt;
	mso-footer-margin:35.4pt;
	mso-paper-source:0;}
div.WordSection1
	{page:WordSection1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:""Table Normal"";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-qformat:yes;
	mso-style-parent:"""";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0cm;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:""Calibri"",""sans-serif"";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-fareast-language:EN-US;}
</style>
<![endif]--><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=""edit"" spidmax=""2050""/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=""edit"">
  <o:idmap v:ext=""edit"" data=""1""/>
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=NL link=blue vlink=purple style='tab-interval:35.4pt'>

<div class=WordSection1>

<h1><span class=SpellE>Heading</span> <span class=SpellE>one</span></h1>

<p class=MsoNormal><span class=SpellE>Paragraph</span></p>

<h2><span class=SpellE>Heading</span> <span class=SpellE>two</span></h2>

<p class=MsoNormal><span class=SpellE><b style='mso-bidi-font-weight:normal'>Bold</b></span><b
style='mso-bidi-font-weight:normal'><o:p></o:p></b></p>

<p class=MsoNormal><span class=SpellE><i style='mso-bidi-font-style:normal'>Italic</i></span><i
style='mso-bidi-font-style:normal'><o:p></o:p></i></p>

<p class=MsoNormal><i style='mso-bidi-font-style:normal'><a
href=""http://www.vereyon.com/"">Link</a><o:p></o:p></i></p>

</div>

</body>

</html>
";
            string expected = @"<html>



<body>



<h1><span>Heading</span> <span>one</span></h1>

<p><span>Paragraph</span></p>

<h2><span>Heading</span> <span>two</span></h2>

<p><span><strong>Bold</strong></span></p>

<p><span><i>Italic</i></span></p>

<p><i><a href=""http://www.vereyon.com/"" target=""_blank"" rel=""nofollow"">Link</a></i></p>



</body>

</html>";

            var output = sanitizer.Sanitize(input);

            Assert.Equal(expected, output);
        }