From bc68393bcb6a737c398165693d8659141d918dd4 Mon Sep 17 00:00:00 2001 From: MaximeRougieux Date: Tue, 14 Nov 2023 10:10:52 +0100 Subject: [PATCH 1/5] fix: :pencil2: Rename golden files to use an hypen instead of a semicolon --- lib/src/adaptive/adaptive_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/adaptive/adaptive_test.dart b/lib/src/adaptive/adaptive_test.dart index 6dab6e3..2590b82 100644 --- a/lib/src/adaptive/adaptive_test.dart +++ b/lib/src/adaptive/adaptive_test.dart @@ -88,7 +88,7 @@ extension Adaptive on WidgetTester { // Find by its type except if the widget's unique key was given. byKey != null ? find.byKey(byKey) : find.byType(AdaptiveWrapper), matchesGoldenFile( - 'preview/${windowConfig.name}:${name.snakeCase}$localSuffix.png', + 'preview/${windowConfig.name}-${name.snakeCase}$localSuffix.png', ), ); } From d6e16ca2ffda39b9f3e147716d7ff39f5b2da671 Mon Sep 17 00:00:00 2001 From: MaximeRougieux Date: Tue, 14 Nov 2023 10:11:24 +0100 Subject: [PATCH 2/5] docs: :memo: Add documentation on a breaking change for v5 --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b84c73..b795b6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +## 0.5.0 + +**Breaking changes** + +* Remove the semi colon in golden file names to support using the package on a Windows machine. + + This is a breaking change for users who have generated golden files with the previous version of the library. The golden file names will now be `preview/${windowConfig.name}-${name.snakeCase}$localSuffix.png` instead of `preview/${windowConfig.name}:${name.snakeCase}$localSuffix.png`. + + To resolve this, you can either rename the golden files manually or regenerate them. + ## 0.4.1 * fix: Update broken link on README.md From 64da951f74bb23956e458eff480e8cc6c3e4da98 Mon Sep 17 00:00:00 2001 From: MaximeRougieux Date: Tue, 14 Nov 2023 10:24:56 +0100 Subject: [PATCH 3/5] refactor: :recycle: Rename all goldens according to the new pattern --- ..._packages.png => desktop-app_multi_packages.png} | Bin ...=> desktop-app_multi_packages_with_keyboard.png} | Bin ..._packages.png => iPadPro-app_multi_packages.png} | Bin ...=> iPadPro-app_multi_packages_with_keyboard.png} | Bin ...ackages.png => iPhone_13-app_multi_packages.png} | Bin ... iPhone_13-app_multi_packages_with_keyboard.png} | Bin ...packages.png => iPhone_8-app_multi_packages.png} | Bin ...> iPhone_8-app_multi_packages_with_keyboard.png} | Bin ..._packages.png => pixel_5-app_multi_packages.png} | Bin ...=> pixel_5-app_multi_packages_with_keyboard.png} | Bin ...esktop:app_simple.png => desktop-app_simple.png} | Bin ...ard.png => desktop-app_simple_with_keyboard.png} | Bin ...PadPro:app_simple.png => iPadPro-app_simple.png} | Bin ...ard.png => iPadPro-app_simple_with_keyboard.png} | Bin ...e_13:app_simple.png => iPhone_13-app_simple.png} | Bin ...d.png => iPhone_13-app_simple_with_keyboard.png} | Bin ...one_8:app_simple.png => iPhone_8-app_simple.png} | Bin ...rd.png => iPhone_8-app_simple_with_keyboard.png} | Bin ...ixel_5:app_simple.png => pixel_5-app_simple.png} | Bin ...ard.png => pixel_5-app_simple_with_keyboard.png} | Bin 20 files changed, 0 insertions(+), 0 deletions(-) rename example/multi_packages_app/app/test/src/preview/{desktop:app_multi_packages.png => desktop-app_multi_packages.png} (100%) rename example/multi_packages_app/app/test/src/preview/{desktop:app_multi_packages_with_keyboard.png => desktop-app_multi_packages_with_keyboard.png} (100%) rename example/multi_packages_app/app/test/src/preview/{iPadPro:app_multi_packages.png => iPadPro-app_multi_packages.png} (100%) rename example/multi_packages_app/app/test/src/preview/{iPadPro:app_multi_packages_with_keyboard.png => iPadPro-app_multi_packages_with_keyboard.png} (100%) rename example/multi_packages_app/app/test/src/preview/{iPhone_13:app_multi_packages.png => iPhone_13-app_multi_packages.png} (100%) rename example/multi_packages_app/app/test/src/preview/{iPhone_13:app_multi_packages_with_keyboard.png => iPhone_13-app_multi_packages_with_keyboard.png} (100%) rename example/multi_packages_app/app/test/src/preview/{iPhone_8:app_multi_packages.png => iPhone_8-app_multi_packages.png} (100%) rename example/multi_packages_app/app/test/src/preview/{iPhone_8:app_multi_packages_with_keyboard.png => iPhone_8-app_multi_packages_with_keyboard.png} (100%) rename example/multi_packages_app/app/test/src/preview/{pixel_5:app_multi_packages.png => pixel_5-app_multi_packages.png} (100%) rename example/multi_packages_app/app/test/src/preview/{pixel_5:app_multi_packages_with_keyboard.png => pixel_5-app_multi_packages_with_keyboard.png} (100%) rename example/simple_app/test/src/preview/{desktop:app_simple.png => desktop-app_simple.png} (100%) rename example/simple_app/test/src/preview/{desktop:app_simple_with_keyboard.png => desktop-app_simple_with_keyboard.png} (100%) rename example/simple_app/test/src/preview/{iPadPro:app_simple.png => iPadPro-app_simple.png} (100%) rename example/simple_app/test/src/preview/{iPadPro:app_simple_with_keyboard.png => iPadPro-app_simple_with_keyboard.png} (100%) rename example/simple_app/test/src/preview/{iPhone_13:app_simple.png => iPhone_13-app_simple.png} (100%) rename example/simple_app/test/src/preview/{iPhone_13:app_simple_with_keyboard.png => iPhone_13-app_simple_with_keyboard.png} (100%) rename example/simple_app/test/src/preview/{iPhone_8:app_simple.png => iPhone_8-app_simple.png} (100%) rename example/simple_app/test/src/preview/{iPhone_8:app_simple_with_keyboard.png => iPhone_8-app_simple_with_keyboard.png} (100%) rename example/simple_app/test/src/preview/{pixel_5:app_simple.png => pixel_5-app_simple.png} (100%) rename example/simple_app/test/src/preview/{pixel_5:app_simple_with_keyboard.png => pixel_5-app_simple_with_keyboard.png} (100%) diff --git a/example/multi_packages_app/app/test/src/preview/desktop:app_multi_packages.png b/example/multi_packages_app/app/test/src/preview/desktop-app_multi_packages.png similarity index 100% rename from example/multi_packages_app/app/test/src/preview/desktop:app_multi_packages.png rename to example/multi_packages_app/app/test/src/preview/desktop-app_multi_packages.png diff --git a/example/multi_packages_app/app/test/src/preview/desktop:app_multi_packages_with_keyboard.png b/example/multi_packages_app/app/test/src/preview/desktop-app_multi_packages_with_keyboard.png similarity index 100% rename from example/multi_packages_app/app/test/src/preview/desktop:app_multi_packages_with_keyboard.png rename to example/multi_packages_app/app/test/src/preview/desktop-app_multi_packages_with_keyboard.png diff --git a/example/multi_packages_app/app/test/src/preview/iPadPro:app_multi_packages.png b/example/multi_packages_app/app/test/src/preview/iPadPro-app_multi_packages.png similarity index 100% rename from example/multi_packages_app/app/test/src/preview/iPadPro:app_multi_packages.png rename to example/multi_packages_app/app/test/src/preview/iPadPro-app_multi_packages.png diff --git a/example/multi_packages_app/app/test/src/preview/iPadPro:app_multi_packages_with_keyboard.png b/example/multi_packages_app/app/test/src/preview/iPadPro-app_multi_packages_with_keyboard.png similarity index 100% rename from example/multi_packages_app/app/test/src/preview/iPadPro:app_multi_packages_with_keyboard.png rename to example/multi_packages_app/app/test/src/preview/iPadPro-app_multi_packages_with_keyboard.png diff --git a/example/multi_packages_app/app/test/src/preview/iPhone_13:app_multi_packages.png b/example/multi_packages_app/app/test/src/preview/iPhone_13-app_multi_packages.png similarity index 100% rename from example/multi_packages_app/app/test/src/preview/iPhone_13:app_multi_packages.png rename to example/multi_packages_app/app/test/src/preview/iPhone_13-app_multi_packages.png diff --git a/example/multi_packages_app/app/test/src/preview/iPhone_13:app_multi_packages_with_keyboard.png b/example/multi_packages_app/app/test/src/preview/iPhone_13-app_multi_packages_with_keyboard.png similarity index 100% rename from example/multi_packages_app/app/test/src/preview/iPhone_13:app_multi_packages_with_keyboard.png rename to example/multi_packages_app/app/test/src/preview/iPhone_13-app_multi_packages_with_keyboard.png diff --git a/example/multi_packages_app/app/test/src/preview/iPhone_8:app_multi_packages.png b/example/multi_packages_app/app/test/src/preview/iPhone_8-app_multi_packages.png similarity index 100% rename from example/multi_packages_app/app/test/src/preview/iPhone_8:app_multi_packages.png rename to example/multi_packages_app/app/test/src/preview/iPhone_8-app_multi_packages.png diff --git a/example/multi_packages_app/app/test/src/preview/iPhone_8:app_multi_packages_with_keyboard.png b/example/multi_packages_app/app/test/src/preview/iPhone_8-app_multi_packages_with_keyboard.png similarity index 100% rename from example/multi_packages_app/app/test/src/preview/iPhone_8:app_multi_packages_with_keyboard.png rename to example/multi_packages_app/app/test/src/preview/iPhone_8-app_multi_packages_with_keyboard.png diff --git a/example/multi_packages_app/app/test/src/preview/pixel_5:app_multi_packages.png b/example/multi_packages_app/app/test/src/preview/pixel_5-app_multi_packages.png similarity index 100% rename from example/multi_packages_app/app/test/src/preview/pixel_5:app_multi_packages.png rename to example/multi_packages_app/app/test/src/preview/pixel_5-app_multi_packages.png diff --git a/example/multi_packages_app/app/test/src/preview/pixel_5:app_multi_packages_with_keyboard.png b/example/multi_packages_app/app/test/src/preview/pixel_5-app_multi_packages_with_keyboard.png similarity index 100% rename from example/multi_packages_app/app/test/src/preview/pixel_5:app_multi_packages_with_keyboard.png rename to example/multi_packages_app/app/test/src/preview/pixel_5-app_multi_packages_with_keyboard.png diff --git a/example/simple_app/test/src/preview/desktop:app_simple.png b/example/simple_app/test/src/preview/desktop-app_simple.png similarity index 100% rename from example/simple_app/test/src/preview/desktop:app_simple.png rename to example/simple_app/test/src/preview/desktop-app_simple.png diff --git a/example/simple_app/test/src/preview/desktop:app_simple_with_keyboard.png b/example/simple_app/test/src/preview/desktop-app_simple_with_keyboard.png similarity index 100% rename from example/simple_app/test/src/preview/desktop:app_simple_with_keyboard.png rename to example/simple_app/test/src/preview/desktop-app_simple_with_keyboard.png diff --git a/example/simple_app/test/src/preview/iPadPro:app_simple.png b/example/simple_app/test/src/preview/iPadPro-app_simple.png similarity index 100% rename from example/simple_app/test/src/preview/iPadPro:app_simple.png rename to example/simple_app/test/src/preview/iPadPro-app_simple.png diff --git a/example/simple_app/test/src/preview/iPadPro:app_simple_with_keyboard.png b/example/simple_app/test/src/preview/iPadPro-app_simple_with_keyboard.png similarity index 100% rename from example/simple_app/test/src/preview/iPadPro:app_simple_with_keyboard.png rename to example/simple_app/test/src/preview/iPadPro-app_simple_with_keyboard.png diff --git a/example/simple_app/test/src/preview/iPhone_13:app_simple.png b/example/simple_app/test/src/preview/iPhone_13-app_simple.png similarity index 100% rename from example/simple_app/test/src/preview/iPhone_13:app_simple.png rename to example/simple_app/test/src/preview/iPhone_13-app_simple.png diff --git a/example/simple_app/test/src/preview/iPhone_13:app_simple_with_keyboard.png b/example/simple_app/test/src/preview/iPhone_13-app_simple_with_keyboard.png similarity index 100% rename from example/simple_app/test/src/preview/iPhone_13:app_simple_with_keyboard.png rename to example/simple_app/test/src/preview/iPhone_13-app_simple_with_keyboard.png diff --git a/example/simple_app/test/src/preview/iPhone_8:app_simple.png b/example/simple_app/test/src/preview/iPhone_8-app_simple.png similarity index 100% rename from example/simple_app/test/src/preview/iPhone_8:app_simple.png rename to example/simple_app/test/src/preview/iPhone_8-app_simple.png diff --git a/example/simple_app/test/src/preview/iPhone_8:app_simple_with_keyboard.png b/example/simple_app/test/src/preview/iPhone_8-app_simple_with_keyboard.png similarity index 100% rename from example/simple_app/test/src/preview/iPhone_8:app_simple_with_keyboard.png rename to example/simple_app/test/src/preview/iPhone_8-app_simple_with_keyboard.png diff --git a/example/simple_app/test/src/preview/pixel_5:app_simple.png b/example/simple_app/test/src/preview/pixel_5-app_simple.png similarity index 100% rename from example/simple_app/test/src/preview/pixel_5:app_simple.png rename to example/simple_app/test/src/preview/pixel_5-app_simple.png diff --git a/example/simple_app/test/src/preview/pixel_5:app_simple_with_keyboard.png b/example/simple_app/test/src/preview/pixel_5-app_simple_with_keyboard.png similarity index 100% rename from example/simple_app/test/src/preview/pixel_5:app_simple_with_keyboard.png rename to example/simple_app/test/src/preview/pixel_5-app_simple_with_keyboard.png From 289f18650ab4cb4bfdf388b82868b88f433feb39 Mon Sep 17 00:00:00 2001 From: MaximeRougieux Date: Wed, 15 Nov 2023 09:29:28 +0100 Subject: [PATCH 4/5] chore: :bookmark: Bump version to 0.5.0 --- example/multi_packages_app/app/pubspec.lock | 2 +- example/multi_packages_app/theme/pubspec.lock | 2 +- example/simple_app/pubspec.lock | 2 +- pubspec.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/example/multi_packages_app/app/pubspec.lock b/example/multi_packages_app/app/pubspec.lock index 12f842c..1966ddc 100644 --- a/example/multi_packages_app/app/pubspec.lock +++ b/example/multi_packages_app/app/pubspec.lock @@ -7,7 +7,7 @@ packages: path: "../../.." relative: true source: path - version: "0.4.1" + version: "0.5.0" async: dependency: transitive description: diff --git a/example/multi_packages_app/theme/pubspec.lock b/example/multi_packages_app/theme/pubspec.lock index 2a6a151..0487952 100644 --- a/example/multi_packages_app/theme/pubspec.lock +++ b/example/multi_packages_app/theme/pubspec.lock @@ -7,7 +7,7 @@ packages: path: "../../.." relative: true source: path - version: "0.4.1" + version: "0.5.0" async: dependency: transitive description: diff --git a/example/simple_app/pubspec.lock b/example/simple_app/pubspec.lock index fca9f2e..da1c665 100644 --- a/example/simple_app/pubspec.lock +++ b/example/simple_app/pubspec.lock @@ -7,7 +7,7 @@ packages: path: "../.." relative: true source: path - version: "0.4.1" + version: "0.5.0" async: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index af38468..5ce742f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: adaptive_test description: >- A Flutter package to generate adaptive golden files during widget tests. -version: 0.4.1 +version: 0.5.0 homepage: https://github.com/bamlab/adaptive_test repository: https://github.com/bamlab/adaptive_test From 7be2a65af96fa78dbac223ef968f8952cf036d31 Mon Sep 17 00:00:00 2001 From: MaximeRougieux Date: Thu, 16 Nov 2023 12:26:31 +0100 Subject: [PATCH 5/5] docs: :memo: Give details on how to perform the migration to the new format --- CHANGELOG.md | 27 +++++++++++++++++++++++++++ README.md | 30 ++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b795b6e..a31de03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,33 @@ To resolve this, you can either rename the golden files manually or regenerate them. + To ease the migration, we provide a script that will rename your goldens files to the new format: + ```bash + #!/bin/bash + + # Function to rename files in directories named "preview" + rename_files_in_preview() { + # Find directories named "preview" + find . -type d -name "preview" | while read -r dir; do + echo "Processing directory: $dir" + # Find files within these directories + find "$dir" -type f | while read -r file; do + # New filename by replacing ':' with '-' + new_name=$(echo "$file" | sed 's/:/-/g') + if [ "$file" != "$new_name" ]; then + mv "$file" "$new_name" + echo "Renamed $file to $new_name" + fi + done + done + } + + # Call the function + rename_files_in_preview() + ``` + + You can add the script in a `.sh` file and run it from your project root directory. + ## 0.4.1 * fix: Update broken link on README.md diff --git a/README.md b/README.md index 0f29cc4..719b03e 100644 --- a/README.md +++ b/README.md @@ -184,6 +184,36 @@ void main() { } ``` +## Migration to 0.5.x +The 0.5.0 version introduces a new default file name for goldens that doesn't use characters unsupported by Windows file system. + +To ease the migration, we provide a script that will rename your goldens files to the new format: +```bash +#!/bin/bash + +# Function to rename files in directories named "preview" +rename_files_in_preview() { + # Find directories named "preview" + find . -type d -name "preview" | while read -r dir; do + echo "Processing directory: $dir" + # Find files within these directories + find "$dir" -type f | while read -r file; do + # New filename by replacing ':' with '-' + new_name=$(echo "$file" | sed 's/:/-/g') + if [ "$file" != "$new_name" ]; then + mv "$file" "$new_name" + echo "Renamed $file to $new_name" + fi + done + done +} + +# Call the function +rename_files_in_preview() +``` + +You can add the script in a `.sh` file and run it from your project root directory. + ## Additional information This package is still in early stage of development.