Subclassing LayoutNode by exposing a new custom property.

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


Check the node is not dirty by default
PASS node.needsLayout is false

node.opacity = 0.5
PASS node.needsLayout is true

Layout will be performed
OpacityNode.layout() was called
OpacityNode.commitProperty() was called with propertyName = opacity

Layout was performed
PASS node.element.style.opacity is "0.5"

node.needsLayout = true

Layout will be performed
OpacityNode.layout() was called

Layout was performed
PASS successfullyParsed is true

TEST COMPLETE

