flutter/packages/flutter_tools/test/integration.shard/test_data/tests_project.dart
Jonah Williams 6b444c4dd7
[flutter_tools] standardize patterns for integration.shard (#64980)
Integration tests must only go through the real file system/process manager/platform. The global indirection makes this code harder to understand than if it directly referred to the concrete instances that are being used.

Update the integration shard to use a const instance of a LocalFIleSystem, LocalProcessManager, and LocalPlatform. Remove global usage and apply testWithoutContext.
2020-09-08 15:56:00 -07:00

55 lines
1.2 KiB
Dart

// Copyright 2014 The Flutter Authors. 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:file/file.dart';
import 'package:flutter_tools/src/base/file_system.dart';
import '../test_utils.dart';
import 'project.dart';
class TestsProject extends Project {
@override
final String pubspec = '''
name: test
environment:
sdk: ">=2.0.0-dev.68.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
dev_dependencies:
flutter_test:
sdk: flutter
''';
@override
String get main => '// Unused';
final String testContent = r'''
import 'package:flutter_test/flutter_test.dart';
void main() {
testWidgets('Hello world test', (WidgetTester tester) async {
expect(true, isTrue); // BREAKPOINT
});
}
''';
@override
Future<void> setUpIn(Directory dir) {
this.dir = dir;
writeFile(testFilePath, testContent);
return super.setUpIn(dir);
}
String get testFilePath => fileSystem.path.join(dir.path, 'test', 'test.dart');
Uri get breakpointUri => Uri.file(testFilePath);
Uri get breakpointAppUri => Uri.parse('org-dartlang-app:///test.dart');
int get breakpointLine => lineContaining(testContent, '// BREAKPOINT');
}