import { $ } from "bun"; import { describe, expect, test } from "bun:test"; describe("$.braces", () => { test("no-op", () => { const result = $.braces(`echo 123`); expect(result).toEqual(["echo 123"]); }); test("2", () => { const result = $.braces(`echo {123,456}`); expect(result).toEqual(["echo 123", "echo 456"]); }); test("3", () => { const result = $.braces(`echo {123,456,789}`); expect(result).toEqual(["echo 123", "echo 456", "echo 789"]); }); test("nested", () => { const result = $.braces(`echo {123,{456,789}}`); expect(result).toEqual(["echo 123", "echo 456", "echo 789"]); }); test("nested 2", () => { const result = $.braces(`echo {123,{456,789},abc}`); expect(result).toEqual(["echo 123", "echo 456", "echo 789", "echo abc"]); }); test("very deeply nested", () => { const result = $.braces(`{1,{2,{3,{4,{5,{6,{7,{8,{9,{10,{11,{12,{13,{14,{15,{16,{17}}}}}}}}}}}}}}}}}`); expect(result).toEqual([ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", ]); }); test("unicode", () => { const result = $.braces(`lol {😂,🫵,🤣}`); expect(result).toEqual(["lol 😂", "lol 🫵", "lol 🤣"]); }); });