This tests that events are properly propagated through View hierarchy.


Running: testShowView
View()
View.show()
  View.wasShown()
  View.onResize()
View.detach()
  View.willHide()

Running: testAppendViaDOM
View()
Error: Attempt to add view via regular DOM operation.

Running: testInsertViaDOM
View()
Error: Attempt to add view via regular DOM operation.

Running: testAttachToOrphanNode
View()
View.show()
Error: Attempt to attach view to orphan node

Running: testImmediateParent
Parent()
Child()
Child.show()
OK

Running: testDistantParent
Parent()
Child()
Child.show()
OK

Running: testEvents
Parent()
Child()
Parent.show()
  Parent.wasShown()
  Parent.onResize()
Parent.doResize()
  Parent.onResize()
Child.show()
  Child.wasShown()
  Child.onResize()
Parent.doResize()
  Parent.onResize()
  Child.onResize()
Parent.detach()
  Child.willHide()
  Parent.willHide()
Parent.show()
  Parent.wasShown()
  Parent.onResize()
  Child.wasShown()
  Child.onResize()
Child.detach()
  Child.willHide()
Parent.detach()
  Parent.willHide()

Running: testEventsHideOnDetach
Parent()
Child()
Parent.show()
  Parent.wasShown()
  Parent.onResize()
Parent.doResize()
  Parent.onResize()
Child.show()
  Child.wasShown()
  Child.onResize()
Parent.doResize()
  Parent.onResize()
  Child.onResize()
Parent.detach()
  Child.willHide()
  Parent.willHide()
Parent.show()
  Parent.wasShown()
  Parent.onResize()
  Child.wasShown()
  Child.onResize()
Child.detach()
  Child.willHide()
Parent.detach()
  Parent.willHide()

Running: testViewCounter
Parent()
Parent.show()
  Parent.wasShown()
  Parent.onResize()
Child()
Child.show()
  Child.wasShown()
  Child.onResize()
  view counter: 1
Child 2()
Child 2.show()
  Child 2.wasShown()
  Child 2.onResize()
  view counter: 2
Child.detach()
  Child.willHide()
  view counter: 1
Child 2.detach()
  Child 2.willHide()
  view counter: 0

Running: testRemoveChild
Parent()
Parent.show()
  Parent.wasShown()
  Parent.onResize()
Child()
Child.show()
  Child.wasShown()
  Child.onResize()
Error: Attempt to remove element containing view via regular DOM operation

Running: testImplicitRemoveChild
Parent()
Child()
Child.show()
Error: Attempt to remove element containing view via regular DOM operation

Running: testRemoveChildren
Parent()
Child()
Child.show()
Error: Attempt to remove element containing view via regular DOM operation

Running: testImplicitRemoveChildren
Parent()
Child()
Child.show()
Error: Attempt to remove element containing view via regular DOM operation

Running: testShowOnWasShown
Parent()
Child()
Parent.show()
  Parent.wasShown()
Child.show()
  Parent.onResize()
  Child.wasShown()
  Child.onResize()
Parent.detach()
  Child.willHide()
  Parent.willHide()

Running: testDetachOnWasShown
Parent()
Child()
Child.show()
Parent.show()
  Parent.wasShown()
Child.detach()
  Parent.onResize()
Parent.detach()
  Parent.willHide()

Running: testShowOnWillHide
Parent()
Child()
Parent.show()
  Parent.wasShown()
  Parent.onResize()
Child.show()
  Child.wasShown()
  Child.onResize()
Parent.detach()
  Child.willHide()
  Parent.willHide()
Child.show()

Running: testDetachOnWillHide
Parent()
Child()
Parent.show()
  Parent.wasShown()
  Parent.onResize()
Child.show()
  Child.wasShown()
  Child.onResize()
Parent.detach()
  Child.willHide()
  Parent.willHide()
Child.detach()

Running: testShowDetachesFromPrevious
Parent1()
Parent2()
Child()
Parent1.show()
  Parent1.wasShown()
  Parent1.onResize()
Parent2.show()
  Parent2.wasShown()
  Parent2.onResize()
Child.show()
  Child.wasShown()
  Child.onResize()
Child.show()
Child.detach()
  Child.willHide()
  Child.wasShown()
  Child.onResize()

