// Warn when too many URLs are dropped.
add_task(async function multiple_tabs_under_max() {
let urls = []; for (let i = 0; i < 5; i++) {
urls.push("example.com/multi" + i);
}
await dropText(urls.join("\n"), [ "http://example.com/multi0", "http://example.com/multi1", "http://example.com/multi2", "http://example.com/multi3", "http://example.com/multi4",
]);
});
add_task(async function multiple_tabs_over_max_accept() {
await SpecialPowers.pushPrefEnv({
set: [["browser.tabs.maxOpenBeforeWarn", 4]],
});
let confirmPromise = BrowserTestUtils.promiseAlertDialog("accept");
// Open single search if there's no URL.
add_task(async function multiple_text() {
await dropText(
`
non url0
non url1
non url2
`,
[ANY_URL]
);
});
function dropText(text, expectedURLs) { return drop([[{ type: "text/plain", data: text }]], expectedURLs);
}
async function drop(dragData, expectedURLs) {
let dragDataString = JSON.stringify(dragData);
info(
`Starting test for dragData:${dragDataString}; expectedURLs.length:${expectedURLs.length}`
);
// Since synthesizeDrop triggers the srcElement, need to use another button // that should be visible.
let dragSrcElement = document.getElementById("back-button");
ok(dragSrcElement, "Back button exists");
let newTabButton = document.getElementById(
gBrowser.tabContainer.overflowing ? "new-tab-button" : "tabs-newtab-button"
);
ok(newTabButton, "New Tab button exists");
let awaitDrop = BrowserTestUtils.waitForEvent(newTabButton, "drop");
let loadedPromises = expectedURLs.map(url =>
BrowserTestUtils.waitForNewTab(gBrowser, url, true, true)
);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.