Skip to content
This repository was archived by the owner on Apr 22, 2020. It is now read-only.

Commit 74828a3

Browse files
amroamroamromikesamuel
authored andcommitted
modules_tests: additional HTML normalization in tests
- takes care of empty attribs like class="" or style="" left behind in certain cases - also process output of JSON stringify necessary in some cases so that the tests pass
1 parent 22643f2 commit 74828a3

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

tests/extractSourceSpans_test.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,10 @@ <h2>Log</h2>
6464
return JSON.stringify(s)
6565
.replace(/\r/g, '\\r')
6666
.replace(/\n/g, '\\n')
67-
.replace(/\t/g, '\\t');
67+
.replace(/\t/g, '\\t')
68+
.replace(/\\u000d/g, '\\r')
69+
.replace(/\\u000a/g, '\\n')
70+
.replace(/\\u0009/g, '\\t');
6871
}
6972

7073
function htmlEscape(s) {

tests/numberLines_test.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ <h2>Log</h2>
106106
numberLines(clone, startLineNum, isPreformatted);
107107
// compare result again expected
108108
var goldenNormalized = normListItems(testResult.innerHTML);
109-
var actualNormalized = normListItems(actual.innerHTML);
109+
var actualNormalized = normListItems(actual.innerHTML).replace(
110+
/\s*(?:class|style)=""/i, ''); // remove some empty attribs
110111
var passed = goldenNormalized === actualNormalized;
111112
// report test result
112113
actual.className += passed ? ' ok' : ' failure';

tests/recombineTagsAndDecorations_test.html

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,16 +89,19 @@ <h2>Log</h2>
8989
};
9090
recombineTagsAndDecorations(job);
9191
// compare result against expected
92-
var passed = testResult.innerHTML === actual.innerHTML;
92+
var goldenNormalized = testResult.innerHTML;
93+
var actualNormalized = actual.innerHTML.replace(
94+
/\s*(?:class|style)=""/i, ''); // remove some empty attribs
95+
var passed = goldenNormalized === actualNormalized;
9396
// report test result
9497
actual.className += passed ? ' ok' : ' failure';
9598
out.push((passed ? '\u2713 PASS' : '\u2717 FAIL'), '<\/div>');
9699
if (!passed) {
97100
out.push(
98101
'<table class="diff"><tr><th>Golden<\/th><td><code>' +
99-
htmlEscape(testResult.innerHTML) +
102+
htmlEscape(goldenNormalized) +
100103
'<\/code><\/td><\/tr><tr><th>Actual<\/th><td><code>' +
101-
htmlEscape(actual.innerHTML) +
104+
htmlEscape(actualNormalized) +
102105
'<\/code><\/td><\/tr><\/table>'
103106
);
104107
}

0 commit comments

Comments
 (0)