yaml 0.8.9.2 → 0.8.9.3
raw patch · 3 files changed
+19/−1 lines, 3 files
Files
- Data/Yaml.hs +7/−0
- test/main.hs +11/−0
- yaml.cabal +1/−1
Data/Yaml.hs view
@@ -182,6 +182,7 @@ | InvalidYaml (Maybe YamlException) | AesonException String | OtherParseException SomeException+ | NonStringKeyAlias Y.AnchorName Value deriving (Show, Typeable) instance Exception ParseException @@ -302,6 +303,12 @@ CL.drop 1 s <- case me of Just (EventScalar v tag style a') -> parseScalar v a' style tag+ Just (EventAlias an) -> do+ m <- lift get+ case Map.lookup an m of+ Nothing -> liftIO $ throwIO $ UnknownAlias an+ Just (String t) -> return t+ Just v -> liftIO $ throwIO $ NonStringKeyAlias an v _ -> liftIO $ throwIO $ UnexpectedEvent me Nothing o <- parseO
test/main.hs view
@@ -127,7 +127,9 @@ in D.decode (D.encode v) `shouldBe` Just v it "no tags" $ D.encode (object ["word" .= ("true" :: String)]) `shouldBe` "word: 'true'\n" + it "aliases in keys #49" caseIssue49 + specialStrings :: [T.Text] specialStrings = [ "fo\"o"@@ -425,3 +427,12 @@ ]) where src = "Default: &def\n foo: 1\n bar: 2\nObj:\n <<: *def\n key: 3\n"++caseIssue49 :: Assertion+caseIssue49 =+ D.decodeEither src @?= Right (object+ [ "a" .= object [ "value" .= (1.0 :: Double) ]+ , "b" .= object [ "value" .= (1.2 :: Double) ]+ ])+ where+ src = "---\na:\n &id5 value: 1.0\nb:\n *id5: 1.2"
yaml.cabal view
@@ -1,5 +1,5 @@ name: yaml-version: 0.8.9.2+version: 0.8.9.3 license: BSD3 license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>, Anton Ageev <antage@gmail.com>,Kirill Simonov