| 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 |