Move service extension to correct binding so images are repainted after enabling/disabling, update test (#68793)
* Move service extension to correct binding so images are repainted after enabling/disabling, update test * Update binding.dart
This commit is contained in:
parent
37042fdb08
commit
4af674285b
@ -59,6 +59,17 @@ mixin RendererBinding on BindingBase, ServicesBinding, SchedulerBinding, Gesture
|
|||||||
|
|
||||||
assert(() {
|
assert(() {
|
||||||
// these service extensions only work in debug mode
|
// these service extensions only work in debug mode
|
||||||
|
registerBoolServiceExtension(
|
||||||
|
name: 'invertOversizedImages',
|
||||||
|
getter: () async => debugInvertOversizedImages,
|
||||||
|
setter: (bool value) async {
|
||||||
|
if (debugInvertOversizedImages != value) {
|
||||||
|
debugInvertOversizedImages = value;
|
||||||
|
return _forceRepaint();
|
||||||
|
}
|
||||||
|
return Future<void>.value();
|
||||||
|
},
|
||||||
|
);
|
||||||
registerBoolServiceExtension(
|
registerBoolServiceExtension(
|
||||||
name: 'debugPaint',
|
name: 'debugPaint',
|
||||||
getter: () async => debugPaintSizeEnabled,
|
getter: () async => debugPaintSizeEnabled,
|
||||||
|
@ -460,18 +460,6 @@ mixin WidgetsBinding on BindingBase, ServicesBinding, SchedulerBinding, GestureB
|
|||||||
}
|
}
|
||||||
|
|
||||||
assert(() {
|
assert(() {
|
||||||
registerBoolServiceExtension(
|
|
||||||
name: 'invertOversizedImages',
|
|
||||||
getter: () async => debugInvertOversizedImages,
|
|
||||||
setter: (bool value) async {
|
|
||||||
if (debugInvertOversizedImages != value) {
|
|
||||||
debugInvertOversizedImages = value;
|
|
||||||
return _forceRebuild();
|
|
||||||
}
|
|
||||||
return Future<void>.value();
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
registerBoolServiceExtension(
|
registerBoolServiceExtension(
|
||||||
name: 'debugAllowBanner',
|
name: 'debugAllowBanner',
|
||||||
getter: () => Future<bool>.value(WidgetsApp.debugAllowBannerOverride),
|
getter: () => Future<bool>.value(WidgetsApp.debugAllowBannerOverride),
|
||||||
|
@ -399,21 +399,44 @@ void main() {
|
|||||||
|
|
||||||
test('Service extensions - invertOversizedImages', () async {
|
test('Service extensions - invertOversizedImages', () async {
|
||||||
Map<String, dynamic> result;
|
Map<String, dynamic> result;
|
||||||
|
Future<Map<String, dynamic>> pendingResult;
|
||||||
|
bool completed;
|
||||||
|
|
||||||
expect(binding.frameScheduled, isFalse);
|
expect(binding.frameScheduled, isFalse);
|
||||||
expect(debugInvertOversizedImages, false);
|
expect(debugInvertOversizedImages, false);
|
||||||
result = await binding.testExtension('invertOversizedImages', <String, String>{});
|
result = await binding.testExtension('invertOversizedImages', <String, String>{});
|
||||||
expect(result, <String, String>{'enabled': 'false'});
|
expect(result, <String, String>{'enabled': 'false'});
|
||||||
expect(debugInvertOversizedImages, false);
|
expect(debugInvertOversizedImages, false);
|
||||||
result = await binding.testExtension('invertOversizedImages', <String, String>{'enabled': 'true'});
|
expect(binding.frameScheduled, isFalse);
|
||||||
|
|
||||||
|
pendingResult = binding.testExtension('invertOversizedImages', <String, String>{'enabled': 'true'});
|
||||||
|
completed = false;
|
||||||
|
pendingResult.whenComplete(() { completed = true; });
|
||||||
|
await binding.flushMicrotasks();
|
||||||
|
expect(binding.frameScheduled, isTrue);
|
||||||
|
expect(completed, isFalse);
|
||||||
|
await binding.doFrame();
|
||||||
|
await binding.flushMicrotasks();
|
||||||
|
expect(completed, isTrue);
|
||||||
|
expect(binding.frameScheduled, isFalse);
|
||||||
|
result = await pendingResult;
|
||||||
expect(result, <String, String>{'enabled': 'true'});
|
expect(result, <String, String>{'enabled': 'true'});
|
||||||
expect(debugInvertOversizedImages, true);
|
expect(debugInvertOversizedImages, true);
|
||||||
|
|
||||||
result = await binding.testExtension('invertOversizedImages', <String, String>{});
|
result = await binding.testExtension('invertOversizedImages', <String, String>{});
|
||||||
expect(result, <String, String>{'enabled': 'true'});
|
expect(result, <String, String>{'enabled': 'true'});
|
||||||
expect(debugInvertOversizedImages, true);
|
expect(debugInvertOversizedImages, true);
|
||||||
result = await binding.testExtension('invertOversizedImages', <String, String>{'enabled': 'false'});
|
expect(binding.frameScheduled, isFalse);
|
||||||
|
|
||||||
|
pendingResult = binding.testExtension('invertOversizedImages', <String, String>{'enabled': 'false'});
|
||||||
|
await binding.flushMicrotasks();
|
||||||
|
expect(binding.frameScheduled, isTrue);
|
||||||
|
await binding.doFrame();
|
||||||
|
expect(binding.frameScheduled, isFalse);
|
||||||
|
result = await pendingResult;
|
||||||
expect(result, <String, String>{'enabled': 'false'});
|
expect(result, <String, String>{'enabled': 'false'});
|
||||||
expect(debugInvertOversizedImages, false);
|
expect(debugInvertOversizedImages, false);
|
||||||
|
|
||||||
result = await binding.testExtension('invertOversizedImages', <String, String>{});
|
result = await binding.testExtension('invertOversizedImages', <String, String>{});
|
||||||
expect(result, <String, String>{'enabled': 'false'});
|
expect(result, <String, String>{'enabled': 'false'});
|
||||||
expect(debugInvertOversizedImages, false);
|
expect(debugInvertOversizedImages, false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user