1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
7 let mojoPrivate
= require('mojoPrivate').binding
;
8 let test
= require('test').binding
;
9 let unittestBindings
= require('test_environment_specific_bindings');
11 unittestBindings
.exportTests([
12 function testDefine() {
13 mojoPrivate
.define('testModule', [
14 'mojo/public/js/codec',
15 ], test
.callbackPass(function(codec
) {
16 test
.assertEq('function', typeof codec
.Message
);
20 function testDefineRegistersModule() {
21 mojoPrivate
.define('testModule', ['dependency'],
22 test
.callbackPass(function(module
) {
23 test
.assertEq(12345, module
.result
);
25 mojoPrivate
.define('dependency', test
.callbackPass(function() {
26 return {result
: 12345};
30 function testDefineModuleDoesNotExist() {
31 mojoPrivate
.define('testModule', ['does not exist!'], test
.fail
);
35 function testRequireAsync() {
36 mojoPrivate
.requireAsync('mojo/public/js/codec').then(
37 test
.callbackPass(function(codec
) {
38 test
.assertEq('function', typeof codec
.Message
);
42 function testDefineAndRequire() {
43 mojoPrivate
.define('testModule', ['dependency'],
44 test
.callbackPass(function(module
) {
45 test
.assertEq(12345, module
.result
);
47 mojoPrivate
.define('dependency', test
.callbackPass(function() {
48 return {result
: 12345};
50 mojoPrivate
.requireAsync('dependency').then(
54 ], test
.runTests
, exports
);