Checks that Touch attributes are on the prototype.

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


PASS touch.__proto__ is Touch.prototype
PASS Object.getOwnPropertyNames(touch).length is 0

* touch.__proto__.identifier
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* Touch.prototype.identifier
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* touch.__proto__.target
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* Touch.prototype.target
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* touch.__proto__.screenX
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* Touch.prototype.screenX
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* touch.__proto__.screenY
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* Touch.prototype.screenY
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* touch.__proto__.clientX
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* Touch.prototype.clientX
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* touch.__proto__.clientY
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* Touch.prototype.clientY
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* touch.__proto__.pageX
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* Touch.prototype.pageX
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* touch.__proto__.pageY
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* Touch.prototype.pageY
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* touch.__proto__.force
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true

* Touch.prototype.force
PASS descriptor.get is an instance of Function
PASS descriptor.enumerable is true
PASS descriptor.configurable is true
PASS successfullyParsed is true

TEST COMPLETE

