Skip to content

Commit

Permalink
Page transitions consistency on desktop platforms (#203)
Browse files Browse the repository at this point in the history
* Consistent page transition on all desktop platforms.

Per conversation in canonical/ubuntu-desktop-installer#1121

* Test for page transitions consistency on

desktop platforms.
  • Loading branch information
CarlosNihelton committed Sep 14, 2022
1 parent 536d067 commit 6f7fb5d
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
6 changes: 5 additions & 1 deletion lib/src/themes/common_themes.dart
Expand Up @@ -241,9 +241,13 @@ RadioThemeData _getRadioThemeData(Color primaryColor, Brightness brightness) {
);
}

const _desktopPageTransitionsBuilder = CupertinoPageTransitionsBuilder();

const _pageTransitionTheme = PageTransitionsTheme(
builders: {
TargetPlatform.linux: CupertinoPageTransitionsBuilder(),
TargetPlatform.linux: _desktopPageTransitionsBuilder,
TargetPlatform.macOS: _desktopPageTransitionsBuilder,
TargetPlatform.windows: _desktopPageTransitionsBuilder,
},
);

Expand Down
23 changes: 23 additions & 0 deletions test/common_themes_test.dart
@@ -0,0 +1,23 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/foundation.dart';
import 'package:yaru/src/themes/yaru.dart';

void main() {
testWidgets('consistent page transitions', (_) async {
const platforms = [
TargetPlatform.linux,
TargetPlatform.macOS,
TargetPlatform.windows,
];
final builders = yaruLight.pageTransitionsTheme.builders;
final first = builders.entries.first.value;
var allEqual = false;

for (var entry in builders.entries) {
if (platforms.contains(entry.key)) {
allEqual = entry.value == first;
}
}
expect(allEqual, isTrue);
});
}

0 comments on commit 6f7fb5d

Please sign in to comment.