
This CL adds internal WPT for SW static routing API to test the behavior when the router evaluator could not parse the regular expression provided by developers. Since this is due to the regex framework re2, chrome raises a PromiseError when encountering this situation. Bug: 41492364 Change-Id: I13573d5b7060ab55a51727a66a17acfd5ec34d0c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5595296 Reviewed-by: Yoshisato Yanagisawa <yyanagisawa@chromium.org> Reviewed-by: Yoshisato Yanagisawa <yyanagisawa@google.com> Commit-Queue: Keita Suzuki <suzukikeita@chromium.org> Reviewed-by: Shunya Shishido <sisidovski@chromium.org> Cr-Commit-Position: refs/heads/main@{#1311067}
34 lines
1.2 KiB
HTML
34 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset="utf-8">
|
|
<title>
|
|
Static Router: raise promise error on invalid regex.
|
|
</title>
|
|
<script src="/common/get-host-info.sub.js"></script>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/service-workers/service-worker/resources/test-helpers.sub.js">
|
|
</script>
|
|
<script src="/service-workers/service-worker/resources/static-router-helpers.sub.js">
|
|
</script>
|
|
<body>
|
|
<script>
|
|
const COMPATIBLE_ROUTER_KEY = 'condition-compatible-regex-pattern';
|
|
const INCOMPATIBLE_ROUTER_KEY = 'condition-incompatible-regex-pattern';
|
|
|
|
const SW_SCRIPT = 'resources/static-router-sw.js';
|
|
const SW_SCOPE = 'resources/';
|
|
|
|
promise_test(async t => {
|
|
const worker = await registerAndActivate(t, COMPATIBLE_ROUTER_KEY, SW_SCRIPT, SW_SCOPE);
|
|
const data = await get_info_from_worker(worker);
|
|
assert_equals(data.errors.length, 0);
|
|
}, 'Static Router parsed compatible regex');
|
|
|
|
promise_test(async t => {
|
|
const worker = await registerAndActivate(t, INCOMPATIBLE_ROUTER_KEY, SW_SCRIPT, SW_SCOPE);
|
|
const data = await get_info_from_worker(worker);
|
|
assert_equals(data.errors.length, 1);
|
|
}, 'Static Router could not parse the provided regex');
|
|
</script>
|
|
</body>
|