diff options
Diffstat (limited to 'widget/tests/unit/test_taskbar_jumplistitems.js')
-rw-r--r-- | widget/tests/unit/test_taskbar_jumplistitems.js | 261 |
1 files changed, 0 insertions, 261 deletions
diff --git a/widget/tests/unit/test_taskbar_jumplistitems.js b/widget/tests/unit/test_taskbar_jumplistitems.js deleted file mode 100644 index d145683eb..000000000 --- a/widget/tests/unit/test_taskbar_jumplistitems.js +++ /dev/null @@ -1,261 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -// This tests taskbar jump list functionality available on win7 and up. - -var Cc = Components.classes; -var Ci = Components.interfaces; - -function test_basics() -{ - var item = Cc["@mozilla.org/windows-jumplistitem;1"]. - createInstance(Ci.nsIJumpListItem); - - var sep = Cc["@mozilla.org/windows-jumplistseparator;1"]. - createInstance(Ci.nsIJumpListSeparator); - - var shortcut = Cc["@mozilla.org/windows-jumplistshortcut;1"]. - createInstance(Ci.nsIJumpListShortcut); - - var link = Cc["@mozilla.org/windows-jumplistlink;1"]. - createInstance(Ci.nsIJumpListLink); - - do_check_false(item.equals(sep)); - do_check_false(item.equals(shortcut)); - do_check_false(item.equals(link)); - - do_check_false(sep.equals(item)); - do_check_false(sep.equals(shortcut)); - do_check_false(sep.equals(link)); - - do_check_false(shortcut.equals(item)); - do_check_false(shortcut.equals(sep)); - do_check_false(shortcut.equals(link)); - - do_check_false(link.equals(item)); - do_check_false(link.equals(sep)); - do_check_false(link.equals(shortcut)); - - do_check_true(item.equals(item)); - do_check_true(sep.equals(sep)); - do_check_true(link.equals(link)); - do_check_true(shortcut.equals(shortcut)); -} - -function test_separator() -{ - // separators: - - var item = Cc["@mozilla.org/windows-jumplistseparator;1"]. - createInstance(Ci.nsIJumpListSeparator); - - do_check_true(item.type == Ci.nsIJumpListItem.JUMPLIST_ITEM_SEPARATOR); -} - -function test_hashes() -{ - var link = Cc["@mozilla.org/windows-jumplistlink;1"] - .createInstance(Ci.nsIJumpListLink); - var uri1 = Cc["@mozilla.org/network/simple-uri;1"] - .createInstance(Ci.nsIURI); - var uri2 = Cc["@mozilla.org/network/simple-uri;1"] - .createInstance(Ci.nsIURI); - - uri1.spec = "http://www.123.com/"; - uri2.spec = "http://www.123.com/"; - - link.uri = uri1; - - do_check_true(link.compareHash(uri2)) - uri2.spec = "http://www.456.com/"; - do_check_false(link.compareHash(uri2)) - uri2.spec = "http://www.123.com/"; - do_check_true(link.compareHash(uri2)) - uri2.spec = "https://www.123.com/"; - do_check_false(link.compareHash(uri2)) - uri2.spec = "http://www.123.com/test/"; - do_check_false(link.compareHash(uri2)) - uri1.spec = "http://www.123.com/test/"; - uri2.spec = "http://www.123.com/test/"; - do_check_true(link.compareHash(uri2)) - uri1.spec = "https://www.123.com/test/"; - uri2.spec = "https://www.123.com/test/"; - do_check_true(link.compareHash(uri2)) - uri2.spec = "ftp://www.123.com/test/"; - do_check_false(link.compareHash(uri2)) - uri2.spec = "http://123.com/test/"; - do_check_false(link.compareHash(uri2)) - uri1.spec = "https://www.123.com/test/"; - uri2.spec = "https://www.123.com/Test/"; - do_check_false(link.compareHash(uri2)) - - uri1.spec = "http://www.123.com/"; - do_check_eq(link.uriHash, "QGLmWuwuTozr3tOfXSf5mg=="); - uri1.spec = "http://www.123.com/test/"; - do_check_eq(link.uriHash, "AG87Ls+GmaUYSUJFETRr3Q=="); - uri1.spec = "https://www.123.com/"; - do_check_eq(link.uriHash, "iSx6UH1a9enVPzUA9JZ42g=="); - - var uri3 = Cc["@mozilla.org/network/simple-uri;1"] - .createInstance(Ci.nsIURI); - link.uri = uri3; - do_check_eq(link.uriHash, "hTrpDwNRMkvXPqYV5kh1Fw=="); -} - -function test_links() -{ - // links: - var link1 = Cc["@mozilla.org/windows-jumplistlink;1"] - .createInstance(Ci.nsIJumpListLink); - var link2 = Cc["@mozilla.org/windows-jumplistlink;1"] - .createInstance(Ci.nsIJumpListLink); - - var uri1 = Cc["@mozilla.org/network/simple-uri;1"] - .createInstance(Ci.nsIURI); - var uri2 = Cc["@mozilla.org/network/simple-uri;1"] - .createInstance(Ci.nsIURI); - - uri1.spec = "http://www.test.com/"; - uri2.spec = "http://www.test.com/"; - - link1.uri = uri1; - link1.uriTitle = "Test"; - link2.uri = uri2; - link2.uriTitle = "Test"; - - do_check_true(link1.equals(link2)); - - link2.uriTitle = "Testing"; - - do_check_false(link1.equals(link2)); - - link2.uriTitle = "Test"; - uri2.spec = "http://www.testing.com/"; - - do_check_false(link1.equals(link2)); -} - -function test_shortcuts() -{ - // shortcuts: - var sc = Cc["@mozilla.org/windows-jumplistshortcut;1"] - .createInstance(Ci.nsIJumpListShortcut); - - var handlerApp = Cc["@mozilla.org/uriloader/local-handler-app;1"] - .createInstance(Ci.nsILocalHandlerApp); - - handlerApp.name = "TestApp"; - handlerApp.detailedDescription = "TestApp detailed description."; - handlerApp.appendParameter("-test"); - - sc.iconIndex = 1; - do_check_eq(sc.iconIndex, 1); - - var faviconPageUri = Cc["@mozilla.org/network/simple-uri;1"] - .createInstance(Ci.nsIURI); - faviconPageUri.spec = "http://www.123.com/"; - sc.faviconPageUri = faviconPageUri; - do_check_eq(sc.faviconPageUri, faviconPageUri); - - var dirSvc = Cc["@mozilla.org/file/directory_service;1"]. - getService(Ci.nsIProperties). - QueryInterface(Ci.nsIDirectoryService); - var notepad = dirSvc.get("WinD", Ci.nsIFile); - notepad.append("notepad.exe"); - if (notepad.exists()) { - handlerApp.executable = notepad; - sc.app = handlerApp; - do_check_eq(sc.app.detailedDescription, "TestApp detailed description."); - do_check_eq(sc.app.name, "TestApp"); - do_check_true(sc.app.parameterExists("-test")); - do_check_false(sc.app.parameterExists("-notset")); - } -} - -function test_jumplist() -{ - // Jump lists can't register links unless the application is the default - // protocol handler for the protocol of the link, so we skip off testing - // those in these tests. We'll init the jump list for the xpc shell harness, - // add a task item, and commit it. - - // not compiled in - if (Ci.nsIWinTaskbar == null) - return; - - var taskbar = Cc["@mozilla.org/windows-taskbar;1"] - .getService(Ci.nsIWinTaskbar); - - var builder = taskbar.createJumpListBuilder(); - - do_check_neq(builder, null); - - // Win7 and up only - try { - var sysInfo = Cc["@mozilla.org/system-info;1"]. - getService(Ci.nsIPropertyBag2); - var ver = parseFloat(sysInfo.getProperty("version")); - if (ver < 6.1) { - do_check_false(builder.available, false); - return; - } - } catch (ex) { } - - do_check_true(taskbar.available); - - builder.deleteActiveList(); - - var items = Cc["@mozilla.org/array;1"] - .createInstance(Ci.nsIMutableArray); - - var sc = Cc["@mozilla.org/windows-jumplistshortcut;1"] - .createInstance(Ci.nsIJumpListShortcut); - - var handlerApp = Cc["@mozilla.org/uriloader/local-handler-app;1"] - .createInstance(Ci.nsILocalHandlerApp); - - handlerApp.name = "Notepad"; - handlerApp.detailedDescription = "Testing detailed description."; - - var dirSvc = Cc["@mozilla.org/file/directory_service;1"]. - getService(Ci.nsIProperties). - QueryInterface(Ci.nsIDirectoryService); - var notepad = dirSvc.get("WinD", Ci.nsIFile); - notepad.append("notepad.exe"); - if (notepad.exists()) { - handlerApp.executable = notepad; - sc.app = handlerApp; - items.appendElement(sc, false); - - var removed = Cc["@mozilla.org/array;1"] - .createInstance(Ci.nsIMutableArray); - do_check_true(builder.initListBuild(removed)); - do_check_true(builder.addListToBuild(builder.JUMPLIST_CATEGORY_TASKS, items)); - do_check_true(builder.addListToBuild(builder.JUMPLIST_CATEGORY_RECENT)); - do_check_true(builder.addListToBuild(builder.JUMPLIST_CATEGORY_FREQUENT)); - do_check_true(builder.commitListBuild()); - - builder.deleteActiveList(); - - do_check_true(builder.initListBuild(removed)); - do_check_true(builder.addListToBuild(builder.JUMPLIST_CATEGORY_CUSTOM, items, "Custom List")); - do_check_true(builder.commitListBuild()); - - builder.deleteActiveList(); - } -} - -function run_test() -{ - if (mozinfo.os != "win") { - return; - } - test_basics(); - test_separator(); - test_hashes(); - test_links(); - test_shortcuts(); - test_jumplist(); -} |