You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2017/07/18 21:04:20 UTC

[47/50] [abbrv] tinkerpop git commit: Update Javascript GLV

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b6f2cdda/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/exports-test.js
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/exports-test.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/exports-test.js
new file mode 100644
index 0000000..3864a4a
--- /dev/null
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/exports-test.js
@@ -0,0 +1,73 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+/**
+ * @author Jorge Bay Gondra
+ */
+'use strict';
+
+var assert = require('assert');
+var glvModule = require('../../');
+
+describe('API', function () {
+  it('should export fields under process', function () {
+    assert.ok(glvModule);
+    assert.ok(glvModule.process);
+    assert.strictEqual(typeof glvModule.process.Bytecode, 'function');
+    assert.strictEqual(typeof glvModule.process.EnumValue, 'function');
+    assert.strictEqual(typeof glvModule.process.P, 'function');
+    assert.strictEqual(typeof glvModule.process.Traversal, 'function');
+    assert.strictEqual(typeof glvModule.process.TraversalSideEffects, 'function');
+    assert.strictEqual(typeof glvModule.process.TraversalStrategies, 'function');
+    assert.strictEqual(typeof glvModule.process.TraversalStrategy, 'function');
+    assert.strictEqual(typeof glvModule.process.Traverser, 'function');
+    assert.strictEqual(typeof glvModule.process.GraphTraversal, 'function');
+    assert.strictEqual(typeof glvModule.process.GraphTraversalSource, 'function');
+    assert.strictEqual(typeof glvModule.process.barrier, 'object');
+    assert.strictEqual(typeof glvModule.process.cardinality, 'object');
+    assert.strictEqual(typeof glvModule.process.column, 'object');
+    assert.strictEqual(typeof glvModule.process.direction, 'object');
+    assert.strictEqual(typeof glvModule.process.direction.both, 'object');
+    assert.strictEqual(glvModule.process.direction.both.elementName, 'BOTH');
+    assert.strictEqual(typeof glvModule.process.operator, 'object');
+    assert.strictEqual(typeof glvModule.process.order, 'object');
+    assert.strictEqual(typeof glvModule.process.pop, 'object');
+    assert.strictEqual(typeof glvModule.process.scope, 'object');
+    assert.strictEqual(typeof glvModule.process.t, 'object');
+    assert.ok(glvModule.process.statics);
+  });
+  it('should expose fields under structure', function () {
+    assert.ok(glvModule.structure);
+    assert.ok(glvModule.structure.io);
+    assert.strictEqual(typeof glvModule.structure.io.GraphSONReader, 'function');
+    assert.strictEqual(typeof glvModule.structure.io.GraphSONWriter, 'function');
+    assert.strictEqual(typeof glvModule.structure.Edge, 'function');
+    assert.strictEqual(typeof glvModule.structure.Graph, 'function');
+    assert.strictEqual(typeof glvModule.structure.Path, 'function');
+    assert.strictEqual(typeof glvModule.structure.Property, 'function');
+    assert.strictEqual(typeof glvModule.structure.Vertex, 'function');
+    assert.strictEqual(typeof glvModule.structure.VertexProperty, 'function');
+  });
+  it('should expose fields under driver', function () {
+    assert.ok(glvModule.driver);
+    assert.strictEqual(typeof glvModule.driver.RemoteConnection, 'function');
+    assert.strictEqual(typeof glvModule.driver.RemoteStrategy, 'function');
+    assert.strictEqual(typeof glvModule.driver.RemoteTraversal, 'function');
+  });
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b6f2cdda/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
new file mode 100644
index 0000000..ed5beb3
--- /dev/null
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
@@ -0,0 +1,112 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+/**
+ * @author Jorge Bay Gondra
+ */
+'use strict';
+
+var assert = require('assert');
+var graph = require('../../lib/structure/graph');
+var t = require('../../lib/process/traversal.js');
+var gs = require('../../lib/structure/io/graph-serializer.js');
+var GraphSONReader = gs.GraphSONReader;
+var GraphSONWriter = gs.GraphSONWriter;
+var P = t.P;
+
+describe('GraphSONReader', function () {
+  it('should parse GraphSON int32, float and double to Number from GraphSON', function () {
+    var reader = new GraphSONReader();
+    [
+      [ 'g:Int32', 31 ],
+      [ 'g:Float', 31.3],
+      [ 'g:Double', 31.2]
+    ].forEach(function (item) {
+      var result = reader.read({
+        "@type": item[0],
+        "@value": item[1]
+      });
+      assert.strictEqual(typeof result, 'number');
+      assert.strictEqual(result, item[1]);
+    });
+  });
+  it('should parse vertices from GraphSON', function () {
+    var obj = {
+      "@type":"g:Vertex", "@value":{"id":{"@type":"g:Int32","@value":1},"label":"person",
+        "properties":{"name":[{"id":{"@type":"g:Int64","@value":0},"value":"marko"}],
+          "age":[{"id":{"@type":"g:Int64","@value":1},"value":{"@type":"g:Int32","@value":29}}]}}};
+    var reader = new GraphSONReader(obj);
+    var result = reader.read(obj);
+    assert.ok(result instanceof graph.Vertex);
+    assert.strictEqual(result.label, 'person');
+    assert.strictEqual(typeof result.id, 'number');
+    assert.ok(result.properties);
+    assert.ok(result.properties['name']);
+    assert.strictEqual(result.properties['name'].length, 1);
+    assert.strictEqual(result.properties['name'][0].value, 'marko');
+    assert.ok(result.properties['age']);
+    assert.strictEqual(result.properties['age'].length, 1);
+    assert.strictEqual(result.properties['age'][0].value, 29);
+  });
+  it('should parse paths from GraphSON', function () {
+    var obj = {"@type":"g:Path","@value":{"labels":[["a"],["b","c"],[]],"objects":[
+      {
+        "@type":"g:Vertex","@value":{"id":{"@type":"g:Int32","@value":1},"label":"person",
+        "properties":{"name":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":0},
+          "value":"marko","label":"name"}}],"age":[{
+              "@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":1},
+              "value":{"@type":"g:Int32","@value":29},"label":"age"}}]}}},
+      {
+        "@type":"g:Vertex","@value":{"id":{"@type":"g:Int32","@value":3},"label":"software",
+        "properties":{"name":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":4},
+          "value":"lop","label":"name"}}],
+          "lang":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":5},
+            "value":"java","label":"lang"}}]}}},
+      "lop"]}};
+    var reader = new GraphSONReader(obj);
+    var result = reader.read(obj);
+    assert.ok(result);
+    assert.ok(result.objects);
+    assert.ok(result.labels);
+    assert.strictEqual(result.objects[2], 'lop');
+    assert.ok(result.objects[0] instanceof graph.Vertex);
+    assert.ok(result.objects[1] instanceof graph.Vertex);
+    assert.strictEqual(result.objects[0].label, 'person');
+    assert.strictEqual(result.objects[1].label, 'software');
+  });
+});
+describe('GraphSONWriter', function () {
+  it('should write numbers', function () {
+    var writer = new GraphSONWriter();
+    assert.strictEqual(writer.write(2), '2');
+  });
+  it('should write boolean values', function () {
+    var writer = new GraphSONWriter();
+    assert.strictEqual(writer.write(true), 'true');
+    assert.strictEqual(writer.write(false), 'false');
+  });
+  it('should write P', function () {
+    var writer = new GraphSONWriter();
+    var expected = JSON.stringify({"@type":"g:P","@value":{"predicate":"and","value":[
+      {"@type":"g:P","@value":{"predicate":"or","value":[{"@type":"g:P","@value":{"predicate":"lt","value":"b"}},
+        {"@type":"g:P","@value":{"predicate":"gt","value":"c"}}]}},
+      {"@type":"g:P","@value":{"predicate":"neq","value":"d"}}]}});
+    assert.strictEqual(writer.write(P.lt("b").or(P.gt("c")).and(P.neq("d"))), expected);
+  });
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b6f2cdda/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/traversal-test.js
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/traversal-test.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/traversal-test.js
new file mode 100644
index 0000000..c5271c9
--- /dev/null
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/traversal-test.js
@@ -0,0 +1,119 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+/**
+ * @author Jorge Bay Gondra
+ */
+'use strict';
+
+var assert = require('assert');
+var graph = require('../../lib/structure/graph');
+var utils = require('../../lib/utils');
+var t = require('../../lib/process/traversal');
+var TraversalStrategies = require('../../lib/process/traversal-strategy').TraversalStrategies;
+
+describe('Traversal', function () {
+  describe('#getByteCode()', function () {
+    it('should add steps for with a string parameter', function () {
+      var g = new graph.Graph().traversal();
+      var bytecode = g.V().out('created').getBytecode();
+      assert.ok(bytecode);
+      assert.strictEqual(bytecode.sourceInstructions.length, 0);
+      assert.strictEqual(bytecode.stepInstructions.length, 2);
+      assert.strictEqual(bytecode.stepInstructions[0][0], 'V');
+      assert.strictEqual(bytecode.stepInstructions[1][0], 'out');
+      assert.strictEqual(bytecode.stepInstructions[1][1], 'created');
+    });
+    it('should add steps with an enum value', function () {
+      var g = new graph.Graph().traversal();
+      var bytecode = g.V().order().by('age', t.order.decr).getBytecode();
+      assert.ok(bytecode);
+      assert.strictEqual(bytecode.sourceInstructions.length, 0);
+      assert.strictEqual(bytecode.stepInstructions.length, 3);
+      assert.strictEqual(bytecode.stepInstructions[0][0], 'V');
+      assert.strictEqual(bytecode.stepInstructions[1][0], 'order');
+      assert.strictEqual(bytecode.stepInstructions[2][0], 'by');
+      assert.strictEqual(bytecode.stepInstructions[2][1], 'age');
+      assert.strictEqual(typeof bytecode.stepInstructions[2][2], 'object');
+      assert.strictEqual(bytecode.stepInstructions[2][2].typeName, 'Order');
+      assert.strictEqual(bytecode.stepInstructions[2][2].elementName, 'decr');
+    });
+  });
+  describe('#next()', function () {
+    it('should apply the strategies and return a Promise with the iterator item', function () {
+      var strategyMock = {
+        apply: function (traversal) {
+          traversal.traversers = [ new t.Traverser(1, 1), new t.Traverser(2, 1) ];
+          return utils.resolvedPromise();
+        }
+      };
+      var strategies = new TraversalStrategies();
+      strategies.addStrategy(strategyMock);
+      var traversal = new t.Traversal(null, strategies, null);
+      return traversal.next()
+        .then(function (item) {
+          assert.strictEqual(item.value, 1);
+          assert.strictEqual(item.done, false);
+          return traversal.next();
+        })
+        .then(function (item) {
+          assert.strictEqual(item.value, 2);
+          assert.strictEqual(item.done, false);
+          return traversal.next();
+        })
+        .then(function (item) {
+          assert.strictEqual(item.value, null);
+          assert.strictEqual(item.done, true);
+          return traversal.next();
+        });
+    });
+  });
+  describe('#toList()', function () {
+    it('should apply the strategies and return a Promise with an array', function () {
+      var strategyMock = {
+        apply: function (traversal) {
+          traversal.traversers = [ new t.Traverser('a', 1), new t.Traverser('b', 1) ];
+          return utils.resolvedPromise();
+        }
+      };
+      var strategies = new TraversalStrategies();
+      strategies.addStrategy(strategyMock);
+      var traversal = new t.Traversal(null, strategies, null);
+      return traversal.toList().then(function (list) {
+        assert.ok(list);
+        assert.deepEqual(list, [ 'a', 'b' ]);
+      });
+    });
+    it('should return an empty array when traversers is empty', function () {
+      var strategyMock = {
+        apply: function (traversal) {
+          traversal.traversers = [];
+          return utils.resolvedPromise();
+        }
+      };
+      var strategies = new TraversalStrategies();
+      strategies.addStrategy(strategyMock);
+      var traversal = new t.Traversal(null, strategies, null);
+      return traversal.toList().then(function (list) {
+        assert.ok(Array.isArray(list));
+        assert.strictEqual(list.length, 0);
+      });
+    })
+  });
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b6f2cdda/gremlin-javascript/src/test/javascript/gremlin-javascript/helper.js
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/test/javascript/gremlin-javascript/helper.js b/gremlin-javascript/src/test/javascript/gremlin-javascript/helper.js
deleted file mode 100644
index 858ed06..0000000
--- a/gremlin-javascript/src/test/javascript/gremlin-javascript/helper.js
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/**
- * @author Jorge Bay Gondra
- */
-(function defineHelperModule() {
-  "use strict";
-
-  var assert = {
-    ok: function (condition, message) {
-      if (!condition) {
-        throw new AssertError(message || (condition + ' == true'));
-      }
-    },
-    strictEqual: function (val1, val2, message) {
-      if (val1 !== val2) {
-        throw new AssertError(message || (val1 + ' === ' + val2));
-      }
-    }
-  };
-
-  function loadLibModule(moduleName) {
-    if (typeof require !== 'undefined') {
-      moduleName = '../lib/' + moduleName;
-      return require(moduleName);
-    }
-    if (typeof load !== 'undefined' && typeof java !== 'undefined') {
-      moduleName = __DIR__ + '../../../main/javascript/gremlin-javascript/' + moduleName;
-      var path = new java.io.File(moduleName).getCanonicalPath();
-      this.__dependencies = this.__dependencies || {};
-      return this.__dependencies[path] = (this.__dependencies[path] || load(path));
-    }
-    throw new Error('No module loader was found');
-  }
-
-  function AssertError(message) {
-    Error.call(this, message);
-    this.stack = (new Error(message)).stack;
-    if (typeof print !== 'undefined') {
-      print(this.stack);
-    }
-  }
-
-  inherits(AssertError, Error);
-
-  function inherits(ctor, superCtor) {
-    ctor.super_ = superCtor;
-    ctor.prototype = Object.create(superCtor.prototype, {
-      constructor: {
-        value: ctor,
-        enumerable: false,
-        writable: true,
-        configurable: true
-      }
-    });
-  }
-  var toExport = {
-    assert: assert,
-    loadLibModule: loadLibModule
-  };
-  if (typeof module !== 'undefined') {
-    // CommonJS
-    module.exports = toExport;
-    return;
-  }
-  return toExport;
-}).call(this);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b6f2cdda/gremlin-javascript/src/test/javascript/gremlin-javascript/test-exports.js
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/test/javascript/gremlin-javascript/test-exports.js b/gremlin-javascript/src/test/javascript/gremlin-javascript/test-exports.js
deleted file mode 100644
index b9265c7..0000000
--- a/gremlin-javascript/src/test/javascript/gremlin-javascript/test-exports.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/**
- * @author Jorge Bay Gondra
- */
-(function defineTestCases() {
-  "use strict";
-
-  var helper = loadModule.call(this, './helper.js');
-  var assert = helper.assert;
-  var glvModule = helper.loadLibModule.call(this, './index.js');
-
-  [
-    function testExports() {
-      assert.ok(glvModule);
-
-      assert.ok(glvModule.process);
-      assert.strictEqual(typeof glvModule.process.Bytecode, 'function');
-      assert.strictEqual(typeof glvModule.process.EnumValue, 'function');
-      assert.strictEqual(typeof glvModule.process.P, 'function');
-      assert.strictEqual(typeof glvModule.process.Traversal, 'function');
-      assert.strictEqual(typeof glvModule.process.TraversalSideEffects, 'function');
-      assert.strictEqual(typeof glvModule.process.TraversalStrategies, 'function');
-      assert.strictEqual(typeof glvModule.process.TraversalStrategy, 'function');
-      assert.strictEqual(typeof glvModule.process.Traverser, 'function');
-      assert.strictEqual(typeof glvModule.process.GraphTraversal, 'function');
-      assert.strictEqual(typeof glvModule.process.GraphTraversalSource, 'function');
-      assert.strictEqual(typeof glvModule.process.barrier, 'object');
-      assert.strictEqual(typeof glvModule.process.cardinality, 'object');
-      assert.strictEqual(typeof glvModule.process.column, 'object');
-      assert.strictEqual(typeof glvModule.process.direction, 'object');
-      assert.strictEqual(typeof glvModule.process.operator, 'object');
-      assert.strictEqual(typeof glvModule.process.order, 'object');
-      assert.strictEqual(typeof glvModule.process.pop, 'object');
-      assert.strictEqual(typeof glvModule.process.scope, 'object');
-      assert.strictEqual(typeof glvModule.process.t, 'object');
-
-
-      assert.ok(glvModule.process.statics);
-
-      assert.ok(glvModule.structure);
-      assert.ok(glvModule.structure.io);
-      assert.strictEqual(typeof glvModule.structure.io.GraphSONReader, 'function');
-      assert.strictEqual(typeof glvModule.structure.io.GraphSONWriter, 'function');
-      assert.strictEqual(typeof glvModule.structure.Edge, 'function');
-      assert.strictEqual(typeof glvModule.structure.Graph, 'function');
-      assert.strictEqual(typeof glvModule.structure.Path, 'function');
-      assert.strictEqual(typeof glvModule.structure.Property, 'function');
-      assert.strictEqual(typeof glvModule.structure.Vertex, 'function');
-      assert.strictEqual(typeof glvModule.structure.VertexProperty, 'function');
-
-      assert.ok(glvModule.driver);
-      assert.strictEqual(typeof glvModule.driver.RemoteConnection, 'function');
-      assert.strictEqual(typeof glvModule.driver.RemoteStrategy, 'function');
-      assert.strictEqual(typeof glvModule.driver.RemoteTraversal, 'function');
-    }
-  ].forEach(function (testCase) {
-    testCase.call(null);
-  });
-
-  function loadModule(moduleName) {
-    if (typeof require !== 'undefined') {
-      return require(moduleName);
-    }
-    if (typeof load !== 'undefined') {
-      return load(__DIR__ + moduleName);
-    }
-    throw new Error('No module loader was found');
-  }
-}).call(this);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b6f2cdda/gremlin-javascript/src/test/javascript/gremlin-javascript/test-graphson.js
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/test/javascript/gremlin-javascript/test-graphson.js b/gremlin-javascript/src/test/javascript/gremlin-javascript/test-graphson.js
deleted file mode 100644
index 418a9dd..0000000
--- a/gremlin-javascript/src/test/javascript/gremlin-javascript/test-graphson.js
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/**
- * @author Jorge Bay Gondra
- */
-(function defineTestCases() {
-  "use strict";
-
-  var helper = loadModule.call(this, './helper.js');
-  var assert = helper.assert;
-  var graph = helper.loadLibModule.call(this, 'structure/graph.js');
-  var t = helper.loadLibModule.call(this, 'process/traversal.js');
-  var gs = helper.loadLibModule.call(this, 'structure/io/graph-serializer.js');
-  var GraphSONReader = gs.GraphSONReader;
-  var GraphSONWriter = gs.GraphSONWriter;
-  var P = t.P;
-
-  [
-    function testReadNumbers() {
-      var reader = new GraphSONReader();
-      [
-        [{
-          "@type": "g:Int32",
-          "@value": 31
-        }, 31],
-        [{
-          "@type": "g:Float",
-          "@value": 31.3
-        }, 31.3],
-        [{
-          "@type": "g:Double",
-          "@value": 31.2
-        }, 31.2]
-      ].forEach(function (item) {
-        var result = reader.read(item[0]);
-        assert.strictEqual(result, item[1]);
-        assert.strictEqual(typeof result, 'number');
-      });
-    },
-    function testReadGraph() {
-      var obj = {"@type":"g:Vertex", "@value":{"id":{"@type":"g:Int32","@value":1},"label":"person","outE":{"created":[{"id":{"@type":"g:Int32","@value":9}, "inV":{"@type":"g:Int32","@value":3},"properties":{"weight":{"@type":"g:Double","@value":0.4}}}],"knows":[{"id":{"@type":"g:Int32","@value":7},"inV":{"@type":"g:Int32","@value":2},"properties":{"weight":{"@type":"g:Double","@value":0.5}}},{"id":{"@type":"g:Int32","@value":8},"inV":{"@type":"g:Int32","@value":4},"properties":{"weight":{"@type":"g:Double","@value":1.0}}}]},"properties":{"name":[{"id":{"@type":"g:Int64","@value":0},"value":"marko"}],"age":[{"id":{"@type":"g:Int64","@value":1},"value":{"@type":"g:Int32","@value":29}}]}}};
-      var reader = new GraphSONReader(obj);
-      var result = reader.read(obj);
-      assert.ok(result instanceof graph.Vertex);
-      assert.strictEqual(result.label, 'person');
-      assert.strictEqual(typeof result.id, 'number');
-    },
-    function testReadPath() {
-      var obj = {"@type":"g:Path","@value":{"labels":[["a"],["b","c"],[]],"objects":[
-        {"@type":"g:Vertex","@value":{"id":{"@type":"g:Int32","@value":1},"label":"person","properties":{"name":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":0},"value":"marko","label":"name"}}],"age":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":1},"value":{"@type":"g:Int32","@value":29},"label":"age"}}]}}},
-        {"@type":"g:Vertex","@value":{"id":{"@type":"g:Int32","@value":3},"label":"software","properties":{"name":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":4},"value":"lop","label":"name"}}],"lang":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":5},"value":"java","label":"lang"}}]}}},
-        "lop"]}};
-      var reader = new GraphSONReader(obj);
-      var result = reader.read(obj);
-      assert.ok(result);
-      assert.ok(result.objects);
-      assert.ok(result.labels);
-      assert.strictEqual(result.objects[2], 'lop');
-      assert.ok(result.objects[0] instanceof graph.Vertex);
-      assert.ok(result.objects[1] instanceof graph.Vertex);
-      assert.strictEqual(result.objects[0].label, 'person');
-      assert.strictEqual(result.objects[1].label, 'software');
-    },
-    function testWriteNumber() {
-      var writer = new GraphSONWriter();
-      assert.strictEqual(writer.write(2), '2');
-    },
-    function testWriteBoolean() {
-      var writer = new GraphSONWriter();
-      assert.strictEqual(writer.write(true), 'true');
-      assert.strictEqual(writer.write(false), 'false');
-    },
-    function testWriteP() {
-      var writer = new GraphSONWriter();
-      var expected = JSON.stringify({"@type":"g:P","@value":{"predicate":"and","value":[{"@type":"g:P","@value":{"predicate":"or","value":[{"@type":"g:P","@value":{"predicate":"lt","value":"b"}},{"@type":"g:P","@value":{"predicate":"gt","value":"c"}}]}},{"@type":"g:P","@value":{"predicate":"neq","value":"d"}}]}});
-      assert.strictEqual(writer.write(P.lt("b").or(P.gt("c")).and(P.neq("d"))), expected);
-    }
-  ].forEach(function (testCase) {
-    testCase.call(null);
-  });
-
-  function loadModule(moduleName) {
-    if (typeof require !== 'undefined') {
-      return require(moduleName);
-    }
-    if (typeof load !== 'undefined') {
-      return load(__DIR__ + moduleName);
-    }
-    throw new Error('No module loader was found');
-  }
-}).call(this);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b6f2cdda/gremlin-javascript/src/test/javascript/gremlin-javascript/test-traversal.js
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/test/javascript/gremlin-javascript/test-traversal.js b/gremlin-javascript/src/test/javascript/gremlin-javascript/test-traversal.js
deleted file mode 100644
index 1ec4253..0000000
--- a/gremlin-javascript/src/test/javascript/gremlin-javascript/test-traversal.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/**
- * @author Jorge Bay Gondra
- */
-(function defineTestCases() {
-  "use strict";
-
-  var helper = loadModule.call(this, './helper.js');
-  var assert = helper.assert;
-  var graph = helper.loadLibModule.call(this, 'structure/graph.js');
-  var t = helper.loadLibModule.call(this, 'process/traversal.js');
-
-  [
-    function testBytecode1() {
-      var g = new graph.Graph().traversal();
-      var bytecode = g.V().out('created').getBytecode();
-      assert.ok(bytecode);
-      assert.strictEqual(bytecode.sourceInstructions.length, 0);
-      assert.strictEqual(bytecode.stepInstructions.length, 2);
-      assert.strictEqual(bytecode.stepInstructions[0][0], 'V');
-      assert.strictEqual(bytecode.stepInstructions[1][0], 'out');
-      assert.strictEqual(bytecode.stepInstructions[1][1], 'created');
-    },
-    function testBytecode2() {
-      var g = new graph.Graph().traversal();
-      var bytecode = g.V().order().by('age', t.order.decr).getBytecode();
-      assert.ok(bytecode);
-      assert.strictEqual(bytecode.sourceInstructions.length, 0);
-      assert.strictEqual(bytecode.stepInstructions.length, 3);
-      assert.strictEqual(bytecode.stepInstructions[0][0], 'V');
-      assert.strictEqual(bytecode.stepInstructions[1][0], 'order');
-      assert.strictEqual(bytecode.stepInstructions[2][0], 'by');
-      assert.strictEqual(bytecode.stepInstructions[2][1], 'age');
-      assert.strictEqual(typeof bytecode.stepInstructions[2][2], 'object');
-      assert.strictEqual(bytecode.stepInstructions[2][2].typeName, 'Order');
-      assert.strictEqual(bytecode.stepInstructions[2][2].elementName, 'decr');
-    }
-  ].forEach(function (testCase) {
-    testCase.call(null);
-  });
-
-  function loadModule(moduleName) {
-    if (typeof require !== 'undefined') {
-      return require(moduleName);
-    }
-    if (typeof load !== 'undefined') {
-      return load(__DIR__ + moduleName);
-    }
-    throw new Error('No module loader was found');
-  }
-}).call(this);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b6f2cdda/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8cd2aa4..b4f2e12 100644
--- a/pom.xml
+++ b/pom.xml
@@ -321,6 +321,10 @@ limitations under the License.
                         <exclude>**/*.csproj</exclude>
                         <exclude>**/.vs/**</exclude>
                         <exclude>**/NuGet.Config</exclude>
+                        <exclude>**/gremlin-javascript/node_modules/**</exclude>
+                        <exclude>**/node/node_modules/**</exclude>
+                        <exclude>**/node/node</exclude>
+                        <exclude>**/npm-debug.log</exclude>
                     </excludes>
                     <licenses>
                         <license implementation="org.apache.rat.analysis.license.ApacheSoftwareLicense20"/>