From f7bd6170a0720ee6e1ddf7baf2482590de976091 Mon Sep 17 00:00:00 2001 From: Daniel Jette Date: Tue, 17 Oct 2023 09:09:33 -0400 Subject: [PATCH] Added a Dialog sample to test as a demonstration of how to capture dialog boxes and also as a regression test for the bug with `setCaptureMethod()` Refactor ComposableScreenshotRule.setCaptureMethod() to call the configure() method. --- CHANGELOG.md | 18 ++++++++- .../dev/testify/ComposableScreenshotRule.kt | 4 +- Plugins/Gradle/jar/Plugin-local.jar | Bin 109202 -> 109202 bytes .../ComposableScreenshotTest_dialog.png | Bin 0 -> 36863 bytes .../compose/ComposableScreenshotTest.kt | 37 +++++++++++++++++- build.gradle | 2 +- 6 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 Samples/Legacy/src/androidTest/assets/screenshots/29-1080x2220@440dp-en_US/ComposableScreenshotTest_dialog.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a9241f2..778073c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,22 @@ # Testify Change Log -## 2.0.0-rc01 +## 2.0.0-rc03 + +### Library + +#### Fixed + +- Refactor ComposableScreenshotRule.setCaptureMethod() to call the configure() method. + +### Legacy Sample + +#### Added + +- Added a Dialog sample to test as a demonstration of how to capture dialog boxes and also as a regression test for the bug with `setCaptureMethod()` + +--- + +## 2.0.0-rc02 ### Library diff --git a/Ext/Compose/src/main/java/dev/testify/ComposableScreenshotRule.kt b/Ext/Compose/src/main/java/dev/testify/ComposableScreenshotRule.kt index 338d45d7..f066b516 100644 --- a/Ext/Compose/src/main/java/dev/testify/ComposableScreenshotRule.kt +++ b/Ext/Compose/src/main/java/dev/testify/ComposableScreenshotRule.kt @@ -68,7 +68,9 @@ open class ComposableScreenshotRule( replaceWith = ReplaceWith("configure { this@configure.captureMethod = captureMethod }") ) override fun setCaptureMethod(captureMethod: CaptureMethod?): ComposableScreenshotRule { - this.captureMethod = captureMethod ?: configuration.captureMethod ?: ::pixelCopyCapture + configure { + this@configure.captureMethod = captureMethod + } return this } diff --git a/Plugins/Gradle/jar/Plugin-local.jar b/Plugins/Gradle/jar/Plugin-local.jar index 419d00bd98045c90916b878c317c61b25a31d6ec..6286161c800f2c265ff7b6ba02714c6ea3ff6175 100644 GIT binary patch delta 1719 zcmXw&e^AqP7{|ZQHs&^9vTHzwL}DewYM67bOr%VVFoknDg5MD9MVy@4d3CY5 zAGj|t7_hMkrd{W#@0nhmU6;^;D+Hrl1&FD2@<*Omq*v|xJRko0yzc${e!kDwH70kB z$rFnTr7{)ADHNQppxBxCpj3Q}`=wd2M;I0#_j|Ai-xHt{-|#p{r3k;sev_f)yi$+v ztkQ%AgDL`=n5(71Y8m`i%5lr)aoke(lm2A>XFDj}l`2)(ln|vXsY#y!MvZFDOAvh8 zy9oMIR!P)io-+r&IyVx>ajtmx7b#hMy%RKHROd@^u8C8-PXCa= zai64doF3Vqbc}h741tIc@%}*$VrNx8IDr)(8bp&Xw8qi3HmP$P^rd= zH%PfTwUeOs$~9a}c+;N=l&AcbkDULTeUp5wclHv@{QDuAgmx*I)na+!rUqU^qfn!T zGCUXITr$ikadT%%Z|u#MaGWJ}Y1wYLyjZxL0l5-|csUDoLwCCy?mWaN1tDIj%mfqV z@!k)+h}2797Dp0PdeGuY35yJ{oHWZSctC|cG_HdjHD2T2(}C2V)EqZIlmE32(uDEN zaGUzPSPgVV!e|}PI6~peaF*s#?Sx4s=9;lW8CBm<4=bqBy9b~~C0$Zb%>VuYtU$r-$$Oi?fH2YoYs3t^)&|cYRM-H2KHg~qJUTvNgAHi9#}1nicGzJx!U;R%Biyn> z2}02k*n-e^1YSf?IN&9OJr1Zw7}ESYH($68N(oSckqc9=0OX@=%2^z{3uN zl`Ty1w!n5&;#%3D<#QmkvQ8JaK_&V$&cRe0Gp+Z+^JwbyvT6SDf&~?GJA;qfp#qhp z4yL@)!M?!h4tN$#av$U&6!_Q*kNcnmFZ8e6KNj=*dmx3suM-|er>&i=*H1g)9aIcm zOtE!=8I|cSC_u>Rh9ZPR-OL&MtdBB3i|Y5YO=$zH*L?vt;iUi+Vz{mco)KBIu7p&Hsl88m#~T delta 1719 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 d@d>w#+aoMfp`+6>%z2<&*VM0OE8l