// 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)); }); }); }