blob: b78789e41bf5fd39cdc6a0fb23bf8ef5c96f1c0f [file] [log] [blame]
// Copyright (c) 2019, 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.
import 'package:test/test.dart';
import 'package:vm_service/utils.dart';
void main() {
test('convertToWebSocketUrl maps URIs correctly', () {
final testCases = {
'http://localhost:123/': 'ws://localhost:123/ws',
'https://localhost:123/': 'wss://localhost:123/ws',
'ws://localhost:123/': 'ws://localhost:123/ws',
'wss://localhost:123/': 'wss://localhost:123/ws',
'http://localhost:123/ABCDEF=/': 'ws://localhost:123/ABCDEF=/ws',
'https://localhost:123/ABCDEF=/': 'wss://localhost:123/ABCDEF=/ws',
'ws://localhost:123/ABCDEF=/': 'ws://localhost:123/ABCDEF=/ws',
'wss://localhost:123/ABCDEF=/': 'wss://localhost:123/ABCDEF=/ws',
'http://localhost:123': 'ws://localhost:123/ws',
'https://localhost:123': 'wss://localhost:123/ws',
'ws://localhost:123': 'ws://localhost:123/ws',
'wss://localhost:123': 'wss://localhost:123/ws',
'http://localhost:123/ABCDEF=': 'ws://localhost:123/ABCDEF=/ws',
'https://localhost:123/ABCDEF=': 'wss://localhost:123/ABCDEF=/ws',
'ws://localhost:123/ABCDEF=': 'ws://localhost:123/ABCDEF=/ws',
'wss://localhost:123/ABCDEF=': 'wss://localhost:123/ABCDEF=/ws',
};
testCases.forEach((String input, String expected) {
final inputUri = Uri.parse(input);
final actualUri = convertToWebSocketUrl(serviceProtocolUrl: inputUri);
expect(actualUri.toString(), equals(expected));
});
});
}