This commit is contained in:
Developer
2026-05-18 17:58:11 +08:00
commit 194033514f
49 changed files with 3414 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:terra/terra_method_channel.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
MethodChannelTerra platform = MethodChannelTerra();
const MethodChannel channel = MethodChannel('terra');
setUp(() {
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(
channel,
(MethodCall methodCall) async {
return '42';
},
);
});
tearDown(() {
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(channel, null);
});
test('getPlatformVersion', () async {
expect(await platform.getPlatformVersion(), '42');
});
}

29
test/terra_test.dart Normal file
View File

@@ -0,0 +1,29 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:terra/terra.dart';
import 'package:terra/terra_platform_interface.dart';
import 'package:terra/terra_method_channel.dart';
import 'package:plugin_platform_interface/plugin_platform_interface.dart';
class MockTerraPlatform
with MockPlatformInterfaceMixin
implements TerraPlatform {
@override
Future<String?> getPlatformVersion() => Future.value('42');
}
void main() {
final TerraPlatform initialPlatform = TerraPlatform.instance;
test('$MethodChannelTerra is the default instance', () {
expect(initialPlatform, isInstanceOf<MethodChannelTerra>());
});
test('getPlatformVersion', () async {
Terra terraPlugin = Terra();
MockTerraPlatform fakePlatform = MockTerraPlatform();
TerraPlatform.instance = fakePlatform;
expect(await terraPlugin.getPlatformVersion(), '42');
});
}