Files
sousa-gecko/testing/web-platform/tests/ai/language_detection/detector.optional.https.window.js
T
Reilly Grant ba85068768 Bug 2044538 [wpt PR 60351] - Detect Simplified vs. Traditional Chinese in LanguageDetector API, a=testonly
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
2026-06-16 11:36:43 +00:00

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