Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chrome / test / data / pdf / basic_test_material.js
blob642bf2acb447c621365f73289f6aa94eafd75522
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 var tests = [
6   /**
7    * Test that some key elements exist and that they have the appropriate
8    * constructor name. This verifies that polymer is working correctly.
9    */
10   function testHasElements() {
11     var elementNames = [
12       'viewer-pdf-toolbar',
13       'viewer-zoom-toolbar',
14       'viewer-password-screen',
15       'viewer-error-screen'
16     ];
17     for (var i = 0; i < elementNames.length; i++) {
18       var elements = document.querySelectorAll(elementNames[i]);
19       chrome.test.assertEq(1, elements.length);
20       var element = elements[0];
21       chrome.test.assertTrue(
22           String(element.constructor).indexOf(elementNames[i]) != -1);
23     }
24     chrome.test.succeed();
25   },
27   /**
28    * Test that the plugin element exists and is navigated to the correct URL.
29    */
30   function testPluginElement() {
31     var plugin = document.getElementById('plugin');
32     chrome.test.assertEq('embed', plugin.localName);
34     chrome.test.assertTrue(
35         plugin.getAttribute('src').indexOf('/pdf/test.pdf') != -1);
36     chrome.test.succeed();
37   },
39   /**
40    * Test that shouldIgnoreKeyEvents correctly searches through the shadow DOM
41    * to find input fields.
42    */
43   function testIgnoreKeyEvents() {
44     // Test that the traversal through the shadow DOM works correctly.
45     var toolbar = document.getElementById('material-toolbar');
46     toolbar.$.pageselector.$.input.focus();
47     chrome.test.assertTrue(shouldIgnoreKeyEvents(toolbar));
49     // Test case where the active element has a shadow root of its own.
50     toolbar.$.buttons.children[1].focus();
51     chrome.test.assertFalse(shouldIgnoreKeyEvents(toolbar));
53     chrome.test.assertFalse(
54         shouldIgnoreKeyEvents(document.getElementById('plugin')));
56     chrome.test.succeed();
57   },
59   /**
60    * Test that changes to window height bubble down to dropdowns correctly.
61    */
62   function testToolbarManagerResizeDropdown() {
63     var mockWindow = new MockWindow(1920, 1080);
64     var mockZoomToolbar = {
65       clientHeight: 400
66     };
67     var toolbar = document.getElementById('material-toolbar');
68     var bookmarksDropdown = toolbar.$.bookmarks;
70     var toolbarManager =
71         new ToolbarManager(mockWindow, toolbar, mockZoomToolbar);
73     chrome.test.assertTrue(bookmarksDropdown.lowerBound == 680);
75     mockWindow.setSize(1920, 480);
76     chrome.test.assertTrue(bookmarksDropdown.lowerBound == 80);
78     chrome.test.succeed();
79   },
81   /**
82    * Test that the bookmarks menu can be closed by clicking the plugin and
83    * pressing escape.
84    */
85   function testOpenCloseBookmarks() {
86     var toolbar = $('material-toolbar');
87     toolbar.show();
88     var dropdown = toolbar.$.bookmarks;
89     var plugin = $('plugin');
90     var ESC_KEY = 27;
92     // Clicking on the plugin should close the bookmarks menu.
93     chrome.test.assertFalse(dropdown.dropdownOpen);
94     MockInteractions.tap(dropdown.$.icon);
95     chrome.test.assertTrue(dropdown.dropdownOpen);
96     MockInteractions.tap(plugin);
97     chrome.test.assertFalse(dropdown.dropdownOpen,
98         "Clicking plugin closes dropdown");
100     MockInteractions.tap(dropdown.$.icon);
101     chrome.test.assertTrue(dropdown.dropdownOpen);
102     MockInteractions.pressAndReleaseKeyOn(document, ESC_KEY);
103     chrome.test.assertFalse(dropdown.dropdownOpen,
104         "Escape key closes dropdown");
105     chrome.test.assertTrue(toolbar.opened,
106         "First escape key does not close toolbar");
108     MockInteractions.pressAndReleaseKeyOn(document, ESC_KEY);
109     chrome.test.assertFalse(toolbar.opened,
110         "Second escape key closes toolbar");
112     chrome.test.succeed();
113   }
116 importTestHelpers().then(function() {
117   chrome.test.runTests(tests);