diff --git a/platform/darwin/src/MLNImageSource.h b/platform/darwin/src/MLNImageSource.h index bce6a2b8c..5edddb3db 100644 --- a/platform/darwin/src/MLNImageSource.h +++ b/platform/darwin/src/MLNImageSource.h @@ -81,6 +81,13 @@ MLN_EXPORT */ @property (nonatomic, copy, nullable)NSURL *URL; +/** + Sets the URL for the image source, performing necessary validations. + + @param url The URL to set for the image source. + */ +- (void)setURL:(NSURL *)url; + /** The source image. diff --git a/platform/darwin/test/MLNImageSourceTests.m b/platform/darwin/test/MLNImageSourceTests.m index 6b1401455..c9a3dc1b1 100644 --- a/platform/darwin/test/MLNImageSourceTests.m +++ b/platform/darwin/test/MLNImageSourceTests.m @@ -39,4 +39,19 @@ XCTAssertNil(source.URL); } +- (void)testMLNImageSourceSetURL { + // Create a test instance of MLNImageSource + MLNCoordinateQuad quad = { { 80, 37}, { 81, 37}, { 81, 39}, { 80, 39}}; + MLNImageSource *source = [[MLNImageSource alloc] initWithIdentifier:@"source-id" coordinateQuad:quad URL:[NSURL URLWithString:@"http://host/image.png"]]; + + // Set the URL using setURL + NSURL *testURL = [NSURL URLWithString:@"http://host/image1.png"]; + [source setURL:testURL]; + + // Assert that the URL is set correctly + XCTAssertNotNil(source.URL); + XCTAssertEqualObjects(source.URL.absoluteString, @"http://host/image1.png"); + XCTAssertNil(source.image); +} + @end