Jonah Williams | df0b3fe | 2019-12-02 17:31:11 -0800 | [diff] [blame] | 1 | // Copyright 2014 The Flutter Authors. All rights reserved. |
Jonah Williams | 8cf20f3 | 2019-12-02 17:04:37 -0800 | [diff] [blame] | 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
Jonah Williams | 8cf20f3 | 2019-12-02 17:04:37 -0800 | [diff] [blame] | 5 | import 'package:file/memory.dart'; |
Jonah Williams | 8cf20f3 | 2019-12-02 17:04:37 -0800 | [diff] [blame] | 6 | import 'package:flutter_tools/src/base/version.dart'; |
| 7 | import 'package:flutter_tools/src/vscode/vscode.dart'; |
| 8 | |
Jonah Williams | 9bfe50c | 2020-05-06 16:51:01 -0700 | [diff] [blame] | 9 | import '../../src/common.dart'; |
Jonah Williams | 8cf20f3 | 2019-12-02 17:04:37 -0800 | [diff] [blame] | 10 | |
| 11 | void main() { |
Jonah Williams | f8750b1 | 2020-09-30 08:41:31 -0700 | [diff] [blame] | 12 | testWithoutContext('VsCode.fromDirectory does not crash when packages.json is malformed', () { |
| 13 | final MemoryFileSystem fileSystem = MemoryFileSystem.test(); |
Jonah Williams | 8cf20f3 | 2019-12-02 17:04:37 -0800 | [diff] [blame] | 14 | // Create invalid JSON file. |
Jonah Williams | f8750b1 | 2020-09-30 08:41:31 -0700 | [diff] [blame] | 15 | fileSystem.file(fileSystem.path.join('', 'resources', 'app', 'package.json')) |
Jonah Williams | 8cf20f3 | 2019-12-02 17:04:37 -0800 | [diff] [blame] | 16 | ..createSync(recursive: true) |
| 17 | ..writeAsStringSync('{'); |
| 18 | |
Jonah Williams | f8750b1 | 2020-09-30 08:41:31 -0700 | [diff] [blame] | 19 | final VsCode vsCode = VsCode.fromDirectory('', '', fileSystem: fileSystem); |
Jonah Williams | 8cf20f3 | 2019-12-02 17:04:37 -0800 | [diff] [blame] | 20 | |
| 21 | expect(vsCode.version, Version.unknown); |
Jonah Williams | 8cf20f3 | 2019-12-02 17:04:37 -0800 | [diff] [blame] | 22 | }); |
| 23 | } |