From aa46622b0b280a81672f5f09d92c052ec756223e Mon Sep 17 00:00:00 2001 From: stuartmorgan Date: Thu, 14 Sep 2023 15:45:45 -0700 Subject: [PATCH] [ios_platform_images] Add extension tests (#4925) Adds test coverage of the UIImage class extension that allows native code to load Flutter assets by name. --- .../example/assets/2.0x/multisize.png | Bin 0 -> 2067 bytes .../example/assets/monosize.png | Bin 0 -> 6671 bytes .../example/assets/multisize.png | Bin 0 -> 6671 bytes .../ios/Runner.xcodeproj/project.pbxproj | 39 +++++++++++++--- .../UIImage+ios_platform_imagesTests.m | 43 ++++++++++++++++++ .../ios_platform_images/example/pubspec.yaml | 2 + 6 files changed, 78 insertions(+), 6 deletions(-) create mode 100644 packages/ios_platform_images/example/assets/2.0x/multisize.png create mode 100644 packages/ios_platform_images/example/assets/monosize.png create mode 100644 packages/ios_platform_images/example/assets/multisize.png create mode 100644 packages/ios_platform_images/example/ios/RunnerTests/UIImage+ios_platform_imagesTests.m diff --git a/packages/ios_platform_images/example/assets/2.0x/multisize.png b/packages/ios_platform_images/example/assets/2.0x/multisize.png new file mode 100644 index 0000000000000000000000000000000000000000..508b77122d87d9b350dcbca594a4f42798004abe GIT binary patch literal 2067 zcmV+u2<-QXP)->Hg&S|Dxso(enPUOP8*|*U0bw z)bRh_^Z&`$=Joym0LlH;^!^{E;|xTO4nT_#Jc_Q_^8i1OonL+<000L*Nkl~C=`sw$Dja7 z0x3A#6-q(5c7;kPk~vWp3vo#- zifrRs37bMn&J@|kA0?3}&=MEQ{1;itGy>(cT@aEO6zRrKZ4~weOuF&!?{yYVk>0K$ z#kch+l3;~5mze&zCwci%6PB79cglZ5S8E`Dc>MM05-Uy89LAyolsd;|(e;|YoD ze!*;4a45hMN6G?65*Ui`$(>Q+M!{)(CC??7pNfHvu0xA=` zL{EWgyiX`+3RdI8LP3;xQLq~C6G{fz_<&H*8t)^?ARAAt7dsS8iAN}Cjps;63S8p} z2`?19o^XmnQD7zR>jk%6to5QOaEy@rVrHn^{*Z9m=BHMU_WM-2n6uj*kjf7qF9DM8vU+QEYWNi+-t1XH4Q7$EAiFn~nQNJ(N; zm?2=>~g^ z!fgD@D&GA4aFMKi5EO)+$;)bSrycbpv73)H)J*f$tH+LH>L}1b*pe@95+kKA@tPqd zj>IvPu4EMp5@)+yBzXi01#xJ+o5T>xB6z!KNtEq!TCZRU2@#OwfsLmfSCkk+=}11V z=8+&0lDs3COunvNELw+yWNnl> zxn?Gw5--b~FS%VNK9;$Ied&B= z0dOYGJR2?D&yk3gi9=DGB&Hpk&wV6PndmKZWsnbWN^x01Ad zp(S5kCA8&s5}n0ILhaZsCG?K1{3NP{hFncTS-d5E%grT2i|2N!eG!nTeF>3tEFzMA zE@6`Q9n(OrF6mkVdeX7TNiLQMlE&gBd9eR|9+u$kdhd&%l63d$#ut4`syn7^S35epzbolj%95~PcfXcY+o9$7$MA^^xciNy8d{DL;xdN&%wJ1(6>Xs$ zbzM;J`;DZfs21AMT%d~*a>q7@e|Edpva31}ouif11K9nOq?Zd_kS+w#(r#DBQW+f` zNr85MIcL&Z>J2k2mLjRUk7U^#zCT?kHb)Nv*8N8E#B~fLNPTG~&Fm_>gOU^lNG^3x z-uC;a{f^@xAt-&RGkM#;?S{v94iXGYE1?eWTp$qLzdwAhm=2=^p!@&+;5y8ZB|!Io z-^Y^3_l0LM@7C#Mc?)C5SQ3ElTXSJTnvw3l*-v*&0ISy7XArh$W2SJc5R)|$nmJof30fDgCAv{S5a7_+`6qmz)aEopK z%I-j0_>qA3#d=97)j_pbuWbVf=#Ke7AnujU5L$v~Vca)05{PI17?B)b`vGHNJjs|O x1a_8;xD9g_Q5#kBwc002ovPDHLkV1m-}*;W7m literal 0 HcmV?d00001 diff --git a/packages/ios_platform_images/example/assets/monosize.png b/packages/ios_platform_images/example/assets/monosize.png new file mode 100644 index 0000000000000000000000000000000000000000..28e7367f145164ac48c75729a89ac8fde595ada5 GIT binary patch literal 6671 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 1.0) { + XCTAssertEqualWithAccuracy(image.size.height, height2x, 0.00001); + } else { + XCTAssertEqualWithAccuracy(image.size.height, height1x, 0.00001); + } +} + +- (void)testSingleResolutionFindsImage { + // When there is no resolution-aware asset, the main asset should be used. + UIImage *image = [UIImage flutterImageWithName:@"assets/monosize.png"]; + XCTAssertNotNil(image); +} + +- (void)testMissingImageReturnsNil { + UIImage *image = [UIImage flutterImageWithName:@"assets/no_such_image.png"]; + XCTAssertNil(image); +} + +@end diff --git a/packages/ios_platform_images/example/pubspec.yaml b/packages/ios_platform_images/example/pubspec.yaml index 6674a3a04ae1..f8511e6e9c18 100644 --- a/packages/ios_platform_images/example/pubspec.yaml +++ b/packages/ios_platform_images/example/pubspec.yaml @@ -25,4 +25,6 @@ dev_dependencies: sdk: flutter flutter: + assets: + - assets/ uses-material-design: true