From 4761e9c28cebb01831e09dfbd08ded628ddd74b2 Mon Sep 17 00:00:00 2001 From: Jan Steemann Date: Mon, 14 Jan 2013 00:02:10 +0100 Subject: [PATCH] added more tests --- .../modules/org/arangodb/graph/traversal.js | 2 +- js/server/tests/ahuacatl-paths.js | 40 ++++++++++++++++++- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/js/common/modules/org/arangodb/graph/traversal.js b/js/common/modules/org/arangodb/graph/traversal.js index e3e1a1a252..73ddcd5531 100644 --- a/js/common/modules/org/arangodb/graph/traversal.js +++ b/js/common/modules/org/arangodb/graph/traversal.js @@ -531,7 +531,7 @@ function CollectionAnyExpander (config, vertex, path) { /// @brief default expander that expands all edges labeled with one label in config.labels /////////////////////////////////////////////////////////////////////////////////////////// -var ExpandEdgesWithLabels = function (config, vertex, path) { +function ExpandEdgesWithLabels (config, vertex, path) { var result = [ ]; if (!Array.isArray(config.labels)) { config.labels = [config.labels]; diff --git a/js/server/tests/ahuacatl-paths.js b/js/server/tests/ahuacatl-paths.js index a683e4d9dc..9b7692d222 100644 --- a/js/server/tests/ahuacatl-paths.js +++ b/js/server/tests/ahuacatl-paths.js @@ -334,7 +334,7 @@ function ahuacatlQueryTraverseTestSuite () { /// @brief test max-depth filtering //////////////////////////////////////////////////////////////////////////////// - testTraversalDepthFirstMax : function () { + testTraversalDepthFirstMax1 : function () { var config = { strategy: "depthfirst", order: "preorder", @@ -348,6 +348,24 @@ function ahuacatlQueryTraverseTestSuite () { assertEqual([ "A", "B", "C", "D", "C" ], actual); }, +//////////////////////////////////////////////////////////////////////////////// +/// @brief test max-depth filtering +//////////////////////////////////////////////////////////////////////////////// + + testTraversalDepthFirstMax2 : function () { + var config = { + strategy: "depthfirst", + order: "preorder", + itemOrder: "forward", + maxDepth: 3, + _sort: true + }; + + var actual = executeQuery("FOR p IN TRAVERSE(@@v, @@e, '" + vn + "/A', 'outbound', " + JSON.stringify(config) + ") RETURN p.vertex._key", { "@v" : vn, "@e" : en }).getRows(); + + assertEqual([ "A", "B", "C", "A", "D", "C", "A" ], actual); + }, + //////////////////////////////////////////////////////////////////////////////// /// @brief test max-depth filtering //////////////////////////////////////////////////////////////////////////////// @@ -368,6 +386,26 @@ function ahuacatlQueryTraverseTestSuite () { assertEqual([ "A", "B", "C", "D" ], actual); }, +//////////////////////////////////////////////////////////////////////////////// +/// @brief test max-depth filtering +//////////////////////////////////////////////////////////////////////////////// + + testTraversalDepthFirstUniquePath : function () { + var config = { + strategy: "depthfirst", + order: "preorder", + itemOrder: "forward", + uniqueness: { + vertices: "path" + }, + _sort: true + }; + + var actual = executeQuery("FOR p IN TRAVERSE(@@v, @@e, '" + vn + "/A', 'outbound', " + JSON.stringify(config) + ") RETURN p.vertex._key", { "@v" : vn, "@e" : en }).getRows(); + + assertEqual([ "A", "B", "C", "D", "C" ], actual); + }, + //////////////////////////////////////////////////////////////////////////////// /// @brief test max-depth filtering ////////////////////////////////////////////////////////////////////////////////