Skip to content

Commit

Permalink
Quote empty strings #24
Browse files Browse the repository at this point in the history
  • Loading branch information
snoyberg committed Mar 4, 2013
1 parent 1e39943 commit 67fc536
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 0 deletions.
5 changes: 5 additions & 0 deletions Data/Yaml.hs
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,11 @@ objToEvents' (Array list) rest =
objToEvents' (Object pairs) rest =
EventMappingStart Nothing
: foldr ($) (EventMappingEnd : rest) (map pairToEvents $ M.toList pairs)

-- Empty strings need special handling to ensure they get quoted. This avoids:
-- https://github.com/snoyberg/yaml/issues/24
objToEvents' (String "") rest = EventScalar "" StrTag SingleQuoted Nothing : rest

objToEvents' (String s) rest = EventScalar (encodeUtf8 s) StrTag PlainNoTag Nothing : rest
objToEvents' Null rest = EventScalar "null" NullTag PlainNoTag Nothing : rest
objToEvents' (Bool True) rest = EventScalar "true" BoolTag PlainNoTag Nothing : rest
Expand Down
2 changes: 2 additions & 0 deletions test/main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,9 @@ sample = array
[ D.String "foo"
, object
[ ("bar1", D.String "bar2")
, ("bar3", D.String "")
]
, D.String ""
]

caseEncodeDecodeData :: Assertion
Expand Down

0 comments on commit 67fc536

Please sign in to comment.