summaryrefslogtreecommitdiff
path: root/platform/ios/Integration Tests/MGLTestLocationManager.m
diff options
context:
space:
mode:
authorNadia Barbosa <nadiabarbosa@me.com>2018-09-17 15:45:22 -0700
committerNadia Barbosa <captainbarbosa@users.noreply.github.com>2018-10-02 18:28:53 -0400
commit7b243392e366907b35f819ac2d416475287d74ea (patch)
tree14d6ab0d322a9d33c51c903cbf0d1e90ac33ccd3 /platform/ios/Integration Tests/MGLTestLocationManager.m
parent41dd886ce5e0b20657d7b859b775949055129906 (diff)
downloadqtlocation-mapboxgl-7b243392e366907b35f819ac2d416475287d74ea.tar.gz
[ios] Add delegate method to specify the user location annotation’s position
Update method name More API drafting Add deprecation flag Add Swift delegate integration test Update method name and documentation Update deprecation notices Update method name Offset anchor point relative to contentFrame Update docs Only run through switch statement if delegate is unimplemented Account for content inset + refactor logic Adjust edgePaddingForFollowing Fix Swift delegate integration test Set up integration test Set up test location manager . Remove unused file reference from test Return CGPoint value from delegate method within integration test setup Test anchor points Make updateUserLocationAnnotationView public Refactor test Update test location manager Changelog entry Doc fixes
Diffstat (limited to 'platform/ios/Integration Tests/MGLTestLocationManager.m')
-rw-r--r--platform/ios/Integration Tests/MGLTestLocationManager.m44
1 files changed, 44 insertions, 0 deletions
diff --git a/platform/ios/Integration Tests/MGLTestLocationManager.m b/platform/ios/Integration Tests/MGLTestLocationManager.m
new file mode 100644
index 0000000000..f9a5a8650f
--- /dev/null
+++ b/platform/ios/Integration Tests/MGLTestLocationManager.m
@@ -0,0 +1,44 @@
+#import "MGLTestLocationManager.h"
+
+// Used to supply integration tests with a simulated location manager.
+// Methods that are empty are not used within integration tests and are
+// therefore unimplemented.
+
+@implementation MGLTestLocationManager
+
+@synthesize delegate;
+
+- (CLAuthorizationStatus)authorizationStatus { return kCLAuthorizationStatusAuthorizedAlways; }
+
+- (void)setHeadingOrientation:(CLDeviceOrientation)headingOrientation { }
+
+- (CLDeviceOrientation)headingOrientation { return 90; }
+
+- (void)requestAlwaysAuthorization { }
+
+- (void)requestWhenInUseAuthorization { }
+
+- (void)startUpdatingHeading { }
+
+// Simulate one location update
+- (void)startUpdatingLocation
+{
+ if ([self.delegate respondsToSelector:@selector(locationManager:didUpdateLocations:)]) {
+ CLLocation *location = [[CLLocation alloc] initWithLatitude:37.787357 longitude:-122.39899];
+ [self.delegate locationManager:self didUpdateLocations:@[location]];
+ }
+}
+
+- (void)stopUpdatingHeading { }
+
+- (void)stopUpdatingLocation { }
+
+- (void)dismissHeadingCalibrationDisplay { }
+
+- (void)dealloc { self.delegate = nil; }
+
+- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading { }
+
+- (BOOL)locationManagerShouldDisplayHeadingCalibration:(CLLocationManager *)manager { return NO; }
+
+@end