X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Fhalcyon.git;a=blobdiff_plain;f=src%2FHtml.hs;h=f1671a8e57f0fb0401ec7cea8ec5d765a42a6ba3;hp=2a3b4838b9b22a363b2c80f43476832ee4f3c616;hb=d7c6b5499c0969b6e488d9fc583f93bbb4e3d4c7;hpb=7bb00e04c15781d889f950d00babf3f183047bff diff --git a/src/Html.hs b/src/Html.hs index 2a3b483..f1671a8 100644 --- a/src/Html.hs +++ b/src/Html.hs @@ -1,20 +1,19 @@ module Html ( html_tests, - replace_entities - ) + replace_entities ) where -import Test.Framework (Test, testGroup) -import Test.Framework.Providers.HUnit (testCase) -import Test.HUnit (Assertion, assertEqual) -import Text.HTML.TagSoup.Entity (lookupEntity) +import Test.Framework ( Test, testGroup ) +import Test.Framework.Providers.HUnit ( testCase ) +import Test.HUnit ( Assertion, assertEqual ) +import Text.HTML.TagSoup.Entity ( lookupEntity ) replace_entities :: String -> String replace_entities [] = [] replace_entities ('&':xs) = let (b, a) = break (== ';') xs in case (lookupEntity b, a) of - (Just c, ';':as) -> c : replace_entities as + (Just s, ';':as) -> s ++ replace_entities as _ -> '&' : replace_entities xs replace_entities (x:xs) = x : replace_entities xs