@@ -34,7 +34,8 @@ import Data.Aeson.Parser
3434 , json', jsonLast', jsonAccum', jsonNoDup')
3535import Data.Aeson.Types
3636 ( Options(..), Result(Success), ToJSON(..), Value(Array, Bool, Null, Object)
37− , camelTo, camelTo2, defaultOptions, omitNothingFields, parse)
37+ , camelTo, camelTo2, defaultOptions, formatPath, formatRelativePath
38+ , omitNothingFields, parse)
3839import Data.Attoparsec.ByteString (Parser, parseOnly)
3940import Data.Char (toUpper)
4041import Data.Either.Compat (isLeft, isRight)
@@ -253,6 +254,18 @@ formatErrorExample =
253254 lhs = "Error in $[0].foo.bar['a.b.c']['']['\\'\\\\'].end: error msg"
254255 in assertEqual "formatError example" lhs rhs
255256
257+formatPathExample :: Assertion
258+formatPathExample =
259+ let rhs = formatPath [Key "x", Index 0]
260+ lhs = "$.x[0]"
261+ in assertEqual "formatPath example" lhs rhs
262+
263+formatRelativePathExample :: Assertion
264+formatRelativePathExample =
265+ let rhs = formatPath [Key "x", Index 0]
266+ lhs = ".x[0]"
267+ in assertEqual "formatRelativePath example" lhs rhs
268+
256269------------------------------------------------------------------------------
257270-- Comparison (.:?) and (.:!)
258271------------------------------------------------------------------------------