diff options
Diffstat (limited to 'dom/tests/mochitest/bugs/test_window_bar.html')
-rw-r--r-- | dom/tests/mochitest/bugs/test_window_bar.html | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/dom/tests/mochitest/bugs/test_window_bar.html b/dom/tests/mochitest/bugs/test_window_bar.html new file mode 100644 index 0000000000..7c5a1f38a6 --- /dev/null +++ b/dom/tests/mochitest/bugs/test_window_bar.html @@ -0,0 +1,151 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=642338 +--> +<head> + <title>Test for Bug 642338</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> +</head> +<body> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=642338">Mozilla Bug 642338</a> +<p id="display"></p> +<div id="content" style="display: none"> + +</div> +<pre id="test"> +<script class="testbody" type="text/javascript"> + +/* Test that the following window properties work: + + menubar + toolbar + locationbar + personalbar + statusbar + scrollbars + +*/ + +// Popup is opened if one of the following condtitions is met: +// * both location and toolbar are false +// * menubar is false +// * resizable is false +// * scrollbars is false +// * status is false +var featuresList = [ + { + type: 'non-popup', + target: 'all-bars-toolbar', + features: 'toolbar=yes,menubar=yes,status=yes,scrollbars=yes', + }, + { + type: 'non-popup', + target: 'all-bars-location', + features: 'location=yes,menubar=yes,status=yes,scrollbars=yes', + }, + { + type: 'popup', + target: 'no-menubar', + features: 'toolbar=yes,menubar=no,status=yes,scrollbars=yes', + }, + { + type: 'popup', + target: 'no-toolbar', + features: 'toolbar=no,menubar=yes,status=yes,scrollbars=yes', + }, + { + type: 'popup', + target: 'no-status', + features: 'toolbar=yes,menubar=yes,status=no,scrollbars=yes', + }, + { + type: 'popup', + target: 'no-scrollbars', + features: 'toolbar=yes,menubar=yes,status=yes,scrollbars=no', + }, + { + type: 'popup', + target: 'no-bars', + features: 'toolbar=no,menubar=no,status=no,scrollbars=no', + }, + { + type: 'popup', + target: 'no-resizable', + features: 'toolbar=yes,menubar=yes,status=yes,scrollbars=yes' + + ',resizable=no', + }, + { + type: 'non-popup', + target: 'width-sized', + features: 'toolbar=yes,menubar=yes,status=yes,scrollbars=yes' + + ',width=500', + }, + { + // if features isnt empty, toolbar and location defaults to false, + // and that results in popup. + type: 'popup', + target: 'only-width-sized', + features: 'width=500', + }, + { + type: 'non-popup', + target: 'height-sized', + features: 'toolbar=yes,menubar=yes,status=yes,scrollbars=yes' + + ',height=500', + }, + { + type: 'non-popup', + target: 'sized', + features: 'toolbar=yes,menubar=yes,status=yes,scrollbars=yes' + + ',width=500,height=500', + }, + { + type: 'popup', + target: 'only-sized', + features: 'width=500,height=500', + }, +]; + +var numWindows = 0; + +/* Called when our popup loads. */ +function testWindow(w) +{ + function checkFeature(feature) { + if (w.location.search.startsWith('?popup')) { + is(w[feature].visible, false, `${feature} should be hidden for popup (${w.name}).`); + } else { + is(w[feature].visible, true, `${feature} should be visible for non-popup (${w.name}).`); + } + } + + // If popup is opened, all BarProp.visible become false. + checkFeature('menubar'); + checkFeature('toolbar'); + checkFeature('personalbar'); + checkFeature('scrollbars'); + checkFeature('statusbar'); + checkFeature('locationbar'); + + w.close(); + + numWindows++; + if (numWindows == featuresList.length) { + // We're done! + SimpleTest.finish(); + } + +} + +SimpleTest.waitForExplicitFinish(); +for (var item of featuresList) { + // This will call back into testWindow when they open. + window.open(`file_window_bar.html?${item.type}`, item.target, item.features); +} + +</script> +</pre> +</body> +</html> |