This reverts commit fa83fefa42aee031adb6866484f70bafedc4311a.
This commit is contained in:
parent
a7f8687d23
commit
d5d8265079
@ -297,19 +297,12 @@ https://flutter.dev/docs/testing/integration-tests#testing-on-firebase-test-lab
|
||||
///
|
||||
/// The `streams` and `retainPriorEvents` parameters are passed as-is to
|
||||
/// [traceTimeline].
|
||||
///
|
||||
/// The `reportKey` must not be `'screenshots'`, which is reserved for
|
||||
/// screenshots created by
|
||||
/// [IntegrationTestWidgetsFlutterBinding.takeScreenshot].
|
||||
Future<void> traceAction(
|
||||
Future<dynamic> Function() action, {
|
||||
List<String> streams = const <String>['all'],
|
||||
bool retainPriorEvents = false,
|
||||
String reportKey = 'timeline',
|
||||
}) async {
|
||||
if (reportKey == 'screenshots') {
|
||||
throw ArgumentError('The "screenshots" reportKey is reserved.');
|
||||
}
|
||||
final vm.Timeline timeline = await traceTimeline(
|
||||
action,
|
||||
streams: streams,
|
||||
|
@ -24,8 +24,7 @@ String testOutputsDirectory =
|
||||
typedef ResponseDataCallback = FutureOr<void> Function(Map<String, dynamic>?);
|
||||
|
||||
/// Writes a json-serializable data to
|
||||
/// [testOutputsDirectory]/`testOutputFilename_<key>.json`, where key is the
|
||||
/// name provided as the report key for the response data.
|
||||
/// [testOutputsDirectory]/`testOutputFilename.json`.
|
||||
///
|
||||
/// This is the default `responseDataCallback` in [integrationDriver].
|
||||
Future<void> writeResponseData(
|
||||
@ -33,20 +32,15 @@ Future<void> writeResponseData(
|
||||
String testOutputFilename = 'integration_response_data',
|
||||
String? destinationDirectory,
|
||||
}) async {
|
||||
if (data == null) {
|
||||
return;
|
||||
}
|
||||
assert(testOutputFilename != null);
|
||||
destinationDirectory ??= testOutputsDirectory;
|
||||
await fs.directory(destinationDirectory).create(recursive: true);
|
||||
for (final String key in data.keys.where((String key) => key != 'screenshots')) {
|
||||
final File file = fs.file(path.join(
|
||||
destinationDirectory,
|
||||
'${testOutputFilename}_$key.json',
|
||||
));
|
||||
final String resultString = _encodeJson(data[key], true);
|
||||
await file.writeAsString(resultString);
|
||||
}
|
||||
final File file = fs.file(path.join(
|
||||
destinationDirectory,
|
||||
'$testOutputFilename.json',
|
||||
));
|
||||
final String resultString = _encodeJson(data, true);
|
||||
await file.writeAsString(resultString);
|
||||
}
|
||||
|
||||
/// Adaptor to run an integration test using `flutter drive`.
|
||||
@ -101,6 +95,6 @@ Future<void> integrationDriver({
|
||||
|
||||
const JsonEncoder _prettyEncoder = JsonEncoder.withIndent(' ');
|
||||
|
||||
String _encodeJson(Object? jsonObject, bool pretty) {
|
||||
String _encodeJson(Map<String, dynamic>? jsonObject, bool pretty) {
|
||||
return pretty ? _prettyEncoder.convert(jsonObject) : json.encode(jsonObject);
|
||||
}
|
||||
|
@ -1,27 +0,0 @@
|
||||
// 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:flutter_driver/flutter_driver.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:integration_test/integration_test_driver.dart';
|
||||
import 'package:path/path.dart' as path;
|
||||
|
||||
void main() {
|
||||
useMemoryFileSystemForTesting();
|
||||
|
||||
test('Writes multiple files for each timeline', () async {
|
||||
final String outDir = fs.systemTempDirectory.path;
|
||||
await writeResponseData(
|
||||
<String, dynamic>{
|
||||
'timeline_a': <String, dynamic>{},
|
||||
'timeline_b': <String, dynamic>{},
|
||||
'screenshots': <String, dynamic>{},
|
||||
},
|
||||
destinationDirectory: outDir,
|
||||
);
|
||||
expect(fs.file(path.join(outDir, 'integration_response_data_timeline_a.json')).existsSync(), true);
|
||||
expect(fs.file(path.join(outDir, 'integration_response_data_timeline_b.json')).existsSync(), true);
|
||||
expect(fs.file(path.join(outDir, 'integration_response_data_screenshots.json')).existsSync(), false);
|
||||
});
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user