This tests support for the document.createTouch API.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS "createTouch" in document is true
PASS touch is non-null.
PASS touch.target is box
PASS touch.identifier is 1
PASS touch.pageX is 100
PASS touch.pageY is 101
PASS touch.screenX is 102
PASS touch.screenY is 103
PASS touch.webkitRadiusX is 5
PASS touch.webkitRadiusY is 3
PASS touch.webkitRotationAngle is 10
PASS touch.webkitForce is 10
PASS emptyTouch is non-null.
PASS emptyTouch.target is null
PASS emptyTouch.identifier is 0
PASS emptyTouch.pageX is 0
PASS emptyTouch.pageY is 0
PASS emptyTouch.screenX is 0
PASS emptyTouch.screenY is 0
PASS emptyTouch.webkitRadiusX is 0
PASS emptyTouch.webkitRadiusY is 0
PASS emptyTouch.webkitRotationAngle is NaN
PASS emptyTouch.webkitForce is NaN
PASS function () {
  document.createTouch(function(x) { return x; }, 12, 'a', 'b', 'c', function(x) { return x; }, 104, 'a', 'b', 'c', 'd');
} threw exception TypeError: Argument 1 ('window') to Document.createTouch must be an instance of WindowProxy.
PASS successfullyParsed is true

TEST COMPLETE

