wakelock_test.dart
1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:wakelock/wakelock.dart';
void main() {
const MethodChannel channel = MethodChannel('wakelock');
TestWidgetsFlutterBinding.ensureInitialized();
setUp(() {
var enabled = false;
channel.setMockMethodCallHandler((MethodCall methodCall) async {
switch (methodCall.method) {
case 'toggle':
enabled = methodCall.arguments['enable'];
break;
case 'enable':
enabled = true;
break;
case 'disable':
enabled = false;
break;
case 'isEnabled':
return enabled;
default:
throw ArgumentError.value(methodCall.method);
}
return null;
});
});
tearDown(() {
channel.setMockMethodCallHandler(null);
});
test('isEnabled', () async {
expect(await Wakelock.isEnabled, isFalse);
});
group('toggle', () {
test('on', () async {
await Wakelock.toggle(on: true);
expect(await Wakelock.isEnabled, isTrue);
});
test('off', () async {
await Wakelock.toggle(on: false);
expect(await Wakelock.isEnabled, isFalse);
});
test('non-null assertion', () async {
expect(() async => await Wakelock.toggle(on: null), throwsAssertionError);
});
});
test('enable', () async {
await Wakelock.enable();
expect(await Wakelock.isEnabled, isTrue);
});
test('disable', () async {
await Wakelock.disable();
expect(await Wakelock.isEnabled, isFalse);
});
}