1+ namespace AngleSharp . Diffing . TestData ;
2+
3+ internal static class IgnoreAttributeTestData
4+ {
5+ public static TheoryData < string , string > ControlAndHtmlData ( )
6+ {
7+ var theoryData = new TheoryData < string , string > ( ) ;
8+ foreach ( var ( controlHtml , expectedHtml , _) in TestCases )
9+ {
10+ theoryData . Add ( controlHtml , expectedHtml ) ;
11+ }
12+
13+ return theoryData ;
14+ }
15+
16+ public static TheoryData < string , string , DiffResult > ControlHtmlAndDiffData ( )
17+ {
18+ var theoryData = new TheoryData < string , string , DiffResult > ( ) ;
19+ foreach ( var ( controlHtml , expectedHtml , expectedDiffResult ) in TestCases )
20+ {
21+ theoryData . Add ( controlHtml , expectedHtml , expectedDiffResult ) ;
22+ }
23+
24+ return theoryData ;
25+ }
26+
27+ private static readonly IEnumerable < ( string controlHtml , string expectedHtml , DiffResult expectedDiffResult ) >
28+ TestCases =
29+ [
30+ ( "<div class:ignore></div>" , "<div class=\" ian-fleming\" ></div>" , DiffResult . Different ) ,
31+ ( "<div class:ignore></div>" , "<div class=\" \" ></div>" , DiffResult . Different ) ,
32+ ( "<div class:ignore></div>" , "<div class></div>" , DiffResult . Different ) ,
33+ ( "<div class:ignore></div>" , "<div></div>" , DiffResult . Missing ) ,
34+ ( "<input required:ignore/>" , "<input required=\" required\" />" , DiffResult . Different ) ,
35+ ( "<input required:ignore/>" , "<input required=\" \" />" , DiffResult . Different ) ,
36+ ( "<input required:ignore/>" , "<input required/>" , DiffResult . Different ) ,
37+ ( "<input required:ignore/>" , "<input/>" , DiffResult . Missing ) ,
38+ ( "<button onclick:ignore/></button>" , "<button onclick=\" alert(1)\" ></button>" , DiffResult . Different ) ,
39+ ( "<button onclick:ignore/></button>" , "<button/></button>" , DiffResult . Missing ) ,
40+ ( "<a aria-disabled:ignore/></a>" , "<a aria-disabled=\" true\" /></a>" , DiffResult . Different ) ,
41+ ( "<a aria-disabled:ignore/></a>" , "<a/></a>" , DiffResult . Missing ) ,
42+ ( "<span style:ignore/></span>" , "<span style=\" color:red;\" /></span>" , DiffResult . Different ) ,
43+ ( "<span style:ignore/></span>" , "<span/></span>" , DiffResult . Missing ) ,
44+ ] ;
45+ }
0 commit comments