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

Commit 7fb41f7

Browse files
author
mikesamuel@gmail.com
committed
Fix tests in IE
1 parent f9fb55f commit 7fb41f7

5 files changed

Lines changed: 73 additions & 13 deletions

File tree

js-modules/extractSourceSpans_test.html

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ <h1>Extract Source Spans Test</h1>
4545
<tr>
4646
<td><pre class="testinput">print 'Hello '
4747
&#9;+ '&lt;World&gt;';</pre></td>
48-
<td class="golden">^print 'Hello '&#10; + '&lt;World&gt;';^</td>
48+
<td class="golden">^print 'Hello '&#10;&#9;+ '&lt;World&gt;';^</td>
4949
</tr>
5050
<tr><th colspan=3>Test number lines output</th></tr>
5151
<tr>
@@ -54,7 +54,27 @@ <h1>Extract Source Spans Test</h1>
5454
</tr>
5555
</table>
5656

57-
<script>setTimeout(function () {
57+
<script>
58+
if (!document.body.getElementsByClassName) {
59+
document.body.getElementsByClassName = function (className) {
60+
className = className.replace(/\s+/g, ' ').replace(/^\s*|\s*$/g, ' ');
61+
var results = [];
62+
function walk(node) {
63+
if (node.nodeType !== 1) { return; }
64+
// This test should be order-insensitive.
65+
if ((' ' + node.className + ' ').indexOf(className) >= 0) {
66+
results[results.length] = node;
67+
}
68+
for (var child = node.firstChild; child; child = child.nextSibling) {
69+
walk(child);
70+
}
71+
}
72+
walk(document.body);
73+
return results;
74+
};
75+
}
76+
77+
setTimeout(function () {
5878
var testInputs = Array.prototype.slice.call(
5979
document.body.getElementsByClassName('testinput'), 0);
6080
for (var i = 0, n = testInputs.length; i < n; ++i) {
@@ -87,7 +107,7 @@ <h1>Extract Source Spans Test</h1>
87107
if (!passed) {
88108
console.log(JSON.stringify(actualText) + ' !==\n' + JSON.stringify(goldenText));
89109
}
90-
actual.className += passed ? ' ok' : ' failure';
110+
actual.className += passed ? ' ok' : ' failure';
91111
} catch (ex) {
92112
actual.className += ' error';
93113
actual.appendChild(document.createTextNode('Error: ' + ex));
@@ -97,5 +117,5 @@ <h1>Extract Source Spans Test</h1>
97117

98118
<hr>
99119
<address></address>
100-
<!-- hhmts start --> Last modified: Tue Mar 29 09:58:22 PDT 2011 <!-- hhmts end -->
120+
<!-- hhmts start --> Last modified: Tue Mar 29 15:41:20 PDT 2011 <!-- hhmts end -->
101121
</body> </html>

js-modules/numberLines_test.html

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,27 @@ <h1>Number Lines Test</h1>
5656
</tr>
5757
</table>
5858

59-
<script>setTimeout(function () {
59+
<script>
60+
if (!document.body.getElementsByClassName) {
61+
document.body.getElementsByClassName = function (className) {
62+
className = className.replace(/\s+/g, ' ').replace(/^\s*|\s*$/g, ' ');
63+
var results = [];
64+
function walk(node) {
65+
if (node.nodeType !== 1) { return; }
66+
// This test should be order-insensitive.
67+
if ((' ' + node.className + ' ').indexOf(className) >= 0) {
68+
results[results.length] = node;
69+
}
70+
for (var child = node.firstChild; child; child = child.nextSibling) {
71+
walk(child);
72+
}
73+
}
74+
walk(document.body);
75+
return results;
76+
};
77+
}
78+
79+
setTimeout(function () {
6080
var testInputs = Array.prototype.slice.call(
6181
document.body.getElementsByClassName('testinput'), 0);
6282
for (var i = 0, n = testInputs.length; i < n; ++i) {
@@ -74,7 +94,7 @@ <h1>Number Lines Test</h1>
7494
if (!passed) {
7595
console.log(JSON.stringify(testResult.innerHTML) + ' !==\n' + JSON.stringify(actual.innerHTML));
7696
}
77-
actual.className = passed ? 'ok' : 'failure';
97+
actual.className = passed ? 'ok' : 'failure';
7898
} catch (ex) {
7999
actual.className = 'error';
80100
actual.appendChild(document.createTextNode('Error: ' + ex));
@@ -85,5 +105,5 @@ <h1>Number Lines Test</h1>
85105

86106
<hr>
87107
<address></address>
88-
<!-- hhmts start --> Last modified: Tue Mar 29 13:26:14 PDT 2011 <!-- hhmts end -->
108+
<!-- hhmts start --> Last modified: Tue Mar 29 15:39:04 PDT 2011 <!-- hhmts end -->
89109
</body> </html>

js-modules/prettify.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -764,7 +764,7 @@ window['PR']
764764
// Look for a class like linenums or linenums:<n> where <n> is the
765765
// 1-indexed number of the first line.
766766
var lineNums = cs.className.match(/\blinenums\b(?::(\d+))?/);
767-
lineNums = lineNums
767+
lineNums = lineNums
768768
? lineNums[1] && lineNums[1].length ? +lineNums[1] : true
769769
: false;
770770
if (lineNums) { numberLines(cs, lineNums); }

js-modules/recombineTagsAndDecorations.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ function recombineTagsAndDecorations(job) {
4343
var startDec = decorations[start + 1];
4444
var end = start + 2;
4545
while (end + 2 <= nDecorations
46-
&& (decorations[end + 1] === startDec
47-
|| decorations[end] === decorations[end + 2])) {
46+
&& (decorations[end + 1] === startDec
47+
|| decorations[end] === decorations[end + 2])) {
4848
end += 2;
4949
}
5050
decorations[decPos++] = startPos;
@@ -79,7 +79,7 @@ function recombineTagsAndDecorations(job) {
7979
span.appendChild(textNode);
8080
if (sourceIndex < spanEnd) { // Split off a text node.
8181
spans[spanIndex + 1] = textNode
82-
// TODO: Possibly optimize by using '' if there's no flicker.
82+
// TODO: Possibly optimize by using '' if there's no flicker.
8383
= document.createTextNode(source.substring(end, spanEnd));
8484
parentNode.insertBefore(textNode, span.nextSibling);
8585
}

js-modules/recombineTagsAndDecorations_test.html

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,27 @@ <h1>Recombine Tags And Decorations</h1>
3838
</tr>
3939
</table>
4040

41-
<script>setTimeout(function () {
41+
<script>
42+
if (!document.body.getElementsByClassName) {
43+
document.body.getElementsByClassName = function (className) {
44+
className = className.replace(/\s+/g, ' ').replace(/^\s*|\s*$/g, ' ');
45+
var results = [];
46+
function walk(node) {
47+
if (node.nodeType !== 1) { return; }
48+
// This test should be order-insensitive.
49+
if ((' ' + node.className + ' ').indexOf(className) >= 0) {
50+
results[results.length] = node;
51+
}
52+
for (var child = node.firstChild; child; child = child.nextSibling) {
53+
walk(child);
54+
}
55+
}
56+
walk(document.body);
57+
return results;
58+
};
59+
}
60+
61+
setTimeout(function () {
4262
var testInputs = Array.prototype.slice.call(
4363
document.body.getElementsByClassName('testinput'), 0);
4464
for (var i = 0, n = testInputs.length; i < n; ++i) {
@@ -60,7 +80,7 @@ <h1>Recombine Tags And Decorations</h1>
6080
if (!passed) {
6181
console.log(JSON.stringify(testResult.innerHTML) + ' !==\n' + JSON.stringify(actual.innerHTML));
6282
}
63-
actual.className = passed ? 'ok' : 'failure';
83+
actual.className = passed ? 'ok' : 'failure';
6484
} catch (ex) {
6585
actual.className = 'error';
6686
actual.appendChild(document.createTextNode('Error: ' + ex + '\n' + ex.stack));

0 commit comments

Comments
 (0)