Functional tests stub

This commit is contained in:
Kagami Hiiragi 2015-02-02 18:30:05 +03:00
parent edf254c6e5
commit 5e85ae4ab7
8 changed files with 54 additions and 9 deletions

View File

@ -1,5 +1,6 @@
process.env.CHROME_BIN = "chromium-browser";
var allTests = process.env.ALL_TESTS === "1";
if (process.env.TEST_MODE !== "unit") require("./tests/run-test-nodes.js")();
module.exports = function(config) {
config.set({
@ -14,18 +15,19 @@ module.exports = function(config) {
// list of files / patterns to load in the browser
files: ["test.js"],
files: ["tests/index.js"],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
"test.js": ["browserify", "env"],
"tests/index.js": ["browserify", "env"],
},
envPreprocessor: [
"ALL_TESTS",
"TEST_MODE",
],

View File

@ -9,7 +9,7 @@
var inherits = require("inherits");
var EventEmitter = require("events").EventEmitter;
var PPromise = require("./platform").Promise;
var PPromise = require("../platform").Promise;
/**
* Network transport base class.

View File

@ -1 +1 @@
throw new Error("Not implemented");
throw new Error("TCP transport is not supported by Browser platform");

View File

@ -11,10 +11,13 @@
},
"scripts": {
"install": "node-gyp rebuild || exit 0",
"test": "ALL_TESTS=1 mocha && ALL_TESTS=1 xvfb-run -a karma start --browsers Chromium && ALL_TESTS=1 xvfb-run -a karma start --browsers Firefox && jshint .",
"m": "mocha",
"k": "xvfb-run -a karma start",
"test": "ALL_TESTS=1 mocha tests/index.js && ALL_TESTS=1 xvfb-run -a karma start --browsers Chromium && ALL_TESTS=1 xvfb-run -a karma start --browsers Firefox && jshint .",
"m": "mocha tests/index.js",
"mu": "TEST_MODE=unit mocha tests/index.js",
"mf": "TEST_MODE=functional mocha tests/index.js",
"kc": "xvfb-run -a karma start --browsers Chromium",
"kcu": "TEST_MODE=unit xvfb-run -a karma start --browsers Chromium",
"kcf": "TEST_MODE=functional xvfb-run -a karma start --browsers Chromium",
"kf": "xvfb-run -a karma start --browsers Firefox",
"j": "jshint .",
"d": "jsdoc -c jsdoc.json",

16
tests/functional.js Normal file
View File

@ -0,0 +1,16 @@
var bitmessage = require("../lib");
var structs = bitmessage.structs;
var message = structs.message;
// var WsTransport = require("../lib/net/ws").Transport;
if (!process.browser) {
var TcpTransport = require("../lib/net/tcp").Transport;
describe("TCP transport", function() {
it("should allow to communicate between two nodes");
});
}
describe("WebSocket transport", function() {
it("should allow to communicate between two nodes");
});

17
tests/index.js Normal file
View File

@ -0,0 +1,17 @@
var testMode = (global.__env__ || process.env).TEST_MODE;
if (testMode !== "functional") {
describe("Unit tests", function() {
require("./unit");
});
}
if (testMode !== "unit") {
// For Browser tests nodes are runned from karma.conf.js because we
// are _already_ in browser context here.
if (!process.browser) require("./run-test-nodes.js")();
describe("Functional tests", function() {
require("./functional");
});
}

7
tests/run-test-nodes.js Normal file
View File

@ -0,0 +1,7 @@
// Run test nodes for all known transports so we can test library in
// functional test suites. Stop nodes when testing is complete.
// Note that this file is executed only on Node.js platform.
module.exports = function() {
};

View File

@ -2,8 +2,8 @@ var expect = require("chai").expect;
var allTests = (global.__env__ || process.env).ALL_TESTS === "1";
var bufferEqual = require("buffer-equal");
var bitmessage = require("./lib");
var bmcrypto = require("./lib/crypto");
var bitmessage = require("../lib");
var bmcrypto = require("../lib/crypto");
var structs = bitmessage.structs;
var message = structs.message;
var object = structs.object;