pandoc/test/command/yaml-metadata-blocks.md
John MacFarlane c266734448 Use pretty-simple to format native output.
Previously we used our own homespun formatting.  But this
produces over-long lines that aren't ideal for diffs in tests.
Easier to use something off-the-shelf and standard.

Closes #7580.

Performance is slower by about a factor of 10, but this isn't
really a problem because native isn't suitable as a serialization
format. (For serialization you should use json, because the reader
is so much faster than native.)
2021-09-21 12:37:42 -07:00

2.5 KiB

% pandoc -s -t native
---
foobar_: this should be ignored
foo:
  bar_: as should this
---
^D
Pandoc
  ( Meta
    { unMeta = fromList [ ( "foo", MetaMap ( fromList [] ) ) ] }
  ) []
% pandoc -s -t native
---
# For precedence, see multiple-metadata-blocks.md and vars-and-metadata.md
# For Bools, see also 4819.md
# For Multiline strings, see yaml-with-chomp.md
int: 7
float: 1.5
scientific: 3.7e-5
bool: true
more: False
nothing: null
empty: []
nested:
  int: 8
  float: 2.5
  bool: true
  more: False
  nothing: null
  empty: []
  scientific: 3.7e-5
---
^D
Pandoc
  ( Meta
    { unMeta = fromList
      [
        ( "bool", MetaBool True )
      ,
        ( "empty", MetaList [] )
      ,
        ( "float", MetaInlines [ Str "1.5" ] )
      ,
        ( "int", MetaInlines [ Str "7" ] )
      ,
        ( "more", MetaBool False )
      ,
        ( "nested"
        , MetaMap
          ( fromList
            [
              ( "bool", MetaBool True )
            ,
              ( "empty", MetaList [] )
            ,
              ( "float", MetaInlines [ Str "2.5" ] )
            ,
              ( "int", MetaInlines [ Str "8" ] )
            ,
              ( "more", MetaBool False )
            ,
              ( "nothing", MetaInlines [ Str "null" ] )
            ,
              ( "scientific", MetaInlines [ Str "3.7e-5" ] )
            ]
          )
        )
      ,
        ( "nothing", MetaInlines [ Str "null" ] )
      ,
        ( "scientific", MetaInlines [ Str "3.7e-5" ] )
      ]
    }
  ) []
% pandoc -s -t native
---
array:
  - foo: bar
  - bool: True
---
^D
Pandoc
  ( Meta
    { unMeta = fromList
      [
        ( "array"
        , MetaList
          [ MetaMap
            ( fromList [ ( "foo", MetaInlines [ Str "bar" ] ) ] )
          , MetaMap
            ( fromList [ ( "bool", MetaBool True ) ] )
          ]
        )
      ]
    }
  ) []
% pandoc -s -t native --metadata-file command/yaml-metadata.yaml
---
title: document
---
^D
Pandoc
  ( Meta
    { unMeta = fromList
      [
        ( "other"
        , MetaInlines
          [ Emph [ Str "markdown" ], Space, Str "value" ]
        )
      ,
        ( "title", MetaInlines [ Str "document" ] )
      ]
    }
  ) []
% pandoc -s -t native --metadata-file command/yaml-metadata.yaml -M title=cmdline
^D
Pandoc
  ( Meta
    { unMeta = fromList
      [
        ( "other"
        , MetaInlines
          [ Emph [ Str "markdown" ], Space, Str "value" ]
        )
      ,
        ( "title", MetaString "cmdline" )
      ]
    }
  ) []