// 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. import 'dart:convert'; import 'package:dds/dap.dart'; import 'package:test/test.dart'; main() { group('DartLaunchRequestArguments', () { test('handles only required arguments', () async { final json = '{"program":"a"}'; final decoded = DartLaunchRequestArguments.fromJson(jsonDecode(json)); expect(decoded.program, 'a'); final encoded = jsonEncode(decoded.toJson()); expect(encoded, json); }); test('handles env variables map', () async { final json = '{"env":{"a":"b"},"program":"a"}'; final decoded = DartLaunchRequestArguments.fromJson(jsonDecode(json)); expect(decoded.env!['a'], 'b'); final encoded = jsonEncode(decoded.toJson()); expect(encoded, json); }); test('handles additional project paths list', () async { final json = '{"additionalProjectPaths":["a","b"],"program":"a"}'; final decoded = DartLaunchRequestArguments.fromJson(jsonDecode(json)); expect(decoded.additionalProjectPaths, ['a', 'b']); final encoded = jsonEncode(decoded.toJson()); expect(encoded, json); }); }); }