DeviceGeolocationMock class

In-memory fake of DeviceGeolocationPlatform for use in tests.

Apps depending on device_geolocation can import this class from package:device_geolocation/testing.dart and install it as the active platform implementation, removing the need to set up mock method channels manually.

import 'package:device_geolocation/device_geolocation.dart';
import 'package:device_geolocation/testing.dart';

void main() {
  late DeviceGeolocationMock mock;

  setUp(() {
    mock = DeviceGeolocationMock.install();
  });

  tearDown(() => mock.reset());

  test('returns the position configured by the test', () async {
    mock.position = mock.makePosition(latitude: 41.0, longitude: 2.0);
    final p = await DeviceGeolocation.getCurrentPosition();
    expect(p.latitude, 41.0);
  });
}
Inheritance
Mixed-in types
  • MockPlatformInterfaceMixin

Constructors

DeviceGeolocationMock()

Properties

accuracy LocationAccuracyStatus
Value returned by getLocationAccuracy.
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
lastForcedLocationManager bool
Whether getLastKnownPosition received forceLocationManager: true the last time it was called.
getter/setter pair
lastKnownPosition Position?
Value returned by getLastKnownPosition.
getter/setter pair
lastLocationSettings LocationSettings?
LocationSettings last passed to getCurrentPosition or getPositionStream. null if no call has been made yet.
getter/setter pair
lastPurposeKey String?
purposeKey last passed to requestTemporaryFullAccuracy.
getter/setter pair
lastRequestedBackground bool
Whether requestPermission received requestBackground: true the last time it was called. Useful for assertions.
getter/setter pair
permission LocationPermission
Current permission state returned by checkPermission / requestPermission.
getter/setter pair
position Position?
Value returned by getCurrentPosition.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
serviceEnabled bool
Value returned by isLocationServiceEnabled.
getter/setter pair
settingsOpened bool
Value returned by openAppSettings and openLocationSettings.
getter/setter pair
temporaryAccuracyResult LocationAccuracyStatus
Value returned by requestTemporaryFullAccuracy.
getter/setter pair

Methods

bearingBetween(double startLatitude, double startLongitude, double endLatitude, double endLongitude) double
Initial bearing (forward azimuth) from start to end coordinates, expressed in degrees.
inherited
checkPermission() Future<LocationPermission>
override
distanceBetween(double startLatitude, double startLongitude, double endLatitude, double endLongitude) double
Great-circle distance between two coordinates in meters (Haversine).
inherited
emitPosition(Position value) → void
Pushes value to active getPositionStream listeners.
emitServiceStatus(ServiceStatus value) → void
Pushes value to active getServiceStatusStream listeners.
getCurrentPosition({LocationSettings? locationSettings}) Future<Position>
override
getLastKnownPosition({bool forceLocationManager = false}) Future<Position?>
override
getLocationAccuracy() Future<LocationAccuracyStatus>
override
getPositionStream({LocationSettings? locationSettings}) Stream<Position>
override
getServiceStatusStream() Stream<ServiceStatus>
override
isLocationServiceEnabled() Future<bool>
override
makePosition({double latitude = 0, double longitude = 0, DateTime? timestamp, double accuracy = 0, double altitude = 0, double altitudeAccuracy = 0, double heading = 0, double headingAccuracy = 0, double speed = 0, double speedAccuracy = 0, int? floor, bool isMocked = true}) Position
Convenience constructor for a Position with sensible defaults.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
openAppSettings() Future<bool>
override
openLocationSettings() Future<bool>
override
requestPermission({bool requestBackground = false}) Future<LocationPermission>
override
requestTemporaryFullAccuracy({required String purposeKey}) Future<LocationAccuracyStatus>
override
reset() Future<void>
Resets all configured state and closes active stream controllers.
setPosition(Position value, {bool alsoLastKnown = true}) → void
Sets position (and lastKnownPosition when alsoLastKnown is true).
throwOnNext(Object error) → void
Causes the next platform call to throw error.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

install() DeviceGeolocationMock
Installs a fresh DeviceGeolocationMock as the active platform implementation and returns it.