| import 'package:fxutils/fxutils.dart'; |
| import 'package:path/path.dart' as p; |
| |
| /// Convenience class for tests which returns values vaguely of the same |
| /// structure as real values, but never suitable for any actual work. This can |
| /// only safely be used by tests making sure they *would* do work correctly, |
| /// without having to repeatedly instantiate the same fakes over and over. |
| class FakeFxEnv extends IFxEnv { |
| final String _cwd; |
| final String _fuchsiaDir; |
| final EnvReader? _envReader; |
| |
| FakeFxEnv({ |
| String fuchsiaDir = '/root/fuchsia', |
| String cwd = '/cwd', |
| EnvReader? envReader, |
| }) : _envReader = envReader, |
| _fuchsiaDir = fuchsiaDir, |
| _cwd = cwd; |
| |
| static final FakeFxEnv shared = FakeFxEnv(); |
| |
| @override |
| String get cwd => _cwd; |
| |
| @override |
| String get fuchsiaArch => 'x86'; |
| |
| @override |
| String get fuchsiaDir => _fuchsiaDir; |
| |
| @override |
| String get hostOutDir => p.join(fuchsiaDir, 'out/default/host_$fuchsiaArch'); |
| |
| @override |
| String get outputDir => p.join(fuchsiaDir, 'out/default'); |
| |
| @override |
| String get sshKey => p.join(fuchsiaDir, 'out/default/.ssh/pkey'); |
| |
| @override |
| String? getEnv(String variableName, [String? defaultValue]) => |
| _envReader?.getEnv(variableName, defaultValue); |
| } |