{-| Description: Emulating tests from @encoding/api-replacement-encodings.any.js@ Copyright: (c) 2020 Samuel May License: MPL-2.0 Maintainer: ag.eitilt@gmail.com Stability: experimental Portability: portable The original test checks that initializing the joint encoder/decoder fails. Since the API functions aren't yet implemented, that's approximated by the ("static" scope) encoder failing on something it really shouldn't for implemented algorithms: an empty string. -} module Test.Willow.WebPlatformTests.Manual.Encoding.ApiReplacementEncodings ( tests ) where import qualified Data.Maybe as Y import qualified Data.Text as T import qualified Test.HUnit as U import Test.HUnit ( (~:), (~?) ) import Web.Willow.Common.Encoding import Test.Willow.WebPlatformTests.Manual.CommonReader tests :: IO U.Test tests = do replacementRejected' <- someEncodings replacementGroup replacementRejected return $ "api-replacement-encodings.any.js" ~: U.TestList [ "'replacement' labels rejected" ~: replacementRejected' ] replacementGroup :: (String, String, T.Text) -> Bool replacementGroup (_, "replacement", _) = True replacementGroup _ = False replacementRejected :: Encoding -> U.Test replacementRejected enc = null (encodeEnc enc $ T.pack "replacement") ~? "'replacement' should never encode anything"