willow-0.1.0.0: test/Test/Willow/WebPlatformTests/Manual/Encoding.hs
{-# LANGUAGE CPP #-}
{-|
Description:
Copyright: (c) 2020 Samuel May
License: MPL-2.0
Maintainer: ag.eitilt@gmail.com
Stability: experimental
Portability: portable
-}
module Test.Willow.WebPlatformTests.Manual.Encoding
( tests
) where
import qualified Test.HUnit as U
import Test.HUnit ( (~:) )
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.ApiBasics as ApiBasics
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.ApiSurrogatesUtf8 as ApiSurrogatesUtf8
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.Big5 as Big5
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.ByteOrderMarks as ByteOrderMarks
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.Gb18030 as Gb18030
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.Gbk as Gbk
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.FatalSingleByte as FatalSingleByte
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.FatalStreaming as FatalStreaming
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.Iso2022JpDecoder as Iso2022JpDecoder
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.Iso2022JpEncoder as Iso2022JpEncoder
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.TextDecoderUtf16Surrogates as TextDecoderUtf16Surrogates
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.TextEncoderUtf16Surrogates as TextEncoderUtf16Surrogates
#ifdef HAVE_WPT
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.ApiInvalidLabel as ApiInvalidLabel
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.ApiReplacementEncodings as ApiReplacementEncodings
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.Fatal as Fatal
import qualified Test.Willow.WebPlatformTests.Manual.Encoding.SingleByte as SingleByte
#endif
--TODO: Any folder wildcards haven't been checked thoroughly for ease of
--implementation, but at a quick scan it looks like they're not
--straightforward.
tests :: IO U.Test
tests = do
#ifdef HAVE_WPT
apiInvalidLabel <- ApiInvalidLabel.tests
apiReplacementEncodings <- ApiReplacementEncodings.tests
fatal <- Fatal.tests
singleByte <- SingleByte.tests
#endif
return $ "encoding" ~: U.TestList
[ ApiBasics.tests
, ApiSurrogatesUtf8.tests
, Big5.tests
-- bom-handling.html
-- encodeInto.any.js
-- eof-shift_jis.html
-- eof-utf-8-one.html
-- eof-utf-8-two.html
-- eof-utf-8-three.html
, Gb18030.tests
, Gbk.tests
-- idlharness.any.js
, Iso2022JpDecoder.tests
, Iso2022JpEncoder.tests
-- legacy-mb-japanese/
-- legacy-mb-korean/
-- legacy-mb-tchinese/
-- remove-only-one-bom.html
-- replacement-encodings.any.js
-- resources/
-- sniffing.html
-- streams/
, ByteOrderMarks.tests -- textdecoder-byte-order-marks.any.js
-- textdecoder-copy.any.js
, FatalSingleByte.tests -- textdecoder-fatal-single-byte.any.js
, FatalStreaming.tests -- textdecoder-fatal-streaming.any.js
--TODO: textdecoder-ignore-bom.any.js
-- textdecoder-labels.any.js
-- textdecoder-streaming.any.js
, TextDecoderUtf16Surrogates.tests
-- textencoder-constructor-non-utf.any.js
, TextEncoderUtf16Surrogates.tests
-- unsupported-encodings.any.js
-- utf-32-from-win1252.html
-- utf-32.html
#ifdef HAVE_WPT
, apiInvalidLabel
, apiReplacementEncodings
, fatal -- textdecoder-fatal.any.js
, singleByte
#endif
]