39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | /** | ||
|  |  * @license | ||
|  |  * Copyright Google Inc. All Rights Reserved. | ||
|  |  * | ||
|  |  * Use of this source code is governed by an MIT-style license that can be | ||
|  |  * found in the LICENSE file at https://angular.io/license
 | ||
|  |  */ | ||
|  | 
 | ||
|  | import {ifEnvSupports} from '../test-util'; | ||
|  | 
 | ||
|  | function supportsGeolocation() { | ||
|  |   return 'geolocation' in navigator; | ||
|  | } | ||
|  | (<any>supportsGeolocation).message = 'Geolocation'; | ||
|  | 
 | ||
|  | describe('Geolocation', ifEnvSupports(supportsGeolocation, function() { | ||
|  |            const testZone = Zone.current.fork({name: 'geotest'}); | ||
|  | 
 | ||
|  |            it('should work for getCurrentPosition', function(done) { | ||
|  |              testZone.run(function() { | ||
|  |                navigator.geolocation.getCurrentPosition(function(pos) { | ||
|  |                  expect(Zone.current).toBe(testZone); | ||
|  |                  done(); | ||
|  |                }); | ||
|  |              }); | ||
|  |            }, 10000); | ||
|  | 
 | ||
|  |            it('should work for watchPosition', function(done) { | ||
|  |              testZone.run(function() { | ||
|  |                let watchId: number; | ||
|  |                watchId = navigator.geolocation.watchPosition(function(pos) { | ||
|  |                  expect(Zone.current).toBe(testZone); | ||
|  |                  navigator.geolocation.clearWatch(watchId); | ||
|  |                  done(); | ||
|  |                }); | ||
|  |              }); | ||
|  |            }, 10000); | ||
|  |          })); |