blob: e43b72030c4f89f309e6664805801ccf101ebcdf [file] [log] [blame]
Jonah Williamsdf0b3fe2019-12-02 17:31:11 -08001// Copyright 2014 The Flutter Authors. All rights reserved.
Jonah Williams8cf20f32019-12-02 17:04:37 -08002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Jonah Williams8cf20f32019-12-02 17:04:37 -08005import 'package:file/memory.dart';
Jonah Williams8cf20f32019-12-02 17:04:37 -08006import 'package:flutter_tools/src/base/version.dart';
7import 'package:flutter_tools/src/vscode/vscode.dart';
8
Jonah Williams9bfe50c2020-05-06 16:51:01 -07009import '../../src/common.dart';
Jonah Williams8cf20f32019-12-02 17:04:37 -080010
11void main() {
Jonah Williamsf8750b12020-09-30 08:41:31 -070012 testWithoutContext('VsCode.fromDirectory does not crash when packages.json is malformed', () {
13 final MemoryFileSystem fileSystem = MemoryFileSystem.test();
Jonah Williams8cf20f32019-12-02 17:04:37 -080014 // Create invalid JSON file.
Jonah Williamsf8750b12020-09-30 08:41:31 -070015 fileSystem.file(fileSystem.path.join('', 'resources', 'app', 'package.json'))
Jonah Williams8cf20f32019-12-02 17:04:37 -080016 ..createSync(recursive: true)
17 ..writeAsStringSync('{');
18
Jonah Williamsf8750b12020-09-30 08:41:31 -070019 final VsCode vsCode = VsCode.fromDirectory('', '', fileSystem: fileSystem);
Jonah Williams8cf20f32019-12-02 17:04:37 -080020
21 expect(vsCode.version, Version.unknown);
Jonah Williams8cf20f32019-12-02 17:04:37 -080022 });
23}