# file      : tests/manifest-serializer/testscript
# license   : MIT; see accompanying LICENSE file

: stdout
:
{
  $* <<EOI >>EOO

    1

    name
    foo

    version
    1.2.3

    description
    foo
    executable

    depends
    libfoo

    depends
    libbar

    EOI
    : 1
    name: foo
    version: 1.2.3
    description:
    \
    foo
    executable
    \
    depends: libfoo
    depends: libbar
    EOO
}

: file
:
{
  $* <<EOI >=file

    1

    name
    foo

    version
    1.2.3
    EOI

  cat file >>EOE
    : 1
    name: foo
    version: 1.2.3
    EOE
}

: list
:
{
  $* <<EOI >>EOO

    1

    name
    foo


    1

    version
    1.2.3
    EOI
    : 1
    name: foo
    :
    version: 1.2.3
    EOO
}

: break-lines
:
{
  $* <<EOI >>EOO

    1

    name
    foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
    EOI
    : 1
    name: foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\
    oooo
    EOO
}

: long-lines
:
{{
  : file
  :
  {
    $* --long-lines file <<EOI >=file

      1

      name
      foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
      EOI

    cat file >>EOO
      : 1
      name: foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
      EOO
  }

  : stdout
  :
  {
    $* --long-lines <<EOI >>EOO

      1

      name
      foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
      EOI
      : 1
      name: foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
      EOO
  }
}}

: version
:
{{
  : absent
  :
  $* <<EOI 2>'stdout: error: format version pair expected' != 0
    name
    foo
    EOI
}}

: empty
:
{
  $* <:'' >:''
}
