1
0
Fork 0

Modified karma tests to work with the same concatenated file delivered to the frontend.

This commit is contained in:
Michael Hackstein 2015-01-23 19:57:41 +00:00
parent cc1a52d159
commit a4b34b2fe3
8 changed files with 61 additions and 716 deletions

View File

@ -163,6 +163,12 @@
'clusterFrontend/scss/{,*/}*.{scss,sass}',
],
tasks: ['sass:dev']
},
concat_in_order: {
files: [
'frontend/js/{,*/}*.js'
],
tasks: ['concat_in_order:default']
}
}
});
@ -172,8 +178,13 @@
grunt.registerTask('default', [
'sass:dev',
'concat_in_order:default',
'watch'
]);
grunt.registerTask('deploy', [
'sass:dist',
'concat_in_order:default',
'uglify:dist'
// 'watch'
]);
};

View File

@ -2,17 +2,21 @@
/*global EJS, window, _, $*/
(function() {
"use strict";
var TemplateEngine = function() {
var exports = {};
exports.createTemplate = function(id) {
var template = $("#" + id.replace(".", "\\.")).html();
return {
render: function(params) {
return _.template(template, params);
}
// For tests the templates are loaded some where else.
// We need to use a different engine there.
if (!window.hasOwnProperty("TEST_BUILD")) {
var TemplateEngine = function() {
var exports = {};
exports.createTemplate = function(id) {
var template = $("#" + id.replace(".", "\\.")).html();
return {
render: function(params) {
return _.template(template, params);
}
};
};
return exports;
};
return exports;
};
window.templateEngine = new TemplateEngine();
window.templateEngine = new TemplateEngine();
}
}());

View File

@ -3594,7 +3594,18 @@ var SPECIALS = '()<>[]:;@\\,."';
// matches valid IPv4 addresses from the end of a string
var IPv4_REGEX = /\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/;
var IPv6_REGEX = /^[a-fA-F\d]{0,4}$/, IPv6_REGEX_TEST = IPv6_REGEX.test.bind(IPv6_REGEX);
// ---- Modification -----
// Removed for Karma tests
var IPv6_REGEX = /^[a-fA-F\d]{0,4}$/;
var IPv6_REGEX_TEST;
if (!window.hasOwnProperty("TEST_BUILD")) {
IPv6_REGEX_TEST = IPv6_REGEX.test.bind(IPv6_REGEX);
}
//
// ---- End of Modification -----
/**
* Get the largest number in the array.
@ -7175,4 +7186,4 @@ function hasOwnProperty(obj, prop) {
},{"./support/isBuffer":30,"_process":29,"inherits":27}],"joi":[function(require,module,exports){
arguments[4][16][0].apply(exports,arguments)
},{"./lib":10}]},{},[])("joi")
});
});

View File

@ -3,11 +3,13 @@
(function() {
"use strict";
$(document).ready(function() {
window.App = new window.Router();
Backbone.history.start();
window.App.handleResize();
});
// We have to start the app only in production mode, not in test mode
if (!window.hasOwnProperty("TEST_BUILD")) {
$(document).ready(function() {
window.App = new window.Router();
Backbone.history.start();
window.App.handleResize();
});
}
}());

View File

@ -1,512 +0,0 @@
/*jshint browser: true */
/*jshint unused: false */
/*global Backbone, $, window, _, templateEngine, alert*/
(function() {
"use strict";
function splitSnakeCase(snakeCase) {
var str = snakeCase.replace(/([a-z])([A-Z])/g, "$1 $2");
str = str.replace(/([a-z])([0-9])/gi, "$1 $2");
str = str.replace(/_+/, " ");
return _.map(str.split(/\s+/), function(s) {
return s.charAt(0).toUpperCase() + s.slice(1).toLowerCase();
}).join(" ");
}
window.FoxxInstalledView = Backbone.View.extend({
tagName: "div",
className: "tile",
template: templateEngine.createTemplate("foxxInstalledView.ejs"),
events: {
//"click .install": "installDialog",
//"click .purge": "removeDialog",
"click .icon_arangodb_settings2": "infoDialog"
},
renderVersion: function(e) {
var name = this.model.get("name"),
selectOptions = this.model.get("selectOptions"),
versionToRender = $("#"+name+"Select").val();
this.model.set("activeVersion", versionToRender);
var toRender = this.model.collection.findWhere({
name: name,
version: versionToRender
});
},
initialize: function(){
_.bindAll(this, "render");
var buttonConfig = [
window.modalView.createSuccessButton(
"Install", this.install.bind(this)
)
];
var buttonPurgeConfig = [
window.modalView.createDeleteButton(
"Remove", this.confirmRemovalSingle.bind(this)
)
];
var buttonInfoConfig = [
window.modalView.createDeleteButton(
"Remove", this.confirmRemovalSingle.bind(this)
),
window.modalView.createSuccessButton(
"Install", this.installDialog.bind(this)
)
];
var buttonInfoConfigUpdate = [
window.modalView.createDeleteButton(
"Remove", this.confirmRemovalSingle.bind(this)
),
window.modalView.createSuccessButton(
"Update", this.update.bind(this)
),
window.modalView.createSuccessButton(
"Install", this.installDialog.bind(this)
)
];
var buttonInfoMultipleVersionsConfig = [
window.modalView.createDeleteButton(
"Remove All", this.confirmRemovalAll.bind(this)
),
window.modalView.createDeleteButton(
"Remove", this.confirmRemovalSingle.bind(this)
),
window.modalView.createSuccessButton(
"Install", this.installDialog.bind(this)
)
];
var buttonInfoMultipleVersionsConfigUpdate = [
window.modalView.createDeleteButton(
"Remove All", this.confirmRemovalAll.bind(this)
),
window.modalView.createDeleteButton(
"Remove", this.confirmRemovalSingle.bind(this)
),
window.modalView.createSuccessButton(
"Update", this.update.bind(this)
),
window.modalView.createSuccessButton(
"Install", this.installDialog.bind(this)
)
];
this.showMod = window.modalView.show.bind(
window.modalView,
"modalTable.ejs",
"Install Application",
buttonConfig
);
this.showInfoMod = window.modalView.show.bind(
window.modalView,
"modalTable.ejs",
"Application Settings",
buttonInfoConfig
);
this.showInfoModUpdate = window.modalView.show.bind(
window.modalView,
"modalTable.ejs",
"Application Settings",
buttonInfoConfigUpdate
);
this.showInfoMultipleVersionsMod = window.modalView.show.bind(
window.modalView,
"modalTable.ejs",
"Application Settings",
buttonInfoMultipleVersionsConfig
);
this.showInfoMultipleVersionsModUpdate = window.modalView.show.bind(
window.modalView,
"modalTable.ejs",
"Application Settings",
buttonInfoMultipleVersionsConfigUpdate
);
this.showPurgeMod = window.modalView.show.bind(
window.modalView,
"modalTable.ejs",
"Remove Application",
buttonPurgeConfig
);
this.appsView = this.options.appsView;
},
//add select here too
fillPurgeValues: function(mountinfo) {
var list = [],
isSystem,
mountvars = [];
if (this.model.get("isSystem")) {
isSystem = "Yes";
} else {
isSystem = "No";
}
list.push(window.modalView.createReadOnlyEntry(
"id_name", "Name", this.model.get("name")
));
if (this.model.get("selectOptions")) {
list.push(window.modalView.createSelectEntry(
"foxx-version",
"Version",
"",
"Select version of the Foxx application",
this.model.get("selectOptions")
));
}
else {
list.push(window.modalView.createReadOnlyEntry(
"id_version", "Version", this.model.get("version")
));
}
list.push(window.modalView.createReadOnlyEntry(
"id_system", "System", isSystem
));
list.push(window.modalView.createReadOnlyEntry(
"id_just_info", "Info", "All mount points will be unmounted and removed"
));
if (mountinfo) {
_.each(mountinfo, function(m) {
mountvars.push(m.mount);
});
list.push(window.modalView.createReadOnlyEntry(
"id_just_mountinfo", "Mount-points", JSON.stringify(mountvars)
));
}
return list;
},
fillValues: function() {
var list = [],
isSystem;
if (this.model.get("isSystem")) {
isSystem = "Yes";
} else {
isSystem = "No";
}
list.push(window.modalView.createReadOnlyEntry(
"id_name", "Name", this.model.get("name")
));
list.push(window.modalView.createTextEntry(
"mount-point", "Mount", "/" + this.model.get("name"),
"The path where the app can be reached.",
"mount-path",
true
));
var configs = this.model.get("manifest").configuration;
if (configs && _.keys(configs).length) {
_.each(_.keys(configs), function(key) {
var opt = configs[key];
var prettyKey = opt.label || splitSnakeCase(key);
if (opt.type === "boolean") {
list.push(window.modalView.createCheckboxEntry(
"foxx_configs_" + key,
prettyKey,
true,
opt.description,
opt.default
));
} else {
list.push(window.modalView.createTextEntry(
"foxx_configs_" + key,
prettyKey,
opt.default === undefined ? "" : opt.default,
opt.description,
splitSnakeCase(key).toLowerCase().replace(/\s+/g, "-"),
opt.default === undefined
));
}
});
}
if (this.model.get("selectOptions")) {
list.push(window.modalView.createSelectEntry(
"foxx-version",
"Version",
"",
"Select version of the Foxx application",
this.model.get("selectOptions")
));
}
else {
list.push(window.modalView.createReadOnlyEntry(
"id_version", "Version", this.model.get("version")
));
}
list.push(window.modalView.createReadOnlyEntry(
"id_system", "System", isSystem
));
return list;
},
fillInfoValues: function() {
var list = [],
isSystem;
if (this.model.get("isSystem")) {
isSystem = "Yes";
} else {
isSystem = "No";
}
list.push(window.modalView.createReadOnlyEntry(
"id_name", "Name", this.model.get("name")
));
list.push(window.modalView.createReadOnlyEntry(
"id_description", "Description", this.model.get("description")
));
list.push(window.modalView.createReadOnlyEntry(
"id_author", "Author", this.model.get("author")
));
if (this.model.get("selectOptions")) {
list.push(window.modalView.createSelectEntry(
"foxx-version",
"Version",
"",
"Select version of the Foxx application",
this.model.get("selectOptions")
));
}
else {
list.push(window.modalView.createReadOnlyEntry(
"id_version", "Version", this.model.get("version")
));
}
list.push(window.modalView.createReadOnlyEntry(
"id_system", "System", isSystem
));
if (this.model.get("git")) {
list.push(window.modalView.createReadOnlyEntry(
"id_git", "Git", this.model.get("git")
));
}
return list;
},
removeDialog: function(event) {
event.stopPropagation();
var name = this.model.get("name");
var mountinfo = this.model.collection.mountInfo(name);
this.showPurgeMod(this.fillPurgeValues(mountinfo));
},
confirmRemovalSingle: function(event) {
var version, self = this;
if (this.model.get("versions")) {
version = $("#foxx-version").val();
}
else {
version = this.model.get("version");
}
//find correct app install version
var toDelete = this.model.collection.findWhere({
name: self.model.get("name"),
version: version
});
var name = toDelete.get("app");
var result = toDelete.collection.purgeFoxx(name);
if (result === true) {
window.modalView.hide();
window.App.applicationsView.reload();
}
},
confirmRemovalAll: function(event) {
var name = this.model.get("name");
var result = this.model.collection.purgeAllFoxxes(name);
if (result === true) {
window.modalView.hide();
window.App.applicationsView.reload();
}
},
infoDialog: function(event) {
var name = this.model.get("name"),
mountinfo = this.model.collection.gitInfo(name),
isGit;
if (mountinfo.git === true) {
this.model.set("isGit", mountinfo.git);
this.model.set("gitUrl", mountinfo.url);
}
isGit = this.model.get("isGit");
event.stopPropagation();
this[
this.model.get("versions")
? (isGit ? 'showInfoMultipleVersionsModUpdate' : 'showInfoMultipleVersionsMod')
: (isGit ? 'showInfoModUpdate' : 'showInfoMod')
](this.fillInfoValues());
this.selectHighestVersion();
},
installDialog: function(event) {
var currentVersion = $(".modalSelect").val();
window.modalView.hide();
event.stopPropagation();
this.showMod(this.fillValues());
this.selectSpecificVersion(currentVersion);
},
update: function() {
var url = this.model.get("gitUrl"),
version = "master",
name = "",
result;
if (url === undefined || url === "") {
// if no git is defined
return;
}
result = this.model.collection.installFoxxFromGithub(url, name, version);
if (result === true) {
window.modalView.hide();
window.App.applicationsView.reload();
}
},
install: function() {
var mountPoint = $("#mount-point").val(),
version = "",
self = this;
if (/^\/_.+$/.test(mountPoint)) {
alert("Sorry, mount paths starting with an underscore are reserved for internal use.");
return false;
}
if (!/^(\/[^\/\s]+)+$/.test(mountPoint)){
alert("Sorry, you have to give a valid mount point, e.g.: /myPath");
return false;
}
if (this.model.get("selectOptions")) {
version = $("#foxx-version").val();
}
else {
version = this.model.get("version");
}
var cfg = {};
var opts = this.model.get("manifest").configuration;
if (opts && _.keys(opts).length) {
try {
_.each(opts, function(opt, key) {
var $el = $("#foxx_configs_" + key);
var val = $el.val();
if (opt.type === "boolean") {
cfg[key] = $el.is(":checked");
return;
}
if (val === "" && !opt.hasOwnProperty("default")) {
throw new SyntaxError(
"Must specify value for field \"" +
(opt.label || splitSnakeCase(key)) +
"\"!"
);
}
if (opt.type === "number") {
cfg[key] = parseFloat(val);
} else if (opt.type === "integer") {
cfg[key] = parseInt(val, 10);
} else {
cfg[key] = val;
return;
}
if (_.isNaN(cfg[key])) {
throw new SyntaxError(
"Invalid value for field \"" +
(opt.label || splitSnakeCase(key)) +
"\"!"
);
}
if (opt.type === "integer" && cfg[key] !== Math.floor(parseFloat(val))) {
throw new SyntaxError(
"Expected non-decimal value in field \"" +
(opt.label || splitSnakeCase(key)) +
"\"!"
);
}
});
} catch (err) {
if (err instanceof SyntaxError) {
alert(err.message);
return false;
}
throw err;
}
}
//find correct app install version
var toCreate = this.model.collection.findWhere({
name: self.model.get("name"),
version: version
});
toCreate.collection.create({
mount: mountPoint,
name: toCreate.get("name"),
version: toCreate.get("version"),
options: {
configuration: cfg
}
},
{
success: function() {
window.modalView.hide();
self.appsView.reload();
},
error: function(e, info) {
if (info.responseText.indexOf("already used by") > -1) {
alert("Mount-Path already in use.");
} else if (info.responseText.indexOf("app is not defined") > -1) {
//temp ignore this message, fix needs to be server-side
window.modalView.hide();
self.appsView.reload();
} else {
alert(info.statusText);
}
}
});
},
selectSpecificVersion: function(version) {
$(".modalSelect").val(version);
},
selectHighestVersion: function() {
var versions = this.model.get("versions"),
toRender = "0";
_.each(versions, function(version) {
if(version >= toRender) {
toRender = version;
}
});
$(".modalSelect").val(toRender);
},
render: function(){
var activeVersion = this.model.get("activeVersion");
if (activeVersion === 0 || activeVersion === undefined) {
activeVersion = this.model.get("highestVersion");
}
$(this.el).html(this.template.render(this.model));
return $(this.el);
}
});
}());

View File

@ -1,190 +1,16 @@
{ "files": [
"test/lib/jasmine-1.3.1/jasmine-html.js",
"test/lib/jshint.js",
{ "pattern": "frontend/js/templates/*.ejs", "served": true, "included": false, "watched": true},
{ "pattern": "clusterFrontend/js/templates/*.ejs", "served": true, "included": false, "watched": true},
"frontend/js/lib/jquery-2.1.0.min.js",
"test/mocks/overwriteAjax.js",
"frontend/js/lib/jquery-ui-1.9.2.custom.js",
"frontend/js/lib/jquery.autogrow.js",
"frontend/js/lib/jquery.jeditable.js",
"frontend/js/lib/jquery.jeditable.autogrow.js",
"frontend/js/lib/jquery.snippet.js",
"frontend/js/lib/jquery.slideto.min.js",
"frontend/js/lib/jquery.wiggle.min.js",
"frontend/js/lib/jquery.contextmenu.js",
"frontend/js/lib/select2.min.js",
"frontend/js/lib/handlebars-1.0.rc.1.js",
"frontend/js/lib/underscore.js",
"frontend/js/lib/backbone.js",
"frontend/js/lib/d3.v3.min.js",
"frontend/js/lib/nv.d3.js",
"frontend/js/lib/dygraph-combined.js",
"frontend/js/lib/d3.fisheye.js",
"frontend/js/lib/bootstrap.js",
"frontend/js/lib/bootstrap-pagination.js",
"frontend/js/lib/jsoneditor-min.js",
"frontend/src/ace.js",
"frontend/js/lib/jqconsole.min.js",
"frontend/js/lib/swagger.js",
"frontend/js/lib/swagger-ui.js",
"frontend/js/lib/highlight.7.3.pack.js",
"frontend/js/lib/joi.browser.js",
"frontend/js/lib/md5.js",
"test/mocks/disableEJS.js",
"frontend/js/arango/arango.js",
"frontend/js/shell/browser.js",
"frontend/js/modules/org/arangodb/arango-collection-common.js",
"frontend/js/modules/org/arangodb/arango-collection.js",
"frontend/js/modules/org/arangodb/arango-database.js",
"frontend/js/modules/org/arangodb/arango-query-cursor.js",
"frontend/js/modules/org/arangodb/arango-statement-common.js",
"frontend/js/modules/org/arangodb/arango-statement.js",
"frontend/js/modules/org/arangodb/arangosh.js",
"frontend/js/modules/org/arangodb/graph-common.js",
"frontend/js/modules/org/arangodb/graph.js",
"frontend/js/modules/org/arangodb/mimetypes.js",
"frontend/js/modules/org/arangodb/simple-query-common.js",
"frontend/js/modules/org/arangodb/simple-query.js",
"frontend/js/modules/org/arangodb/aql/functions.js",
"frontend/js/modules/org/arangodb/graph/traversal.js",
"frontend/js/modules/org/arangodb-common.js",
"frontend/js/modules/org/arangodb.js",
"frontend/js/bootstrap/errors.js",
"frontend/js/bootstrap/monkeypatches.js",
"frontend/js/bootstrap/module-internal.js",
"frontend/js/client/bootstrap/module-internal.js",
"frontend/js/client/client.js",
"test/mocks/activateTest.js",
"test/specs/graphViewer/helper/eventHelper.js",
"test/specs/graphViewer/helper/objectsHelper.js",
"test/specs/graphViewer/helper/mocks.js",
"test/specs/graphViewer/helper/commMock.js",
"test/specs/graphViewer/helper/uiMatchers.js",
"test/mocks/disableEJS.js",
"frontend/js/graphViewer/graphViewer.js",
"frontend/js/graphViewer/graph/domObserverFactory.js",
"frontend/js/graphViewer/graph/colourMapper.js",
"frontend/js/graphViewer/graph/communityNode.js",
"frontend/js/graphViewer/graph/webWorkerWrapper.js",
"frontend/js/graphViewer/graph/nodeShaper.js",
"frontend/js/graphViewer/graph/abstractAdapter.js",
"frontend/js/graphViewer/graph/JSONAdapter.js",
"frontend/js/graphViewer/graph/arangoAdapter.js",
"frontend/js/graphViewer/graph/gharialAdapter.js",
"frontend/js/graphViewer/graph/foxxAdapter.js",
"frontend/js/graphViewer/graph/previewAdapter.js",
"frontend/js/graphViewer/graph/edgeShaper.js",
"frontend/js/graphViewer/graph/forceLayouter.js",
"frontend/js/graphViewer/graph/eventDispatcher.js",
"frontend/js/graphViewer/graph/eventLibrary.js",
"frontend/js/graphViewer/graph/zoomManager.js",
"frontend/js/graphViewer/graph/nodeReducer.js",
"frontend/js/graphViewer/graph/modularityJoiner.js",
"frontend/js/graphViewer/ui/modalDialogHelper.js",
"frontend/js/graphViewer/ui/contextMenuHelper.js",
"frontend/js/graphViewer/ui/nodeShaperControls.js",
"frontend/js/graphViewer/ui/edgeShaperControls.js",
"frontend/js/graphViewer/ui/arangoAdapterControls.js",
"frontend/js/graphViewer/ui/gharialAdapterControls.js",
"frontend/js/graphViewer/ui/layouterControls.js",
"frontend/js/graphViewer/ui/uiComponentsHelper.js",
"frontend/js/graphViewer/ui/eventDispatcherControls.js",
"frontend/js/graphViewer/ui/graphViewerUI.js",
"frontend/js/graphViewer/ui/graphViewerWidget.js",
"frontend/js/graphViewer/ui/graphViewerPreview.js",
"frontend/js/models/arangoCollectionModel.js",
"frontend/js/models/arangoDatabase.js",
"frontend/js/models/arangoDocument.js",
"frontend/js/models/newArangoLog.js",
"frontend/js/models/arangoReplication.js",
"frontend/js/models/arangoSession.js",
"frontend/js/models/arangoStatistics.js",
"frontend/js/models/arangoStatisticsDescription.js",
"frontend/js/models/arangoUsers.js",
"frontend/js/models/currentDatabase.js",
"frontend/js/models/foxx.js",
"frontend/js/models/graph.js",
"frontend/js/models/notification.js",
"frontend/js/models/arangoQuery.js",
"clusterFrontend/js/models/clusterServer.js",
"clusterFrontend/js/models/clusterCoordinator.js",
"clusterFrontend/js/models/clusterDatabase.js",
"clusterFrontend/js/models/clusterCollection.js",
"clusterFrontend/js/models/clusterShard.js",
"clusterFrontend/js/models/clusterPlan.js",
"clusterFrontend/js/models/clusterType.js",
"frontend/js/config/dygraphConfig.js",
"frontend/js/collections/_paginatedCollection.js",
"frontend/js/collections/arangoCollections.js",
"frontend/js/collections/arangoDocuments.js",
"frontend/js/collections/arangoDocument.js",
"frontend/js/collections/arangoDatabase.js",
"frontend/js/collections/arangoReplication.js",
"frontend/js/collections/arangoUsers.js",
"frontend/js/collections/arangoLogs.js",
"frontend/js/collections/arangoStatisticsCollection.js",
"frontend/js/collections/arangoStatisticsDescriptionCollection.js",
"frontend/js/collections/foxxCollection.js",
"frontend/js/collections/graphCollection.js",
"frontend/js/collections/notificationCollection.js",
"frontend/js/collections/arangoQueries.js",
"clusterFrontend/js/collections/_automaticRetryCollection.js",
"clusterFrontend/js/collections/clusterServers.js",
"clusterFrontend/js/collections/clusterCoordinators.js",
"clusterFrontend/js/collections/clusterDatabases.js",
"clusterFrontend/js/collections/clusterCollections.js",
"clusterFrontend/js/collections/clusterShards.js",
"clusterFrontend/js/collections/arangoClusterStatisticsCollection.js",
"frontend/js/views/_paginationView.js",
"frontend/js/views/tableView.js",
"frontend/js/views/apiView.js",
"frontend/js/views/appDocumentationView.js",
"frontend/js/views/applicationsView.js",
"frontend/js/views/applicationDetailView.js",
"frontend/js/views/collectionsItemView.js",
"frontend/js/views/collectionsView.js",
"frontend/js/views/databaseView.js",
"frontend/js/views/dbSelectionView.js",
"frontend/js/views/documentsView.js",
"frontend/js/views/documentView.js",
"frontend/js/views/editListEntryView.js",
"frontend/js/views/footerView.js",
"frontend/js/views/foxxActiveListView.js",
"frontend/js/views/foxxActiveView.js",
"frontend/js/views/graphManagementView.js",
"frontend/js/views/loginView.js",
"frontend/js/views/modalView.js",
"frontend/js/views/navigationView.js",
"frontend/js/views/dashboardView.js",
"frontend/js/views/logsView.js",
"frontend/js/views/notificationView.js",
"frontend/js/views/queryView.js",
"frontend/js/views/shellView.js",
"frontend/js/views/statisticBarView.js",
"frontend/js/views/testView.js",
"frontend/js/views/userBarView.js",
"frontend/js/views/userManagementView.js",
"frontend/js/views/progressView.js",
"clusterFrontend/js/views/clusterDownView.js",
"clusterFrontend/js/views/loginModalView.js",
"clusterFrontend/js/views/planScenarioSelectorView.js",
"clusterFrontend/js/views/planSymmetricView.js",
"clusterFrontend/js/views/planTestView.js",
"clusterFrontend/js/views/shutdownButtonView.js",
"clusterFrontend/js/views/showClusterView.js",
"clusterFrontend/js/views/showShardsView.js",
"clusterFrontend/js/views/dbServerDashboardView.js",
"clusterFrontend/js/views/showClusterView.js",
"frontend/js/routers/versionCheck.js",
"frontend/js/routers/router.js",
"clusterFrontend/js/routers/clusterRouter.js",
"frontend/build/app.js",
"test/specs/graphViewer/specColourMapper/colourMapperSpec.js",
"test/specs/graphViewer/specWindowObjects/domObserverFactorySpec.js",
@ -216,9 +42,8 @@
"test/specs/graphViewer/specNodeReducer/modularityJoinerSpec.js",
"test/specs/graphViewer/specContextMenu/contextMenuSpec.js",
"test/specs/arango/arangoSpec.js",
"test/specs/config/dygraphConfigSpec.js",
"test/specs/models/currentDatabaseSpec.js",
"test/specs/models/clusterPlanSpec.js",
"test/specs/models/graphSpec.js",
"test/specs/models/arangoCollectionModelSpec.js",
"test/specs/models/arangoDatabaseSpec.js",
@ -229,8 +54,6 @@
"test/specs/models/arangoUsersSpec.js",
"test/specs/models/foxxSpec.js",
"test/specs/config/dygraphConfigSpec.js",
"test/specs/collections/arangoCollectionsSpec.js",
"test/specs/collections/arangoDatabaseSpec.js",
"test/specs/collections/arangoDocumentSpec.js",
@ -242,7 +65,6 @@
"test/specs/collections/foxxCollectionSpec.js",
"test/specs/collections/graphCollectionSpec.js",
"test/specs/collections/notificationCollectionSpec.js",
"test/specs/collections/ClusterStatisticsCollectionSpec.js",
"test/specs/views/apiViewSpec.js",
@ -266,6 +88,8 @@
"test/specs/router/routerSpec.js",
"test/specs/router/clusterRouterSpec.js",
"test/specs/router/routerSpec.js",
"test/specs/router/versionCheckSpec.js"
]
]
}

View File

@ -2,7 +2,7 @@
// Generated on Thu Jul 04 2013 11:39:34 GMT+0200 (CEST)
filesJSON = require("./files.json");
filesJSON.files.push('test/specJSLint/jsLintSpec.js');
// filesJSON.files.push('test/specJSLint/jsLintSpec.js');
module.exports = function(karma) {

View File

@ -0,0 +1,5 @@
/*global window*/
(function() {
"use strict";
window.TEST_BUILD = true;
}());