Files
sdk/tests/html/interactive_test.dart
T
blois@google.com d8265d81a5 Fixing Geolocation on Firefox
For position, Firefox is returning an object which doesn't map nicely, so added a wrapper for that.

Also cleaned up the APIs to make them more dart-friendly.

BUG=7547

Review URL: https://codereview.chromium.org//12274002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18723 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-19 21:18:36 +00:00

66 lines
1.8 KiB
Dart

// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
library interactive_test;
import 'dart:async';
import 'dart:html';
import '../../pkg/unittest/lib/unittest.dart';
import '../../pkg/unittest/lib/html_individual_config.dart';
import 'utils.dart';
main() {
useHtmlIndividualConfiguration();
group('Geolocation', () {
futureTest('getCurrentPosition', () {
return window.navigator.geolocation.getCurrentPosition().then(
(position) {
expect(position.coords.latitude, isNotNull);
expect(position.coords.longitude, isNotNull);
expect(position.coords.accuracy, isNotNull);
});
});
futureTest('watchPosition', () {
return window.navigator.geolocation.watchPosition().first.then(
(position) {
expect(position.coords.latitude, isNotNull);
expect(position.coords.longitude, isNotNull);
expect(position.coords.accuracy, isNotNull);
});
});
});
group('MediaStream', () {
if (MediaStream.supported) {
futureTest('getUserMedia', () {
return window.navigator.getUserMedia(video: true).then((stream) {
expect(stream, isNotNull);
var url = Url.createObjectUrl(stream);
expect(url, isNotNull);
var video = new VideoElement()
..autoplay = true;
var completer = new Completer();
video.onError.listen((e) {
completer.completeError(e);
});
video.onPlaying.first.then((e) {
completer.complete(video);
});
document.body.append(video);
video.src = url;
return completer.future;
});
});
}
});
}