| OLD | NEW | 
|---|
| 1 "use strict"; | 1 "use strict"; | 
| 2 | 2 | 
|  | 3 (function() | 
| 3 { | 4 { | 
| 4   const {Filter, ElemHideFilter} = require("filterClasses"); | 5   const {Filter, ElemHideFilter} = require("filterClasses"); | 
| 5   const {escapeCSS, quoteCSS} = require("filterComposer"); | 6   const {escapeCSS, quoteCSS} = require("filterComposer"); | 
| 6 | 7 | 
| 7   module("CSS escaping"); | 8   module("CSS escaping"); | 
| 8 | 9 | 
| 9   test("CSS escaping", () => | 10   test("CSS escaping", () => | 
| 10   { | 11   { | 
| 11     function testSelector(opts) | 12     function testSelector(opts) | 
| 12     { | 13     { | 
| (...skipping 23 matching lines...) Expand all  Loading... | 
| 36         for (let attr in opts.attributes) | 37         for (let attr in opts.attributes) | 
| 37           element.setAttribute(attr, opts.attributes[attr]); | 38           element.setAttribute(attr, opts.attributes[attr]); | 
| 38 | 39 | 
| 39         doc.documentElement.appendChild(element); | 40         doc.documentElement.appendChild(element); | 
| 40       } | 41       } | 
| 41 | 42 | 
| 42       let foundElement = doc.querySelector(opts.selector); | 43       let foundElement = doc.querySelector(opts.selector); | 
| 43       let filter = Filter.fromText("##" + opts.selector); | 44       let filter = Filter.fromText("##" + opts.selector); | 
| 44 | 45 | 
| 45       if (!(filter instanceof ElemHideFilter)) | 46       if (!(filter instanceof ElemHideFilter)) | 
| 46       { |  | 
| 47         ok(false, opts.selector + " (not allowed in elemhide filters)"); | 47         ok(false, opts.selector + " (not allowed in elemhide filters)"); | 
| 48       } | 48       else if (mustMatch) | 
|  | 49         equal(foundElement, element, opts.selector); | 
| 49       else | 50       else | 
| 50       { | 51         ok(true, opts.selector); | 
| 51         if (mustMatch) |  | 
| 52           equal(foundElement, element, opts.selector); |  | 
| 53         else |  | 
| 54           ok(true, opts.selector); |  | 
| 55       } |  | 
| 56     } | 52     } | 
| 57 | 53 | 
| 58     function testEscape(s) | 54     function testEscape(s) | 
| 59     { | 55     { | 
| 60       testSelector({ | 56       testSelector({ | 
| 61         selector: escapeCSS(s), | 57         selector: escapeCSS(s), | 
| 62         tagName: s | 58         tagName: s | 
| 63       }); | 59       }); | 
| 64 | 60 | 
| 65       testSelector({ | 61       testSelector({ | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
| 92 | 88 | 
| 93       // Some characters are only escaped when in the first positon, | 89       // Some characters are only escaped when in the first positon, | 
| 94       // so we still have to make sure that everything is correctly escaped | 90       // so we still have to make sure that everything is correctly escaped | 
| 95       // in subsequent positions. | 91       // in subsequent positions. | 
| 96       testEscape("x" + chr); | 92       testEscape("x" + chr); | 
| 97 | 93 | 
| 98       // Leading dashes must be escaped, when followed by certain characters. | 94       // Leading dashes must be escaped, when followed by certain characters. | 
| 99       testEscape("-" + chr); | 95       testEscape("-" + chr); | 
| 100     } | 96     } | 
| 101 | 97 | 
| 102     // Test some non-ASCII characters. However, those shouldn't require escaping
     . | 98     // Test some non-ASCII characters. However, those shouldn't | 
|  | 99     // require escaping. | 
| 103     testEscape("\uD83D\uDE3B\u2665\u00E4"); | 100     testEscape("\uD83D\uDE3B\u2665\u00E4"); | 
| 104   }); | 101   }); | 
| 105 } | 102 }()); | 
| OLD | NEW | 
|---|