diff options
Diffstat (limited to 'platform/darwin/test')
-rw-r--r-- | platform/darwin/test/MGLDocumentationExampleTests.swift | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/platform/darwin/test/MGLDocumentationExampleTests.swift b/platform/darwin/test/MGLDocumentationExampleTests.swift index 8762af9ba4..668e5f57f8 100644 --- a/platform/darwin/test/MGLDocumentationExampleTests.swift +++ b/platform/darwin/test/MGLDocumentationExampleTests.swift @@ -27,11 +27,11 @@ import Mapbox class MGLDocumentationExampleTests: XCTestCase, MGLMapViewDelegate { var mapView: MGLMapView! var styleLoadingExpectation: XCTestExpectation! + static let styleURL = Bundle(for: MGLDocumentationExampleTests.self).url(forResource: "one-liner", withExtension: "json")! override func setUp() { super.setUp() - let styleURL = Bundle(for: MGLDocumentationExampleTests.self).url(forResource: "one-liner", withExtension: "json") - mapView = MGLMapView(frame: CGRect(x: 0, y: 0, width: 256, height: 256), styleURL: styleURL) + mapView = MGLMapView(frame: CGRect(x: 0, y: 0, width: 256, height: 256), styleURL: MGLDocumentationExampleTests.styleURL) mapView.delegate = self styleLoadingExpectation = expectation(description: "Map view should finish loading style") waitForExpectations(timeout: 1, handler: nil) @@ -279,6 +279,27 @@ class MGLDocumentationExampleTests: XCTestCase, MGLMapViewDelegate { } func testMGLMapSnapshotter() { + let expectation = self.expectation(description: "MGLMapSnapshotter should produce a snapshot") + #if os(macOS) + var image: NSImage? { + didSet { + expectation.fulfill() + } + } + #else + var image: UIImage? { + didSet { + expectation.fulfill() + } + } + #endif + + class MGLStyle { + static func satelliteStreetsStyleURL() -> URL { + return MGLDocumentationExampleTests.styleURL + } + } + //#-example-code let camera = MGLMapCamera(lookingAtCenter: CLLocationCoordinate2D(latitude: 37.7184, longitude: -122.4365), fromDistance: 100, pitch: 20, heading: 0) @@ -287,13 +308,15 @@ class MGLDocumentationExampleTests: XCTestCase, MGLMapViewDelegate { let snapshotter = MGLMapSnapshotter(options: options) snapshotter.start { (snapshot, error) in - if error != nil { - // error handler - } else { - // image handler + if let error = error { + fatalError(error.localizedDescription) } + + image = snapshot?.image } //#-end-example-code + + wait(for: [expectation], timeout: 1) } // For testMGLMapView(). |