blob: 0294f84511cde8b79cb8d2010bd5153ee2a4960c [file] [log] [blame]
<!DOCTYPE HTML>
<body/>
<script src="../../../../../resources/testharness.js"></script>
<script src="../../../../../resources/testharnessreport.js"></script>
<script>
function testCaptureValue(captureValue, expectedValue, test) {
var handlerPhase = undefined;
var handler = function handler(e) {
assert_equals(handlerPhase, undefined);
handlerPhase = e.eventPhase;
}
document.addEventListener('test', handler, captureValue);
document.body.dispatchEvent(new Event('test', {'bubbles': true}));
document.removeEventListener('test', handler, captureValue);
document.body.dispatchEvent(new Event('test', {'bubbles': true}));
assert_equals(handlerPhase, expectedValue);
test.done();
}
test(function(t) { testCaptureValue(true, Event.CAPTURING_PHASE, t); }, "True value");
test(function(t) { testCaptureValue(false, Event.BUBBLING_PHASE, t); }, "False value");
test(function(t) { testCaptureValue({}, Event.BUBBLING_PHASE, t); }, "Empty object");
test(function(t) { testCaptureValue(null, Event.BUBBLING_PHASE, t); }, "Null object");
test(function(t) { testCaptureValue(undefined, Event.BUBBLING_PHASE, t); }, "Undefined object");
test(function(t) { testCaptureValue(2.3, Event.CAPTURING_PHASE, t); }, "Positive value");
test(function(t) { testCaptureValue(-1000.3, Event.CAPTURING_PHASE, t); }, "Negative value");
test(function(t) { testCaptureValue(NaN, Event.BUBBLING_PHASE, t); }, "NaN value");
test(function(t) { testCaptureValue(+0.0, Event.BUBBLING_PHASE, t); }, "Postive zero value");
test(function(t) { testCaptureValue(-0.0, Event.BUBBLING_PHASE, t); }, "Negative zero value");
test(function(t) { testCaptureValue("", Event.BUBBLING_PHASE, t); }, "Empty string value");
test(function(t) { testCaptureValue("AAAA", Event.CAPTURING_PHASE, t); }, "Non empty string value");
</script>