blob: 77a9cb2dabbab15341dc115658a207a3509bfe96 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
var test = require('test').binding;
var unittestBindings = require('test_environment_specific_bindings');
unittestBindings.exportTests([
function testEnvironment() {
test.assertTrue(!!$Array);
test.assertTrue(!!$Function);
test.assertTrue(!!$JSON);
test.assertTrue(!!$Object);
test.assertTrue(!!$RegExp);
test.assertTrue(!!$String);
test.assertTrue(!!privates);
test.assertTrue(!!define);
test.assertTrue(!!require);
test.assertTrue(!!requireNative);
test.assertTrue(!!requireAsync);
test.assertEq(undefined, chrome.runtime.lastError);
test.assertEq(undefined, chrome.extension.lastError);
test.succeed();
},
function testPromisesRun() {
Promise.resolve().then(test.callbackPass());
},
function testCommonModulesAreAvailable() {
var binding = require('binding');
var sendRequest = require('sendRequest');
var lastError = require('lastError');
test.assertTrue(!!binding);
test.assertTrue(!!sendRequest);
test.assertTrue(!!lastError);
test.succeed();
},
function testMojoModulesAreAvailable() {
Promise.all([
requireAsync('mojo/public/js/connection'),
requireAsync('mojo/public/js/core'),
requireAsync('content/public/renderer/frame_service_registry'),
]).then(test.callback(function(modules) {
var connection = modules[0];
var core = modules[1];
var serviceProvider = modules[2];
test.assertTrue(!!connection.Connection);
test.assertTrue(!!core.createMessagePipe);
test.assertTrue(!!serviceProvider.connectToService);
}));
},
function testTestBindings() {
var counter = 0;
function increment() {
counter++;
}
test.runWithUserGesture(increment);
test.runWithoutUserGesture(increment);
test.runWithNativesEnabled(increment);
test.assertEq(3, counter);
test.assertFalse(test.isProcessingUserGesture());
test.assertTrue(!!test.getApiFeatures());
test.assertEq(0, test.getApiDefinitions().length);
test.succeed();
}
], test.runTests, exports);