123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- Smalltalk createPackage: 'DOMite-Tests'!
- TestCase subclass: #DOMiteTest
- instanceVariableNames: 'fixtureDiv'
- package: 'DOMite-Tests'!
- !DOMiteTest methodsFor: 'fixture'!
- setUp
- fixtureDiv := document createElement: 'div'.
- document body appendChild: fixtureDiv.
- fixtureDiv setAttribute: 'id' to: 'fixture'.
- fixtureDiv innerHTML: 'sentinel'
- !
- tearDown
- | lastChild |
- lastChild := document body lastChild.
- self assert: lastChild equals: fixtureDiv.
- document body removeChild: lastChild
- ! !
- !DOMiteTest methodsFor: 'testing'!
- testDefaultInsertElement
- Domite new << (Domite newElement: 'p').
- self assert: (document body innerHTML endsWith: '<p></p>').
- document body removeChild: document body lastChild
- !
- testDefaultInsertString
- Domite new << 'a foo in a bar'.
- self assert: (document body innerHTML endsWith: 'a foo in a bar').
- document body removeChild: document body lastChild
- !
- testDefaultInsertStringInFragment
- Domite new << (Domite newStream << 'a foo in a bar').
- self assert: (document body innerHTML endsWith: 'a foo in a bar').
- document body removeChild: document body lastChild
- !
- testFromBadSelectorIsInvalid
- | d |
- d := Domite fromSelector: '#goo'.
- self assert: d isInvalid.
- d := Domite fromSelector: 'body'.
- self deny: d isInvalid.
- d := Domite fromSelector: 'html body div#fixture'.
- self deny: d isInvalid
- !
- testInsertElement
- | d |
- d := Domite fromSelector: 'html body div#fixture'.
- d << (Domite newElement: 'p').
- self assert: (document body innerHTML endsWith: '>sentinel<p></p></div>')
- !
- testInsertElementTwoLevel
- | d p s |
- d := Domite fromElement: fixtureDiv.
- p := Domite newElement: 'p'.
- d << p.
- s := Domite newElement: 'span'.
- p << s.
- s << 'dom-mite'.
- self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')
- !
- testInsertElementTwoLevelViaFragments
- | d p s |
- d := Domite fromSelector: '#fixture'.
- p := Domite newElement: 'p'.
- d << (Domite newStream << p).
- s := Domite newElement: 'span'.
- p << (Domite newStream << s).
- s << (Domite newStream << 'dom-mite').
- self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')
- !
- testInsertElementTwoLevelViaTwoLevelFragments
- | d p s |
- d := Domite fromElement: fixtureDiv.
- p := Domite newElement: 'p'.
- d << (Domite newStream << (Domite newStream << p)).
- s := Domite newElement: 'span'.
- p << (Domite newStream << (Domite newStream << s)).
- s << (Domite newStream << (Domite newStream << 'dom-mite')).
- self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')
- !
- testInsertString
- | d |
- d := Domite fromElement: fixtureDiv.
- d << 'a foo in a bar'.
- self assert: (document body innerHTML endsWith: '>sentinela foo in a bar</div>')
- !
- testInsertStringInFragment
- | d |
- d := Domite fromSelector: '#fixture'.
- d << (Domite newStream << 'a foo in a bar').
- self assert: (document body innerHTML endsWith: '>sentinela foo in a bar</div>')
- !
- testMultipleInserts
- | d p s |
- d := Domite fromElement: fixtureDiv.
- p := Domite newElement: 'p'.
- d << p.
- s := Domite newElement: 'span'.
- d << s.
- d << 'dom-mite'.
- self assert: (document body innerHTML endsWith: '>sentinel<p></p><span></span>dom-mite</div>')
- !
- testMultipleInsertsWithClear
- | d p s |
- d := Domite fromSelector: '#fixture'.
- p := Domite newElement: 'p'.
- d << p.
- s := Domite newElement: 'span'.
- d << s.
- d resetContents.
- d << 'dom-mite'.
- d resetContents.
- d resetContents.
- self assert: (document body innerHTML endsWith: '></div>')
- !
- testMultipleInsertsWithClearInBetween
- | d p s |
- d := Domite fromElement: fixtureDiv.
- p := Domite newElement: 'p'.
- d << p.
- s := Domite newElement: 'span'.
- d << s.
- d resetContents.
- d << 'dom-mite'.
- self assert: (document body innerHTML endsWith: '>dom-mite</div>')
- ! !
|