| // Copyright (c) 2016, 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. |
| |
| // @dart = 2.7 |
| |
| import 'package:async_helper/async_helper.dart'; |
| import 'package:expect/expect.dart'; |
| import 'dart:_foreign_helper' show JS; |
| |
| import 'deferred_custom_loader_lib.dart' deferred as def; |
| |
| void setup() { |
| JS('', r""" |
| (function(){ |
| // In d8 we don't have any way to load the content of the file, so just use |
| // the preamble's loader. |
| if (!self.dartDeferredLibraryLoader) { |
| self.dartDeferredLibraryLoader = function(uri, success, error) { |
| var req = new XMLHttpRequest(); |
| req.addEventListener("load", function() { |
| eval(this.responseText); |
| success(); |
| }); |
| req.open("GET", uri); |
| req.send(); |
| }; |
| } |
| })() |
| """); |
| } |
| |
| runTest() async { |
| setup(); |
| await def.loadLibrary(); |
| Expect.equals(499, def.foo()); |
| } |
| |
| main() { |
| asyncStart(); |
| runTest().then((_) => asyncEnd()); |
| } |