tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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');