Skip to content

Commit eb67df8

Browse files
suojaexiehan
authored andcommitted
test(lib): add test for concat method in TokenizedStringFragments
Added a test case to verify that the `concat` method correctly merges fragments from another instance.
1 parent c6f3185 commit eb67df8

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// Copyright (c) HashiCorp, Inc
2+
// SPDX-License-Identifier: MPL-2.0
3+
import { TokenizedStringFragments } from "../../lib/tokens/string-fragments";
4+
import { IFragmentConcatenator } from "../../lib/tokens/resolvable";
5+
6+
describe("TokenizedStringFragments", () => {
7+
test("concat method should merge fragments correctly", () => {
8+
// Arrange: Create two instances with literals
9+
const fragments1 = new TokenizedStringFragments();
10+
fragments1.addLiteral("Hello");
11+
fragments1.addLiteral(", ");
12+
13+
const fragments2 = new TokenizedStringFragments();
14+
fragments2.addLiteral("World");
15+
fragments2.addLiteral("!");
16+
17+
// Act: Concatenate fragments2 into fragments1
18+
fragments1.concat(fragments2);
19+
20+
// Assert: Check the length and combined result
21+
expect(fragments1.length).toBe(4); // Verify total number of fragments
22+
23+
const result = fragments1.join({
24+
join(left: any, right: any): string {
25+
return `${left}${right}`;
26+
},
27+
} as IFragmentConcatenator);
28+
29+
expect(result).toBe("Hello, World!"); // Verify merged content
30+
});
31+
});

0 commit comments

Comments
 (0)