kopia lustrzana https://github.com/c9/core
Merge branch 'master' into docker-test-server-1.8.3
commit
752b3a4d4b
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* JSON (de-)serializer with support for encosing regular expressions
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
exports.replacer = function(key, value) {
|
||||
if (value instanceof RegExp)
|
||||
return ("__REGEXP " + value.toString());
|
||||
else
|
||||
return value;
|
||||
};
|
||||
|
||||
exports.reviver = function(key, value) {
|
||||
if ((value + "").indexOf("__REGEXP ") == 0) {
|
||||
var m = value.match(/__REGEXP \/(.*)\/(.*)?/);
|
||||
return new RegExp(m[1], m[2]);
|
||||
}
|
||||
else
|
||||
return value;
|
||||
};
|
||||
|
||||
exports.stringify = function(value, space) {
|
||||
return JSON.stringify(value, exports.replacer, space);
|
||||
};
|
||||
|
||||
exports.parse = function(rext) {
|
||||
return JSON.parse(rext, exports.reviver);
|
||||
};
|
|
@ -0,0 +1,27 @@
|
|||
/*global describe it before after beforeEach afterEach define*/
|
||||
"use strict";
|
||||
"use server";
|
||||
"use mocha";
|
||||
|
||||
require("c9/inline-mocha")(module);
|
||||
|
||||
var assert = require("assert-diff");
|
||||
var reJSON = require("./json-with-re");
|
||||
|
||||
describe(__filename, function(){
|
||||
it("should encode regular expressions", function() {
|
||||
assert.deepEqual(reJSON.stringify({ foo: /foo/ }), '{"foo":"__REGEXP /foo/"}');
|
||||
assert.deepEqual(reJSON.stringify({ foo: /foo\//gi }), "{\"foo\":\"__REGEXP /foo\\\\//gi\"}");
|
||||
});
|
||||
it("should decode regular expressions", function() {
|
||||
assert.deepEqual(reJSON.parse('{"foo":"__REGEXP /foo/"}'), { foo: /foo/ });
|
||||
assert.deepEqual(reJSON.parse("{\"foo\":\"__REGEXP /foo\\\\//gi\"}"), { foo: /foo\//gi });
|
||||
});
|
||||
it("should deal with null values", function() {
|
||||
var o = {
|
||||
foo: null,
|
||||
bar: /dd/
|
||||
};
|
||||
assert.deepEqual(reJSON.parse(reJSON.stringify(o)), o);
|
||||
});
|
||||
});
|
|
@ -91,12 +91,12 @@ function getBaseUrl(req, sourceBaseUrlPattern, targetBaseUrlPattern) {
|
|||
targetHost = "c9.io";
|
||||
}
|
||||
|
||||
if (targetHost.match(/^(ide|vfs)./) && !targetBaseUrlPattern)
|
||||
if (/^(ide|vfs)./.test(targetHost) && !targetBaseUrlPattern)
|
||||
console.error(new Error("Warning: no targetBaseUrlPattern specified, will stay at " + targetHost), {
|
||||
sourceBaseUrlPattern: sourceBaseUrlPattern
|
||||
});
|
||||
|
||||
if (targetHost.match(/^(ide|vfs)./))
|
||||
if (/^(ide|vfs)./.test(targetHost))
|
||||
console.trace("Warning: possibly incorrect baseUrl constructed, with 'ide.' in the hostname: " + targetHost);
|
||||
|
||||
return replaceDomain(targetBaseUrlPattern || sourceBaseUrlPattern, targetHost)
|
||||
|
|
|
@ -4,7 +4,7 @@ var url = require("url");
|
|||
|
||||
module.exports = function(options, imports, register) {
|
||||
|
||||
var trustedDomainsRe = options.trustedDomainsRe || {};
|
||||
var trustedDomainsRe = options.trustedDomainsRe || /.*/;
|
||||
|
||||
imports.connect.addResponseMethod("redirect", function(location) {
|
||||
this.writeHead(302, {Location: location});
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "c9",
|
||||
"description": "New Cloud9 Client",
|
||||
"version": "3.1.126",
|
||||
"version": "3.1.136",
|
||||
"author": "Ajax.org B.V. <info@ajax.org>",
|
||||
"private": true,
|
||||
"main": "bin/c9",
|
||||
|
|
|
@ -183,6 +183,8 @@ define(function(require, module, exports) {
|
|||
});
|
||||
plugin.on("unload", function(){
|
||||
loaded = false;
|
||||
defaultEditor = null;
|
||||
group = null;
|
||||
});
|
||||
|
||||
/***** Register and define API *****/
|
||||
|
|
|
@ -356,6 +356,13 @@ define(function(require, exports, module) {
|
|||
}
|
||||
});
|
||||
});
|
||||
handle.on("unload", function(){
|
||||
mnuTerminal = null;
|
||||
lastEditor = null;
|
||||
lastTerminal = null;
|
||||
shownDotsHelp = null;
|
||||
installPrompted = null;
|
||||
});
|
||||
|
||||
handle.draw = function(){
|
||||
ui.insertMarkup(null, markupMenu, handle);
|
||||
|
|
Ładowanie…
Reference in New Issue