Index: test/wrappers/pages.js |
=================================================================== |
--- a/test/wrappers/pages.js |
+++ b/test/wrappers/pages.js |
@@ -95,20 +95,34 @@ |
return this.driver.navigate().to(TEST_PAGES_URL).then(() => |
this.driver.findElements(By.css(".site-pagelist a")) |
).then(elements => |
- Promise.all(elements.map(elem => elem.getAttribute("href"))) |
+ Promise.all(elements.map(elem => Promise.all([elem.getAttribute("href"), |
+ elem.getText()]))) |
Sebastian Noack
2019/01/17 08:17:13
Previously, we were getting the page title from th
|
).then(urls => |
{ |
let p1 = Promise.resolve(); |
- for (let url of urls) |
+ for (let [url, pageTitle] of urls) |
+ { |
+ let browser = this.test.parent.title.replace(/\s.*$/, ""); |
+ if (// https://issues.adblockplus.org/ticket/6917 |
+ pageTitle == "$subdocument" && browser == "Firefox" || |
+ // Chromium doesn't support Flash |
+ pageTitle.startsWith("$object") && browser == "Chromium" || |
+ // Chromium 63 doesn't have user stylesheets (required to |
+ // overrule inline styles) and doesn't run content scripts |
+ // in dynamically written documents. |
+ this.test.parent.title == "Chromium (oldest)" && |
+ (pageTitle == "Inline style !important" || |
+ pageTitle == "Anonymous iframe document.write()")) |
+ continue; |
+ |
p1 = p1.then(() => |
this.driver.navigate().to(url) |
).then(() => |
Promise.all([ |
getSections(this.driver), |
- this.driver.findElement(By.css("h2")).getAttribute("textContent"), |
this.driver.executeScript("document.body.classList.add('expected');") |
]) |
- ).then(([sections, pageTitle]) => |
+ ).then(([sections]) => |
Promise.all(sections.map(([title, demo, filters]) => |
Promise.all([ |
title.getAttribute("textContent").then(testTitle => |
@@ -124,13 +138,6 @@ |
for (let i = 0; i < testCases.length; i++) |
{ |
let [title, expectedScreenshot, filters] = testCases[i]; |
- let browser = this.test.parent.title.replace(/\s.*$/, ""); |
- |
- if (// https://issues.adblockplus.org/ticket/6917 |
- title == "$subdocument - Test case" && browser == "Firefox" || |
- // Chromium doesn't support Flash |
- /^\$object(-subrequest)? /.test(title) && browser == "Chromium") |
- continue; |
p2 = p2.then(() => |
this.driver.navigate().to(this.origin + "/options.html") |
@@ -156,7 +163,7 @@ |
return this.driver.navigate().to(url); |
}).then(() => |
{ |
- if (title.startsWith("$popup ")) |
+ if (pageTitle.startsWith("$popup")) |
{ |
return getSections(this.driver).then(sections => |
sections[i][1].findElement(By.css("a[href],button")).click() |
@@ -166,7 +173,7 @@ |
this.driver.getAllWindowHandles() |
).then(handles => |
{ |
- if (title.startsWith("$popup Exception -")) |
+ if (pageTitle == "$popup - Exception") |
{ |
assert.equal(handles.length, 3, title); |
return closeWindow(this.driver, handles[2], handles[1]); |
@@ -197,6 +204,7 @@ |
} |
return p2; |
}); |
+ } |
return p1; |
}); |
}); |