| // META: title=Detect english |
| // META: global=window |
| // META: timeout=long |
| // META: script=resources/util.js |
| // META: script=/resources/testdriver.js |
| // META: script=../resources/util.js |
| |
| 'use strict'; |
| |
| async function assert_detects_correct_language( |
| detector, input, expectedLanguage) { |
| const results = await detector.detect(input); |
| // The highest confidence language should be |
| assert_equals(results[0].detectedLanguage, expectedLanguage); |
| } |
| |
| promise_test(async t => { |
| const testInput = { |
| af: 'Dit is \'n voorbeeldsin.', |
| el: 'Αυτή είναι μια παραδειγματική πρόταση.', |
| 'el-Latn': 'Aete einai mia paratheiymatike protase.', |
| en: 'This is an example sentence.', |
| es: 'Esta es una oración de ejemplo.', |
| fr: 'Ceci est un exemple de phrase.', |
| hi: 'यह एक उदाहरण वाक्य है.', |
| 'hi-Latn': 'yh ek udaahrn vaaky hai.', |
| it: 'Questa è una frase di esempio.', |
| ja: 'これは例文です。', |
| 'ja-Latn': 'Kore wa reibundesu.', |
| ko: '이것은 예문입니다.', |
| mi: 'He tauira rerenga korero tenei.', |
| nl: 'Dit is een voorbeeldzin.', |
| ru: 'Это пример предложения.', |
| sr: 'Ово је пример реченице.', |
| tr: 'Bu bir örnek cümledir.', |
| zh: '这是一个例句。', |
| zu: 'Lona umusho oyisibonelo.', |
| } |
| |
| const expectedInputLanguages = Object.keys(testInput); |
| |
| const detector = await createLanguageDetector({expectedInputLanguages}); |
| |
| for (const [language, input] of Object.entries(testInput)) { |
| await assert_detects_correct_language(detector, input, language); |
| } |
| }, 'LanguageDetector.detect() detects the correct language'); |
| |
| promise_test(async () => { |
| const expectedInputLanguages = ['en', 'es']; |
| const detector = await createLanguageDetector({expectedInputLanguages}); |
| assert_array_equals(detector.expectedInputLanguages, expectedInputLanguages); |
| assert_true(Object.isFrozen(detector.expectedInputLanguages)); |
| }, 'Creating LanguageDetector with expectedInputLanguages'); |
| |
| |
| promise_test(async () => { |
| const detector = await createLanguageDetector(); |
| |
| const results = await detector.detect(''); |
| assert_equals(results.length, 1); |
| |
| const [result] = results; |
| assert_equals(result.detectedLanguage, 'und'); |
| assert_equals(result.confidence, 1); |
| }, 'LanguageDetector.detect() detects empty string'); |