From 4de05faa8a85b5d6fd7304bab082c441b4a5afb2 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Wed, 1 Sep 2021 22:16:28 -0400 Subject: [PATCH] LibJS: Add test cases for Intl.Locale.prototype.toString Intl.Locale.prototype.toString wasn't testable before the constructor was implemented. --- .../Intl/Locale/Locale.prototype.toString.js | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/Userland/Libraries/LibJS/Tests/builtins/Intl/Locale/Locale.prototype.toString.js b/Userland/Libraries/LibJS/Tests/builtins/Intl/Locale/Locale.prototype.toString.js index caeac0c9ac..1fd946df01 100644 --- a/Userland/Libraries/LibJS/Tests/builtins/Intl/Locale/Locale.prototype.toString.js +++ b/Userland/Libraries/LibJS/Tests/builtins/Intl/Locale/Locale.prototype.toString.js @@ -1,3 +1,28 @@ test("length is 0", () => { expect(Intl.Locale.prototype.toString).toHaveLength(0); }); + +test("normal behavior", () => { + const en1 = new Intl.Locale("en"); + expect(en1.toString()).toBe("en"); + + const en2 = new Intl.Locale("en-Latn"); + expect(en2.toString()).toBe("en-Latn"); + + const en3 = new Intl.Locale("en-US"); + expect(en3.toString()).toBe("en-US"); + + const en4 = new Intl.Locale("en", { language: "es" }); + expect(en4.toString()).toBe("es"); + + const en5 = new Intl.Locale("en", { script: "Latn" }); + expect(en5.toString()).toBe("en-Latn"); + + const en6 = new Intl.Locale("en", { script: "Latn", region: "US" }); + expect(en6.toString()).toBe("en-Latn-US"); +}); + +test("string is canonicalized behavior", () => { + const en = new Intl.Locale("EN", { script: "lAtN", region: "us" }); + expect(en.toString()).toBe("en-Latn-US"); +});