commit 3c82d69f396e9859ccaba8ceb376ffb817fe1374
parent b1803f3439a130495116dd7d6cbfc06f3d71c380
Author: Neha Sapre <nehasapre@google.com>
Date: Fri, 14 Nov 2025 10:23:00 +0000
Bug 1999901 [wpt PR 56007] - Translator API: TranslateStreaming() Web Platform Tests, a=testonly
Automatic update from web-platform-tests
Translator API: TranslateStreaming() Web Platform Tests
This change adds tests for TranslateStreaming verifying that
multi-sentence streaming works and check edge cases where sentence split
should not occur.
These tests are passing since the new libtranslatekit has been
distributed, containing TranslateKitSplitSentences (sentence_splitter
library component from Google3 TranslateKit). These tests verify the
cross-browser interoperability of TranslateStreaming() across different
browsers, test against web specifications, and help catch regressions in
Chromium.
Bug: 429260073
Change-Id: Ic3159959cb0cad6f63853104f3b98018d84f8ea4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7142669
Commit-Queue: Mike Wasserman <msw@chromium.org>
Reviewed-by: Mike Wasserman <msw@chromium.org>
Reviewed-by: Nathan Memmott <memmott@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1543994}
--
wpt-commits: c498c7f6347671efddbc842d98c994f8899bc847
wpt-pr: 56007
Diffstat:
1 file changed, 28 insertions(+), 0 deletions(-)
diff --git a/testing/web-platform/tests/ai/translator/translator.optional.https.window.js b/testing/web-platform/tests/ai/translator/translator.optional.https.window.js
@@ -49,6 +49,34 @@ promise_test(async () => {
promise_test(async () => {
const translator =
await createTranslator({sourceLanguage: 'en', targetLanguage: 'ja'});
+ const streamingResponse = translator.translateStreaming('Welcome. Nice to meet you.');
+ assert_equals(
+ Object.prototype.toString.call(streamingResponse),
+ '[object ReadableStream]');
+ let result = '';
+ for await (const chunk of streamingResponse) {
+ result += chunk;
+ }
+ assert_equals(result, 'ようこそ。 はじめまして。');
+}, 'Multiple sentence Translator.translateStreaming() call');
+
+promise_test(async () => {
+ const translator =
+ await createTranslator({sourceLanguage: 'en', targetLanguage: 'ja'});
+ const streamingResponse = translator.translateStreaming('Hello, Dr. Sanders. Nice to meet you.');
+ assert_equals(
+ Object.prototype.toString.call(streamingResponse),
+ '[object ReadableStream]');
+ let result = '';
+ for await (const chunk of streamingResponse) {
+ result += chunk;
+ }
+ assert_equals(result, 'こんにちは、サンダース博士です。 はじめまして。');
+}, 'Multiple sentence Translator.translateStreaming() call with honorific');
+
+promise_test(async () => {
+ const translator =
+ await createTranslator({sourceLanguage: 'en', targetLanguage: 'ja'});
const streamingResponse = translator.translateStreaming('hello');
garbageCollect();
assert_equals(Object.prototype.toString.call(streamingResponse),