mirror of
https://github.com/flutter/flutter
synced 2024-10-14 04:02:56 +00:00
6c408a0567
* Reland: [flutter_tool] Where possible, catch only subtypes of Exception * Add armv7f to getIOSArchForName
97 lines
3.9 KiB
Dart
97 lines
3.9 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:flutter_tools/src/build_info.dart';
|
|
|
|
import '../src/common.dart';
|
|
import '../src/context.dart';
|
|
|
|
void main() {
|
|
setUpAll(() { });
|
|
|
|
group('Validate build number', () {
|
|
setUp(() async { });
|
|
|
|
testUsingContext('CFBundleVersion for iOS', () async {
|
|
String buildName = validatedBuildNumberForPlatform(TargetPlatform.ios, 'xyz');
|
|
expect(buildName, isNull);
|
|
buildName = validatedBuildNumberForPlatform(TargetPlatform.ios, '0.0.1');
|
|
expect(buildName, '0.0.1');
|
|
buildName = validatedBuildNumberForPlatform(TargetPlatform.ios, '123.xyz');
|
|
expect(buildName, '123');
|
|
buildName = validatedBuildNumberForPlatform(TargetPlatform.ios, '123.456.xyz');
|
|
expect(buildName, '123.456');
|
|
});
|
|
|
|
testUsingContext('versionCode for Android', () async {
|
|
String buildName = validatedBuildNumberForPlatform(TargetPlatform.android_arm, '123.abc+-');
|
|
expect(buildName, '123');
|
|
buildName = validatedBuildNumberForPlatform(TargetPlatform.android_arm, 'abc');
|
|
expect(buildName, '1');
|
|
});
|
|
});
|
|
|
|
group('Validate build name', () {
|
|
setUp(() async { });
|
|
|
|
testUsingContext('CFBundleShortVersionString for iOS', () async {
|
|
String buildName = validatedBuildNameForPlatform(TargetPlatform.ios, 'xyz');
|
|
expect(buildName, isNull);
|
|
buildName = validatedBuildNameForPlatform(TargetPlatform.ios, '0.0.1');
|
|
expect(buildName, '0.0.1');
|
|
buildName = validatedBuildNameForPlatform(TargetPlatform.ios, '123.456.xyz');
|
|
expect(buildName, '123.456.0');
|
|
buildName = validatedBuildNameForPlatform(TargetPlatform.ios, '123.xyz');
|
|
expect(buildName, '123.0.0');
|
|
});
|
|
|
|
testUsingContext('versionName for Android', () async {
|
|
String buildName = validatedBuildNameForPlatform(TargetPlatform.android_arm, '123.abc+-');
|
|
expect(buildName, '123.abc+-');
|
|
buildName = validatedBuildNameForPlatform(TargetPlatform.android_arm, 'abc+-');
|
|
expect(buildName, 'abc+-');
|
|
});
|
|
|
|
test('build mode configuration is correct', () {
|
|
expect(BuildMode.debug.isRelease, false);
|
|
expect(BuildMode.debug.isPrecompiled, false);
|
|
expect(BuildMode.debug.isJit, true);
|
|
|
|
expect(BuildMode.profile.isRelease, false);
|
|
expect(BuildMode.profile.isPrecompiled, true);
|
|
expect(BuildMode.profile.isJit, false);
|
|
|
|
expect(BuildMode.release.isRelease, true);
|
|
expect(BuildMode.release.isPrecompiled, true);
|
|
expect(BuildMode.release.isJit, false);
|
|
|
|
expect(BuildMode.jitRelease.isRelease, true);
|
|
expect(BuildMode.jitRelease.isPrecompiled, false);
|
|
expect(BuildMode.jitRelease.isJit, true);
|
|
|
|
expect(BuildMode.fromName('debug'), BuildMode.debug);
|
|
expect(BuildMode.fromName('profile'), BuildMode.profile);
|
|
expect(BuildMode.fromName('jit_release'), BuildMode.jitRelease);
|
|
expect(BuildMode.fromName('release'), BuildMode.release);
|
|
expect(() => BuildMode.fromName('foo'), throwsArgumentError);
|
|
});
|
|
});
|
|
|
|
test('getNameForTargetPlatform on Darwin arches', () {
|
|
expect(getNameForTargetPlatform(TargetPlatform.ios, darwinArch: DarwinArch.arm64), 'ios-arm64');
|
|
expect(getNameForTargetPlatform(TargetPlatform.ios, darwinArch: DarwinArch.armv7), 'ios-armv7');
|
|
expect(getNameForTargetPlatform(TargetPlatform.ios, darwinArch: DarwinArch.x86_64), 'ios-x86_64');
|
|
expect(getNameForTargetPlatform(TargetPlatform.android), isNot(contains('ios')));
|
|
});
|
|
|
|
test('getIOSArchForName on Darwin arches', () {
|
|
expect(getIOSArchForName('armv7'), DarwinArch.armv7);
|
|
expect(getIOSArchForName('arm64'), DarwinArch.arm64);
|
|
expect(getIOSArchForName('arm64e'), DarwinArch.arm64);
|
|
expect(getIOSArchForName('x86_64'), DarwinArch.x86_64);
|
|
expect(() => getIOSArchForName('bogus'), throwsException);
|
|
});
|
|
}
|