forked from microsoft/typespec
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlibrary.test.ts
31 lines (27 loc) · 1.19 KB
/
library.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { strictEqual } from "assert";
import { describe, it } from "vitest";
import { paramMessage } from "../src/core/library.js";
describe("compiler: library", () => {
describe("paramMessage", () => {
it("interpolate single param in middle", () => {
const message = paramMessage`My name is ${"name"}.`;
strictEqual(message({ name: "Foo" }), "My name is Foo.");
});
it("interpolate single param at the start", () => {
const message = paramMessage`${"name"} is my name.`;
strictEqual(message({ name: "Foo" }), "Foo is my name.");
});
it("interpolate single param at the end", () => {
const message = paramMessage`My name: ${"name"}`;
strictEqual(message({ name: "Foo" }), "My name: Foo");
});
it("interpolate multiple params", () => {
const message = paramMessage`My name is ${"name"} and my age is ${"age"}.`;
strictEqual(message({ name: "Foo", age: "34" }), "My name is Foo and my age is 34.");
});
it("interpolate multiple params next to each other", () => {
const message = paramMessage`My username is ${"name"}${"age"}.`;
strictEqual(message({ name: "Foo", age: "34" }), "My username is Foo34.");
});
});
});