zenacy-html-2.0.0: test/Zenacy/HTML/Internal/Entity/Tests.hs
{-# LANGUAGE OverloadedStrings #-}
module Zenacy.HTML.Internal.Entity.Tests
( testEntity
) where
import Zenacy.HTML.Internal.Entity
import Test.Framework
( Test
, testGroup
)
import Test.Framework.Providers.HUnit
( testCase
)
import Test.HUnit
( assertBool
, assertEqual
, assertFailure
)
testEntity :: Test
testEntity = testGroup "Zenacy.HTML.Internal.Entity"
[ testGeneral
, testLongest
]
testGeneral :: Test
testGeneral = testCase "entity general" $ do
assertEqual "TEST 1" Nothing $ entityMatch "aamp;b"
assertEqual "TEST 2" (Just ("amp;", "&", "bbb")) $ entityMatch "amp;bbb"
assertEqual "TEST 3" (Just ("amp;", "&", "")) $ entityMatch "amp;"
assertEqual "TEST 4" (Just ("amp", "&", "b")) $ entityMatch "ampb"
testLongest :: Test
testLongest = testCase "entity longest" $ do
assertEqual "TEST 1"
-- TODO: is this the correct result?
(Just ("DoubleLongLeftRightArrow;", "\226\159\186", "x"))
(entityMatch "DoubleLongLeftRightArrow;x")