blob: c4c77a1c379142a56c4631c8da2f35de14ded323 [file] [log] [blame]
// 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/base/platform.dart';
import '../../src/common.dart';
void _expectPlatformsEqual(Platform actual, Platform expected) {
expect(actual.numberOfProcessors, expected.numberOfProcessors);
expect(actual.pathSeparator, expected.pathSeparator);
expect(actual.operatingSystem, expected.operatingSystem);
expect(actual.operatingSystemVersion, expected.operatingSystemVersion);
expect(actual.localHostname, expected.localHostname);
expect(actual.environment, expected.environment);
expect(actual.executable, expected.executable);
expect(actual.resolvedExecutable, expected.resolvedExecutable);
expect(actual.script, expected.script);
expect(actual.executableArguments, expected.executableArguments);
expect(actual.packageConfig, expected.packageConfig);
expect(actual.version, expected.version);
expect(actual.localeName, expected.localeName);
}
void main() {
group('FakePlatform.fromPlatform', () {
late FakePlatform fake;
late LocalPlatform local;
setUp(() {
local = const LocalPlatform();
fake = FakePlatform.fromPlatform(local);
});
testWithoutContext('copiesAllProperties', () {
_expectPlatformsEqual(fake, local);
});
testWithoutContext('convertsPropertiesToMutable', () {
final String key = fake.environment.keys.first;
expect(fake.environment[key], local.environment[key]);
fake.environment[key] = 'FAKE';
expect(fake.environment[key], 'FAKE');
expect(
fake.executableArguments.length,
local.executableArguments.length,
);
fake.executableArguments.add('ARG');
expect(fake.executableArguments.last, 'ARG');
});
});
}