| 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 site-details. */ | 5 /** @fileoverview Suite of tests for site-details. */ |
| 6 cr.define('site_details_permission', function() { | 6 cr.define('site_details_permission', function() { |
| 7 function registerTests() { | 7 function registerTests() { |
| 8 suite('SiteDetailsPermission', function() { | 8 suite('SiteDetailsPermission', function() { |
| 9 /** | 9 /** |
| 10 * A site list element created before each test. | 10 * A site list element created before each test. |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 testElement.site = { | 73 testElement.site = { |
| 74 origin: 'http://www.google.com', | 74 origin: 'http://www.google.com', |
| 75 embeddingOrigin: '', | 75 embeddingOrigin: '', |
| 76 }; | 76 }; |
| 77 | 77 |
| 78 return browserProxy.whenCalled('getExceptionList').then(function() { | 78 return browserProxy.whenCalled('getExceptionList').then(function() { |
| 79 assertTrue(testElement.$.details.hidden); | 79 assertTrue(testElement.$.details.hidden); |
| 80 }.bind(this)); | 80 }.bind(this)); |
| 81 }); | 81 }); |
| 82 | 82 |
| 83 test('camera category', function() { | 83 test('camera category', function(done) { |
| 84 var origin = "https://foo-allow.com:443"; | 84 var origin = "https://foo-allow.com:443"; |
| 85 browserProxy.setPrefs(prefs); | 85 browserProxy.setPrefs(prefs); |
| 86 testElement.category = settings.ContentSettingsTypes.CAMERA; | 86 testElement.category = settings.ContentSettingsTypes.CAMERA; |
| 87 testElement.site = { | 87 testElement.site = { |
| 88 origin: origin, | 88 origin: origin, |
| 89 embeddingOrigin: '', | 89 embeddingOrigin: '', |
| 90 }; | 90 }; |
| 91 | 91 |
| 92 return browserProxy.whenCalled('getExceptionList').then(function() { | 92 browserProxy.whenCalled('getExceptionList').then(function() { |
| 93 assertFalse(testElement.$.details.hidden); | 93 testElement.async(function() { |
| 94 assertFalse(testElement.$.details.hidden); |
| 94 | 95 |
| 95 var header = testElement.$.details.querySelector( | 96 var header = testElement.$.details.querySelector( |
| 96 '.permission-header'); | 97 '.permission-header'); |
| 97 assertEquals('Camera', header.innerText.trim(), | 98 assertEquals('Camera', header.innerText.trim(), |
| 98 'Widget should be labelled correctly'); | 99 'Widget should be labelled correctly'); |
| 99 | 100 |
| 100 // Flip the permission and validate that prefs stay in sync. | 101 // Flip the permission and validate that prefs stay in sync. |
| 101 return validatePermissionFlipWorks(origin, true).then(function() { | 102 validatePermissionFlipWorks(origin, true).then(function() { |
| 102 browserProxy.resetResolver('setCategoryPermissionForOrigin'); | |
| 103 return validatePermissionFlipWorks(origin, false).then(function() { | |
| 104 browserProxy.resetResolver('setCategoryPermissionForOrigin'); | 103 browserProxy.resetResolver('setCategoryPermissionForOrigin'); |
| 105 return validatePermissionFlipWorks(origin, true).then(function() { | 104 validatePermissionFlipWorks(origin, false).then(function() { |
| 105 browserProxy.resetResolver('setCategoryPermissionForOrigin'); |
| 106 validatePermissionFlipWorks(origin, true).then(function() { |
| 107 done(); |
| 108 }.bind(this)); |
| 106 }.bind(this)); | 109 }.bind(this)); |
| 107 }.bind(this)); | 110 }.bind(this)); |
| 108 }.bind(this)); | 111 }); |
| 109 }.bind(this)); | 112 }.bind(this)); |
| 110 }); | 113 }); |
| 111 | 114 |
| 112 test('disappear on empty', function() { | 115 test('disappear on empty', function(done) { |
| 113 var origin = "https://foo-allow.com:443"; | 116 var origin = "https://foo-allow.com:443"; |
| 114 browserProxy.setPrefs(prefs); | 117 browserProxy.setPrefs(prefs); |
| 115 testElement.category = settings.ContentSettingsTypes.CAMERA; | 118 testElement.category = settings.ContentSettingsTypes.CAMERA; |
| 116 testElement.site = { | 119 testElement.site = { |
| 117 origin: origin, | 120 origin: origin, |
| 118 embeddingOrigin: '', | 121 embeddingOrigin: '', |
| 119 }; | 122 }; |
| 120 | 123 |
| 121 return browserProxy.whenCalled('getExceptionList').then(function() { | 124 browserProxy.whenCalled('getExceptionList').then(function() { |
| 122 assertFalse(testElement.$.details.hidden); | 125 testElement.async(function() { |
| 126 assertFalse(testElement.$.details.hidden); |
| 123 | 127 |
| 124 browserProxy.setPrefs(prefsEmpty); | 128 browserProxy.setPrefs(prefsEmpty); |
| 125 browserProxy.whenCalled('getExceptionList').then(function() { | 129 browserProxy.whenCalled('getExceptionList').then(function() { |
| 126 assertTrue(testElement.$.details.hidden); | 130 assertTrue(testElement.$.details.hidden); |
| 127 }.bind(this)); | 131 done(); |
| 132 }.bind(this)); |
| 133 }); |
| 128 }.bind(this)); | 134 }.bind(this)); |
| 129 }); | 135 }); |
| 130 }); | 136 }); |
| 131 } | 137 } |
| 132 return { | 138 return { |
| 133 registerTests: registerTests, | 139 registerTests: registerTests, |
| 134 }; | 140 }; |
| 135 }); | 141 }); |
| OLD | NEW |