{-# LANGUAGE OverloadedStrings #-} {-| Description: Emulating tests from @encoding/iso-2022-jp-encoder.html@ Copyright: (c) 2020 Samuel May License: MPL-2.0 Maintainer: ag.eitilt@gmail.com Stability: experimental Portability: portable -} module Test.Willow.WebPlatformTests.Manual.Encoding.Iso2022JpEncoder ( tests ) where import qualified Test.HUnit as U import Test.HUnit ( (~:), (~?=) ) import Web.Willow.Common.Encoding import Test.Willow.WebPlatformTests.Manual.Common tests :: U.Test tests = "iso-2022-jp-encoder.html" ~: U.TestList $ map test testData where test t = nameE t ~: encodeEnc' Iso2022Jp (inputE t) ~?= outputE t testData :: [InlineEncode] testData = [ InlineEncode { inputE = "s" , outputE = "s" , nameE = "very basic" } , InlineEncode { inputE = "\x00A5\x203Es\\\xFF90\x4F69" , outputE = "\ESC(J\\~s\ESC(B\\\ESC$B%_PP\ESC(B" , nameE = "basics" } , InlineEncode { inputE = "\xFF61" , outputE = "\ESC$B!#\ESC(B" , nameE = "Katakana" } , InlineEncode { inputE = "\x0393" , outputE = "\ESC$B&#\ESC(B" , nameE = "jis0208" } , InlineEncode { inputE = "\SO\SI\ESCx" , outputE = "���x" , nameE = "SO/SI ESC" } , InlineEncode { inputE = "\x203E\SO\SI\ESCx" , outputE = "\ESC(J~���x\ESC(B" , nameE = "Roman SO/SI ESC" } , InlineEncode { inputE = "\xFF61\SO\SI\ESCx" , outputE = "\ESC$B!#\ESC(B���x" , nameE = "Katakana SO/SI ESC" } , InlineEncode { inputE = "\x0393\SO\SI\ESCx" , outputE = "\ESC$B&#\ESC(B���x" , nameE = "jis0208 SO/SI ESC" } , InlineEncode { inputE = "\xFFFD" , outputE = "�" , nameE = "U+FFFD" } , InlineEncode { inputE = "\x203E\xFFFD" , outputE = "\ESC(J~�\ESC(B" , nameE = "Roman U+FFFD" } , InlineEncode { inputE = "\xFF61\xFFFD" , outputE = "\ESC$B!#\ESC(B�" , nameE = "Katakana U+FFFD" } , InlineEncode { inputE = "\x0393\xFFFD" , outputE = "\ESC$B&#\ESC(B�" , nameE = "jis0208 U+FFFD" } ]