Automatic update from web-platform-tests Detect Simplified vs. Traditional Chinese in LanguageDetector API Use the existing ChineseScriptClassifier used internally by the translation component to check whether text detected as Chinese is the Traditional or Simplified variant. To be efficiently called from Blink the Classify method is given a std::u16string_view variant. Fixed: 505173015 Bypass-Check-License: Moved files. Change-Id: If3060fad07837bc250c22fc315dcd7ee2c7d0e2f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7797620 Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org> Commit-Queue: Reilly Grant <reillyg@chromium.org> Cr-Commit-Position: refs/heads/main@{#1646291} -- wpt-commits: e1fb1723656860203bfbdff7c88f377a3362c547 wpt-pr: 60351
68 lines
2.4 KiB
JavaScript
68 lines
2.4 KiB
JavaScript
// 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-Hans': '这是一个例句。',
|
|
'zh-Hant': '這是一個例句。',
|
|
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');
|