| // 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 'dart:io'; |
| |
| import 'package:flutter_driver/flutter_driver.dart'; |
| import 'package:path/path.dart' as path; |
| import 'package:test/test.dart' hide TypeMatcher, isInstanceOf; |
| |
| // Connect and disconnect from the empty app. |
| void main() { |
| // Load the license file from disk to compare it with the one in the app. |
| final File licenseFile = File(path.join('..', '..', '..', 'packages', 'flutter', 'LICENSE')); |
| if (!licenseFile.existsSync()) { |
| print('Test failed. Unable to find LICENSE file at ${licenseFile.path}'); |
| exit(-1); |
| } |
| final RegExp newlineSplit = RegExp(r'\s+'); |
| final String license = licenseFile.readAsStringSync().split(newlineSplit).join(' ').trim(); |
| |
| group('License file check', () { |
| late FlutterDriver driver; |
| |
| setUpAll(() async { |
| driver = await FlutterDriver.connect(); |
| await driver.waitUntilFirstFrameRasterized(); |
| }); |
| |
| tearDownAll(() async { |
| await driver.close(); |
| }); |
| |
| test('flutter license', () async { |
| await driver.waitFor(find.byValueKey('Header')); |
| final String foundPackage = await driver.getText(find.byValueKey('FlutterPackage')); |
| final String foundLicense = await driver.getText(find.byValueKey('FlutterLicense')); |
| expect(foundPackage, equals('flutter')); |
| expect(foundLicense, equals(license)); |
| }, timeout: Timeout.none); |
| |
| test('engine license', () async { |
| await driver.waitFor(find.byValueKey('Header')); |
| final String foundPackage = await driver.getText(find.byValueKey('EnginePackage')); |
| final String foundLicense = await driver.getText(find.byValueKey('EngineLicense')); |
| expect(foundPackage, equals('engine')); |
| // The engine has the same license, but with a different Copyright date. |
| expect(foundLicense, contains(license.replaceFirst('2014', '2013'))); |
| }, timeout: Timeout.none); |
| }); |
| } |