blob: 5e7d4250c118d41e387166ce375f6a6ba01462e3 [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 'dart:ui' show Display;
import 'package:flutter/src/foundation/_features.dart' show isWindowingEnabled;
import 'package:flutter/src/widgets/_window.dart'
show
BaseWindowController,
DialogWindow,
DialogWindowController,
DialogWindowControllerDelegate,
PopupWindow,
PopupWindowController,
RegularWindow,
RegularWindowController,
RegularWindowControllerDelegate,
TooltipWindow,
TooltipWindowController,
WindowScope,
WindowingOwner,
createDefaultWindowingOwner;
import 'package:flutter/src/widgets/_window_positioner.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_test/flutter_test.dart';
import 'multi_view_testing.dart';
class _StubRegularWindowController extends RegularWindowController {
_StubRegularWindowController(WidgetTester tester) : super.empty() {
rootView = FakeView(tester.view);
}
@override
Size get contentSize => Size.zero;
@override
String get title => 'Stub Window';
@override
bool get isActivated => true;
@override
bool get isMaximized => false;
@override
bool get isMinimized => false;
@override
bool get isFullscreen => false;
@override
void setSize(Size size) {}
@override
void setConstraints(BoxConstraints constraints) {}
@override
void setTitle(String title) {}
@override
void activate() {}
@override
void setMaximized(bool maximized) {}
@override
void setMinimized(bool minimized) {}
@override
void setFullscreen(bool fullscreen, {Display? display}) {}
@override
void destroy() {}
}
class _StubDialogWindowController extends DialogWindowController {
_StubDialogWindowController(WidgetTester tester) : super.empty() {
rootView = FakeView(tester.view);
}
@override
BaseWindowController? get parent => null;
@override
Size get contentSize => Size.zero;
@override
String get title => 'Stub Window';
@override
bool get isActivated => true;
@override
bool get isMinimized => false;
@override
void setSize(Size size) {}
@override
void setConstraints(BoxConstraints constraints) {}
@override
void setTitle(String title) {}
@override
void activate() {}
@override
void setMinimized(bool minimized) {}
@override
void destroy() {}
}
class _StubTooltipWindowController extends TooltipWindowController {
_StubTooltipWindowController({required this.tester}) : super.empty() {
rootView = FakeView(tester.view);
}
final WidgetTester tester;
@override
BaseWindowController get parent => _StubRegularWindowController(tester);
@override
Size get contentSize => Size.zero;
@override
void setConstraints(BoxConstraints constraints) {}
@override
void updatePosition({Rect? anchorRect, WindowPositioner? positioner}) {}
@override
void destroy() {}
}
class _StubPopupWindowController extends PopupWindowController {
_StubPopupWindowController({required this.tester}) : super.empty() {
rootView = FakeView(tester.view);
}
final WidgetTester tester;
@override
BaseWindowController get parent => _StubRegularWindowController(tester);
@override
bool get isActivated => true;
@override
Size get contentSize => Size.zero;
@override
void activate() {}
@override
void setConstraints(BoxConstraints constraints) {}
@override
void destroy() {}
}
void main() {
group('Windowing', () {
group('isWindowingEnabled is false', () {
setUp(() {
isWindowingEnabled = false;
});
test('createDefaultOwner returns a WindowingOwner', () {
final WindowingOwner owner = createDefaultWindowingOwner();
expect(owner, isA<WindowingOwner>());
});
test('default WindowingOwner throws when accessing createRegularWindowController', () {
final WindowingOwner owner = createDefaultWindowingOwner();
expect(
() => owner.createRegularWindowController(delegate: RegularWindowControllerDelegate()),
throwsUnsupportedError,
);
});
test('default WindowingOwner throws when accessing createDialogWindowController', () {
final WindowingOwner owner = createDefaultWindowingOwner();
expect(
() => owner.createDialogWindowController(delegate: DialogWindowControllerDelegate()),
throwsUnsupportedError,
);
});
testWidgets('DialogWindow throws UnsupportedError', (WidgetTester tester) async {
expect(
() => DialogWindow(
controller: _StubDialogWindowController(tester),
child: const Text('Test'),
),
throwsUnsupportedError,
);
});
testWidgets('TooltipWindow throws UnsupportedError', (WidgetTester tester) async {
expect(
() => TooltipWindow(
controller: _StubTooltipWindowController(tester: tester),
child: const Text('Test'),
),
throwsUnsupportedError,
);
});
testWidgets('PopupWindow throws UnsupportedError', (WidgetTester tester) async {
expect(
() => PopupWindow(
controller: _StubPopupWindowController(tester: tester),
child: const Text('Test'),
),
throwsUnsupportedError,
);
});
testWidgets('Accessing WindowScope.of throws UnsupportedError', (WidgetTester tester) async {
await tester.pumpWidget(LookupBoundary(child: Container()));
final BuildContext context = tester.element(find.byType(Container));
expect(() => WindowScope.of(context), throwsUnsupportedError);
});
});
group('isWindowingEnabled is true', () {
setUp(() {
isWindowingEnabled = true;
});
testWidgets('RegularWindow does not throw', (WidgetTester tester) async {
final controller = _StubRegularWindowController(tester);
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(controller: controller, child: Container()),
);
});
testWidgets('Dialog does not throw', (WidgetTester tester) async {
final controller = _StubDialogWindowController(tester);
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(controller: controller, child: Container()),
);
});
testWidgets('Can access WindowScope.of for regular windows', (WidgetTester tester) async {
final controller = _StubRegularWindowController(tester);
BaseWindowController? scope;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
scope = WindowScope.of(context);
return const SizedBox.shrink();
},
),
),
);
expect(scope, isA<RegularWindowController>());
});
testWidgets('Can access WindowScope.of for dialog windows', (WidgetTester tester) async {
final controller = _StubDialogWindowController(tester);
BaseWindowController? scope;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
scope = WindowScope.of(context);
return const SizedBox.shrink();
},
),
),
);
expect(scope, isA<DialogWindowController>());
});
testWidgets('Can access WindowScope.of for tooltip windows', (WidgetTester tester) async {
final controller = _StubTooltipWindowController(tester: tester);
BaseWindowController? scope;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
scope = WindowScope.of(context);
return const SizedBox.shrink();
},
),
),
);
expect(scope, isA<TooltipWindowController>());
});
testWidgets('Can access WindowScope.of for popup windows', (WidgetTester tester) async {
final controller = _StubPopupWindowController(tester: tester);
BaseWindowController? scope;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
scope = WindowScope.of(context);
return const SizedBox.shrink();
},
),
),
);
expect(scope, isA<PopupWindowController>());
});
testWidgets('Can access WindowScope.maybeOf for regular windows', (
WidgetTester tester,
) async {
final controller = _StubRegularWindowController(tester);
BaseWindowController? scope;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
scope = WindowScope.maybeOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(scope, isA<RegularWindowController>());
});
testWidgets('Can access WindowScope.maybeOf for dialog windows', (WidgetTester tester) async {
final controller = _StubDialogWindowController(tester);
BaseWindowController? scope;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
scope = WindowScope.maybeOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(scope, isA<DialogWindowController>());
});
testWidgets('Can access WindowScope.maybeOf for tooltip windows', (
WidgetTester tester,
) async {
final controller = _StubTooltipWindowController(tester: tester);
BaseWindowController? scope;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
scope = WindowScope.maybeOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(scope, isA<TooltipWindowController>());
});
testWidgets('Can access WindowScope.maybeOf for popup windows', (WidgetTester tester) async {
final controller = _StubPopupWindowController(tester: tester);
BaseWindowController? scope;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
scope = WindowScope.maybeOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(scope, isA<PopupWindowController>());
});
testWidgets('Can access WindowScope.contentSizeOf for regular windows', (
WidgetTester tester,
) async {
final controller = _StubRegularWindowController(tester);
Size? size;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
size = WindowScope.contentSizeOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(size, equals(Size.zero));
});
testWidgets('Can access WindowScope.contentSizeOf for dialog windows', (
WidgetTester tester,
) async {
final controller = _StubDialogWindowController(tester);
Size? size;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
size = WindowScope.contentSizeOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(size, equals(Size.zero));
});
testWidgets('Can access WindowScope.contentSizeOf for tooltip windows', (
WidgetTester tester,
) async {
final controller = _StubTooltipWindowController(tester: tester);
Size? size;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
size = WindowScope.contentSizeOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(size, equals(Size.zero));
});
testWidgets('Can access WindowScope.contentSizeOf for popup windows', (
WidgetTester tester,
) async {
final controller = _StubPopupWindowController(tester: tester);
Size? size;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
size = WindowScope.contentSizeOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(size, equals(Size.zero));
});
testWidgets('Can access WindowScope.maybeContentSizeOf for regular windows', (
WidgetTester tester,
) async {
final controller = _StubRegularWindowController(tester);
Size? size;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
size = WindowScope.maybeContentSizeOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(size, equals(Size.zero));
});
testWidgets('Can access WindowScope.maybeContentSizeOf for dialog windows', (
WidgetTester tester,
) async {
final controller = _StubDialogWindowController(tester);
Size? size;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
size = WindowScope.maybeContentSizeOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(size, equals(Size.zero));
});
testWidgets('Can access WindowScope.maybeContentSizeOf for tooltip windows', (
WidgetTester tester,
) async {
final controller = _StubTooltipWindowController(tester: tester);
Size? size;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
size = WindowScope.maybeContentSizeOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(size, equals(Size.zero));
});
testWidgets('Can access WindowScope.maybeContentSizeOf for popup windows', (
WidgetTester tester,
) async {
final controller = _StubPopupWindowController(tester: tester);
Size? size;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
size = WindowScope.maybeContentSizeOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(size, equals(Size.zero));
});
testWidgets('Can access WindowScope.titleOf for regular windows', (
WidgetTester tester,
) async {
final controller = _StubRegularWindowController(tester);
String? title;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
title = WindowScope.titleOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(title, equals('Stub Window'));
});
testWidgets('Can access WindowScope.titleOf for dialog windows', (WidgetTester tester) async {
final controller = _StubDialogWindowController(tester);
String? title;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
title = WindowScope.titleOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(title, equals('Stub Window'));
});
testWidgets('Can access WindowScope.titleOf for tooltip windows', (
WidgetTester tester,
) async {
final controller = _StubTooltipWindowController(tester: tester);
String? title;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
title = WindowScope.titleOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(title, equals(''));
});
testWidgets('Can access WindowScope.titleOf for popup windows', (WidgetTester tester) async {
final controller = _StubPopupWindowController(tester: tester);
String? title;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
title = WindowScope.titleOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(title, equals(''));
});
testWidgets('Can access WindowScope.maybeTitleOf for regular windows', (
WidgetTester tester,
) async {
final controller = _StubRegularWindowController(tester);
String? title;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
title = WindowScope.maybeTitleOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(title, equals('Stub Window'));
});
testWidgets('Can access WindowScope.maybeTitleOf for dialog windows', (
WidgetTester tester,
) async {
final controller = _StubDialogWindowController(tester);
String? title;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
title = WindowScope.maybeTitleOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(title, equals('Stub Window'));
});
testWidgets('Can access WindowScope.maybeTitleOf for tooltip windows', (
WidgetTester tester,
) async {
final controller = _StubTooltipWindowController(tester: tester);
String? title;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
title = WindowScope.maybeTitleOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(title, equals(''));
});
testWidgets('Can access WindowScope.maybeTitleOf for popup windows', (
WidgetTester tester,
) async {
final controller = _StubPopupWindowController(tester: tester);
String? title;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
title = WindowScope.maybeTitleOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(title, equals(''));
});
testWidgets('Can access WindowScope.isActivatedOf for regular windows', (
WidgetTester tester,
) async {
final controller = _StubRegularWindowController(tester);
bool? isActivated;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isActivated = WindowScope.isActivatedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isActivated, equals(true));
});
testWidgets('Can access WindowScope.isActivatedOf for dialog windows', (
WidgetTester tester,
) async {
final controller = _StubDialogWindowController(tester);
bool? isActivated;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isActivated = WindowScope.isActivatedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isActivated, equals(true));
});
testWidgets('Can access WindowScope.isActivatedOf for tooltip windows', (
WidgetTester tester,
) async {
final controller = _StubTooltipWindowController(tester: tester);
bool? isActivated;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isActivated = WindowScope.isActivatedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isActivated, equals(false));
});
testWidgets('Can access WindowScope.isActivatedOf for popup windows', (
WidgetTester tester,
) async {
final controller = _StubPopupWindowController(tester: tester);
bool? isActivated;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isActivated = WindowScope.isActivatedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isActivated, equals(true));
});
testWidgets('Can access WindowScope.maybeIsActivatedOf for regular windows', (
WidgetTester tester,
) async {
final controller = _StubRegularWindowController(tester);
bool? isActivated;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isActivated = WindowScope.maybeIsActivatedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isActivated, equals(true));
});
testWidgets('Can access WindowScope.maybeIsActivatedOf for dialog windows', (
WidgetTester tester,
) async {
final controller = _StubDialogWindowController(tester);
bool? isActivated;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isActivated = WindowScope.maybeIsActivatedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isActivated, equals(true));
});
testWidgets('Can access WindowScope.maybeIsActivatedOf for tooltip windows', (
WidgetTester tester,
) async {
final controller = _StubTooltipWindowController(tester: tester);
bool? isActivated;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isActivated = WindowScope.maybeIsActivatedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isActivated, equals(false));
});
testWidgets('Can access WindowScope.maybeIsActivatedOf for popup windows', (
WidgetTester tester,
) async {
final controller = _StubPopupWindowController(tester: tester);
bool? isActivated;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isActivated = WindowScope.maybeIsActivatedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isActivated, equals(true));
});
testWidgets('Can access WindowScope.isMinimizedOf for regular windows', (
WidgetTester tester,
) async {
final controller = _StubRegularWindowController(tester);
bool? isMinimized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMinimized = WindowScope.isMinimizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMinimized, equals(false));
});
testWidgets('Can access WindowScope.isMinimizedOf for dialog windows', (
WidgetTester tester,
) async {
final controller = _StubDialogWindowController(tester);
bool? isMinimized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMinimized = WindowScope.isMinimizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMinimized, equals(false));
});
testWidgets('Can access WindowScope.isMinimizedOf for tooltip windows', (
WidgetTester tester,
) async {
final controller = _StubTooltipWindowController(tester: tester);
bool? isMinimized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMinimized = WindowScope.isMinimizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMinimized, equals(false));
});
testWidgets('Can access WindowScope.isMinimizedOf for popup windows', (
WidgetTester tester,
) async {
final controller = _StubPopupWindowController(tester: tester);
bool? isMinimized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMinimized = WindowScope.isMinimizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMinimized, equals(false));
});
testWidgets('Can access WindowScope.maybeIsMinimizedOf for regular windows', (
WidgetTester tester,
) async {
final controller = _StubRegularWindowController(tester);
bool? isMinimized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMinimized = WindowScope.maybeIsMinimizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMinimized, equals(false));
});
testWidgets('Can access WindowScope.maybeIsMinimizedOf for dialog windows', (
WidgetTester tester,
) async {
final controller = _StubDialogWindowController(tester);
bool? isMinimized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMinimized = WindowScope.maybeIsMinimizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMinimized, equals(false));
});
testWidgets('Can access WindowScope.maybeIsMinimizedOf for tooltip windows', (
WidgetTester tester,
) async {
final controller = _StubTooltipWindowController(tester: tester);
bool? isMinimized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMinimized = WindowScope.maybeIsMinimizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMinimized, equals(false));
});
testWidgets('Can access WindowScope.maybeIsMinimizedOf for popup windows', (
WidgetTester tester,
) async {
final controller = _StubPopupWindowController(tester: tester);
bool? isMinimized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMinimized = WindowScope.maybeIsMinimizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMinimized, equals(false));
});
testWidgets('Can access WindowScope.isMaximizedOf for regular windows', (
WidgetTester tester,
) async {
final controller = _StubRegularWindowController(tester);
bool? isMaximized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMaximized = WindowScope.isMaximizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMaximized, equals(false));
});
testWidgets('Can access WindowScope.isMaximizedOf for dialog windows', (
WidgetTester tester,
) async {
final controller = _StubDialogWindowController(tester);
bool? isMaximized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMaximized = WindowScope.isMaximizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMaximized, equals(false));
});
testWidgets('Can access WindowScope.isMaximizedOf for tooltip windows', (
WidgetTester tester,
) async {
final controller = _StubTooltipWindowController(tester: tester);
bool? isMaximized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMaximized = WindowScope.isMaximizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMaximized, equals(false));
});
testWidgets('Can access WindowScope.isMaximizedOf for popup windows', (
WidgetTester tester,
) async {
final controller = _StubPopupWindowController(tester: tester);
bool? isMaximized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMaximized = WindowScope.isMaximizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMaximized, equals(false));
});
testWidgets('Can access WindowScope.maybeIsMaximizedOf for regular windows', (
WidgetTester tester,
) async {
final controller = _StubRegularWindowController(tester);
bool? isMaximized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMaximized = WindowScope.maybeIsMaximizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMaximized, equals(false));
});
testWidgets('Can access WindowScope.maybeIsMaximizedOf for dialog windows', (
WidgetTester tester,
) async {
final controller = _StubDialogWindowController(tester);
bool? isMaximized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMaximized = WindowScope.maybeIsMaximizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMaximized, equals(false));
});
testWidgets('Can access WindowScope.maybeIsMaximizedOf for tooltip windows', (
WidgetTester tester,
) async {
final controller = _StubTooltipWindowController(tester: tester);
bool? isMaximized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMaximized = WindowScope.maybeIsMaximizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMaximized, equals(false));
});
testWidgets('Can access WindowScope.maybeIsMaximizedOf for popup windows', (
WidgetTester tester,
) async {
final controller = _StubPopupWindowController(tester: tester);
bool? isMaximized;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isMaximized = WindowScope.maybeIsMaximizedOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isMaximized, equals(false));
});
testWidgets('Can access WindowScope.isFullscreenOf for regular windows', (
WidgetTester tester,
) async {
final controller = _StubRegularWindowController(tester);
bool? isFullscreen;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isFullscreen = WindowScope.isFullscreenOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isFullscreen, equals(false));
});
testWidgets('Can access WindowScope.isFullscreenOf for dialog windows', (
WidgetTester tester,
) async {
final controller = _StubDialogWindowController(tester);
bool? isFullscreen;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isFullscreen = WindowScope.isFullscreenOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isFullscreen, equals(false));
});
testWidgets('Can access WindowScope.isFullscreenOf for tooltip windows', (
WidgetTester tester,
) async {
final controller = _StubTooltipWindowController(tester: tester);
bool? isFullscreen;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isFullscreen = WindowScope.isFullscreenOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isFullscreen, equals(false));
});
testWidgets('Can access WindowScope.isFullscreenOf for popup windows', (
WidgetTester tester,
) async {
final controller = _StubPopupWindowController(tester: tester);
bool? isFullscreen;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isFullscreen = WindowScope.isFullscreenOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isFullscreen, equals(false));
});
testWidgets('Can access WindowScope.maybeIsFullscreenOf for regular windows', (
WidgetTester tester,
) async {
final controller = _StubRegularWindowController(tester);
bool? isFullscreen;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
RegularWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isFullscreen = WindowScope.maybeIsFullscreenOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isFullscreen, equals(false));
});
testWidgets('Can access WindowScope.maybeIsFullscreenOf for dialog windows', (
WidgetTester tester,
) async {
final controller = _StubDialogWindowController(tester);
bool? isFullscreen;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
DialogWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isFullscreen = WindowScope.maybeIsFullscreenOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isFullscreen, equals(false));
});
testWidgets('Can access WindowScope.maybeIsFullscreenOf for tooltip windows', (
WidgetTester tester,
) async {
final controller = _StubTooltipWindowController(tester: tester);
bool? isFullscreen;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
TooltipWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isFullscreen = WindowScope.maybeIsFullscreenOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isFullscreen, equals(false));
});
testWidgets('Can access WindowScope.maybeIsFullscreenOf for popup windows', (
WidgetTester tester,
) async {
final controller = _StubPopupWindowController(tester: tester);
bool? isFullscreen;
addTearDown(controller.dispose);
await tester.pumpWidget(
wrapWithView: false,
PopupWindow(
controller: controller,
child: Builder(
builder: (BuildContext context) {
isFullscreen = WindowScope.maybeIsFullscreenOf(context);
return const SizedBox.shrink();
},
),
),
);
expect(isFullscreen, equals(false));
});
});
});
}