OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 suite('<bookmarks-app>', function() { | 5 suite('<bookmarks-app>', function() { |
6 var app; | 6 var app; |
7 var store; | 7 var store; |
8 | 8 |
9 function resetStore() { | 9 function resetStore() { |
10 store = new bookmarks.TestStore({}); | 10 store = new bookmarks.TestStore({}); |
11 store.acceptInitOnce(); | 11 store.acceptInitOnce(); |
12 bookmarks.Store.instance_ = store; | 12 bookmarks.Store.instance_ = store; |
13 | 13 |
14 chrome.bookmarks.getTree = function(fn) { | 14 chrome.bookmarks.getTree = function(fn) { |
15 fn([ | 15 fn([ |
16 createFolder( | 16 createFolder( |
17 '0', | 17 '0', |
18 [ | 18 [ |
19 createFolder( | 19 createFolder( |
20 '1', | 20 '1', |
21 [ | 21 [ |
22 createFolder('11', []), | 22 createFolder('11', []), |
23 ]), | 23 ]), |
24 ]), | 24 ]), |
25 ]); | 25 ]); |
26 }; | 26 }; |
27 } | 27 } |
28 | 28 |
29 setup(function() { | 29 setup(function() { |
| 30 window.localStorage.clear(); |
30 resetStore(); | 31 resetStore(); |
31 | 32 |
32 app = document.createElement('bookmarks-app'); | 33 app = document.createElement('bookmarks-app'); |
33 replaceBody(app); | 34 replaceBody(app); |
34 }); | 35 }); |
35 | 36 |
36 teardown(function() { | |
37 window.localStorage.clear(); | |
38 }); | |
39 | 37 |
40 test('write and load closed folder state', function() { | 38 test('write and load closed folder state', function() { |
41 var closedFoldersList = ['1']; | 39 var closedFoldersList = ['1']; |
42 var closedFolders = new Set(closedFoldersList); | 40 var closedFolders = new Set(closedFoldersList); |
43 store.data.closedFolders = closedFolders; | 41 store.data.closedFolders = closedFolders; |
44 store.notifyObservers(); | 42 store.notifyObservers(); |
45 | 43 |
46 // Ensure closed folders are written to local storage. | 44 // Ensure closed folders are written to local storage. |
47 assertDeepEquals( | 45 assertDeepEquals( |
48 JSON.stringify(Array.from(closedFolders)), | 46 JSON.stringify(Array.from(closedFolders)), |
49 window.localStorage[LOCAL_STORAGE_CLOSED_FOLDERS_KEY]); | 47 window.localStorage[LOCAL_STORAGE_CLOSED_FOLDERS_KEY]); |
50 | 48 |
51 resetStore(); | 49 resetStore(); |
52 app = document.createElement('bookmarks-app'); | 50 app = document.createElement('bookmarks-app'); |
53 replaceBody(app); | 51 replaceBody(app); |
54 | 52 |
55 // Ensure closed folders are read from local storage. | 53 // Ensure closed folders are read from local storage. |
56 assertDeepEquals(closedFoldersList, normalizeSet(store.data.closedFolders)); | 54 assertDeepEquals(closedFoldersList, normalizeSet(store.data.closedFolders)); |
57 }); | 55 }); |
| 56 |
| 57 test('write and load sidebar width', function() { |
| 58 assertEquals( |
| 59 app.$.sidebar.getComputedStyleValue('width'), app.sidebarWidth_); |
| 60 |
| 61 var sidebarWidth = '500px'; |
| 62 app.$.sidebar.style.width = sidebarWidth; |
| 63 cr.dispatchSimpleEvent(app.$.splitter, 'resize'); |
| 64 assertEquals( |
| 65 sidebarWidth, window.localStorage[LOCAL_STORAGE_TREE_WIDTH_KEY]); |
| 66 |
| 67 app = document.createElement('bookmarks-app'); |
| 68 replaceBody(app); |
| 69 |
| 70 assertEquals(sidebarWidth, app.$.sidebar.style.width); |
| 71 }); |
58 }); | 72 }); |
OLD | NEW |