/toolkit/content/tests/chrome/bug263683_window.xul
http://github.com/zpao/v8monkey · Unknown · 116 lines · 99 code · 17 blank · 0 comment · 0 complexity · bbd6f61efcf47442aa0beedae0d38b80 MD5 · raw file
- <?xml version="1.0"?>
- <!-- ***** BEGIN LICENSE BLOCK *****
- - Version: MPL 1.1/GPL 2.0/LGPL 2.1
- -
- - The contents of this file are subject to the Mozilla Public License Version
- - 1.1 (the "License"); you may not use this file except in compliance with
- - the License. You may obtain a copy of the License at
- - http://www.mozilla.org/MPL/
- -
- - Software distributed under the License is distributed on an "AS IS" basis,
- - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- - for the specific language governing rights and limitations under the
- - License.
- -
- - The Original Code is Findbar Test code
- -
- - The Initial Developer of the Original Code is
- - Graeme McCutcheon <graememcc_firefox@graeme-online.co.uk>.
- - Portions created by the Initial Developer are Copyright (C) 2008
- - the Initial Developer. All Rights Reserved.
- -
- - Contributor(s):
- -
- -
- - Alternatively, the contents of this file may be used under the terms of
- - either the GNU General Public License Version 2 or later (the "GPL"), or
- - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- - in which case the provisions of the GPL or the LGPL are applicable instead
- - of those above. If you wish to allow use of your version of this file only
- - under the terms of either the GPL or the LGPL, and not to allow others to
- - use your version of this file under the terms of the MPL, indicate your
- - decision by deleting the provisions above and replace them with the notice
- - and other provisions required by the GPL or the LGPL. If you do not delete
- - the provisions above, a recipient may use your version of this file under
- - the terms of any one of the MPL, the GPL or the LGPL.
- -
- - ***** END LICENSE BLOCK ***** -->
- <?xml-stylesheet href="chrome://global/skin" type="text/css"?>
- <window id="263683test"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- width="600"
- height="600"
- onload="SimpleTest.executeSoon(startTest);"
- title="263683 test">
- <script type="application/javascript"><![CDATA[
- const Ci = Components.interfaces;
- const Cc = Components.classes;
- const Cr = Components.results;
- var gFindBar = null;
- var gBrowser;
- var imports = ["SimpleTest", "ok"];
- for each (var name in imports) {
- window[name] = window.opener.wrappedJSObject[name];
- }
- function finish() {
- window.close();
- SimpleTest.finish();
- }
- function startTest() {
- gFindBar = document.getElementById("FindToolbar");
- gBrowser = document.getElementById("content");
- gBrowser.addEventListener("pageshow", onPageShow, false);
- gBrowser.loadURI('data:text/html,<h2>Text mozilla</h2><input id="inp" type="text" />');
- }
- function onPageShow() {
- gFindBar.open();
- var search = "mozilla";
- gFindBar._findField.value = search;
- var matchCase = gFindBar.getElement("find-case-sensitive");
- if (matchCase.checked)
- matchCase.doCommand();
- gFindBar._find();
- var highlightButton = gFindBar.getElement("highlight");
- if (!highlightButton.checked)
- highlightButton.click();
- var controller = gFindBar.browser.docShell.QueryInterface(Ci.nsIInterfaceRequestor)
- .getInterface(Ci.nsISelectionDisplay)
- .QueryInterface(Ci.nsISelectionController);
- ok('SELECTION_FIND' in controller, "Correctly detects new selection type");
- var selection = controller.getSelection(controller.SELECTION_FIND);
-
- ok(selection.rangeCount == 1, "Correctly added a match to the selection type");
- ok(selection.getRangeAt(0).toString().toLowerCase() == search, "Added the correct match");
- highlightButton.click();
- ok(selection.rangeCount == 0, "Correctly removed the range");
- var input = gBrowser.contentDocument.getElementById("inp");
- input.value = search;
-
- highlightButton.click();
- var inputController = input.editor.selectionController;
- var inputSelection = inputController.getSelection(inputController.SELECTION_FIND);
- ok(inputSelection.rangeCount == 1, "Correctly added a match from input to the selection type");
- ok(inputSelection.getRangeAt(0).toString().toLowerCase() == search, "Added the correct match");
- highlightButton.click();
- ok(inputSelection.rangeCount == 0, "Correctly removed the range");
- finish();
- }
- ]]></script>
- <browser type="content-primary" flex="1" id="content" src="about:blank"/>
- <findbar id="FindToolbar" browserid="content"/>
- </window>