1 // Copyright 2014 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.
5 var test
= require('test').binding
;
6 var unittestBindings
= require('test_environment_specific_bindings');
8 unittestBindings
.exportTests([
9 function testEnvironment() {
10 test
.assertTrue(!!$Array
);
11 test
.assertTrue(!!$Function
);
12 test
.assertTrue(!!$JSON
);
13 test
.assertTrue(!!$Object
);
14 test
.assertTrue(!!$RegExp
);
15 test
.assertTrue(!!$String
);
16 test
.assertTrue(!!privates
);
17 test
.assertTrue(!!define
);
18 test
.assertTrue(!!require
);
19 test
.assertTrue(!!requireNative
);
20 test
.assertTrue(!!requireAsync
);
21 test
.assertEq(undefined, chrome
.runtime
.lastError
);
22 test
.assertEq(undefined, chrome
.extension
.lastError
);
25 function testPromisesRun() {
26 Promise
.resolve().then(test
.callbackPass());
28 function testCommonModulesAreAvailable() {
29 var binding
= require('binding');
30 var sendRequest
= require('sendRequest');
31 var lastError
= require('lastError');
32 test
.assertTrue(!!binding
);
33 test
.assertTrue(!!sendRequest
);
34 test
.assertTrue(!!lastError
);
37 function testMojoModulesAreAvailable() {
39 requireAsync('mojo/public/js/connection'),
40 requireAsync('mojo/public/js/core'),
41 requireAsync('content/public/renderer/service_provider'),
42 ]).then(test
.callback(function(modules
) {
43 var connection
= modules
[0];
44 var core
= modules
[1];
45 var serviceProvider
= modules
[2];
46 test
.assertTrue(!!connection
.Connection
);
47 test
.assertTrue(!!core
.createMessagePipe
);
48 test
.assertTrue(!!serviceProvider
.connectToService
);
51 function testTestBindings() {
53 function increment() {
56 test
.runWithUserGesture(increment
);
57 test
.runWithoutUserGesture(increment
);
58 test
.runWithModuleSystem(increment
);
59 test
.assertEq(3, counter
);
60 test
.assertFalse(test
.isProcessingUserGesture());
61 test
.assertTrue(!!test
.getApiFeatures());
62 test
.assertEq(0, test
.getApiDefinitions().length
);
65 ], test
.runTests
, exports
);