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_item_test', function() { | 5 cr.define('md_history.history_item_test', function() { |
6 function registerTests() { | 6 function registerTests() { |
7 suite('history-item', function() { | 7 suite('history-item', function() { |
8 var element; | 8 var element; |
9 var TEST_HISTORY_RESULTS; | 9 var TEST_HISTORY_RESULTS; |
10 var SEARCH_HISTORY_RESULTS; | 10 var SEARCH_HISTORY_RESULTS; |
11 | 11 |
12 suiteSetup(function() { | 12 suiteSetup(function() { |
13 element = $('history-app').$['history-list']; | 13 element = $('history-app').$['history-list']; |
14 TEST_HISTORY_RESULTS = [ | 14 TEST_HISTORY_RESULTS = [ |
15 createHistoryEntry('2016-03-16 10:00', 'http://www.google.com'), | 15 createHistoryEntry('2016-03-16 10:00', 'http://www.google.com'), |
16 createHistoryEntry('2016-03-16 9:00', 'http://www.example.com'), | 16 createHistoryEntry('2016-03-16 9:00', 'http://www.example.com'), |
17 createHistoryEntry('2016-03-16 7:01', 'http://www.badssl.com'), | 17 createHistoryEntry('2016-03-16 7:01', 'http://www.badssl.com'), |
18 createHistoryEntry('2016-03-16 7:00', 'http://www.website.com'), | 18 createHistoryEntry('2016-03-16 7:00', 'http://www.website.com'), |
19 createHistoryEntry('2016-03-16 4:00', 'http://www.website.com'), | 19 createHistoryEntry('2016-03-16 4:00', 'http://www.website.com'), |
20 createHistoryEntry('2016-03-15 11:00', 'http://www.example.com'), | 20 createHistoryEntry('2016-03-15 11:00', 'http://www.example.com'), |
21 ]; | 21 ]; |
22 | 22 |
23 SEARCH_HISTORY_RESULTS = [ | 23 SEARCH_HISTORY_RESULTS = [ |
24 createSearchEntry('2016-03-16', "http://www.google.com"), | 24 createSearchEntry('2016-03-16', "http://www.google.com"), |
25 createSearchEntry('2016-03-14', "http://calendar.google.com"), | 25 createSearchEntry('2016-03-14 11:00', "http://calendar.google.com"), |
26 createSearchEntry('2016-03-14', "http://mail.google.com") | 26 createSearchEntry('2016-03-14 10:00', "http://mail.google.com") |
27 ]; | 27 ]; |
28 }); | 28 }); |
29 | 29 |
30 test('basic separator insertion', function(done) { | 30 test('basic separator insertion', function(done) { |
31 element.addNewResults(TEST_HISTORY_RESULTS, ''); | 31 element.addNewResults(TEST_HISTORY_RESULTS); |
32 flush(function() { | 32 flush(function() { |
33 // Check that the correct number of time gaps are inserted. | 33 // Check that the correct number of time gaps are inserted. |
34 var items = | 34 var items = |
35 Polymer.dom(element.root).querySelectorAll('history-item'); | 35 Polymer.dom(element.root).querySelectorAll('history-item'); |
36 | 36 |
37 assertTrue(items[0].hasTimeGap); | 37 assertTrue(items[0].hasTimeGap); |
38 assertTrue(items[1].hasTimeGap); | 38 assertTrue(items[1].hasTimeGap); |
39 assertFalse(items[2].hasTimeGap); | 39 assertFalse(items[2].hasTimeGap); |
40 assertTrue(items[3].hasTimeGap); | 40 assertTrue(items[3].hasTimeGap); |
41 assertFalse(items[4].hasTimeGap); | 41 assertFalse(items[4].hasTimeGap); |
42 assertFalse(items[5].hasTimeGap); | 42 assertFalse(items[5].hasTimeGap); |
43 | 43 |
44 done(); | 44 done(); |
45 }); | 45 }); |
46 }); | 46 }); |
47 | 47 |
48 test('separator insertion for search', function(done) { | 48 test('separator insertion for search', function(done) { |
49 element.addNewResults(SEARCH_HISTORY_RESULTS, 'search'); | 49 element.addNewResults(SEARCH_HISTORY_RESULTS); |
| 50 element.searchedTerm = 'search'; |
50 flush(function() { | 51 flush(function() { |
51 var items = | 52 var items = |
52 Polymer.dom(element.root).querySelectorAll('history-item'); | 53 Polymer.dom(element.root).querySelectorAll('history-item'); |
53 | 54 |
54 assertTrue(items[0].hasTimeGap); | 55 assertTrue(items[0].hasTimeGap); |
55 assertFalse(items[1].hasTimeGap); | 56 assertFalse(items[1].hasTimeGap); |
56 assertFalse(items[2].hasTimeGap); | 57 assertFalse(items[2].hasTimeGap); |
57 | 58 |
58 done(); | 59 done(); |
59 }); | 60 }); |
60 }); | 61 }); |
61 | 62 |
62 test('separator insertion after deletion', function(done) { | 63 test('separator insertion after deletion', function(done) { |
63 element.addNewResults(TEST_HISTORY_RESULTS, ''); | 64 element.addNewResults(TEST_HISTORY_RESULTS); |
64 flush(function() { | 65 flush(function() { |
65 var items = | 66 var items = |
66 Polymer.dom(element.root).querySelectorAll('history-item'); | 67 Polymer.dom(element.root).querySelectorAll('history-item'); |
67 | 68 |
68 element.removeDeletedHistory_([element.historyData[3]]); | 69 element.removeDeletedHistory_([element.historyData[3]]); |
69 assertEquals(5, element.historyData.length); | 70 assertEquals(5, element.historyData.length); |
70 | 71 |
71 // Checks that a new time gap separator has been inserted. | 72 // Checks that a new time gap separator has been inserted. |
72 assertTrue(items[2].hasTimeGap); | 73 assertTrue(items[2].hasTimeGap); |
73 | 74 |
74 element.removeDeletedHistory_([element.historyData[3]]); | 75 element.removeDeletedHistory_([element.historyData[3]]); |
75 | 76 |
76 // Checks time gap separator is removed. | 77 // Checks time gap separator is removed. |
77 assertFalse(items[2].hasTimeGap); | 78 assertFalse(items[2].hasTimeGap); |
78 done(); | 79 done(); |
79 }); | 80 }); |
80 }); | 81 }); |
81 | 82 |
82 teardown(function() { | 83 teardown(function() { |
83 element.historyData = []; | 84 element.historyData = []; |
| 85 element.searchedTerm = ''; |
84 }); | 86 }); |
85 }); | 87 }); |
86 } | 88 } |
87 return { | 89 return { |
88 registerTests: registerTests | 90 registerTests: registerTests |
89 }; | 91 }; |
90 }); | 92 }); |
OLD | NEW |