git.iko.soy/typeable/html-parse
on master help sign in
Rename tree constructor and analyser.
f7b110fMatthias Fischmann
Text/HTML/Tree.hs+7−7
@@ -69,13 +69,13 @@ pushFlatSibling :: t -> PStack t -> PStack t
69pushFlatSibling t (PStack ss ps) = PStack (Node t [] : ss) ps
69pushFlatSibling t (PStack ss ps) = PStack (Node t [] : ss) ps
70
70
71
71
72−renderTokenForest :: (IsToken t) => Forest t -> [t]
72+tokensFromForest :: (IsToken t) => Forest t -> [t]
73−renderTokenForest = mconcat . fmap renderTokenTree
73+tokensFromForest = mconcat . fmap tokensFromTree
74
74
75−renderTokenTree :: (IsToken t) => Tree t -> [t]
75+tokensFromTree :: (IsToken t) => Tree t -> [t]
76−renderTokenTree (Node o@(toToken -> Just (TagOpen n _)) ts)
76+tokensFromTree (Node o@(toToken -> Just (TagOpen n _)) ts)
77− = [o] <> renderTokenForest ts <> [fromToken $ TagClose n]
77+ = [o] <> tokensFromForest ts <> [fromToken $ TagClose n]
78−renderTokenTree (Node t []) =
78+tokensFromTree (Node t [])
79 = [t]
79 = [t]
80−renderTokenTree _
80+tokensFromTree _
81 = error "renderTokenTree: leaf node with children."
81 = error "renderTokenTree: leaf node with children."
tests/Text/HTML/TreeSpec.hs+1−1
@@ -32,4 +32,4 @@ spec :: Spec
32spec = do
32spec = do
33 it "parseTokenForests and renderTokenForest are inverses"
33 it "parseTokenForests and renderTokenForest are inverses"
34 . property . forAllShrink arbitraryTokenForest shrinkTokenForest $
34 . property . forAllShrink arbitraryTokenForest shrinkTokenForest $
35− \forest -> parseTokenForest (renderTokenForest forest) `shouldBe` Right forest
35+ \forest -> tokensToForest (tokensFromForest forest) `shouldBe` Right forest