| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 /** | 5 /** |
| 6 * Test fixture for sync internals WebUI testing. | 6 * Test fixture for sync internals WebUI testing. |
| 7 * @constructor | 7 * @constructor |
| 8 * @extends {testing.Test} | 8 * @extends {testing.Test} |
| 9 */ | 9 */ |
| 10 function SyncInternalsWebUITest() {} | 10 function SyncInternalsWebUITest() {} |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 } | 53 } |
| 54 } | 54 } |
| 55 return false; | 55 return false; |
| 56 } | 56 } |
| 57 }; | 57 }; |
| 58 | 58 |
| 59 /** | 59 /** |
| 60 * Constant hard-coded value to return from mock getAllNodes. | 60 * Constant hard-coded value to return from mock getAllNodes. |
| 61 * @const | 61 * @const |
| 62 */ | 62 */ |
| 63 var HARD_CODED_ALL_NODES = [ | 63 var HARD_CODED_ALL_NODES = [{ |
| 64 { | 64 "nodes": [{ |
| 65 "BASE_SERVER_SPECIFICS": {}, | 65 "ATTACHMENT_METADATA": "", |
| 66 "BASE_VERSION": "1388699799780000", | 66 "BASE_SERVER_SPECIFICS": {}, |
| 67 "CTIME": "Wednesday, December 31, 1969 4:00:00 PM", | 67 "BASE_VERSION": "1396470970810000", |
| 68 "ID": "sZ:ADqtAZw5kjSwSkukraMoMX6z0OlFXENzhA+1HZNcO6LbATQrkVenHJS5" + | 68 "CTIME": "Wednesday, December 31, 1969 4:00:00 PM", |
| 69 "AgICYfj8/6KcvwlCw3FIvcRFtOEP3zSP5YJ1VH53/Q==", | 69 "ID": "sZ:ADqtAZwzF4GOIyvkI2enSI62AU5p/7MNmvuSSyf7yXJ1SkJwpp1YL" + |
| 70 "IS_DEL": false, | 70 "6bbMkF8inzqW+EO6n2aPJ/uXccW9GHxorBlnKoZAWHVzg==", |
| 71 "IS_DIR": true, | 71 "IS_DEL": false, |
| 72 "IS_UNAPPLIED_UPDATE": false, | 72 "IS_DIR": true, |
| 73 "IS_UNSYNCED": false, | 73 "IS_UNAPPLIED_UPDATE": false, |
| 74 "LOCAL_EXTERNAL_ID": "0", | 74 "IS_UNSYNCED": false, |
| 75 "META_HANDLE": "376", | 75 "LOCAL_EXTERNAL_ID": "0", |
| 76 "MTIME": "Wednesday, December 31, 1969 4:00:00 PM", | 76 "META_HANDLE": "387", |
| 77 "NON_UNIQUE_NAME": "Typed URLs", | 77 "MTIME": "Wednesday, December 31, 1969 4:00:00 PM", |
| 78 "PARENT_ID": "r", | 78 "NON_UNIQUE_NAME": "Autofill", |
| 79 "SERVER_CTIME": "Wednesday, December 31, 1969 4:00:00 PM", | 79 "PARENT_ID": "r", |
| 80 "SERVER_IS_DEL": false, | 80 "SERVER_CTIME": "Wednesday, December 31, 1969 4:00:00 PM", |
| 81 "SERVER_IS_DIR": true, | 81 "SERVER_IS_DEL": false, |
| 82 "SERVER_MTIME": "Wednesday, December 31, 1969 4:00:00 PM", | 82 "SERVER_IS_DIR": true, |
| 83 "SERVER_NON_UNIQUE_NAME": "Typed URLs", | 83 "SERVER_MTIME": "Wednesday, December 31, 1969 4:00:00 PM", |
| 84 "SERVER_PARENT_ID": "r", | 84 "SERVER_NON_UNIQUE_NAME": "Autofill", |
| 85 "SERVER_SPECIFICS": { | 85 "SERVER_PARENT_ID": "r", |
| 86 "typed_url": { | 86 "SERVER_SPECIFICS": { |
| 87 "visit_transitions": [], | 87 "autofill": { |
| 88 "visits": [] | 88 "usage_timestamp": [] |
| 89 } | 89 } |
| 90 }, | 90 }, |
| 91 "SERVER_UNIQUE_POSITION": "INVALID[]", | 91 "SERVER_UNIQUE_POSITION": "INVALID[]", |
| 92 "SERVER_VERSION": "1388699799780000", | 92 "SERVER_VERSION": "1396470970810000", |
| 93 "SPECIFICS": { | 93 "SPECIFICS": { |
| 94 "typed_url": { | 94 "autofill": { |
| 95 "visit_transitions": [], | 95 "usage_timestamp": [] |
| 96 "visits": [] | 96 } |
| 97 } | 97 }, |
| 98 }, | 98 "SYNCING": false, |
| 99 "SYNCING": false, | 99 "TRANSACTION_VERSION": "1", |
| 100 "TRANSACTION_VERSION": "1", | 100 "UNIQUE_BOOKMARK_TAG": "", |
| 101 "UNIQUE_BOOKMARK_TAG": "", | 101 "UNIQUE_CLIENT_TAG": "", |
| 102 "UNIQUE_CLIENT_TAG": "", | 102 "UNIQUE_POSITION": "INVALID[]", |
| 103 "UNIQUE_POSITION": "INVALID[]", | 103 "UNIQUE_SERVER_TAG": "google_chrome_autofill", |
| 104 "UNIQUE_SERVER_TAG": "google_chrome_typed_urls", | 104 "isDirty": false, |
| 105 "isDirty": false, | 105 "serverModelType": "Autofill" |
| 106 "serverModelType": "Typed URLs" | 106 }, { |
| 107 }, | 107 "ATTACHMENT_METADATA": "", |
| 108 { | 108 "BASE_SERVER_SPECIFICS": {}, |
| 109 "BASE_SERVER_SPECIFICS": {}, | 109 "BASE_VERSION": "1394241139528639", |
| 110 "BASE_VERSION": "1372291923970334", | 110 "CTIME": "Friday, March 7, 2014 5:12:19 PM", |
| 111 "CTIME": "Wednesday, June 26, 2013 5:12:03 PM", | 111 "ID": "sZ:ADqtAZwzc/ol1iaz+yNLjjWak9PBE0o/hATzpqJsyq/HX2xzV2f88" + |
| 112 "ID": "sZ:ADqtAZyz70DhOIusPT1v2XCd/8YT8Fy43WlqdRyH6UwoBAqMkX5Pnkl/sW9A" + | 112 "FaOrT7HDE4tyn7zx2LWgkAFvZfCA5mOy4p0XFgiY0L+mw==", |
| 113 "+AVrmzAPWFTrRBf0AWD57HyN4GcYXwSR9q4lYA==", | 113 "IS_DEL": false, |
| 114 "IS_DEL": false, | 114 "IS_DIR": false, |
| 115 "IS_DIR": false, | 115 "IS_UNAPPLIED_UPDATE": false, |
| 116 "IS_UNAPPLIED_UPDATE": false, | 116 "IS_UNSYNCED": false, |
| 117 "IS_UNSYNCED": false, | 117 "LOCAL_EXTERNAL_ID": "0", |
| 118 "LOCAL_EXTERNAL_ID": "0", | 118 "META_HANDLE": "2989", |
| 119 "META_HANDLE": "3011", | 119 "MTIME": "Friday, March 7, 2014 5:12:19 PM", |
| 120 "MTIME": "Wednesday, June 26, 2013 5:12:03 PM", | 120 "NON_UNIQUE_NAME": "autofill_entry|Email|rlsynctet2", |
| 121 "NON_UNIQUE_NAME": "http://chrome.com/", | 121 "PARENT_ID": "sZ:ADqtAZwzF4GOIyvkI2enSI62AU5p/7MNmvuSSyf7yXJ1Sk" + |
| 122 "PARENT_ID": "sZ:ADqtAZw5kjSwSkukraMoMX6z0OlFXENzhA+1HZNcO6LbATQrkVen" + | 122 "Jwpp1YL6bbMkF8inzqW+EO6n2aPJ/uXccW9GHxorBlnKoZAWHVzg==", |
| 123 "HJS5AgICYfj8/6KcvwlCw3FIvcRFtOEP3zSP5YJ1VH53/Q==", | 123 "SERVER_CTIME": "Friday, March 7, 2014 5:12:19 PM", |
| 124 "SERVER_CTIME": "Wednesday, June 26, 2013 5:12:03 PM", | 124 "SERVER_IS_DEL": false, |
| 125 "SERVER_IS_DEL": false, | 125 "SERVER_IS_DIR": false, |
| 126 "SERVER_IS_DIR": false, | 126 "SERVER_MTIME": "Friday, March 7, 2014 5:12:19 PM", |
| 127 "SERVER_MTIME": "Wednesday, June 26, 2013 5:12:03 PM", | 127 "SERVER_NON_UNIQUE_NAME": "autofill_entry|Email|rlsynctet2", |
| 128 "SERVER_NON_UNIQUE_NAME": "http://chrome.com/", | 128 "SERVER_PARENT_ID": "sZ:ADqtAZwzF4GOIyvkI2enSI62AU5p/7MNmvuSSyf" + |
| 129 "SERVER_PARENT_ID": "sZ:ADqtAZw5kjSwSkukraMoMX6z0OlFXENzhA+1HZNcO6LbAT" + | 129 "7yXJ1SkJwpp1YL6bbMkF8inzqW+EO6n2aPJ/uXccW9GHxorBlnKoZAWHVzg==", |
| 130 "QrkVenHJS5AgICYfj8/6KcvwlCw3FIvcRFtOEP3zSP5YJ1VH53/Q==", | 130 "SERVER_SPECIFICS": { |
| 131 "SERVER_SPECIFICS": { | 131 "autofill": { |
| 132 "typed_url": { | 132 "name": "Email", |
| 133 "hidden": false, | 133 "usage_timestamp": ["13038713887000000", "13038713890000000"], |
| 134 "title": "Chrome", | 134 "value": "rlsynctet2" |
| 135 "url": "http://chrome.com/", | 135 } |
| 136 "visit_transitions": [ | 136 }, |
| 137 "268435457" | 137 "SERVER_UNIQUE_POSITION": "INVALID[]", |
| 138 ], | 138 "SERVER_VERSION": "1394241139528639", |
| 139 "visits": [ | 139 "SPECIFICS": { |
| 140 "13016765523677321" | 140 "autofill": { |
| 141 ] | 141 "name": "Email", |
| 142 } | 142 "usage_timestamp": ["13038713887000000", "13038713890000000"], |
| 143 }, | 143 "value": "rlsynctet2" |
| 144 "SERVER_UNIQUE_POSITION": "INVALID[]", | 144 } |
| 145 "SERVER_VERSION": "1372291923970334", | 145 }, |
| 146 "SPECIFICS": { | 146 "SYNCING": false, |
| 147 "typed_url": { | 147 "TRANSACTION_VERSION": "1", |
| 148 "hidden": false, | 148 "UNIQUE_BOOKMARK_TAG": "", |
| 149 "title": "Chrome", | 149 "UNIQUE_CLIENT_TAG": "EvliorKUf1rLjT+BGkNZp586Tsk=", |
| 150 "url": "http://chrome.com/", | 150 "UNIQUE_POSITION": "INVALID[]", |
| 151 "visit_transitions": [ | 151 "UNIQUE_SERVER_TAG": "", |
| 152 "268435457" | 152 "isDirty": false, |
| 153 ], | 153 "serverModelType": "Autofill" |
| 154 "visits": [ | 154 }], |
| 155 "13016765523677321" | 155 "type": "Autofill" |
| 156 ] | 156 }]; |
| 157 } | |
| 158 }, | |
| 159 "SYNCING": false, | |
| 160 "TRANSACTION_VERSION": "1", | |
| 161 "UNIQUE_BOOKMARK_TAG": "", | |
| 162 "UNIQUE_CLIENT_TAG": "J28uWKpXPuQwR3SJKbuLqzYGOcM=", | |
| 163 "UNIQUE_POSITION": "INVALID[]", | |
| 164 "UNIQUE_SERVER_TAG": "", | |
| 165 "isDirty": false, | |
| 166 "serverModelType": "Typed URLs" | |
| 167 } | |
| 168 ]; | |
| 169 | 157 |
| 170 /** | 158 /** |
| 171 * A value to return in mock onReceivedUpdatedAboutInfo event. | 159 * A value to return in mock onReceivedUpdatedAboutInfo event. |
| 172 * @const | 160 * @const |
| 173 */ | 161 */ |
| 174 HARD_CODED_ABOUT_INFO = { | 162 HARD_CODED_ABOUT_INFO = { |
| 175 "actionable_error": [ | 163 "actionable_error": [ |
| 176 { | 164 { |
| 177 "is_valid": false, | 165 "is_valid": false, |
| 178 "stat_name": "Error Type", | 166 "stat_name": "Error Type", |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 toString: function() { return 'node 1'; }, | 282 toString: function() { return 'node 1'; }, |
| 295 } | 283 } |
| 296 ]); | 284 ]); |
| 297 | 285 |
| 298 // Select the first list item and verify the search tab remains selected. | 286 // Select the first list item and verify the search tab remains selected. |
| 299 $('sync-results-list').getListItemByIndex(0).selected = true; | 287 $('sync-results-list').getListItemByIndex(0).selected = true; |
| 300 expectTrue($('sync-search-tab').selected); | 288 expectTrue($('sync-search-tab').selected); |
| 301 }); | 289 }); |
| 302 | 290 |
| 303 TEST_F('SyncInternalsWebUITest', 'NodeBrowserTest', function() { | 291 TEST_F('SyncInternalsWebUITest', 'NodeBrowserTest', function() { |
| 304 this.mockHandler.expects(once()).getAllNodes([]).will( | 292 var getAllNodesSavedArgs = new SaveMockArguments(); |
| 305 callFunction(function() { | 293 this.mockHandler.expects(once()). |
| 306 chrome.sync.getAllNodes.handleReply(HARD_CODED_ALL_NODES); | 294 getAllNodes(getAllNodesSavedArgs.match(ANYTHING)). |
| 307 })); | 295 will(callFunctionWithSavedArgs(getAllNodesSavedArgs, |
| 296 chrome.sync.getAllNodesCallback, |
| 297 HARD_CODED_ALL_NODES)); |
| 308 | 298 |
| 309 // Hit the refresh button. | 299 // Hit the refresh button. |
| 310 $('node-browser-refresh-button').click(); | 300 $('node-browser-refresh-button').click(); |
| 311 | 301 |
| 312 // Check that the refresh time was updated. | 302 // Check that the refresh time was updated. |
| 313 expectNotEquals($('node-browser-refresh-time').textContent, 'Never'); | 303 expectNotEquals($('node-browser-refresh-time').textContent, 'Never'); |
| 314 | 304 |
| 315 // Verify some hard-coded assumptions. These depend on the vaue of the | 305 // Verify some hard-coded assumptions. These depend on the vaue of the |
| 316 // hard-coded nodes, specified elsewhere in this file. | 306 // hard-coded nodes, specified elsewhere in this file. |
| 317 | 307 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 328 // An actual sync node. The child of the type root. | 318 // An actual sync node. The child of the type root. |
| 329 var leaf = typeRoot.items[0]; | 319 var leaf = typeRoot.items[0]; |
| 330 | 320 |
| 331 // Verify that selecting it affects the details view. | 321 // Verify that selecting it affects the details view. |
| 332 expectTrue($('node-details').hasAttribute('hidden')); | 322 expectTrue($('node-details').hasAttribute('hidden')); |
| 333 leaf.selected = true; | 323 leaf.selected = true; |
| 334 expectFalse($('node-details').hasAttribute('hidden')); | 324 expectFalse($('node-details').hasAttribute('hidden')); |
| 335 }); | 325 }); |
| 336 | 326 |
| 337 TEST_F('SyncInternalsWebUITest', 'NodeBrowserRefreshOnTabSelect', function() { | 327 TEST_F('SyncInternalsWebUITest', 'NodeBrowserRefreshOnTabSelect', function() { |
| 338 this.mockHandler.expects(once()).getAllNodes([]).will( | 328 var getAllNodesSavedArgs = new SaveMockArguments(); |
| 339 callFunction(function() { | 329 this.mockHandler.expects(once()). |
| 340 chrome.sync.getAllNodes.handleReply(HARD_CODED_ALL_NODES); | 330 getAllNodes(getAllNodesSavedArgs.match(ANYTHING)). |
| 341 })); | 331 will(callFunctionWithSavedArgs(getAllNodesSavedArgs, |
| 332 chrome.sync.getAllNodesCallback, |
| 333 HARD_CODED_ALL_NODES)); |
| 342 | 334 |
| 343 // Should start with non-refreshed node browser. | 335 // Should start with non-refreshed node browser. |
| 344 expectEquals($('node-browser-refresh-time').textContent, 'Never'); | 336 expectEquals($('node-browser-refresh-time').textContent, 'Never'); |
| 345 | 337 |
| 346 // Selecting the tab will refresh it. | 338 // Selecting the tab will refresh it. |
| 347 $('sync-browser-tab').selected = true; | 339 $('sync-browser-tab').selected = true; |
| 348 expectNotEquals($('node-browser-refresh-time').textContent, 'Never'); | 340 expectNotEquals($('node-browser-refresh-time').textContent, 'Never'); |
| 349 | 341 |
| 350 // Re-selecting the tab shouldn't re-refresh. | 342 // Re-selecting the tab shouldn't re-refresh. |
| 351 $('node-browser-refresh-time').textContent = 'TestCanary'; | 343 $('node-browser-refresh-time').textContent = 'TestCanary'; |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 388 | 380 |
| 389 // Click the dump-to-text button. | 381 // Click the dump-to-text button. |
| 390 $('dump-to-text').click(); | 382 $('dump-to-text').click(); |
| 391 | 383 |
| 392 // Verify our event is among the results. | 384 // Verify our event is among the results. |
| 393 var eventDumpText = $('data-dump').textContent; | 385 var eventDumpText = $('data-dump').textContent; |
| 394 | 386 |
| 395 expectGE(eventDumpText.indexOf('onConnectionStatusChange'), 0); | 387 expectGE(eventDumpText.indexOf('onConnectionStatusChange'), 0); |
| 396 expectGE(eventDumpText.indexOf('CONNECTION_OK'), 0); | 388 expectGE(eventDumpText.indexOf('CONNECTION_OK'), 0); |
| 397 }); | 389 }); |
| OLD | NEW |