blob: 32d35b176003570812417c27f1c73991245d1df4 [file] [log] [blame]
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
part of dart._http;
/// Stubs and class aliases which make private names available for use in
/// tests. These should never be exported publically.
///
/// To export a class to be used as a type, for its constructors, or for public
/// static members, define a typedef alias for it using the naming scheme
/// `TestingClass$<classname>`
///
/// To export private instance or static members from a class, define an
/// extension using the naming scheme `Testing$<classname>` and
/// add publicly named static or instance members to the stub class which
/// redirect to the corresponding privately named member, using the private name
/// prefixed with `test$`. Private static members can then be accessed in tests
/// as:
/// ```markdown
/// `Testing$<classname>.test$_privateName`
/// ```
/// which redirects to:
/// ```markdown
/// `<classname>._privateName`
/// ```
///
/// Private instance members can be accessed in tests as:
/// ```markdown
/// `instance.test$_privateName`
/// ```
/// which redirects to:
/// ```markdown
/// `instance._privateName`
/// ```
typedef TestingClass$_Cookie = _Cookie;
typedef TestingClass$_HttpHeaders = _HttpHeaders;
typedef TestingClass$_HttpParser = _HttpParser;
typedef TestingClass$_SHA1 = _SHA1;
typedef TestingClass$_WebSocketProtocolTransformer
= _WebSocketProtocolTransformer;
typedef TestingClass$_WebSocketImpl = _WebSocketImpl;
extension Testing$HttpDate on HttpDate {
static DateTime test$_parseCookieDate(String date) =>
HttpDate._parseCookieDate(date);
}
extension Testing$_HttpHeaders on _HttpHeaders {
void test$_build(BytesBuilder builder) => this._build(builder);
List<Cookie> test$_parseCookies() => this._parseCookies();
}
extension Testing$_WebSocketProtocolTransformer
on _WebSocketProtocolTransformer {
int get test$_state => this._state;
}
extension Testing$_WebSocketImpl on _WebSocketImpl {
static Future<WebSocket> connect(String url, Iterable<String>? protocols,
Map<String, dynamic>? headers,
{CompressionOptions compression =
CompressionOptions.compressionDefault,
HttpClient? customClient}) =>
_WebSocketImpl.connect(url, protocols, headers,
compression: compression, customClient: customClient);
Timer? get test$_pingTimer => this._pingTimer;
}