# test.govlab/quality/core/parsers/config.yaml.parser.test.ts

> 17 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-govlab-quality-core-parsers-config-yaml-parser-test-ts
Source text: https://banes-lab.com/source/testing/test.govlab/quality/core/parsers/config.yaml.parser.test.ts.txt

Listed in [test.govlab/quality/core/parsers](https://banes-lab.com/api/source/testing/test.govlab/quality/core/parsers.md), after [test.govlab/quality/core/parsers/binding.parser.test.ts](https://banes-lab.com/source/testing/test.govlab/quality/core/parsers/binding.parser.test.ts.md) and before [test.govlab/quality/core/parsers/constants.parser.test.ts](https://banes-lab.com/source/testing/test.govlab/quality/core/parsers/constants.parser.test.ts.md).

## Contained in

- [test.govlab/quality/core/parsers](https://banes-lab.com/anatomy/testing/folder-testing-test-govlab-quality-core-parsers.md)

## Source

```typescript
import { describe, expect, it } from "vitest";
import { parseYaml } from "@govlab/quality/core/parsers/config.yaml.parser.ts";

describe("parseYaml", () => {
    it("parses a mapping into an object", () => {
        expect(parseYaml("a: 1\nb: two\n")).toStrictEqual({ a: 1, b: "two" });
    });

    it("resolves merge keys", () => {
        expect(parseYaml("base: &b\n  x: 1\nchild:\n  <<: *b\n  y: 2\n")).toStrictEqual({
            base: { x: 1 },
            child: { x: 1, y: 2 },
        });
    });

    it("returns an empty object for an empty document and throws on invalid YAML", () => {
        expect(parseYaml("")).toStrictEqual({});
        expect(() => parseYaml("[1, 2")).toThrow();
    });
});
```
