/* * Copyright (C) 2026 - present Instructure, Inc. * * This file is part of Canvas. * * Canvas is free software: you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License as published by the Free * Software Foundation, version 3 of the License. * * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License along * with this program. If not, see . */ import {asrLanguageForLocale, sortedAsrLanguageList} from '../asrClosedCaptionLanguages' describe('sortedAsrLanguageList', () => { it("sorts the user's language to the top", () => { expect(sortedAsrLanguageList('es')[0].id).toEqual('es') }) }) describe('asrLanguageForLocale', () => { const originalLang = document.documentElement.lang afterEach(() => { document.documentElement.lang = originalLang }) it("renders the label in the viewer's document locale", () => { document.documentElement.lang = 'en' expect(asrLanguageForLocale('es')).toEqual('Spanish') document.documentElement.lang = 'fr' expect(asrLanguageForLocale('es')).toEqual('espagnol') }) it('falls back to the locale code when the language is unsupported', () => { expect(asrLanguageForLocale('xx-not-real')).toEqual('xx-not-real') }) })