Index: chrome/renderer/extensions/module_system_unittest.cc |
diff --git a/chrome/renderer/extensions/module_system_unittest.cc b/chrome/renderer/extensions/module_system_unittest.cc |
index 84ccd7fc1dd0da957e85d4a3c23b710fef643885..ac24fde906a881dc9cd30ed631edcbc7d457f7ed 100644 |
--- a/chrome/renderer/extensions/module_system_unittest.cc |
+++ b/chrome/renderer/extensions/module_system_unittest.cc |
@@ -273,3 +273,25 @@ TEST_F(ModuleSystemTest, TestOverrideNonExistentNativeHandler) { |
"assert.AssertTrue(requireNative('thing').x == 5);"); |
context_->module_system()->Require("test"); |
} |
+ |
+TEST_F(ModuleSystemTest, TestRequireAsync) { |
+ ModuleSystem::NativesEnabledScope natives_enabled_scope( |
+ context_->module_system()); |
+ RegisterModule("add", |
+ "define('add', [], function() {" |
+ " return { Add: function(x, y) { return x + y; } };" |
+ "});"); |
+ RegisterModule("math", |
+ "define('math', ['add'], function(add) {" |
+ " return { Add: add.Add };" |
+ "});"); |
+ RegisterModule("test", |
+ "requireAsync('math').then(function(math) {" |
not at google - send to devlin
2014/07/02 22:07:45
could you also test
- a chain of requireAsync call
Sam McNally
2014/07/03 10:56:53
Done.
Sam McNally
2014/07/07 05:58:37
Added some cross-context tests too.
|
+ " requireNative('assert').AssertTrue(math.Add(3, 5) == 8);" |
+ "});"); |
+ context_->module_system()->Require("test"); |
+ |
+ // The requireAsync promise is resolved asynchronously so we need to let it |
+ // run. |
+ isolate_holder_.isolate()->RunMicrotasks(); |
+} |