 Chromium Code Reviews
 Chromium Code Reviews Issue 2707083003:
  [MD Extensions] Update Item Card UI  (Closed)
    
  
    Issue 2707083003:
  [MD Extensions] Update Item Card UI  (Closed) 
  | OLD | NEW | 
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 /** @fileoverview Suite of tests for extension-item. */ | 5 /** @fileoverview Suite of tests for extension-item. */ | 
| 6 cr.define('extension_item_tests', function() { | 6 cr.define('extension_item_tests', function() { | 
| 7 /** | 7 /** | 
| 8 * The data used to populate the extension item. | 8 * The data used to populate the extension item. | 
| 9 * @type {chrome.developerPrivate.ExtensionInfo} | 9 * @type {chrome.developerPrivate.ExtensionInfo} | 
| 10 */ | 10 */ | 
| 11 var extensionData = extension_test_util.createExtensionInfo(); | 11 var extensionData = extension_test_util.createExtensionInfo(); | 
| 12 | 12 | 
| 13 // The normal elements, which should always be shown. | 13 // The normal elements, which should always be shown. | 
| 14 var normalElements = [ | 14 var normalElements = [ | 
| 15 {selector: '#name', text: extensionData.name}, | 15 {selector: '#name', text: extensionData.name}, | 
| 16 {selector: '#icon'}, | 16 {selector: '#icon'}, | 
| 17 {selector: '#description', text: extensionData.description}, | 17 {selector: '#description', text: extensionData.description}, | 
| 18 {selector: '#enable-toggle'}, | 18 {selector: '#enable-toggle'}, | 
| 19 {selector: '#details-button'}, | 19 {selector: '#details-button'}, | 
| 20 {selector: '#remove-button'}, | 20 {selector: '#remove-button'}, | 
| 21 ]; | 21 ]; | 
| 22 // The developer elements, which should only be shown if in developer | 22 // The developer elements, which should only be shown if in developer | 
| 23 // mode *and* showing details. | 23 // mode *and* showing details. | 
| 24 var devElements = [ | 24 var devElements = [ | 
| 25 {selector: '#version', text: extensionData.version}, | 25 {selector: '#version', text: extensionData.version}, | 
| 26 {selector: '#extension-id', text: 'ID:' + extensionData.id}, | 26 {selector: '#extension-id', text: 'ID:' + extensionData.id}, | 
| 27 {selector: '#inspect-views'}, | 27 {selector: '#inspect-views'}, | 
| 28 {selector: '#inspect-views paper-button', text: 'foo.html'}, | 28 {selector: '#inspect-views paper-button', text: 'foo.html,'}, | 
| 29 {selector: '#inspect-views paper-button:nth-of-type(0n + 2)', | 29 {selector: '#inspect-views paper-button:nth-of-type(2)', | 
| 30 text: 'bar.html'}, | 30 text: '1 moreā¦'}, | 
| 31 ]; | 31 ]; | 
| 32 | 32 | 
| 33 /** | 33 /** | 
| 34 * Tests that the elements' visibility matches the expected visibility. | 34 * Tests that the elements' visibility matches the expected visibility. | 
| 35 * @param {extensions.Item} item | 35 * @param {extensions.Item} item | 
| 36 * @param {Array<Object<string>>} elements | 36 * @param {Array<Object<string>>} elements | 
| 37 * @param {boolean} visibility | 37 * @param {boolean} visibility | 
| 38 */ | 38 */ | 
| 39 function testElementsVisibility(item, elements, visibility) { | 39 function testElementsVisibility(item, elements, visibility) { | 
| 40 elements.forEach(function(element) { | 40 elements.forEach(function(element) { | 
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 118 test(assert(TestNames.ClickableItems), function() { | 118 test(assert(TestNames.ClickableItems), function() { | 
| 119 item.set('inDevMode', true); | 119 item.set('inDevMode', true); | 
| 120 | 120 | 
| 121 mockDelegate.testClickingCalls( | 121 mockDelegate.testClickingCalls( | 
| 122 item.$['remove-button'], 'deleteItem', [item.data.id]); | 122 item.$['remove-button'], 'deleteItem', [item.data.id]); | 
| 123 mockDelegate.testClickingCalls( | 123 mockDelegate.testClickingCalls( | 
| 124 item.$['enable-toggle'], 'setItemEnabled', [item.data.id, false]); | 124 item.$['enable-toggle'], 'setItemEnabled', [item.data.id, false]); | 
| 125 mockDelegate.testClickingCalls( | 125 mockDelegate.testClickingCalls( | 
| 126 item.$$('#inspect-views paper-button'), | 126 item.$$('#inspect-views paper-button'), | 
| 127 'inspectItemView', [item.data.id, item.data.views[0]]); | 127 'inspectItemView', [item.data.id, item.data.views[0]]); | 
| 128 mockDelegate.testClickingCalls( | |
| 129 item.$$('#inspect-views paper-button:nth-of-type(0n + 2)'), | |
| 130 'inspectItemView', [item.data.id, item.data.views[1]]); | |
| 131 | 128 | 
| 132 var listener = new extension_test_util.ListenerMock(); | 129 var listener1 = new extension_test_util.ListenerMock(); | 
| 133 listener.addListener(item, 'extension-item-show-details', | 130 listener1.addListener(item, 'extension-item-show-details', | 
| 134 {data: item.data}); | 131 {data: item.data}); | 
| 135 MockInteractions.tap(item.$$('#details-button')); | 132 MockInteractions.tap(item.$$('#details-button')); | 
| 136 listener.verify(); | 133 listener1.verify(); | 
| 134 | |
| 135 var listener2 = new extension_test_util.ListenerMock(); | |
| 136 listener2.addListener(item, 'extension-item-show-details', | |
| 137 {data: item.data}); | |
| 138 MockInteractions.tap( | |
| 139 item.$$('#inspect-views paper-button:nth-of-type(0n + 2)')); | |
| 
michaelpg
2017/02/27 01:29:50
(2)
 
Devlin
2017/02/27 19:28:09
D'oh!  Really done this time.
 | |
| 140 listener2.verify(); | |
| 137 | 141 | 
| 138 item.set('data.disableReasons.corruptInstall', true); | 142 item.set('data.disableReasons.corruptInstall', true); | 
| 139 Polymer.dom.flush(); | 143 Polymer.dom.flush(); | 
| 140 mockDelegate.testClickingCalls( | 144 mockDelegate.testClickingCalls( | 
| 141 item.$$('#repair-button'), 'repairItem', [item.data.id]); | 145 item.$$('#repair-button'), 'repairItem', [item.data.id]); | 
| 146 | |
| 147 item.set('data.disableReasons.corruptInstall', false); | |
| 148 Polymer.dom.flush(); | |
| 149 mockDelegate.testClickingCalls( | |
| 150 item.$$('#reload-button'), 'reloadItem', [item.data.id]); | |
| 142 }); | 151 }); | 
| 143 | 152 | 
| 144 test(assert(TestNames.Warnings), function() { | 153 test(assert(TestNames.Warnings), function() { | 
| 145 var hasCorruptedWarning = function() { | 154 var hasCorruptedWarning = function() { | 
| 146 return extension_test_util.isVisible(item, '#corrupted-warning'); | 155 return extension_test_util.isVisible(item, '#corrupted-warning'); | 
| 147 }; | 156 }; | 
| 148 var hasSuspiciousWarning = function() { | 157 var hasSuspiciousWarning = function() { | 
| 149 return extension_test_util.isVisible(item, '#suspicious-warning'); | 158 return extension_test_util.isVisible(item, '#suspicious-warning'); | 
| 150 }; | 159 }; | 
| 151 var hasBlacklistedWarning = function() { | 160 var hasBlacklistedWarning = function() { | 
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 216 expectFalse(extension_test_util.isVisible(item, '#source-indicator')); | 225 expectFalse(extension_test_util.isVisible(item, '#source-indicator')); | 
| 217 }); | 226 }); | 
| 218 }); | 227 }); | 
| 219 } | 228 } | 
| 220 | 229 | 
| 221 return { | 230 return { | 
| 222 registerTests: registerTests, | 231 registerTests: registerTests, | 
| 223 TestNames: TestNames, | 232 TestNames: TestNames, | 
| 224 }; | 233 }; | 
| 225 }); | 234 }); | 
| OLD | NEW |