detector.optional.https.window.js (2391B)
1 // META: title=Detect english 2 // META: global=window 3 // META: timeout=long 4 // META: script=resources/util.js 5 // META: script=/resources/testdriver.js 6 // META: script=../resources/util.js 7 8 'use strict'; 9 10 async function assert_detects_correct_language( 11 detector, input, expectedLanguage) { 12 const results = await detector.detect(input); 13 // The highest confidence language should be 14 assert_equals(results[0].detectedLanguage, expectedLanguage); 15 } 16 17 promise_test(async t => { 18 const testInput = { 19 af: 'Dit is \'n voorbeeldsin.', 20 el: 'Αυτή είναι μια παραδειγματική πρόταση.', 21 'el-Latn': 'Aete einai mia paratheiymatike protase.', 22 en: 'This is an example sentence.', 23 es: 'Esta es una oración de ejemplo.', 24 fr: 'Ceci est un exemple de phrase.', 25 hi: 'यह एक उदाहरण वाक्य है.', 26 'hi-Latn': 'yh ek udaahrn vaaky hai.', 27 it: 'Questa è una frase di esempio.', 28 ja: 'これは例文です。', 29 'ja-Latn': 'Kore wa reibundesu.', 30 ko: '이것은 예문입니다.', 31 mi: 'He tauira rerenga korero tenei.', 32 nl: 'Dit is een voorbeeldzin.', 33 ru: 'Это пример предложения.', 34 sr: 'Ово је пример реченице.', 35 tr: 'Bu bir örnek cümledir.', 36 zh: '这是一个例句。', 37 zu: 'Lona umusho oyisibonelo.', 38 } 39 40 const expectedInputLanguages = Object.keys(testInput); 41 42 const detector = await createLanguageDetector({expectedInputLanguages}); 43 44 for (const [language, input] of Object.entries(testInput)) { 45 await assert_detects_correct_language(detector, input, language); 46 } 47 }, 'LanguageDetector.detect() detects the correct language'); 48 49 promise_test(async () => { 50 const expectedInputLanguages = ['en', 'es']; 51 const detector = await createLanguageDetector({expectedInputLanguages}); 52 assert_array_equals(detector.expectedInputLanguages, expectedInputLanguages); 53 assert_true(Object.isFrozen(detector.expectedInputLanguages)); 54 }, 'Creating LanguageDetector with expectedInputLanguages'); 55 56 57 promise_test(async () => { 58 const detector = await createLanguageDetector(); 59 60 const results = await detector.detect(''); 61 assert_equals(results.length, 1); 62 63 const [result] = results; 64 assert_equals(result.detectedLanguage, 'und'); 65 assert_equals(result.confidence, 1); 66 }, 'LanguageDetector.detect() detects empty string');