summaryrefslogtreecommitdiff
path: root/platform/ios/Integration Tests/MGLMapViewIntegrationTest.m
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ios/Integration Tests/MGLMapViewIntegrationTest.m')
-rw-r--r--platform/ios/Integration Tests/MGLMapViewIntegrationTest.m25
1 files changed, 25 insertions, 0 deletions
diff --git a/platform/ios/Integration Tests/MGLMapViewIntegrationTest.m b/platform/ios/Integration Tests/MGLMapViewIntegrationTest.m
index c42b8eef89..8fb41d0d11 100644
--- a/platform/ios/Integration Tests/MGLMapViewIntegrationTest.m
+++ b/platform/ios/Integration Tests/MGLMapViewIntegrationTest.m
@@ -1,5 +1,9 @@
#import "MGLMapViewIntegrationTest.h"
+@interface MGLMapView (MGLMapViewIntegrationTest)
+- (void)updateFromDisplayLink;
+@end
+
@implementation MGLMapViewIntegrationTest
- (void)setUp {
@@ -78,6 +82,27 @@
[self waitForExpectations:@[self.renderFinishedExpectation] timeout:timeout];
}
+- (void)waitForExpectations:(NSArray<XCTestExpectation *> *)expectations timeout:(NSTimeInterval)seconds {
+
+ NSTimer *timer;
+
+ if (@available(iOS 10.0, *)) {
+ // We're good.
+ }
+ else if (self.mapView) {
+ // Before iOS 10 it seems that the display link is not called during the
+ // waitForExpectations below
+ timer = [NSTimer scheduledTimerWithTimeInterval:1.0/30.0
+ target:self.mapView
+ selector:@selector(updateFromDisplayLink)
+ userInfo:nil
+ repeats:YES];
+ }
+
+ [super waitForExpectations:expectations timeout:seconds];
+ [timer invalidate];
+}
+
- (MGLStyle *)style {
return self.mapView.style;
}