@@ -6,9 +6,10 @@ module Language.Github.Actions.WorkflowTest where
66
77import qualified Data.Aeson as Aeson
88import Data.Bifunctor (first )
9+ import qualified Data.ByteString as BS
910import Data.List (isPrefixOf )
1011import qualified Data.Text as Text
11- import Data.Text.Encoding (decodeUtf8 )
12+ import Data.Text.Encoding (encodeUtf8 )
1213import qualified Data.Yaml as Yaml
1314import Hedgehog (Gen , Property , forAll , property , tripping )
1415import Language.Github.Actions.Workflow (Workflow )
@@ -49,13 +50,13 @@ test_goldenWorkflowFromYaml = do
4950 putStrLn $ " roundtrip " <> takeBaseName testYamlFilePath
5051 eitherWorkflow <- Yaml. decodeFileEither @ Workflow testYamlFilePath
5152 either
52- (writeFile outputFilePath >> (\ e -> fail $ " YAML decoding failed: " ++ show e))
53+ (BS. writeFile outputFilePath >> (\ e -> fail $ " YAML decoding failed: " ++ show e))
5354 (\ workflow -> writeOutputFiles outputFilePath haskellOutputFilePath workflow >> pure workflow)
54- $ first Yaml. prettyPrintParseException eitherWorkflow
55+ $ first (encodeUtf8 . Text. pack . Yaml. prettyPrintParseException) eitherWorkflow
5556 writeOutputFiles :: FilePath -> FilePath -> Workflow -> IO ()
5657 writeOutputFiles outputFilePath haskellOutputFilePath workflow = do
57- writeFile outputFilePath (Text. unpack . decodeUtf8 $ Yaml. encode workflow)
58- >> writeFile haskellOutputFilePath (ppShow workflow)
58+ BS. writeFile outputFilePath (Yaml. encode workflow)
59+ >> BS. writeFile haskellOutputFilePath (encodeUtf8 . Text. pack $ ppShow workflow)
5960
6061hprop_WorkflowRoundTrip :: Property
6162hprop_WorkflowRoundTrip =
0 commit comments