All tests pass.
Note that the JSC-specific expected result for window-property.html is a
placeholder until https://bugs.webkit.org/show_bug.cgi?id=43025 is fixed.
Change-Id: I60a978231a10f0a57b3dc654876b181dc47eb455
--- /dev/null
+Tests that document.createEvent() works with DeviceOrientationEvent.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS typeof event == 'object' is true
+PASS 'type' in event is true
+PASS 'bubbles' in event is true
+PASS 'cancelable' in event is true
+PASS 'alpha' in event is true
+PASS 'beta' in event is true
+PASS 'gamma' in event is true
+PASS typeof event.type == 'string' is true
+PASS typeof event.bubbles == 'boolean' is true
+PASS typeof event.cancelable == 'boolean' is true
+PASS typeof event.alpha == 'object' is true
+PASS typeof event.beta == 'object' is true
+PASS typeof event.gamma == 'object' is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
--- /dev/null
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/create-event.js"></script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
--- /dev/null
+Tests the optional properties of DeviceOrientationEvent. Each property should be null if not set, or set to null or undefined.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+event = document.createEvent('DeviceOrientationEvent')
+PASS event.alpha == null is true
+PASS event.beta == null is true
+PASS event.gamma == null is true
+event.initDeviceOrientationEvent('', false, false, 0, 1, 2)
+PASS event.alpha == 0 is true
+PASS event.beta == 1 is true
+PASS event.gamma == 2 is true
+event.initDeviceOrientationEvent()
+PASS event.alpha == null is true
+PASS event.beta == null is true
+PASS event.gamma == null is true
+event.initDeviceOrientationEvent('', false, false, [], [], [])
+PASS event.alpha == 0 is true
+PASS event.beta == 0 is true
+PASS event.gamma == 0 is true
+event.initDeviceOrientationEvent('', false, false, undefined, undefined, undefined)
+PASS event.alpha == null is true
+PASS event.beta == null is true
+PASS event.gamma == null is true
+event.initDeviceOrientationEvent('', false, false, '', '', '')
+PASS event.alpha == 0 is true
+PASS event.beta == 0 is true
+PASS event.gamma == 0 is true
+event.initDeviceOrientationEvent('', false, false, null, null, null)
+PASS event.alpha == null is true
+PASS event.beta == null is true
+PASS event.gamma == null is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
--- /dev/null
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/optional-event-properties.js"></script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
--- /dev/null
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="YOUR_JS_FILE_HERE"></script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
--- /dev/null
+description("Tests that document.createEvent() works with DeviceOrientationEvent.");
+
+var event = document.createEvent('DeviceOrientationEvent');
+
+shouldBeTrue("typeof event == 'object'");
+
+shouldBeTrue("'type' in event");
+shouldBeTrue("'bubbles' in event");
+shouldBeTrue("'cancelable' in event");
+shouldBeTrue("'alpha' in event");
+shouldBeTrue("'beta' in event");
+shouldBeTrue("'gamma' in event");
+
+shouldBeTrue("typeof event.type == 'string'");
+shouldBeTrue("typeof event.bubbles == 'boolean'");
+shouldBeTrue("typeof event.cancelable == 'boolean'");
+shouldBeTrue("typeof event.alpha == 'object'");
+shouldBeTrue("typeof event.beta == 'object'");
+shouldBeTrue("typeof event.gamma == 'object'");
+
+window.successfullyParsed = true;
--- /dev/null
+description("Tests the optional properties of DeviceOrientationEvent. Each property should be null if not set, or set to null or undefined.");
+
+var event;
+
+evalAndLog("event = document.createEvent('DeviceOrientationEvent')");
+shouldBeTrue("event.alpha == null");
+shouldBeTrue("event.beta == null");
+shouldBeTrue("event.gamma == null");
+
+evalAndLog("event.initDeviceOrientationEvent('', false, false, 0, 1, 2)");
+shouldBeTrue("event.alpha == 0");
+shouldBeTrue("event.beta == 1");
+shouldBeTrue("event.gamma == 2");
+
+evalAndLog("event.initDeviceOrientationEvent()");
+shouldBeTrue("event.alpha == null");
+shouldBeTrue("event.beta == null");
+shouldBeTrue("event.gamma == null");
+
+evalAndLog("event.initDeviceOrientationEvent('', false, false, [], [], [])");
+shouldBeTrue("event.alpha == 0");
+shouldBeTrue("event.beta == 0");
+shouldBeTrue("event.gamma == 0");
+
+evalAndLog("event.initDeviceOrientationEvent('', false, false, undefined, undefined, undefined)");
+shouldBeTrue("event.alpha == null");
+shouldBeTrue("event.beta == null");
+shouldBeTrue("event.gamma == null");
+
+evalAndLog("event.initDeviceOrientationEvent('', false, false, '', '', '')");
+shouldBeTrue("event.alpha == 0");
+shouldBeTrue("event.beta == 0");
+shouldBeTrue("event.gamma == 0");
+
+evalAndLog("event.initDeviceOrientationEvent('', false, false, null, null, null)");
+shouldBeTrue("event.alpha == null");
+shouldBeTrue("event.beta == null");
+shouldBeTrue("event.gamma == null");
+
+window.successfullyParsed = true;
--- /dev/null
+description("Tests that the window.DeviceOrientationEvent and window.ondeviceorientation properties are present.");
+
+function hasDeviceOrientationEventProperty()
+{
+ for (var property in window) {
+ if (property == "DeviceOrientationEvent")
+ return true;
+ }
+ return false;
+}
+
+shouldBeTrue("typeof window.DeviceOrientationEvent == 'function'");
+shouldBeTrue("hasDeviceOrientationEventProperty()");
+shouldBeTrue("'DeviceOrientationEvent' in window");
+shouldBeTrue("window.hasOwnProperty('DeviceOrientationEvent')");
+
+function hasOnDeviceOrientationProperty()
+{
+ for (var property in window) {
+ if (property == "ondeviceorientation")
+ return true;
+ }
+ return false;
+}
+
+shouldBeTrue("typeof window.ondeviceorientation == 'object'");
+shouldBeTrue("hasOnDeviceOrientationProperty()");
+shouldBeTrue("'ondeviceorientation' in window");
+shouldBeFalse("window.hasOwnProperty('ondeviceorientation')");
+
+window.successfullyParsed = true;
--- /dev/null
+Tests that the window.DeviceOrientationEvent and window.ondeviceorientation properties are present.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS typeof window.DeviceOrientationEvent == 'function' is true
+PASS hasDeviceOrientationEventProperty() is true
+PASS 'DeviceOrientationEvent' in window is true
+PASS window.hasOwnProperty('DeviceOrientationEvent') is true
+PASS typeof window.ondeviceorientation == 'object' is true
+PASS hasOnDeviceOrientationProperty() is true
+PASS 'ondeviceorientation' in window is true
+PASS window.hasOwnProperty('ondeviceorientation') is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
--- /dev/null
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/window-property.js"></script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
--- /dev/null
+Tests that the window.DeviceOrientationEvent and window.ondeviceorientation properties are present.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+FAIL typeof window.DeviceOrientationEvent == 'function' should be true. Was false.
+PASS hasDeviceOrientationEventProperty() is true
+PASS 'DeviceOrientationEvent' in window is true
+PASS window.hasOwnProperty('DeviceOrientationEvent') is true
+PASS typeof window.ondeviceorientation == 'object' is true
+PASS hasOnDeviceOrientationProperty() is true
+PASS 'ondeviceorientation' in window is true
+FAIL window.hasOwnProperty('ondeviceorientation') should be false. Was true.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
#undef ENABLE_INSPECTOR // Enabled by default in Platform.h
#define ENABLE_INSPECTOR 0
#define ENABLE_EVENT_SOURCE 0
+#define ENABLE_DEVICE_ORIENTATION 1
+
#undef ENABLE_APPLICATION_INSTALLED
#define ENABLE_APPLICATION_INSTALLED 1