Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(406)

Unified Diff: third_party/WebKit/LayoutTests/app_banner/app-banner-event-prompt.html

Issue 2393513004: Convert app banners to use Mojo. (Closed)
Patch Set: Add TODO Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/app_banner/app-banner-event-prompt.html
diff --git a/third_party/WebKit/LayoutTests/app_banner/app-banner-event-prompt.html b/third_party/WebKit/LayoutTests/app_banner/app-banner-event-prompt.html
index f328d6af1343dd8cefe3f6cc938c2cb1eabd973c..f44c664e1ad9c678733584e8586712ed8dc51a1f 100644
--- a/third_party/WebKit/LayoutTests/app_banner/app-banner-event-prompt.html
+++ b/third_party/WebKit/LayoutTests/app_banner/app-banner-event-prompt.html
@@ -5,41 +5,89 @@
var prompt_test_cases = [
{
- name: 'prompt-accept',
+ name: 'prompt-accept-access-userchoice-first',
cancel: true,
late: false,
platform: 'foo',
- outcome: 'accepted'
+ outcome: 'accepted',
+ userChoice: true
}, {
- name: 'prompt-dismiss',
+ name: 'prompt-accept-no-access-userchoice-first',
+ cancel: true,
+ late: false,
+ platform: 'foo',
+ outcome: 'accepted',
+ userChoice: false
+ }, {
+ name: 'prompt-dismiss-access-userchoice-first',
+ cancel: true,
+ late: false,
+ platform: '',
+ outcome: 'dismissed',
+ userChoice: true
+ }, {
+ name: 'prompt-dismiss-no-access-userchoice-first',
cancel: true,
late: false,
platform: '',
- outcome: 'dismissed'
+ outcome: 'dismissed',
+ userChoice: false
}, {
- name: 'prompt-before-preventDefault',
+ name: 'prompt-before-preventDefault-access-userchoice-first',
cancel: false,
late: false,
platform: 'foo',
- outcome: 'accepted'
+ outcome: 'accepted',
+ userChoice: true
+ }, {
+ name: 'prompt-before-preventDefault-no-access-userchoice-first',
+ cancel: false,
+ late: false,
+ platform: 'foo',
+ outcome: 'accepted',
+ userChoice: false
+ }, {
+ name: 'prompt-late-accept-access-userchoice-first',
+ cancel: true,
+ late: true,
+ platform: 'foo',
+ outcome: 'accepted',
+ userChoice: false
}, {
- name: 'prompt-late-accept',
+ name: 'prompt-late-accept-no-access-userchoice-first',
cancel: true,
late: true,
platform: 'foo',
- outcome: 'accepted'
+ outcome: 'accepted',
+ userChoice: false
}, {
- name: 'prompt-late-dismiss',
+ name: 'prompt-late-dismiss-access-userchoice-first',
cancel: true,
late: true,
platform: '',
- outcome: 'dismissed'
+ outcome: 'dismissed',
+ userChoice: true
}, {
- name: 'prompt-late-without-preventDefault',
+ name: 'prompt-late-dismiss-no-access-userchoice-first',
+ cancel: true,
+ late: true,
+ platform: '',
+ outcome: 'dismissed',
+ userChoice: false
+ }, {
+ name: 'prompt-late-without-preventDefault-access-userchoice-first',
+ cancel: false,
+ late: true,
+ platform: '',
+ outcome: 'dismissed',
+ userChoice: true
+ }, {
+ name: 'prompt-late-without-preventDefault-no-access-userchoice-first',
cancel: false,
late: true,
platform: '',
- outcome: 'dismissed'
+ outcome: 'dismissed',
+ userChoice: false
}
];
@@ -92,11 +140,28 @@ function prompt_test(index) {
assert_equals(e.platforms[0], 'foo', 'First platform');
assert_equals(e.platforms[1], 'bar', 'Second platform');
+ if (test_case.userChoice) {
+ // Access userChoice to ensure it is independent of prompt.
+ e.userChoice;
+ }
+
if (test_case.cancel) {
e.preventDefault();
}
if (test_case.late) {
+ window.setTimeout(function() {
+ assert_false(event == null, "event is null outside handler");
+
+ // Test that firing prompt() outside of the handler resolves or rejects correctly.
+ if (test_case.cancel) {
+ verify_prompt_resolve(event, t);
+ } else {
+ verify_prompt_reject(event, t);
+ }
+ // Check userChoice and call the next test.
+ verify_userChoice(event, t, test_case, index);
+ }, 0);
return;
}
@@ -114,20 +179,9 @@ function prompt_test(index) {
});
window.addEventListener('beforeinstallprompt', event_handler);
- testRunner.dispatchBeforeInstallPromptEvent(index, ['foo', 'bar'], t.step_func(function(result) {
- testRunner.resolveBeforeInstallPromptPromise(index, test_case.platform);
+ testRunner.dispatchBeforeInstallPromptEvent(['foo', 'bar'], t.step_func(function(result) {
+ testRunner.resolveBeforeInstallPromptPromise(test_case.platform);
}));
-
- // Test that firing prompt() outside of the handler resolves or rejects correctly.
- if (test_case.late) {
- if (test_case.cancel) {
- verify_prompt_resolve(event, t);
- } else {
- verify_prompt_reject(event, t);
- }
- // Check userChoice and call the next test.
- verify_userChoice(event, t, test_case, index);
- }
}, test_case.name);
}

Powered by Google App Engine
This is Rietveld 408576698