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

Unified Diff: third_party/WebKit/LayoutTests/imported/wpt/uievents/order-of-events/focus-events/focus-manual.html

Issue 2446483002: Import wpt@c5a14f553cba5f197743b9af605a84eddd8692a2 (Closed)
Patch Set: 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/imported/wpt/uievents/order-of-events/focus-events/focus-manual.html
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/uievents/order-of-events/focus-events/focus-manual.html b/third_party/WebKit/LayoutTests/imported/wpt/uievents/order-of-events/focus-events/focus-manual.html
index c91f790e21ede6e2c50f499566e2c179e4115fc3..391daf7028ce7fdff4f78b542caa2dd7d917a0d2 100644
--- a/third_party/WebKit/LayoutTests/imported/wpt/uievents/order-of-events/focus-events/focus-manual.html
+++ b/third_party/WebKit/LayoutTests/imported/wpt/uievents/order-of-events/focus-events/focus-manual.html
@@ -1,81 +1,74 @@
<!DOCTYPE html>
<html>
- <head>
- <meta charset="utf-8">
- <title>Focus-related events should fire in the correct order</title>
- <link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
- <link rel="help" href="https://w3c.github.io/uievents/#events-focusevent-event-order">
- <meta name="flags" content="interact">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <ol>
- <li>Click into the first text input.</li>
- <li>Click into the second text input.</li>
- <li>Click the "Done" button.</li>
- </ol>
+<head>
+ <meta charset="utf-8">
+ <title>Focus-related events should fire in the correct order</title>
+ <link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
+ <link rel="help" href="https://w3c.github.io/uievents/#events-focusevent-event-order">
+ <meta name="flags" content="interact">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/uievents/resources/eventrecorder.js"></script>
+</head>
- <input type="text" id="a" value="First">
- <br>
- <input type="text" id="b" value="Second">
- <br>
- <button type="button" id="done">Done</button>
+<body>
+ <ol>
+ <li>Click into the first text input.</li>
+ <li>Click into the second text input.</li>
+ <li>Click the "Done" button.</li>
+ </ol>
+ <input type="text" id="a" value="First">
+ <br>
+ <input type="text" id="b" value="Second">
+ <br>
+ <button type="button" id="done">Done</button>
+</body>
- <script>
+<script>
setup({explicit_timeout: true});
-var done = false;
-var events = [];
-var targets = [];
-function record(e) {
- if (done) {
- return;
- }
- events.push(e.type);
- targets.push(e.target.id);
-}
-function finish() {
- done = true;
+function stopPropagation(e) {
+ if (event.type == "focusin" || event.type == "focusout")
+ assert_true(event.bubbles);
+ e.stopPropagation();
}
var relevantEvents = [
- 'focus',
- 'blur',
- 'focusin',
- 'focusout'
+ "focus",
+ "blur",
+ "focusin",
+ "focusout"
];
window.onload = function () {
- var a = document.getElementById('a');
- var b = document.getElementById('b');
+ var a = document.getElementById("a");
+ var b = document.getElementById("b");
var inputs = [a, b];
+ EventRecorder.configure({
+ objectMap: {
+ "a": a,
+ "b": b,
+ }
+ });
- b.addEventListener('blur', finish, false);
- b.addEventListener('focusout', finish, false);
-
- for (var i = 0; i < inputs.length; i++) {
- for (var k = 0; k < relevantEvents.length; k++) {
- inputs[i].addEventListener(relevantEvents[k], record, false);
- }
- }
+ EventRecorder.addEventListenersForNodes(relevantEvents, inputs, stopPropagation);
+ var expected = [
+ {type: "focusin", target: "a"},
+ {type: "focus", target: "a"},
+ {type: "focusout", target: "a"},
+ {type: "focusin", target: "b"},
+ {type: "blur", target: "a"},
+ {type: "focus", target: "b"},
+ {type: "focusout", target: "b"},
+ {type: "blur", target: "b"}
+ ];
async_test(function(t) {
- document.getElementById('done').addEventListener('click', function () {
- finish();
+ document.getElementById("done").addEventListener("click", function () {
t.step(function () {
- assert_array_equals(
- events,
- ['focusin', 'focus', 'focusout', 'focusin', 'blur', 'focus'],
- 'Focus-related events should fire in this order: focusin, focus, focusout, focusin, blur, focus'
- );
- assert_array_equals(
- targets,
- [ 'a', 'a', 'a', 'b', 'a', 'b'],
- 'Focus-related events should fire at the correct targets'
- );
+ assert_true(EventRecorder.checkRecords(expected));
t.done();
});
}, false);
- }, 'Focus-related events should fire in the correct order');
+ }, "Focus-related events should fire in the correct order");
+ EventRecorder.start();
};
- </script>
- </body>
+</script>
</html>

Powered by Google App Engine
This is Rietveld 408576698