kopia lustrzana https://github.com/c9/core
Merge branch 'master' of github.com:c9/newclient
commit
4c3e3af194
|
@ -0,0 +1,31 @@
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var _ = require("lodash");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Substract all values of used from quota + extra
|
||||||
|
* This is the so-called "uncountedQuota" logic.
|
||||||
|
*/
|
||||||
|
function available(quota, used, extra) {
|
||||||
|
var keys = _.union(_.keys(quota), _.keys(used));
|
||||||
|
|
||||||
|
extra = extra || {};
|
||||||
|
|
||||||
|
return keys.reduce(function(available, key) {
|
||||||
|
available[key] = quota[key] || 0;
|
||||||
|
extra[key] = extra[key] || 0;
|
||||||
|
|
||||||
|
if (!used[key])
|
||||||
|
return available;
|
||||||
|
|
||||||
|
var needed = used[key] - extra[key];
|
||||||
|
|
||||||
|
if (!needed)
|
||||||
|
return available;
|
||||||
|
|
||||||
|
available[key] = available[key] - needed;
|
||||||
|
return available;
|
||||||
|
}, {});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = available;
|
|
@ -0,0 +1,117 @@
|
||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
"use server";
|
||||||
|
|
||||||
|
require("c9/setup_paths");
|
||||||
|
require("c9/inline-mocha")(module);
|
||||||
|
|
||||||
|
var assert = require("assert-diff");
|
||||||
|
var available = require("./available");
|
||||||
|
|
||||||
|
describe(__filename, function() {
|
||||||
|
it("Should do basic math for shared keys in the input", function() {
|
||||||
|
var cases = [{
|
||||||
|
label: "When total < used",
|
||||||
|
total: {
|
||||||
|
ram: 10,
|
||||||
|
disk: 5,
|
||||||
|
},
|
||||||
|
used: {
|
||||||
|
ram: 20,
|
||||||
|
disk: 5,
|
||||||
|
},
|
||||||
|
avail: {
|
||||||
|
ram: -10,
|
||||||
|
disk: 0
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
label: "When keys in total not in used",
|
||||||
|
total: {
|
||||||
|
ram: 10,
|
||||||
|
disk: 5,
|
||||||
|
foo: 10,
|
||||||
|
},
|
||||||
|
used: {
|
||||||
|
ram: 10,
|
||||||
|
disk: 5,
|
||||||
|
},
|
||||||
|
avail: {
|
||||||
|
ram: 0,
|
||||||
|
disk: 0,
|
||||||
|
foo: 10
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
label: "When keys in used not in total",
|
||||||
|
total: {
|
||||||
|
ram: 10,
|
||||||
|
disk: 5,
|
||||||
|
},
|
||||||
|
used: {
|
||||||
|
foo: 10,
|
||||||
|
ram: 10,
|
||||||
|
disk: 5,
|
||||||
|
},
|
||||||
|
avail: {
|
||||||
|
ram: 0,
|
||||||
|
disk: 0,
|
||||||
|
foo: -10
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
label: "When all looks normal",
|
||||||
|
total: {
|
||||||
|
ram: 10,
|
||||||
|
disk: 5,
|
||||||
|
},
|
||||||
|
used: {
|
||||||
|
ram: 5,
|
||||||
|
disk: 2,
|
||||||
|
},
|
||||||
|
avail: {
|
||||||
|
ram: 5,
|
||||||
|
disk: 3,
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
label: "With a little extra",
|
||||||
|
total: {
|
||||||
|
ram: 10,
|
||||||
|
disk: 6,
|
||||||
|
},
|
||||||
|
used: {
|
||||||
|
ram: 10,
|
||||||
|
disk: 5,
|
||||||
|
},
|
||||||
|
extra: {
|
||||||
|
ram: 3,
|
||||||
|
disk: 3
|
||||||
|
},
|
||||||
|
avail: {
|
||||||
|
ram: 3,
|
||||||
|
disk: 4,
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
label: "But extra is not more",
|
||||||
|
total: {
|
||||||
|
ram: 10,
|
||||||
|
disk: 10,
|
||||||
|
},
|
||||||
|
used: {
|
||||||
|
ram: 5,
|
||||||
|
disk: 5,
|
||||||
|
},
|
||||||
|
extra: {
|
||||||
|
ram: 5,
|
||||||
|
disk: 3
|
||||||
|
},
|
||||||
|
avail: {
|
||||||
|
ram: 10,
|
||||||
|
disk: 8,
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
|
||||||
|
cases.forEach(function(testCase) {
|
||||||
|
var avail = available(testCase.total, testCase.used, testCase.extra);
|
||||||
|
assert.deepEqual(avail, testCase.avail, testCase.label);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,22 @@
|
||||||
|
if (define === undefined) {
|
||||||
|
var define = function(fn) {
|
||||||
|
fn(require, exports, module);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
define(function(require, exports, module) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var internalTestNames = ["c9test", "c9 test"];
|
||||||
|
var regex = new RegExp("^(" + internalTestNames.join("|") + ")+");
|
||||||
|
|
||||||
|
function hasInternalTestName(user) {
|
||||||
|
if (!user.name && !user.username) return false;
|
||||||
|
|
||||||
|
var testedName = user.name ? user.name : user.username;
|
||||||
|
|
||||||
|
return regex.test(testedName);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = hasInternalTestName;
|
||||||
|
});
|
|
@ -0,0 +1,44 @@
|
||||||
|
"use strict";
|
||||||
|
"use mocha";
|
||||||
|
|
||||||
|
require("c9/inline-mocha")(module);
|
||||||
|
var assert = require("assert");
|
||||||
|
var faker = require("faker");
|
||||||
|
var hasInternalTestName= require("c9/has-internal-test-name");
|
||||||
|
|
||||||
|
describe("has-internal-test-name", function() {
|
||||||
|
|
||||||
|
it("returns false when undefined name", function() {
|
||||||
|
var name;
|
||||||
|
|
||||||
|
assert.equal(false, hasInternalTestName(name), "should return false when name undefined");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("returns true when name contains c9test", function() {
|
||||||
|
var name = "c9testregnjkdfkfd";
|
||||||
|
assert.equal(true, hasInternalTestName(name), "should return true when name contains c9test");
|
||||||
|
|
||||||
|
name = "c9test01";
|
||||||
|
assert.equal(true, hasInternalTestName(name), "should return true when name contains c9test");
|
||||||
|
|
||||||
|
name = "c9testjhrrj ffjh";
|
||||||
|
assert.equal(true, hasInternalTestName(name), "should return true when name contains c9test");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("returns true when name contains c9 test", function() {
|
||||||
|
var name = "c9 test dkjfdgjhfgdfk";
|
||||||
|
assert.equal(true, hasInternalTestName(name), "should return true when name contains c9 test");
|
||||||
|
|
||||||
|
name = "c9 test07";
|
||||||
|
assert.equal(true, hasInternalTestName(name), "should return true when name contains c9 test");
|
||||||
|
|
||||||
|
name = "c9 testdkjfdgjhfgdfk";
|
||||||
|
assert.equal(true, hasInternalTestName(name), "should return true when name contains c9 test");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("returns false when not internal user test name", function() {
|
||||||
|
var name = faker.name.firstName();
|
||||||
|
|
||||||
|
assert.equal(false, hasInternalTestName(name), "should return false when name is not for internal testing");
|
||||||
|
});
|
||||||
|
});
|
|
@ -6,12 +6,15 @@ if (define === undefined) {
|
||||||
|
|
||||||
define(function(require, exports, module) {
|
define(function(require, exports, module) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var hasInternalDomain = require("c9/has-internal-domain");
|
var hasInternalDomain = require("c9/has-internal-domain");
|
||||||
|
var hasInternalTestName = require("c9/has-internal-test-name");
|
||||||
|
|
||||||
function skipAnalytics(user) {
|
function skipAnalytics(user) {
|
||||||
if (!user) return true;
|
if (!user) return true;
|
||||||
if (user.id === -1) return true;
|
if (user.id === -1 || user.uid === -1) return true;
|
||||||
|
|
||||||
|
if (hasInternalTestName(user)) return true;
|
||||||
if (hasInternalDomain(user.email)) return true;
|
if (hasInternalDomain(user.email)) return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,44 +10,71 @@ describe("skip-analytics", function() {
|
||||||
|
|
||||||
it("returns true when user undefined", function() {
|
it("returns true when user undefined", function() {
|
||||||
var user;
|
var user;
|
||||||
|
|
||||||
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user undefined");
|
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user undefined");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("returns true when user id is -1", function() {
|
it("returns true when user id is -1", function() {
|
||||||
var user = {
|
var user = {
|
||||||
id: -1
|
id: -1
|
||||||
};
|
};
|
||||||
|
|
||||||
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user id is -1");
|
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user id is -1");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("returns true when user uid is -1", function() {
|
||||||
|
var user = {
|
||||||
|
uid: -1
|
||||||
|
};
|
||||||
|
|
||||||
|
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user uid is -1");
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
it("returns false when user does not have an internal test name and no email", function() {
|
||||||
|
var user = {
|
||||||
|
id: faker.random.uuid(),
|
||||||
|
name: faker.name.firstName()
|
||||||
|
};
|
||||||
|
|
||||||
|
assert.equal(false, skipAnalytics(user), "skipAnalytics should return false when user does not have an internal test name and no email");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("returns true when user has an internal test name and no email", function() {
|
||||||
|
var user = {
|
||||||
|
id: faker.random.uuid(),
|
||||||
|
name: "c9test07"
|
||||||
|
};
|
||||||
|
|
||||||
|
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user has an internal test name and no email");
|
||||||
|
});
|
||||||
|
|
||||||
it("returns false when user has no email", function() {
|
it("returns false when user has no email", function() {
|
||||||
var user = {
|
var user = {
|
||||||
id: faker.random.uuid()
|
id: faker.random.uuid()
|
||||||
};
|
};
|
||||||
|
|
||||||
assert.equal(false, skipAnalytics(user), "skipAnalytics should return false when user has no email");
|
assert.equal(false, skipAnalytics(user), "skipAnalytics should return false when user has no email");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("returns true when user has internal email", function() {
|
it("returns true when user has internal email", function() {
|
||||||
var user = {
|
var user = {
|
||||||
id: faker.random.uuid(),
|
id: faker.random.uuid(),
|
||||||
email: "test@c9.io"
|
email: "test@c9.io"
|
||||||
};
|
};
|
||||||
|
|
||||||
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user has internal email");
|
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user has internal email");
|
||||||
|
|
||||||
user.email = "test@cloud9beta.com";
|
user.email = "test@cloud9beta.com";
|
||||||
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user has internal beta email");
|
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user has internal beta email");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("returns false when user is authorized and does not have intermal email", function() {
|
it("returns false when user is authorized and does not have intermal email", function() {
|
||||||
var user = {
|
var user = {
|
||||||
id: faker.random.uuid(),
|
id: faker.random.uuid(),
|
||||||
email: faker.internet.email()
|
email: faker.internet.email()
|
||||||
};
|
};
|
||||||
|
|
||||||
assert.equal(false, skipAnalytics(user), "skipAnalytics should return false when user is authorized and does not have internal email");
|
assert.equal(false, skipAnalytics(user), "skipAnalytics should return false when user is authorized and does not have internal email");
|
||||||
});
|
});
|
||||||
});
|
});
|
|
@ -73,6 +73,9 @@ function getBaseUrl(req, sourceBaseUrlPattern, targetBaseUrlPattern) {
|
||||||
|
|
||||||
if (!sourceBaseUrlPattern)
|
if (!sourceBaseUrlPattern)
|
||||||
throw new Error("getBaseUrl() requires at least two arguments");
|
throw new Error("getBaseUrl() requires at least two arguments");
|
||||||
|
|
||||||
|
if (!targetBaseUrlPattern)
|
||||||
|
targetBaseUrlPattern = sourceBaseUrlPattern;
|
||||||
|
|
||||||
var sourceHostMatcher = sourceBaseUrlPattern
|
var sourceHostMatcher = sourceBaseUrlPattern
|
||||||
.replace(/^https?:\/\//, "")
|
.replace(/^https?:\/\//, "")
|
||||||
|
@ -91,15 +94,10 @@ function getBaseUrl(req, sourceBaseUrlPattern, targetBaseUrlPattern) {
|
||||||
targetHost = "c9.io";
|
targetHost = "c9.io";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (/^(ide|vfs)./.test(targetHost) && !targetBaseUrlPattern)
|
|
||||||
console.error(new Error("Warning: no targetBaseUrlPattern specified, will stay at " + targetHost), {
|
|
||||||
sourceBaseUrlPattern: sourceBaseUrlPattern
|
|
||||||
});
|
|
||||||
|
|
||||||
if (/^(ide|vfs)./.test(targetHost))
|
if (/^(ide|vfs)./.test(targetHost))
|
||||||
console.trace("Warning: possibly incorrect baseUrl constructed, with 'ide.' in the hostname: " + targetHost);
|
console.trace("Warning: possibly incorrect baseUrl constructed, with 'ide.' in the hostname: " + targetHost);
|
||||||
|
|
||||||
return replaceDomain(targetBaseUrlPattern || sourceBaseUrlPattern, targetHost)
|
return replaceDomain(targetBaseUrlPattern, targetHost)
|
||||||
.replace(/\/$/, "");
|
.replace(/\/$/, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,11 @@ module.exports = function setup(mount, vfs, mountOptions) {
|
||||||
|
|
||||||
var errorHandler = mountOptions.errorHandler || function (req, res, err, code) {
|
var errorHandler = mountOptions.errorHandler || function (req, res, err, code) {
|
||||||
console.error(err.stack || err);
|
console.error(err.stack || err);
|
||||||
|
if (res.headersSent) {
|
||||||
|
res.end("");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (code) res.statusCode = code;
|
if (code) res.statusCode = code;
|
||||||
else if (typeof err.code == "number") res.statusCode = err.code;
|
else if (typeof err.code == "number") res.statusCode = err.code;
|
||||||
else if (err.code === "EBADREQUEST") res.statusCode = 400;
|
else if (err.code === "EBADREQUEST") res.statusCode = 400;
|
||||||
|
|
10
package.json
10
package.json
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "c9",
|
"name": "c9",
|
||||||
"description": "New Cloud9 Client",
|
"description": "New Cloud9 Client",
|
||||||
"version": "3.1.470",
|
"version": "3.1.511",
|
||||||
"author": "Ajax.org B.V. <info@ajax.org>",
|
"author": "Ajax.org B.V. <info@ajax.org>",
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": "bin/c9",
|
"main": "bin/c9",
|
||||||
|
@ -63,12 +63,12 @@
|
||||||
"c9.ide.language.javascript": "#2b77bdb96a",
|
"c9.ide.language.javascript": "#2b77bdb96a",
|
||||||
"c9.ide.language.javascript.immediate": "#0535804ada",
|
"c9.ide.language.javascript.immediate": "#0535804ada",
|
||||||
"c9.ide.language.javascript.eslint": "#3ec4557969",
|
"c9.ide.language.javascript.eslint": "#3ec4557969",
|
||||||
"c9.ide.language.javascript.tern": "#40cf04bded",
|
"c9.ide.language.javascript.tern": "#468cc173c4",
|
||||||
"c9.ide.language.javascript.infer": "#8478e3c702",
|
"c9.ide.language.javascript.infer": "#8478e3c702",
|
||||||
"c9.ide.language.jsonalyzer": "#8401c240b3",
|
"c9.ide.language.jsonalyzer": "#8401c240b3",
|
||||||
"c9.ide.collab": "#9915f10460",
|
"c9.ide.collab": "#9915f10460",
|
||||||
"c9.ide.local": "#a6e689e33b",
|
"c9.ide.local": "#a6e689e33b",
|
||||||
"c9.ide.find": "#35379124ca",
|
"c9.ide.find": "#e33fbaed2f",
|
||||||
"c9.ide.find.infiles": "#c3bf17286d",
|
"c9.ide.find.infiles": "#c3bf17286d",
|
||||||
"c9.ide.find.replace": "#8cbce45290",
|
"c9.ide.find.replace": "#8cbce45290",
|
||||||
"c9.ide.run.debug": "#8e081d7471",
|
"c9.ide.run.debug": "#8e081d7471",
|
||||||
|
@ -105,7 +105,7 @@
|
||||||
"c9.ide.run": "#c0b6677da6",
|
"c9.ide.run": "#c0b6677da6",
|
||||||
"c9.ide.run.build": "#0598fff697",
|
"c9.ide.run.build": "#0598fff697",
|
||||||
"c9.ide.run.debug.xdebug": "#5c004d2d75",
|
"c9.ide.run.debug.xdebug": "#5c004d2d75",
|
||||||
"c9.ide.save": "#5118b30230",
|
"c9.ide.save": "#a2820d0ea1",
|
||||||
"c9.ide.scm": "#417fb0387b",
|
"c9.ide.scm": "#417fb0387b",
|
||||||
"c9.ide.terminal.monitor": "#35afa7f97f",
|
"c9.ide.terminal.monitor": "#35afa7f97f",
|
||||||
"c9.ide.test": "#520fa1e6c5",
|
"c9.ide.test": "#520fa1e6c5",
|
||||||
|
@ -114,6 +114,6 @@
|
||||||
"c9.ide.threewaymerge": "#229382aa0b",
|
"c9.ide.threewaymerge": "#229382aa0b",
|
||||||
"c9.ide.undo": "#b028bcb4d5",
|
"c9.ide.undo": "#b028bcb4d5",
|
||||||
"c9.ide.upload": "#0bd010d3dc",
|
"c9.ide.upload": "#0bd010d3dc",
|
||||||
"c9.ide.welcome": "#7450aebef6"
|
"c9.ide.welcome": "#336862828d"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,94 +0,0 @@
|
||||||
/*global describe:false, it:false */
|
|
||||||
|
|
||||||
"use client";
|
|
||||||
|
|
||||||
require(["lib/architect/architect", "lib/chai/chai"], function (architect, chai) {
|
|
||||||
var expect = chai.expect;
|
|
||||||
|
|
||||||
expect.setupArchitectTest([
|
|
||||||
{
|
|
||||||
packagePath: "plugins/c9.core/c9",
|
|
||||||
startdate: new Date(),
|
|
||||||
debug: 2,
|
|
||||||
hosted: true,
|
|
||||||
local: false
|
|
||||||
},
|
|
||||||
"plugins/c9.vfs.client/vfs_client",
|
|
||||||
"plugins/c9.vfs.client/endpoint",
|
|
||||||
"plugins/c9.ide.auth/auth",
|
|
||||||
"plugins/c9.core/api",
|
|
||||||
"plugins/c9.core/ext",
|
|
||||||
"plugins/c9.core/http-xhr",
|
|
||||||
{
|
|
||||||
consumes: [],
|
|
||||||
provides: ["auth.bootstrap", "info", "dialog.error"],
|
|
||||||
setup: expect.html.mocked
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
consumes: ["c9", "vfs"],
|
|
||||||
provides: [],
|
|
||||||
setup: main
|
|
||||||
}
|
|
||||||
], architect);
|
|
||||||
|
|
||||||
function main(options, imports, register) {
|
|
||||||
var c9 = imports.c9;
|
|
||||||
var vfs = imports.vfs;
|
|
||||||
|
|
||||||
describe('c9', function() {
|
|
||||||
this.timeout(30000);
|
|
||||||
|
|
||||||
it('should send proper events during connecting', function(done) {
|
|
||||||
// var count = 0;
|
|
||||||
|
|
||||||
// c9.on("connecting", function c1(){
|
|
||||||
// count++;
|
|
||||||
|
|
||||||
// expect(c9.connecting).to.equal(true);
|
|
||||||
// expect(c9.connected).to.equal(false);
|
|
||||||
// expect(c9.has(c9.NETWORK)).to.equal(false);
|
|
||||||
|
|
||||||
// c9.off("connecting", c1);
|
|
||||||
// });
|
|
||||||
|
|
||||||
expect(c9.connected).to.equal(false);
|
|
||||||
|
|
||||||
c9.once("connect", function c2(){
|
|
||||||
// expect(count, "Connecting event was not called").to.equal(1);
|
|
||||||
expect(c9.connected).to.equal(true);
|
|
||||||
expect(c9.has(c9.NETWORK)).to.equal(true);
|
|
||||||
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
|
|
||||||
c9.enable();
|
|
||||||
});
|
|
||||||
it('check status settings and getting', function(done) {
|
|
||||||
c9.setStatus(c9.status & ~c9.STORAGE);
|
|
||||||
expect(c9.has(c9.STORAGE)).to.equal(false);
|
|
||||||
c9.setStatus(c9.status | c9.STORAGE);
|
|
||||||
expect(c9.has(c9.STORAGE)).to.equal(true);
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
it('should send correct events during away', function(done) {
|
|
||||||
expect(c9.connected).to.equal(true);
|
|
||||||
expect(c9.has(c9.NETWORK)).to.equal(true);
|
|
||||||
|
|
||||||
c9.once("away", function c1(){
|
|
||||||
expect(c9.connected).to.equal(false);
|
|
||||||
expect(c9.has(c9.NETWORK)).to.equal(true);
|
|
||||||
});
|
|
||||||
c9.once("back", function c1(){
|
|
||||||
expect(c9.connected).to.equal(true);
|
|
||||||
expect(c9.has(c9.NETWORK)).to.equal(true);
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
|
|
||||||
vfs.connection.socket.close();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
onload && onload();
|
|
||||||
}
|
|
||||||
});
|
|
|
@ -61,7 +61,7 @@ function plugin(options, imports, register) {
|
||||||
errorClient: clients.error,
|
errorClient: clients.error,
|
||||||
warningClient: clients.warning,
|
warningClient: clients.warning,
|
||||||
customClient: function(name) {
|
customClient: function(name) {
|
||||||
return client[name];
|
return clients[name];
|
||||||
},
|
},
|
||||||
customData: customData
|
customData: customData
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*global describe it before*/
|
/*global describe it before*/
|
||||||
|
|
||||||
|
"use blacklist";
|
||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
require(["lib/architect/architect", "lib/chai/chai", "/vfs-root", "events"],
|
require(["lib/architect/architect", "lib/chai/chai", "/vfs-root", "events"],
|
||||||
|
|
|
@ -108,6 +108,8 @@ require(["lib/architect/architect", "lib/chai/chai", "/vfs-root"],
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('metadata', function() {
|
describe('metadata', function() {
|
||||||
|
this.timeout(20000);
|
||||||
|
|
||||||
before(function(done) {
|
before(function(done) {
|
||||||
apf.config.setProperty("allow-select", false);
|
apf.config.setProperty("allow-select", false);
|
||||||
apf.config.setProperty("allow-blur", false);
|
apf.config.setProperty("allow-blur", false);
|
||||||
|
|
|
@ -89,6 +89,8 @@ require(["lib/architect/architect", "lib/chai/chai"],
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('tabs', function() {
|
describe('tabs', function() {
|
||||||
|
this.timeout(20000);
|
||||||
|
|
||||||
before(function(done) {
|
before(function(done) {
|
||||||
apf.config.setProperty("allow-select", false);
|
apf.config.setProperty("allow-select", false);
|
||||||
apf.config.setProperty("allow-blur", false);
|
apf.config.setProperty("allow-blur", false);
|
||||||
|
|
|
@ -96,6 +96,8 @@ require([
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('preferences', function() {
|
describe('preferences', function() {
|
||||||
|
this.timeout(20000);
|
||||||
|
|
||||||
before(function(done) {
|
before(function(done) {
|
||||||
apf.config.setProperty("allow-select", false);
|
apf.config.setProperty("allow-select", false);
|
||||||
apf.config.setProperty("allow-blur", false);
|
apf.config.setProperty("allow-blur", false);
|
||||||
|
@ -113,7 +115,6 @@ require([
|
||||||
var plugin = new Plugin();
|
var plugin = new Plugin();
|
||||||
|
|
||||||
describe("addSettings", function(){
|
describe("addSettings", function(){
|
||||||
this.timeout(10000);
|
|
||||||
|
|
||||||
it('should open a pane with just an editor', function(done) {
|
it('should open a pane with just an editor', function(done) {
|
||||||
settings.set("user/general/keybindings/@preset", "custom");
|
settings.set("user/general/keybindings/@preset", "custom");
|
||||||
|
@ -173,8 +174,6 @@ require([
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe("unload()", function(){
|
describe("unload()", function(){
|
||||||
this.timeout(10000)
|
|
||||||
|
|
||||||
it('should unload the preferences', function(done) {
|
it('should unload the preferences', function(done) {
|
||||||
general.unload();
|
general.unload();
|
||||||
prefs.unload();
|
prefs.unload();
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*global describe it before beforeEach*/
|
/*global describe it before beforeEach*/
|
||||||
|
|
||||||
|
"use blacklist";
|
||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
require(["lib/architect/architect", "lib/chai/chai"], function (architect, chai) {
|
require(["lib/architect/architect", "lib/chai/chai"], function (architect, chai) {
|
||||||
|
@ -40,7 +41,7 @@ require(["lib/architect/architect", "lib/chai/chai"], function (architect, chai)
|
||||||
var c9 = imports.c9;
|
var c9 = imports.c9;
|
||||||
|
|
||||||
describe('vfs', function() {
|
describe('vfs', function() {
|
||||||
this.timeout(20000);
|
this.timeout(30000);
|
||||||
|
|
||||||
beforeEach(function(done) {
|
beforeEach(function(done) {
|
||||||
if (vfs.connected)
|
if (vfs.connected)
|
||||||
|
|
Ładowanie…
Reference in New Issue