OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 cr.define('md_history.history_routing_test', function() { | 5 cr.define('md_history.history_routing_test', function() { |
6 function registerTests() { | 6 function registerTests() { |
7 suite('routing-test', function() { | 7 suite('routing-test', function() { |
8 var app; | 8 var app; |
9 var list; | 9 var list; |
10 var toolbar; | |
10 | 11 |
11 suiteSetup(function() { | 12 suiteSetup(function() { |
12 app = $('history-app'); | 13 app = $('history-app'); |
13 sidebar = app.$['side-bar'] | 14 sidebar = app.$['side-bar'] |
15 toolbar = app.$['toolbar']; | |
14 }); | 16 }); |
15 | 17 |
16 test('changing route changes active view', function() { | 18 test('changing route changes active view', function() { |
17 assertEquals('history', app.$.content.selected); | 19 assertEquals('history', app.$.content.selected); |
18 app.set('routeData_.page', 'syncedTabs'); | 20 app.set('routeData_.page', 'syncedTabs'); |
19 return flush().then(function() { | 21 return flush().then(function() { |
20 assertEquals('syncedTabs', app.$.content.selected); | 22 assertEquals('syncedTabs', app.$.content.selected); |
21 assertEquals('chrome://history/syncedTabs', window.location.href); | 23 assertEquals('chrome://history/syncedTabs', window.location.href); |
22 }); | 24 }); |
23 }); | 25 }); |
24 | 26 |
25 test('route updates from sidebar', function() { | 27 test('route updates from sidebar', function() { |
26 var menu = sidebar.$.menu; | 28 var menu = sidebar.$.menu; |
27 assertEquals('', app.routeData_.page); | 29 assertEquals('', app.routeData_.page); |
28 assertEquals('chrome://history/', window.location.href); | 30 assertEquals('chrome://history/', window.location.href); |
29 | 31 |
30 MockInteractions.tap(menu.children[1]); | 32 MockInteractions.tap(menu.children[1]); |
31 assertEquals('syncedTabs', app.routeData_.page); | 33 assertEquals('syncedTabs', app.routeData_.page); |
32 assertEquals('chrome://history/syncedTabs', window.location.href); | 34 assertEquals('chrome://history/syncedTabs', window.location.href); |
33 | 35 |
34 MockInteractions.tap(menu.children[0]); | 36 MockInteractions.tap(menu.children[0]); |
35 assertEquals('', app.routeData_.page); | 37 assertEquals('', app.routeData_.page); |
36 assertEquals('chrome://history/', window.location.href); | 38 assertEquals('chrome://history/', window.location.href); |
37 }); | 39 }); |
38 | 40 |
41 test('route updates from search', function() { | |
42 var searchTerm = 'McCree'; | |
43 assertEquals('', app.routeData_.page); | |
44 toolbar.setSearchTerm(searchTerm); | |
45 assertEquals(searchTerm, app.queryParams_.q); | |
46 }); | |
47 | |
48 test('search updates from route', function() { | |
49 var searchTerm = 'Mei'; | |
50 assertEquals('history', app.$.content.selected); | |
51 app.set('queryParams_.q', searchTerm); | |
52 assertEquals(searchTerm, toolbar.searchTerm); | |
53 }); | |
54 | |
55 test('search preserved across menu items', function() { | |
56 var searchTerm = 'Soldier 76'; | |
57 var menu = sidebar.$.menu; | |
58 assertEquals('', app.routeData_.page); | |
59 assertEquals('history', app.$.content.selected); | |
60 app.set('queryParams_.q', searchTerm); | |
61 | |
62 MockInteractions.tap(menu.children[1]); | |
63 assertEquals('syncedTabs', app.routeData_.page); | |
64 assertEquals(searchTerm, app.queryParams_.q); | |
65 assertEquals(searchTerm, toolbar.searchTerm); | |
66 | |
67 MockInteractions.tap(menu.children[0]); | |
68 assertEquals('', app.routeData_.page); | |
69 assertEquals(searchTerm, app.queryParams_.q); | |
70 assertEquals(searchTerm, toolbar.searchTerm); | |
71 }); | |
72 | |
39 teardown(function() { | 73 teardown(function() { |
40 app.set('routeData_.page', ''); | 74 app.set('routeData_.page', ''); |
75 app.set('queryParams_.q', null); | |
41 }); | 76 }); |
42 }); | 77 }); |
43 } | 78 } |
79 return { | |
80 registerTests: registerTests | |
81 }; | |
82 }); | |
83 | |
84 cr.define('md_history.history_routing_test_with_query_param', function() { | |
85 function registerTests() { | |
86 suite('routing-with-query-param', function() { | |
87 var app; | |
88 var list; | |
89 var toolbar; | |
90 var expectedQuery; | |
91 | |
92 suiteSetup(function() { | |
93 app = $('history-app'); | |
94 sidebar = app.$['side-bar'] | |
95 toolbar = app.$['toolbar']; | |
96 expectedQuery = 'query'; | |
97 }); | |
98 | |
99 test('search initiated on load', function(done) { | |
100 var verifyFunction = function(info) { | |
101 console.log(info[0]); | |
tsergeant
2016/07/19 03:32:20
Delete this log
calamity
2016/07/19 04:35:33
Done.
| |
102 assertEquals(expectedQuery, info[0]); | |
103 flush().then(function() { | |
104 assertEquals( | |
105 expectedQuery, | |
106 toolbar.$['main-toolbar'].getSearchField().getValue()); | |
107 done(); | |
108 }); | |
109 }; | |
110 | |
111 if (window.historyQueryInfo) { | |
112 verifyFunction(window.historyQueryInfo); | |
113 return; | |
114 } | |
115 | |
116 registerMessageCallback('historyQueried', this, verifyFunction); | |
117 }); | |
118 }); | |
119 } | |
44 return { | 120 return { |
45 registerTests: registerTests | 121 registerTests: registerTests |
46 }; | 122 }; |
47 }); | 123 }); |
OLD | NEW |