| OLD | NEW |
| 1 /* | 1 /* |
| 2 * This file is part of Adblock Plus <https://adblockplus.org/>, | 2 * This file is part of Adblock Plus <https://adblockplus.org/>, |
| 3 * Copyright (C) 2006-present eyeo GmbH | 3 * Copyright (C) 2006-present eyeo GmbH |
| 4 * | 4 * |
| 5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
| 6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
| 7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
| 8 * | 8 * |
| 9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 487 test, "div:-abp-has(> span:-abp-contains(Advertisment))", expectations); | 487 test, "div:-abp-has(> span:-abp-contains(Advertisment))", expectations); |
| 488 }; | 488 }; |
| 489 | 489 |
| 490 function runTestPseudoClassContains(test, selector, expectations) | 490 function runTestPseudoClassContains(test, selector, expectations) |
| 491 { | 491 { |
| 492 testDocument.body.innerHTML = `<div id="parent"> | 492 testDocument.body.innerHTML = `<div id="parent"> |
| 493 <div id="middle"> | 493 <div id="middle"> |
| 494 <div id="middle1"><div id="inside" class="inside"></div></div> | 494 <div id="middle1"><div id="inside" class="inside"></div></div> |
| 495 </div> | 495 </div> |
| 496 <div id="sibling"> | 496 <div id="sibling"> |
| 497 <div id="tohide">to hide</div> | 497 <div id="tohide">to hide \ud83d\ude42!</div> |
| 498 </div> | 498 </div> |
| 499 <div id="sibling2"> | 499 <div id="sibling2"> |
| 500 <div id="sibling21"><div id="sibling211" class="inside">Ad*</div></div> | 500 <div id="sibling21"><div id="sibling211" class="inside">Ad*</div></div> |
| 501 </div> | 501 </div> |
| 502 </div>`; | 502 </div>`; |
| 503 let elems = { | 503 let elems = { |
| 504 parent: testDocument.getElementById("parent"), | 504 parent: testDocument.getElementById("parent"), |
| 505 middle: testDocument.getElementById("middle"), | 505 middle: testDocument.getElementById("middle"), |
| 506 inside: testDocument.getElementById("inside"), | 506 inside: testDocument.getElementById("inside"), |
| 507 sibling: testDocument.getElementById("sibling"), | 507 sibling: testDocument.getElementById("sibling"), |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 551 middle: true, | 551 middle: true, |
| 552 inside: true, | 552 inside: true, |
| 553 sibling: false, | 553 sibling: false, |
| 554 sibling2: true, | 554 sibling2: true, |
| 555 toHide: true | 555 toHide: true |
| 556 }; | 556 }; |
| 557 runTestPseudoClassContains( | 557 runTestPseudoClassContains( |
| 558 test, "#parent div:-abp-contains(/to\\sHide/i)", expectations); | 558 test, "#parent div:-abp-contains(/to\\sHide/i)", expectations); |
| 559 }; | 559 }; |
| 560 | 560 |
| 561 exports.testPseudoClassContainsRegexpUFlag = function(test) |
| 562 { |
| 563 let expectations = { |
| 564 parent: true, |
| 565 middle: true, |
| 566 inside: true, |
| 567 sibling: false, |
| 568 sibling2: true, |
| 569 toHide: true |
| 570 }; |
| 571 runTestPseudoClassContains( |
| 572 test, "#parent div:-abp-contains(/to\\shide\\s.!/u)", expectations); |
| 573 }; |
| 574 |
| 561 exports.testPseudoClassContainsWildcardNoMatch = function(test) | 575 exports.testPseudoClassContainsWildcardNoMatch = function(test) |
| 562 { | 576 { |
| 563 let expectations = { | 577 let expectations = { |
| 564 parent: true, | 578 parent: true, |
| 565 middle: true, | 579 middle: true, |
| 566 inside: true, | 580 inside: true, |
| 567 sibling: true, | 581 sibling: true, |
| 568 sibling2: true, | 582 sibling2: true, |
| 569 toHide: true | 583 toHide: true |
| 570 }; | 584 }; |
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 877 | 891 |
| 878 return timeout(REFRESH_INTERVAL); | 892 return timeout(REFRESH_INTERVAL); |
| 879 }).then(() => | 893 }).then(() => |
| 880 { | 894 { |
| 881 // Note: Even though it runs both the :-abp-contains() patterns, it only | 895 // Note: Even though it runs both the :-abp-contains() patterns, it only |
| 882 // hides the parent element because of revision d7d51d29aa34. | 896 // hides the parent element because of revision d7d51d29aa34. |
| 883 expectHidden(test, parent); | 897 expectHidden(test, parent); |
| 884 expectVisible(test, child); | 898 expectVisible(test, child); |
| 885 }).catch(unexpectedError.bind(test)).then(() => test.done()); | 899 }).catch(unexpectedError.bind(test)).then(() => test.done()); |
| 886 }; | 900 }; |
| OLD | NEW |