1<!doctype html>
2<title>Event.defaultPrevented</title>
3<script src="/resources/testharness.js"></script>
4<script src="/resources/testharnessreport.js"></script>
5<div id="log"></div>
6<script>
7var ev;
8test(function() {
9  ev = document.createEvent("Event");
10  assert_equals(ev.defaultPrevented, false, "defaultPrevented");
11}, "When an event is created, defaultPrevented should be initialized to false.");
12test(function() {
13  ev.initEvent("foo", true, false);
14  assert_equals(ev.bubbles, true, "bubbles");
15  assert_equals(ev.cancelable, false, "cancelable");
16  assert_equals(ev.defaultPrevented, false, "defaultPrevented");
17}, "initEvent should work correctly (not cancelable).");
18test(function() {
19  assert_equals(ev.cancelable, false, "cancelable (before)");
20  ev.preventDefault();
21  assert_equals(ev.cancelable, false, "cancelable (after)");
22  assert_equals(ev.defaultPrevented, false, "defaultPrevented");
23}, "preventDefault() should not change defaultPrevented if cancelable is false.");
24test(function() {
25  assert_equals(ev.cancelable, false, "cancelable (before)");
26  ev.returnValue = false;
27  assert_equals(ev.cancelable, false, "cancelable (after)");
28  assert_equals(ev.defaultPrevented, false, "defaultPrevented");
29}, "returnValue should not change defaultPrevented if cancelable is false.");
30test(function() {
31  ev.initEvent("foo", true, true);
32  assert_equals(ev.bubbles, true, "bubbles");
33  assert_equals(ev.cancelable, true, "cancelable");
34  assert_equals(ev.defaultPrevented, false, "defaultPrevented");
35}, "initEvent should work correctly (cancelable).");
36test(function() {
37  assert_equals(ev.cancelable, true, "cancelable (before)");
38  ev.preventDefault();
39  assert_equals(ev.cancelable, true, "cancelable (after)");
40  assert_equals(ev.defaultPrevented, true, "defaultPrevented");
41}, "preventDefault() should change defaultPrevented if cancelable is true.");
42test(function() {
43  ev.initEvent("foo", true, true);
44  assert_equals(ev.cancelable, true, "cancelable (before)");
45  ev.returnValue = false;
46  assert_equals(ev.cancelable, true, "cancelable (after)");
47  assert_equals(ev.defaultPrevented, true, "defaultPrevented");
48}, "returnValue should change defaultPrevented if cancelable is true.");
49test(function() {
50  ev.initEvent("foo", true, true);
51  assert_equals(ev.bubbles, true, "bubbles");
52  assert_equals(ev.cancelable, true, "cancelable");
53  assert_equals(ev.defaultPrevented, false, "defaultPrevented");
54}, "initEvent should unset defaultPrevented.");
55</script>
56