@@ -15,12 +15,12 @@ import Effect.Class (liftEffect)
1515import Flame.Application.DOM as FAD
1616import Flame.Application.Effectful as FAE
1717import Flame.HTML.Attribute as HA
18- import Test.Basic.ContentEditable as TBC
1918import Flame.HTML.Element as HE
2019import Flame.Renderer.String as FRS
2120import Partial.Unsafe (unsafePartial )
2221import Partial.Unsafe as PU
2322import Signal.Channel as SC
23+ import Test.Basic.ContentEditable as TBC
2424import Test.Basic.EffectList as TBEL
2525import Test.Basic.Effectful as TBE
2626import Test.Basic.NoEffects as TBN
@@ -57,6 +57,8 @@ foreign import keydownEvent :: Effect Event
5757foreign import errorEvent :: Effect Event
5858foreign import offlineEvent :: Effect Event
5959
60+
61+
6062main :: Effect Unit
6163main =
6264 runTest do
@@ -194,6 +196,29 @@ main =
194196 html' <- liftEffect $ FRS .render html
195197 -- events are part of virtual dom data and do not show up on the rendered markup
196198 TUA .equal """ <a>TEST</a>""" html'
199+ suite " show" do
200+ test " simple element" do
201+ let html = HE .div [HA .id " 1" ] [HE .text " T" ]
202+ TUA .equal """ (Node div [(Property id 1)] [(Text T)])""" $ show $ html
203+ test " events do not matter" do
204+ let html = HE .div [HA .id " 1" , HA .onClick " Test" ] [HE .text " T" ]
205+ TUA .equal """ (Node div [(Property id 1)] [(Text T)])""" $ show $ html
206+ test " element with childs" do
207+ let html = HE .div_ [HE .div_ [HE .br]]
208+ TUA .equal """ (Node div [] [(Node div [] [(Node br [] [])])])""" $ show $ html
209+ suite " eq" do
210+ test " simple element" do
211+ TUA .equal' " equal html" (HE .div [HA .id " 1" ] [HE .text " T" ]) (HE .div [HA .id " 1" ] [HE .text " T" ])
212+ TUA .assert " diffent property" $ (HE .div [HA .id " 1" ] [HE .text " T" ]) /= (HE .div [HA .id " 2" ] [HE .text " T" ])
213+ test " events do not matter" do
214+ TUA .equal' " equal html" (HE .div [HA .id " 1" , HA .onClick unit] [HE .text " T" ]) (HE .div [HA .id " 1" ] [HE .text " T" ])
215+ test " property order does not matter" do
216+ TUA .assert " should equal" $
217+ (HE .div [HA .class' " test" , HA .id " 1" ] [HE .text " T" ]) == (HE .div [HA .id " 1" , HA .class' " test" ] [HE .text " T" ])
218+ test " child order does matter" do
219+ TUA .assert " should not equal" $
220+ (HE .div_ [HE .text " T" , HE .br]) /= (HE .div_ [HE .br, HE .text " T" ])
221+
197222 suite " diff" do
198223 test " updates record fields" do
199224 TUA .equal { a: 23 , b: " hello" , c: true } $ FAE .diff' {c: true } { a : 23 , b: " hello" , c: false }
0 commit comments