diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2020-05-09 13:34:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-09 08:34:47 -0400 |
commit | f184332c09c851faac50f598d29ebe4426e05464 (patch) | |
tree | 2659aba63702537fcde1bb64ddeafea1e5863f3e /std/encoding/_yaml/parse_test.ts | |
parent | 2b02535028f868ea8dfc471c4921a237747ccd4a (diff) |
BREAKING(std): reorganization (#5087)
* Prepend underscores to private modules
* Remove collectUint8Arrays() It would be a misuse of Deno.iter()'s result.
* Move std/_util/async.ts to std/async
* Move std/util/sha*.ts to std/hash
Diffstat (limited to 'std/encoding/_yaml/parse_test.ts')
-rw-r--r-- | std/encoding/_yaml/parse_test.ts | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/std/encoding/_yaml/parse_test.ts b/std/encoding/_yaml/parse_test.ts new file mode 100644 index 000000000..21f1b893b --- /dev/null +++ b/std/encoding/_yaml/parse_test.ts @@ -0,0 +1,56 @@ +// Ported from js-yaml v3.13.1: +// https://github.com/nodeca/js-yaml/commit/665aadda42349dcae869f12040d9b10ef18d12da +// Copyright 2011-2015 by Vitaly Puzrin. All rights reserved. MIT license. +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. + +import { parse, parseAll } from "./parse.ts"; +import { assertEquals } from "../../testing/asserts.ts"; + +Deno.test({ + name: "`parse` parses single document yaml string", + fn(): void { + const yaml = ` + test: toto + foo: + bar: True + baz: 1 + qux: ~ + `; + + const expected = { test: "toto", foo: { bar: true, baz: 1, qux: null } }; + + assertEquals(parse(yaml), expected); + }, +}); + +Deno.test({ + name: "`parseAll` parses the yaml string with multiple documents", + fn(): void { + const yaml = ` +--- +id: 1 +name: Alice +--- +id: 2 +name: Bob +--- +id: 3 +name: Eve + `; + const expected = [ + { + id: 1, + name: "Alice", + }, + { + id: 2, + name: "Bob", + }, + { + id: 3, + name: "Eve", + }, + ]; + assertEquals(parseAll(yaml), expected); + }, +}); |