From c79969f40feef4673059a9baf5777b2726170ea7 Mon Sep 17 00:00:00 2001 From: Michael Hackstein Date: Thu, 12 Feb 2015 11:14:10 +0100 Subject: [PATCH 1/3] JSlintung --- .../system/aardvark/clusterFrontend/js/views/planTestView.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/apps/system/aardvark/clusterFrontend/js/views/planTestView.js b/js/apps/system/aardvark/clusterFrontend/js/views/planTestView.js index 2e973197aa..ee142e35cd 100644 --- a/js/apps/system/aardvark/clusterFrontend/js/views/planTestView.js +++ b/js/apps/system/aardvark/clusterFrontend/js/views/planTestView.js @@ -82,7 +82,7 @@ host = host.split(":"); if (host === 'localhost') { - host = '127.0.0.1' + host = '127.0.0.1'; } param.hostname = host[0]; @@ -93,7 +93,7 @@ param.hostname = window.location.hostname; if (param.hostname === 'localhost') { - param.hostname = '127.0.0.1' + param.hostname = '127.0.0.1'; } param.port = window.location.port; From 2bb36889b235e4316a9f2374be7e414b64a80da0 Mon Sep 17 00:00:00 2001 From: Michael Hackstein Date: Thu, 12 Feb 2015 14:10:13 +0100 Subject: [PATCH 2/3] Minor perfromance improvements for graph traversals --- .../modules/org/arangodb/graph/traversal.js | 190 ++++++++++++------ .../modules/org/arangodb/graph/traversal.js | 190 ++++++++++++------ 2 files changed, 256 insertions(+), 124 deletions(-) diff --git a/js/apps/system/aardvark/frontend/js/modules/org/arangodb/graph/traversal.js b/js/apps/system/aardvark/frontend/js/modules/org/arangodb/graph/traversal.js index 296a6f98f5..2d4fd8b6e1 100644 --- a/js/apps/system/aardvark/frontend/js/modules/org/arangodb/graph/traversal.js +++ b/js/apps/system/aardvark/frontend/js/modules/org/arangodb/graph/traversal.js @@ -319,32 +319,54 @@ function outboundExpander (config, vertex, path) { var datasource = config.datasource; var connections = [ ]; var outEdges = datasource.getOutEdges(vertex); + var edgeIterator; if (outEdges.length > 1 && config.sort) { outEdges.sort(config.sort); } - outEdges.forEach(function (edge) { - try { - var v; - if (config.buildVertices) { - v = datasource.getInVertex(edge); - } - else { - // optimization to save vertex lookups - v = { _id: datasource.getEdgeTo(edge) }; - v._key = v._id.split("/")[1]; - } - - if (! config.expandFilter || config.expandFilter(config, v, edge, path)) { + if (config.buildVertices) { + if (!config.expandFilter) { + edgeIterator = function(edge) { + try { + var v = datasource.getInVertex(edge); + connections.push({ edge: edge, vertex: v }); + } + catch (e) { + // continue even in the face of non-existing documents + } + }; + } else { + edgeIterator = function(edge) { + try { + var v = datasource.getInVertex(edge); + if (config.expandFilter(config, v, edge, path)) { + connections.push({ edge: edge, vertex: v }); + } + } + catch (e) { + // continue even in the face of non-existing documents + } + }; + } + } else { + if (!config.expandFilter) { + edgeIterator = function(edge) { + var id = datasource.getEdgeTo(edge); + var v = { _id: id, _key: id.substr(id.indexOf("/") + 1)}; connections.push({ edge: edge, vertex: v }); - } + }; + } else { + edgeIterator = function(edge) { + var id = datasource.getEdgeTo(edge); + var v = { _id: id, _key: id.substr(id.indexOf("/") + 1)}; + if (config.expandFilter(config, v, edge, path)) { + connections.push({ edge: edge, vertex: v }); + } + }; } - catch (e) { - // continue even in the face of non-existing documents - } - }); - + } + outEdges.forEach(edgeIterator); return connections; } @@ -361,27 +383,50 @@ function inboundExpander (config, vertex, path) { if (inEdges.length > 1 && config.sort) { inEdges.sort(config.sort); } + var edgeIterator; - inEdges.forEach(function (edge) { - try { - var v; - if (config.buildVertices) { - v = datasource.getOutVertex(edge); - } - else { - // optimization to save vertex lookups - v = { _id: datasource.getEdgeFrom(edge) }; - v._key = v._id.split("/")[1]; - } - - if (! config.expandFilter || config.expandFilter(config, v, edge, path)) { + if (config.buildVertices) { + if (!config.expandFilter) { + edgeIterator = function(edge) { + try { + var v = datasource.getOutVertex(edge); + connections.push({ edge: edge, vertex: v }); + } + catch (e) { + // continue even in the face of non-existing documents + } + }; + } else { + edgeIterator = function(edge) { + try { + var v = datasource.getOutVertex(edge); + if (config.expandFilter(config, v, edge, path)) { + connections.push({ edge: edge, vertex: v }); + } + } + catch (e) { + // continue even in the face of non-existing documents + } + }; + } + } else { + if (!config.expandFilter) { + edgeIterator = function(edge) { + var id = datasource.getEdgeFrom(edge); + var v = { _id: id, _key: id.substr(id.indexOf("/") + 1)}; connections.push({ edge: edge, vertex: v }); - } + }; + } else { + edgeIterator = function(edge) { + var id = datasource.getEdgeFrom(edge); + var v = { _id: id, _key: id.substr(id.indexOf("/") + 1)}; + if (config.expandFilter(config, v, edge, path)) { + connections.push({ edge: edge, vertex: v }); + } + }; } - catch (e) { - // continue even in the face of non-existing documents - } - }); + } + inEdges.forEach(edgeIterator); return connections; } @@ -399,34 +444,55 @@ function anyExpander (config, vertex, path) { edges.sort(config.sort); } - edges.forEach(function (edge) { - try { - var v; - if (config.buildVertices) { - v = datasource.getPeerVertex(edge, vertex); - } - else { - // optimization to save vertex lookups - v = { }; - if (datasource.getEdgeFrom(edge) === vertex._id) { - v._id = datasource.getEdgeTo(edge); - v._key = v._id.split("/")[1]; + var edgeIterator; + if (config.buildVertices) { + if (!config.expandFilter) { + edgeIterator = function(edge) { + try { + var v = datasource.getPeerVertex(edge); + connections.push({ edge: edge, vertex: v }); } - else if (datasource.getEdgeTo(edge) === vertex._id) { - v._id = datasource.getEdgeFrom(edge); - v._key = v._id.split("/")[1]; + catch (e) { + // continue even in the face of non-existing documents } - } - - if (! config.expandFilter || config.expandFilter(config, v, edge, path)) { + }; + } else { + edgeIterator = function(edge) { + try { + var v = datasource.getPeerVertex(edge); + if (config.expandFilter(config, v, edge, path)) { + connections.push({ edge: edge, vertex: v }); + } + } + catch (e) { + // continue even in the face of non-existing documents + } + }; + } + } else { + if (!config.expandFilter) { + edgeIterator = function(edge) { + var id = datasource.getEdgeFrom(edge); + if (id === vertex._id) { + id = datasource.getEdgeTo(edge); + } + var v = { _id: id, _key: id.substr(id.indexOf("/") + 1)}; connections.push({ edge: edge, vertex: v }); - } + }; + } else { + edgeIterator = function(edge) { + var id = datasource.getEdgeFrom(edge); + if (id === vertex._id) { + id = datasource.getEdgeTo(edge); + } + var v = { _id: id, _key: id.substr(id.indexOf("/") + 1)}; + if (config.expandFilter(config, v, edge, path)) { + connections.push({ edge: edge, vertex: v }); + } + }; } - catch (e) { - // continue even in the face of non-existing documents - } - }); - + } + edges.forEach(edgeIterator); return connections; } @@ -1307,7 +1373,7 @@ ArangoTraverser = function (config) { filter: null, expander: outboundExpander, datasource: null, - maxIterations: 1000000, + maxIterations: 10000000, minDepth: 0, maxDepth: 256, buildVertices: true diff --git a/js/common/modules/org/arangodb/graph/traversal.js b/js/common/modules/org/arangodb/graph/traversal.js index 80787d8d1e..2eecb99dc2 100644 --- a/js/common/modules/org/arangodb/graph/traversal.js +++ b/js/common/modules/org/arangodb/graph/traversal.js @@ -318,32 +318,54 @@ function outboundExpander (config, vertex, path) { var datasource = config.datasource; var connections = [ ]; var outEdges = datasource.getOutEdges(vertex); + var edgeIterator; if (outEdges.length > 1 && config.sort) { outEdges.sort(config.sort); } - outEdges.forEach(function (edge) { - try { - var v; - if (config.buildVertices) { - v = datasource.getInVertex(edge); - } - else { - // optimization to save vertex lookups - v = { _id: datasource.getEdgeTo(edge) }; - v._key = v._id.split("/")[1]; - } - - if (! config.expandFilter || config.expandFilter(config, v, edge, path)) { + if (config.buildVertices) { + if (!config.expandFilter) { + edgeIterator = function(edge) { + try { + var v = datasource.getInVertex(edge); + connections.push({ edge: edge, vertex: v }); + } + catch (e) { + // continue even in the face of non-existing documents + } + }; + } else { + edgeIterator = function(edge) { + try { + var v = datasource.getInVertex(edge); + if (config.expandFilter(config, v, edge, path)) { + connections.push({ edge: edge, vertex: v }); + } + } + catch (e) { + // continue even in the face of non-existing documents + } + }; + } + } else { + if (!config.expandFilter) { + edgeIterator = function(edge) { + var id = datasource.getEdgeTo(edge); + var v = { _id: id, _key: id.substr(id.indexOf("/") + 1)}; connections.push({ edge: edge, vertex: v }); - } + }; + } else { + edgeIterator = function(edge) { + var id = datasource.getEdgeTo(edge); + var v = { _id: id, _key: id.substr(id.indexOf("/") + 1)}; + if (config.expandFilter(config, v, edge, path)) { + connections.push({ edge: edge, vertex: v }); + } + }; } - catch (e) { - // continue even in the face of non-existing documents - } - }); - + } + outEdges.forEach(edgeIterator); return connections; } @@ -360,27 +382,50 @@ function inboundExpander (config, vertex, path) { if (inEdges.length > 1 && config.sort) { inEdges.sort(config.sort); } + var edgeIterator; - inEdges.forEach(function (edge) { - try { - var v; - if (config.buildVertices) { - v = datasource.getOutVertex(edge); - } - else { - // optimization to save vertex lookups - v = { _id: datasource.getEdgeFrom(edge) }; - v._key = v._id.split("/")[1]; - } - - if (! config.expandFilter || config.expandFilter(config, v, edge, path)) { + if (config.buildVertices) { + if (!config.expandFilter) { + edgeIterator = function(edge) { + try { + var v = datasource.getOutVertex(edge); + connections.push({ edge: edge, vertex: v }); + } + catch (e) { + // continue even in the face of non-existing documents + } + }; + } else { + edgeIterator = function(edge) { + try { + var v = datasource.getOutVertex(edge); + if (config.expandFilter(config, v, edge, path)) { + connections.push({ edge: edge, vertex: v }); + } + } + catch (e) { + // continue even in the face of non-existing documents + } + }; + } + } else { + if (!config.expandFilter) { + edgeIterator = function(edge) { + var id = datasource.getEdgeFrom(edge); + var v = { _id: id, _key: id.substr(id.indexOf("/") + 1)}; connections.push({ edge: edge, vertex: v }); - } + }; + } else { + edgeIterator = function(edge) { + var id = datasource.getEdgeFrom(edge); + var v = { _id: id, _key: id.substr(id.indexOf("/") + 1)}; + if (config.expandFilter(config, v, edge, path)) { + connections.push({ edge: edge, vertex: v }); + } + }; } - catch (e) { - // continue even in the face of non-existing documents - } - }); + } + inEdges.forEach(edgeIterator); return connections; } @@ -398,34 +443,55 @@ function anyExpander (config, vertex, path) { edges.sort(config.sort); } - edges.forEach(function (edge) { - try { - var v; - if (config.buildVertices) { - v = datasource.getPeerVertex(edge, vertex); - } - else { - // optimization to save vertex lookups - v = { }; - if (datasource.getEdgeFrom(edge) === vertex._id) { - v._id = datasource.getEdgeTo(edge); - v._key = v._id.split("/")[1]; + var edgeIterator; + if (config.buildVertices) { + if (!config.expandFilter) { + edgeIterator = function(edge) { + try { + var v = datasource.getPeerVertex(edge, vertex); + connections.push({ edge: edge, vertex: v }); } - else if (datasource.getEdgeTo(edge) === vertex._id) { - v._id = datasource.getEdgeFrom(edge); - v._key = v._id.split("/")[1]; + catch (e) { + // continue even in the face of non-existing documents } - } - - if (! config.expandFilter || config.expandFilter(config, v, edge, path)) { + }; + } else { + edgeIterator = function(edge) { + try { + var v = datasource.getPeerVertex(edge, vertex); + if (config.expandFilter(config, v, edge, path)) { + connections.push({ edge: edge, vertex: v }); + } + } + catch (e) { + // continue even in the face of non-existing documents + } + }; + } + } else { + if (!config.expandFilter) { + edgeIterator = function(edge) { + var id = datasource.getEdgeFrom(edge); + if (id === vertex._id) { + id = datasource.getEdgeTo(edge); + } + var v = { _id: id, _key: id.substr(id.indexOf("/") + 1)}; connections.push({ edge: edge, vertex: v }); - } + }; + } else { + edgeIterator = function(edge) { + var id = datasource.getEdgeFrom(edge); + if (id === vertex._id) { + id = datasource.getEdgeTo(edge); + } + var v = { _id: id, _key: id.substr(id.indexOf("/") + 1)}; + if (config.expandFilter(config, v, edge, path)) { + connections.push({ edge: edge, vertex: v }); + } + }; } - catch (e) { - // continue even in the face of non-existing documents - } - }); - + } + edges.forEach(edgeIterator); return connections; } @@ -1306,7 +1372,7 @@ ArangoTraverser = function (config) { filter: null, expander: outboundExpander, datasource: null, - maxIterations: 1000000, + maxIterations: 10000000, minDepth: 0, maxDepth: 256, buildVertices: true From 986c480846ab1b7c2bbca96a54af813da1d96a61 Mon Sep 17 00:00:00 2001 From: Alan Plum Date: Thu, 12 Feb 2015 16:11:05 +0100 Subject: [PATCH 3/3] Added fixtures for foxx app handling tests. --- .../apps/broken-controller-file/broken-controller.js | 3 +++ .../test-data/apps/broken-controller-file/manifest.json | 7 +++++++ .../test-data/apps/broken-exports-file/broken-exports.js | 3 +++ js/common/test-data/apps/broken-exports-file/manifest.json | 7 +++++++ js/common/test-data/apps/broken-setup-file/broken-setup.js | 3 +++ js/common/test-data/apps/broken-setup-file/manifest.json | 5 +++++ js/common/test-data/apps/incomplete-manifest/manifest.json | 3 +++ .../apps/malformed-controller-file/broken-controller.js | 3 +++ .../test-data/apps/malformed-controller-file/manifest.json | 7 +++++++ .../test-data/apps/malformed-controller-name/controller.js | 3 +++ .../test-data/apps/malformed-controller-name/manifest.json | 7 +++++++ .../test-data/apps/malformed-controller-path/manifest.json | 7 +++++++ .../apps/malformed-exports-file/broken-exports.js | 3 +++ .../test-data/apps/malformed-exports-file/manifest.json | 7 +++++++ .../test-data/apps/malformed-exports-path/manifest.json | 7 +++++++ js/common/test-data/apps/malformed-manifest/manifest.json | 5 +++++ js/common/test-data/apps/malformed-name/manifest.json | 4 ++++ .../test-data/apps/malformed-setup-file/broken-setup.js | 3 +++ .../test-data/apps/malformed-setup-file/manifest.json | 5 +++++ .../test-data/apps/malformed-setup-path/manifest.json | 5 +++++ js/common/test-data/apps/malformed-version/manifest.json | 4 ++++ .../test-data/apps/minimal-working-manifest/manifest.json | 4 ++++ .../test-data/apps/missing-controller-file/manifest.json | 7 +++++++ .../test-data/apps/missing-exports-file/manifest.json | 7 +++++++ js/common/test-data/apps/missing-setup-file/manifest.json | 5 +++++ js/common/test-data/apps/no-manifest/no-manifest-here.json | 3 +++ 26 files changed, 127 insertions(+) create mode 100644 js/common/test-data/apps/broken-controller-file/broken-controller.js create mode 100644 js/common/test-data/apps/broken-controller-file/manifest.json create mode 100644 js/common/test-data/apps/broken-exports-file/broken-exports.js create mode 100644 js/common/test-data/apps/broken-exports-file/manifest.json create mode 100644 js/common/test-data/apps/broken-setup-file/broken-setup.js create mode 100644 js/common/test-data/apps/broken-setup-file/manifest.json create mode 100644 js/common/test-data/apps/incomplete-manifest/manifest.json create mode 100644 js/common/test-data/apps/malformed-controller-file/broken-controller.js create mode 100644 js/common/test-data/apps/malformed-controller-file/manifest.json create mode 100644 js/common/test-data/apps/malformed-controller-name/controller.js create mode 100644 js/common/test-data/apps/malformed-controller-name/manifest.json create mode 100644 js/common/test-data/apps/malformed-controller-path/manifest.json create mode 100644 js/common/test-data/apps/malformed-exports-file/broken-exports.js create mode 100644 js/common/test-data/apps/malformed-exports-file/manifest.json create mode 100644 js/common/test-data/apps/malformed-exports-path/manifest.json create mode 100644 js/common/test-data/apps/malformed-manifest/manifest.json create mode 100644 js/common/test-data/apps/malformed-name/manifest.json create mode 100644 js/common/test-data/apps/malformed-setup-file/broken-setup.js create mode 100644 js/common/test-data/apps/malformed-setup-file/manifest.json create mode 100644 js/common/test-data/apps/malformed-setup-path/manifest.json create mode 100644 js/common/test-data/apps/malformed-version/manifest.json create mode 100644 js/common/test-data/apps/minimal-working-manifest/manifest.json create mode 100644 js/common/test-data/apps/missing-controller-file/manifest.json create mode 100644 js/common/test-data/apps/missing-exports-file/manifest.json create mode 100644 js/common/test-data/apps/missing-setup-file/manifest.json create mode 100644 js/common/test-data/apps/no-manifest/no-manifest-here.json diff --git a/js/common/test-data/apps/broken-controller-file/broken-controller.js b/js/common/test-data/apps/broken-controller-file/broken-controller.js new file mode 100644 index 0000000000..4f8fd57efe --- /dev/null +++ b/js/common/test-data/apps/broken-controller-file/broken-controller.js @@ -0,0 +1,3 @@ +'use strict'; + +throw new Error('This is an error from the controller.'); \ No newline at end of file diff --git a/js/common/test-data/apps/broken-controller-file/manifest.json b/js/common/test-data/apps/broken-controller-file/manifest.json new file mode 100644 index 0000000000..7da816c108 --- /dev/null +++ b/js/common/test-data/apps/broken-controller-file/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "broken-controller-file", + "version": "0.0.0", + "controllers": { + "/": "broken-controller.js" + } +} diff --git a/js/common/test-data/apps/broken-exports-file/broken-exports.js b/js/common/test-data/apps/broken-exports-file/broken-exports.js new file mode 100644 index 0000000000..f0616d7753 --- /dev/null +++ b/js/common/test-data/apps/broken-exports-file/broken-exports.js @@ -0,0 +1,3 @@ +'use strict'; + +throw new Error('This is an error from the exports.'); \ No newline at end of file diff --git a/js/common/test-data/apps/broken-exports-file/manifest.json b/js/common/test-data/apps/broken-exports-file/manifest.json new file mode 100644 index 0000000000..fdbf5e9e88 --- /dev/null +++ b/js/common/test-data/apps/broken-exports-file/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "broken-exports-file", + "version": "0.0.0", + "exports": { + "broken": "broken-exports.js" + } +} diff --git a/js/common/test-data/apps/broken-setup-file/broken-setup.js b/js/common/test-data/apps/broken-setup-file/broken-setup.js new file mode 100644 index 0000000000..ca05cb6fec --- /dev/null +++ b/js/common/test-data/apps/broken-setup-file/broken-setup.js @@ -0,0 +1,3 @@ +'use strict'; + +throw new Error('This is an error from the setup.'); \ No newline at end of file diff --git a/js/common/test-data/apps/broken-setup-file/manifest.json b/js/common/test-data/apps/broken-setup-file/manifest.json new file mode 100644 index 0000000000..00f6143514 --- /dev/null +++ b/js/common/test-data/apps/broken-setup-file/manifest.json @@ -0,0 +1,5 @@ +{ + "name": "broken-setup-file", + "version": "0.0.0", + "setup": "broken-setup.js" +} diff --git a/js/common/test-data/apps/incomplete-manifest/manifest.json b/js/common/test-data/apps/incomplete-manifest/manifest.json new file mode 100644 index 0000000000..a848b1a157 --- /dev/null +++ b/js/common/test-data/apps/incomplete-manifest/manifest.json @@ -0,0 +1,3 @@ +{ + "missing required fields": "name and version" +} diff --git a/js/common/test-data/apps/malformed-controller-file/broken-controller.js b/js/common/test-data/apps/malformed-controller-file/broken-controller.js new file mode 100644 index 0000000000..ff940cfe88 --- /dev/null +++ b/js/common/test-data/apps/malformed-controller-file/broken-controller.js @@ -0,0 +1,3 @@ +'use strict'; + +syntax error \ No newline at end of file diff --git a/js/common/test-data/apps/malformed-controller-file/manifest.json b/js/common/test-data/apps/malformed-controller-file/manifest.json new file mode 100644 index 0000000000..b14bcc059b --- /dev/null +++ b/js/common/test-data/apps/malformed-controller-file/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "malformed-controller-file", + "version": "0.0.0", + "controllers": { + "/": "broken-controller.js" + } +} diff --git a/js/common/test-data/apps/malformed-controller-name/controller.js b/js/common/test-data/apps/malformed-controller-name/controller.js new file mode 100644 index 0000000000..e53a8e2800 --- /dev/null +++ b/js/common/test-data/apps/malformed-controller-name/controller.js @@ -0,0 +1,3 @@ +'use strict'; + +// this space left blank \ No newline at end of file diff --git a/js/common/test-data/apps/malformed-controller-name/manifest.json b/js/common/test-data/apps/malformed-controller-name/manifest.json new file mode 100644 index 0000000000..d335c32b54 --- /dev/null +++ b/js/common/test-data/apps/malformed-controller-name/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "malformed-controller-name", + "version": "0.0.0", + "controllers": { + "?": "controller.js" + } +} \ No newline at end of file diff --git a/js/common/test-data/apps/malformed-controller-path/manifest.json b/js/common/test-data/apps/malformed-controller-path/manifest.json new file mode 100644 index 0000000000..c785e8d3b2 --- /dev/null +++ b/js/common/test-data/apps/malformed-controller-path/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "malformed-controller-path", + "version": "0.0.0", + "controllers": { + "/": "/illegal/file/name/" + } +} \ No newline at end of file diff --git a/js/common/test-data/apps/malformed-exports-file/broken-exports.js b/js/common/test-data/apps/malformed-exports-file/broken-exports.js new file mode 100644 index 0000000000..ff940cfe88 --- /dev/null +++ b/js/common/test-data/apps/malformed-exports-file/broken-exports.js @@ -0,0 +1,3 @@ +'use strict'; + +syntax error \ No newline at end of file diff --git a/js/common/test-data/apps/malformed-exports-file/manifest.json b/js/common/test-data/apps/malformed-exports-file/manifest.json new file mode 100644 index 0000000000..b018de3288 --- /dev/null +++ b/js/common/test-data/apps/malformed-exports-file/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "malformed-exports-file", + "version": "0.0.0", + "exports": { + "broken": "broken-exports.js" + } +} diff --git a/js/common/test-data/apps/malformed-exports-path/manifest.json b/js/common/test-data/apps/malformed-exports-path/manifest.json new file mode 100644 index 0000000000..a50e79c0ef --- /dev/null +++ b/js/common/test-data/apps/malformed-exports-path/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "malformed-exports-path", + "version": "0.0.0", + "exports": { + "broken": "/illegal/file/name/" + } +} \ No newline at end of file diff --git a/js/common/test-data/apps/malformed-manifest/manifest.json b/js/common/test-data/apps/malformed-manifest/manifest.json new file mode 100644 index 0000000000..c8c1e74563 --- /dev/null +++ b/js/common/test-data/apps/malformed-manifest/manifest.json @@ -0,0 +1,5 @@ +{ + "name": "malformed-manifest", + "version": "0.0.0", + "there is a syntax error here": sic! +} diff --git a/js/common/test-data/apps/malformed-name/manifest.json b/js/common/test-data/apps/malformed-name/manifest.json new file mode 100644 index 0000000000..9ebcc6d32f --- /dev/null +++ b/js/common/test-data/apps/malformed-name/manifest.json @@ -0,0 +1,4 @@ +{ + "name": "/malformed/name/", + "version": "0.0.0" +} diff --git a/js/common/test-data/apps/malformed-setup-file/broken-setup.js b/js/common/test-data/apps/malformed-setup-file/broken-setup.js new file mode 100644 index 0000000000..ff940cfe88 --- /dev/null +++ b/js/common/test-data/apps/malformed-setup-file/broken-setup.js @@ -0,0 +1,3 @@ +'use strict'; + +syntax error \ No newline at end of file diff --git a/js/common/test-data/apps/malformed-setup-file/manifest.json b/js/common/test-data/apps/malformed-setup-file/manifest.json new file mode 100644 index 0000000000..a94d76b52a --- /dev/null +++ b/js/common/test-data/apps/malformed-setup-file/manifest.json @@ -0,0 +1,5 @@ +{ + "name": "malformed-setup-file", + "version": "0.0.0", + "setup": "broken-setup.js" +} diff --git a/js/common/test-data/apps/malformed-setup-path/manifest.json b/js/common/test-data/apps/malformed-setup-path/manifest.json new file mode 100644 index 0000000000..96dcfb74ae --- /dev/null +++ b/js/common/test-data/apps/malformed-setup-path/manifest.json @@ -0,0 +1,5 @@ +{ + "name": "malformed-setup-path", + "version": "0.0.0", + "setup": "/illegal/file/name/" +} \ No newline at end of file diff --git a/js/common/test-data/apps/malformed-version/manifest.json b/js/common/test-data/apps/malformed-version/manifest.json new file mode 100644 index 0000000000..fa01884e14 --- /dev/null +++ b/js/common/test-data/apps/malformed-version/manifest.json @@ -0,0 +1,4 @@ +{ + "name": "malformed-version", + "version": "0/0/0" +} \ No newline at end of file diff --git a/js/common/test-data/apps/minimal-working-manifest/manifest.json b/js/common/test-data/apps/minimal-working-manifest/manifest.json new file mode 100644 index 0000000000..f8521812b9 --- /dev/null +++ b/js/common/test-data/apps/minimal-working-manifest/manifest.json @@ -0,0 +1,4 @@ +{ + "name": "minimal-working-manifest", + "version": "0.0.0" +} diff --git a/js/common/test-data/apps/missing-controller-file/manifest.json b/js/common/test-data/apps/missing-controller-file/manifest.json new file mode 100644 index 0000000000..1a74e6b3d0 --- /dev/null +++ b/js/common/test-data/apps/missing-controller-file/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "missing-controller-file", + "version": "0.0.0", + "controllers": { + "/": "does-not-exist.js" + } +} diff --git a/js/common/test-data/apps/missing-exports-file/manifest.json b/js/common/test-data/apps/missing-exports-file/manifest.json new file mode 100644 index 0000000000..a444509736 --- /dev/null +++ b/js/common/test-data/apps/missing-exports-file/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "missing-exports-file", + "version": "0.0.0", + "exports": { + "nope": "no-such-file.js" + } +} diff --git a/js/common/test-data/apps/missing-setup-file/manifest.json b/js/common/test-data/apps/missing-setup-file/manifest.json new file mode 100644 index 0000000000..82aae4e0de --- /dev/null +++ b/js/common/test-data/apps/missing-setup-file/manifest.json @@ -0,0 +1,5 @@ +{ + "name": "missing-setup-file", + "version": "0.0.0", + "setup": "this-file-is-missing.js" +} diff --git a/js/common/test-data/apps/no-manifest/no-manifest-here.json b/js/common/test-data/apps/no-manifest/no-manifest-here.json new file mode 100644 index 0000000000..7d196496f2 --- /dev/null +++ b/js/common/test-data/apps/no-manifest/no-manifest-here.json @@ -0,0 +1,3 @@ +{ + "manifest": "missing" +}