blob: 3bfe87072e94afb4609d98bab19cdb63b7c231ff [file] [log] [blame]
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:js_interop';
import 'dart:js_interop_unsafe';
import 'package:flutter_driver/src/extension/_extension_web.dart';
import 'package:flutter_test/flutter_test.dart';
@JS('window')
external JSObject get _window;
void main() {
group('test web_extension', () {
late Future<Map<String, dynamic>> Function(Map<String, String>) call;
setUp(() {
call = (Map<String, String> args) async {
return Future<Map<String, dynamic>>.value(args);
};
});
test('web_extension should register a function', () {
expect(() => registerWebServiceExtension(call),
returnsNormally);
expect(_window.hasProperty(r'$flutterDriver'.toJS).toDart, true);
expect(_window.getProperty(r'$flutterDriver'.toJS), isNotNull);
expect(_window.hasProperty(r'$flutterDriverResult'.toJS).toDart, true);
expect(_window.getProperty(r'$flutterDriverResult'.toJS), isNull);
});
});
}