Skip to content

Commit bcbe72a

Browse files
committed
Added test case about SVG image
1 parent e665fb5 commit bcbe72a

File tree

3 files changed

+31
-0
lines changed

3 files changed

+31
-0
lines changed

Tests/SDWebImage Tests.xcodeproj/project.pbxproj

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,10 @@
125125
3299228D2365DC6C00EAFD97 /* TestImageAnimated.apng in Resources */ = {isa = PBXBuildFile; fileRef = 327054E1206CEFF3006EA328 /* TestImageAnimated.apng */; };
126126
3299228E2365DC6C00EAFD97 /* TestImageAnimated.heic in Resources */ = {isa = PBXBuildFile; fileRef = 3297A09E23374D1600814590 /* TestImageAnimated.heic */; };
127127
32A571562037DB2D002EDAAE /* SDAnimatedImageTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 32A571552037DB2D002EDAAE /* SDAnimatedImageTest.m */; };
128+
32B4A4802C082A160004E42C /* TestImage.svg in Resources */ = {isa = PBXBuildFile; fileRef = 32B4A47F2C082A160004E42C /* TestImage.svg */; };
129+
32B4A4812C082A160004E42C /* TestImage.svg in Resources */ = {isa = PBXBuildFile; fileRef = 32B4A47F2C082A160004E42C /* TestImage.svg */; };
130+
32B4A4822C082A160004E42C /* TestImage.svg in Resources */ = {isa = PBXBuildFile; fileRef = 32B4A47F2C082A160004E42C /* TestImage.svg */; };
131+
32B4A4832C082A160004E42C /* TestImage.svg in Resources */ = {isa = PBXBuildFile; fileRef = 32B4A47F2C082A160004E42C /* TestImage.svg */; };
128132
32B99E8B203AF8690017FD66 /* SDCategoriesTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B99E8A203AF8690017FD66 /* SDCategoriesTests.m */; };
129133
32B99E9B203B2EDD0017FD66 /* SDTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D7AF05F1F329763000083C2 /* SDTestCase.m */; };
130134
32B99E9C203B2EE40017FD66 /* SDCategoriesTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B99E8A203AF8690017FD66 /* SDCategoriesTests.m */; };
@@ -208,6 +212,7 @@
208212
3299222A2365D9A100EAFD97 /* Tests TV.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests TV.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
209213
3299222E2365D9A100EAFD97 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
210214
32A571552037DB2D002EDAAE /* SDAnimatedImageTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDAnimatedImageTest.m; sourceTree = "<group>"; };
215+
32B4A47F2C082A160004E42C /* TestImage.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TestImage.svg; sourceTree = "<group>"; };
211216
32B99E8A203AF8690017FD66 /* SDCategoriesTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDCategoriesTests.m; sourceTree = "<group>"; };
212217
32B99E92203B2DF90017FD66 /* Tests Mac.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests Mac.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
213218
32B99E96203B2DF90017FD66 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
@@ -351,6 +356,7 @@
351356
32905E63211D786E00460FCF /* TestImage.heif */,
352357
3234306123E2BAC800C290C8 /* TestImage.pdf */,
353358
32F788A2290D252200B57A1C /* TestImage.nef */,
359+
32B4A47F2C082A160004E42C /* TestImage.svg */,
354360
327054E1206CEFF3006EA328 /* TestImageAnimated.apng */,
355361
3297A09E23374D1600814590 /* TestImageAnimated.heic */,
356362
32515F9824AF1919005E8F79 /* TestImageAnimated.webp */,
@@ -599,6 +605,7 @@
599605
32464A9E2B7B1833006BE70E /* TestImageAnimated.webp in Resources */,
600606
32464A972B7B1833006BE70E /* TestImage.bmp in Resources */,
601607
32464AA32B7B1833006BE70E /* TestImage.heif in Resources */,
608+
32B4A4832C082A160004E42C /* TestImage.svg in Resources */,
602609
32464AA12B7B1833006BE70E /* MonochromeTestImage.jpg in Resources */,
603610
32464AA42B7B1833006BE70E /* TestImageLarge.png in Resources */,
604611
32464A962B7B1833006BE70E /* TestImage.gif in Resources */,
@@ -628,6 +635,7 @@
628635
3278F5E42B04C1AC0004A6EE /* IndexedPNG.png in Resources */,
629636
329922842365DC6C00EAFD97 /* MonochromeTestImage.jpg in Resources */,
630637
329922882365DC6C00EAFD97 /* TestImage.jpg in Resources */,
638+
32B4A4822C082A160004E42C /* TestImage.svg in Resources */,
631639
32515F9E24AF1919005E8F79 /* TestImageAnimated.webp in Resources */,
632640
3299228E2365DC6C00EAFD97 /* TestImageAnimated.heic in Resources */,
633641
32515F9B24AF1919005E8F79 /* TestImageStatic.webp in Resources */,
@@ -657,6 +665,7 @@
657665
3278F5E32B04C1AC0004A6EE /* IndexedPNG.png in Resources */,
658666
32B99EA2203B31360017FD66 /* MonochromeTestImage.jpg in Resources */,
659667
32905E65211D786E00460FCF /* TestImage.heif in Resources */,
668+
32B4A4812C082A160004E42C /* TestImage.svg in Resources */,
660669
32515F9D24AF1919005E8F79 /* TestImageAnimated.webp in Resources */,
661670
327A418D211D660600495442 /* TestImage.heic in Resources */,
662671
32515F9A24AF1919005E8F79 /* TestImageStatic.webp in Resources */,
@@ -686,6 +695,7 @@
686695
3278F5E22B04C1AC0004A6EE /* IndexedPNG.png in Resources */,
687696
3297A09F23374D1700814590 /* TestImageAnimated.heic in Resources */,
688697
327054E2206CEFF3006EA328 /* TestImageAnimated.apng in Resources */,
698+
32B4A4802C082A160004E42C /* TestImage.svg in Resources */,
689699
32515F9C24AF1919005E8F79 /* TestImageAnimated.webp in Resources */,
690700
326E69472334C0C300B7252C /* TestLoopCount.gif in Resources */,
691701
32515F9924AF1919005E8F79 /* TestImageStatic.webp in Resources */,

Tests/Tests/Images/TestImage.svg

Lines changed: 4 additions & 0 deletions
Loading

Tests/Tests/SDImageCoderTests.m

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,23 @@ - (void)test30ThatImageIOPNGPluginBuggyWorkaround {
575575
expect(a1).beCloseToWithin(0.33, 0.01);
576576
}
577577

578+
- (void)test31ThatSVGShouldUseNativeImageClass {
579+
NSURL *url = [[NSBundle bundleForClass:[self class]] URLForResource:@"TestImage" withExtension:@"svg"];
580+
NSData *data = [NSData dataWithContentsOfURL:url];
581+
SDAnimatedImage *animatedImage = [SDAnimatedImage imageWithData:data];
582+
expect(animatedImage).beNil();
583+
UIImage *image = [UIImage sd_imageWithData:data];
584+
Class SVGCoderClass = NSClassFromString(@"SDImageSVGCoder");
585+
if (SVGCoderClass && [SVGCoderClass sharedCoder]) {
586+
expect(image).notTo.beNil();
587+
// Vector version
588+
expect(image.sd_isVector).beTruthy();
589+
} else {
590+
// Platform does not support SVG
591+
expect(image).beNil();
592+
}
593+
}
594+
578595
#pragma mark - Utils
579596

580597
- (void)verifyCoder:(id<SDImageCoder>)coder

0 commit comments

Comments
 (0)