|
| 1 | +import { test } from "node:test"; |
| 2 | +import { strict as assert } from "node:assert"; |
| 3 | +import { parse } from "../src/index"; |
| 4 | + |
| 5 | +test("parse simple YAML string", () => { |
| 6 | + const result = parse("hello: world"); |
| 7 | + assert.equal(result.result.hello, "world"); |
| 8 | + assert.equal(result.start, 0); |
| 9 | + assert.ok(result.end > 0); |
| 10 | +}); |
| 11 | + |
| 12 | +test("parse YAML with nested structure", () => { |
| 13 | + const yamlContent = ` |
| 14 | + name: test |
| 15 | + config: |
| 16 | + debug: true |
| 17 | + port: 8080 |
| 18 | + `; |
| 19 | + const result = parse(yamlContent); |
| 20 | + assert.equal(result.result.name, "test"); |
| 21 | + assert.equal(result.result.config.debug, true); |
| 22 | + assert.equal(result.result.config.port, 8080); |
| 23 | +}); |
| 24 | + |
| 25 | +test("parse YAML array", () => { |
| 26 | + const yamlContent = ` |
| 27 | + items: |
| 28 | + - apple |
| 29 | + - banana |
| 30 | + - cherry |
| 31 | + `; |
| 32 | + const result = parse(yamlContent); |
| 33 | + assert.ok(Array.isArray(result.result.items)); |
| 34 | + assert.equal(result.result.items.length, 3); |
| 35 | + assert.equal(result.result.items[0], "apple"); |
| 36 | +}); |
| 37 | + |
| 38 | +test("annotation contains source information", () => { |
| 39 | + const result = parse("test: value"); |
| 40 | + assert.ok(result.source); |
| 41 | + assert.ok(result.components); |
| 42 | + assert.ok(result.components.length > 0); |
| 43 | +}); |
0 commit comments