Chromium Code Reviews| Index: chrome/test/data/extensions/api_test/preference/onchange/test.js |
| diff --git a/chrome/test/data/extensions/api_test/preference/onchange/test.js b/chrome/test/data/extensions/api_test/preference/onchange/test.js |
| index f67ec474733c43aa531d18abcb8b8e87973ec57e..9bf9ebd31c702524f355a50ce2588593aedbaa6b 100644 |
| --- a/chrome/test/data/extensions/api_test/preference/onchange/test.js |
| +++ b/chrome/test/data/extensions/api_test/preference/onchange/test.js |
| @@ -20,6 +20,16 @@ function listenUntil(event, expected) { |
| }); |
| } |
| +// Fail if |event| is fired with |expected|. Because listenUntil stops listening |
| +// when |event| has fired with all the values in |expected|, it may not capture |
| +// superfluous unexpected events. |
| +function listenAndFailWhen(event, expected) { |
| + return chrome.test.listenForever(event, function(value) { |
| + if (chrome.test.checkDeepEq(expected, value)) |
| + chrome.test.fail("Unexpected event: " + JSON.stringify(value)); |
| + }); |
| +} |
| + |
| var pw = chrome.privacy.websites; |
| chrome.test.runTests([ |
| function changeDefault() { |
| @@ -35,7 +45,7 @@ chrome.test.runTests([ |
| 'levelOfControl': 'controlled_by_this_extension' |
| }]); |
| pw.thirdPartyCookiesAllowed.set({ |
| - 'value':false |
| + 'value': false |
| }, chrome.test.callbackPass()); |
| }, |
| function changeIncognitoOnly() { |
| @@ -44,19 +54,30 @@ chrome.test.runTests([ |
| 'incognitoSpecific': true, |
| 'levelOfControl': 'controlled_by_this_extension' |
| }]); |
| + var done = listenAndFailWhen(pw.thirdPartyCookiesAllowed.onChange, { |
| + 'value': true, |
| + 'levelOfControl': 'controlled_by_this_extension' |
| + }); |
| pw.thirdPartyCookiesAllowed.set({ |
|
Bernhard Bauer
2012/06/20 18:55:36
The problem is that pw.thirdPartyCookiesAllowed.se
|
| 'value': true, |
| 'scope': 'incognito_persistent' |
| }, chrome.test.callbackPass()); |
| + done(); |
| }, |
| function changeDefaultOnly() { |
| listenUntil(pw.thirdPartyCookiesAllowed.onChange, [{ |
| 'value': true, |
| 'levelOfControl': 'controlled_by_this_extension' |
| }]); |
| + var done = listenAndFailWhen(pw.thirdPartyCookiesAllowed.onChange, { |
| + 'value': true, |
| + 'incognitoSpecific': true, |
| + 'levelOfControl': 'controlled_by_this_extension' |
| + }); |
| pw.thirdPartyCookiesAllowed.set({ |
| 'value': true |
| }, chrome.test.callbackPass()); |
| + done(); |
| }, |
| function changeIncognitoOnlyBack() { |
| // Change the incognito setting back to false so that we get an event when |