- name: Version preset V2
  text: |
    foo:
      - bar
      - baz
  v2-yaml: |
    foo:
      - bar
      - baz

- name: Version preset V3
  text: |
    foo:
      - bar
      - baz
  v3-yaml: |
    foo:
        - bar
        - baz

- name: Custom indent level 3
  text: |
    foo:
      - bar
      - baz
  indent3-yaml: |
    foo:
     - bar
     - baz

- name: Line width wrapping
  text: |
    text: "This is a very long line of text that should wrap at a specific width"
  width40-yaml: |
    text: This is a very long line of text that
      should wrap at a specific width

- name: Compact sequence indentation
  text: |
    foo:
      - bar
      - baz
  compact-yaml: |
    foo:
    - bar
    - baz

- name: V3 with indent override
  text: |
    foo:
      - bar
      - baz
  v3-indent2-yaml: |
    foo:
      - bar
      - baz

- name: Nested structure with V2
  text: |
    root:
      level1:
        - item1
        - item2
      level2:
        key: value
  v2-yaml: |
    root:
      level1:
        - item1
        - item2
      level2:
        key: value

- name: Nested structure with V3
  text: |
    root:
      level1:
        - item1
        - item2
      level2:
        key: value
  v3-yaml: |
    root:
        level1:
            - item1
            - item2
        level2:
            key: value

- name: Multiple items default (V4)
  text: |
    items:
      - one
      - two
      - three
  yaml: |
    items:
    - one
    - two
    - three

- name: Multiple items V2
  text: |
    items:
      - one
      - two
      - three
  v2-yaml: |
    items:
      - one
      - two
      - three

- name: Multiple items V3
  text: |
    items:
      - one
      - two
      - three
  v3-yaml: |
    items:
        - one
        - two
        - three

- name: Canonical formatting
  text: |
    foo: bar
    num: 42
  canonical-yaml: |
    ---
    {
      ? "foo"
      : "bar",
      ? "num"
      : "42",
    }

- name: Explicit markers
  text: |
    foo: bar
  explicit-yaml: |
    ---
    foo: bar
    ...

- name: Explicit start only
  text: |
    foo: bar
  explicit-start-yaml: |
    ---
    foo: bar

- name: Unicode disabled
  text: |
    foo: bar
  no-unicode-yaml: |
    foo: bar

- name: Comma-separated options
  text: |
    foo: bar
  canonical-explicit-yaml: |
    ---
    {
      ? "foo"
      : "bar",
    }
    ...

- name: Multiple option overrides
  text: |
    foo:
      - bar
      - baz
  v2-indent4-yaml: |
    foo:
        - bar
        - baz

- name: Stream option with mapping
  text: |
    a: b
  stream-node: |
    - stream:
        encoding: UTF-8
    - mapping:
      - plain: a
      - plain: b
    - stream:
        encoding: UTF-8
  stream-NODE: |
    - kind: Stream
      encoding: UTF-8
    - kind: Document
      content:
      - kind: Mapping
        style: Plain
        tag: '!!map'
        content:
        - kind: Scalar
          style: Plain
          tag: '!!str'
          text: a
        - kind: Scalar
          style: Plain
          tag: '!!str'
          text: b
    - kind: Stream
      encoding: UTF-8

- name: Stream option with scalar
  text: |
    hello
  stream-node: |
    - stream:
        encoding: UTF-8
    - plain: hello
    - stream:
        encoding: UTF-8

- name: Stream option with sequence
  text: |
    - item1
    - item2
  stream-node: |
    - stream:
        encoding: UTF-8
    - sequence:
      - plain: item1
      - plain: item2
    - stream:
        encoding: UTF-8
