From 904b191e272477d70e538b921dc4a321656deb40 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Fri, 17 Mar 2023 22:20:56 -0400 Subject: [PATCH] Fix test for languageToISO6391() (from #16) --- test/tests/utilities_itemTest.js | 64 ++++++++++++++++---------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/test/tests/utilities_itemTest.js b/test/tests/utilities_itemTest.js index 6075a35..4040320 100644 --- a/test/tests/utilities_itemTest.js +++ b/test/tests/utilities_itemTest.js @@ -236,38 +236,6 @@ describe("Zotero.Utilities.Item", function () { assert.equal(accessed['date-parts'][0][1], 1); assert.equal(accessed['date-parts'][0][2], 9); }); - - it("should convert localized language names to ISO 639-1", function () { - let item = newItem('journalArticle'); - - item.language = 'French'; - let language = Zotero.Utilities.Item.itemToCSLJSON(item).language; - assert.equal(language, 'fr'); - - item.language = 'francais'; // Diacritics are ignored - language = Zotero.Utilities.Item.itemToCSLJSON(item).language; - assert.equal(language, 'fr'); - - item.language = 'foobar'; - language = Zotero.Utilities.Item.itemToCSLJSON(item).language; - assert.equal(language, 'foobar'); - - item.language = 'zh-Hans'; - language = Zotero.Utilities.Item.itemToCSLJSON(item).language; - assert.equal(language, 'zh-Hans'); - - item.language = 'العربية'; - language = Zotero.Utilities.Item.itemToCSLJSON(item).language; - assert.equal(language, 'ar'); - - // If Intl is unavailable, should return the input value - let Intl = globalThis.Intl; - globalThis.Intl = undefined; - item.language = 'French'; - language = Zotero.Utilities.Item.itemToCSLJSON(item).language; - assert.equal(language, 'French'); - globalThis.Intl = Intl; - }); }); @@ -351,4 +319,36 @@ describe("Zotero.Utilities.Item", function () { checkSort(numbersInOrder); }); }); + + describe("#languageToISO6391()", function () { + it("should convert localized language names to ISO 639-1", function () { + var language = 'French'; + language = Zotero.Utilities.Item.languageToISO6391(language); + assert.equal(language, 'fr'); + + language = 'francais'; // Diacritics are ignored + language = Zotero.Utilities.Item.languageToISO6391(language) + assert.equal(language, 'fr'); + + language = 'foobar'; + language = Zotero.Utilities.Item.languageToISO6391(language) + assert.equal(language, 'foobar'); + + language = 'zh-Hans'; + language = Zotero.Utilities.Item.languageToISO6391(language) + assert.equal(language, 'zh-Hans'); + + language = 'العربية'; + language = Zotero.Utilities.Item.languageToISO6391(language) + assert.equal(language, 'ar'); + + // If Intl is unavailable, should return the input value + let Intl = globalThis.Intl; + globalThis.Intl = undefined; + language = 'French'; + language = Zotero.Utilities.Item.languageToISO6391(language) + assert.equal(language, 'French'); + globalThis.Intl = Intl; + }); + }); });