fune/testing/web-platform/tests/websockets/Close-delayed.any.js
Weizhong Xia 47093105dc Bug 1842898 [wpt PR 40971] - [websockets] WPT variant name should not be an empty string, a=testonly
Automatic update from web-platform-tests
[websockets] WPT variant name should not be an empty string

An empty variant name can confuse Wptrunner about what are the tests
intended to be run when passed in through command line args or
--include. Unlike other variants, Wptrunner can not run the empty
name variant alone.

Update the existing tests to make it ready for a system side change.

Bug: 1464004
Change-Id: I2f5ed914c452f598297b09031324a1f54990aa19
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4675766
Reviewed-by: Adam Rice <ricea@chromium.org>
Auto-Submit: Weizhong Xia <weizhong@google.com>
Commit-Queue: Adam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1170369}

--

wpt-commits: 3ce5b3be4a0518c0e5908bf4590de8357ba673ad
wpt-pr: 40971
2023-07-22 01:44:00 +00:00

27 lines
1,005 B
JavaScript

// META: script=constants.sub.js
// META: variant=?default
// META: variant=?wss
// META: variant=?wpt_flags=h2
var test = async_test("Create WebSocket - Close the Connection - close should not emit until handshake completes - Connection should be closed");
var wsocket = new WebSocket(`${SCHEME_DOMAIN_PORT}/delayed-passive-close`);
var startTime;
var isOpenCalled = false;
wsocket.addEventListener('open', test.step_func(function(evt) {
startTime = performance.now();
wsocket.close();
isOpenCalled = true;
}), true);
wsocket.addEventListener('close', test.step_func(function(evt) {
const elapsed = performance.now() - startTime;
assert_true(isOpenCalled, "WebSocket connection should be open");
assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)");
assert_equals(evt.wasClean, true, "wasClean should be TRUE");
const jitterAllowance = 100;
assert_greater_than_equal(elapsed, 1000 - jitterAllowance,
'one second should have elapsed')
test.done();
}), true);