This is an automated email from the ASF dual-hosted git repository. kenhuuu pushed a commit to branch stringify-params in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 938d769bf2baba641b00edd6e3f12190c8091315 Author: Ken Hu <[email protected]> AuthorDate: Tue Apr 21 22:24:42 2026 -0700 add missing test imports --- .../tinkerpop/gremlin/jsr223/CoreImports.java | 3 + gremlin-dotnet/build/generate.groovy | 1 + .../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs | 1 + gremlin-go/build/generate.groovy | 74 +++++++++++----------- gremlin-go/driver/cucumber/gremlin.go | 12 ++-- .../scripts/groovy/generate.groovy | 51 +++++++-------- .../gremlin-javascript/test/cucumber/gremlin.js | 35 +++++----- gremlin-python/build/generate.groovy | 4 +- .../src/main/python/tests/feature/gremlin.py | 4 +- 9 files changed, 98 insertions(+), 87 deletions(-) diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreImports.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreImports.java index 398652a889..4fe50ed633 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreImports.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreImports.java @@ -326,8 +326,11 @@ public final class CoreImports { CLASS_IMPORTS.add(Lambda.class); CLASS_IMPORTS.add(java.util.Date.class); CLASS_IMPORTS.add(java.time.OffsetDateTime.class); + CLASS_IMPORTS.add(java.time.Duration.class); + CLASS_IMPORTS.add(java.nio.ByteBuffer.class); CLASS_IMPORTS.add(java.sql.Timestamp.class); CLASS_IMPORTS.add(java.util.UUID.class); + CLASS_IMPORTS.add(java.util.Base64.class); CLASS_IMPORTS.add(GremlinTranslator.class); CLASS_IMPORTS.add(Translator.class); diff --git a/gremlin-dotnet/build/generate.groovy b/gremlin-dotnet/build/generate.groovy index 24bc271ad5..234dfb6950 100644 --- a/gremlin-dotnet/build/generate.groovy +++ b/gremlin-dotnet/build/generate.groovy @@ -61,6 +61,7 @@ radishGremlinFile.withWriter('UTF-8') { Writer writer -> writer.writeLine('using System;\n' + 'using System.Numerics;\n' + 'using System.Collections.Generic;\n' + + 'using System.Xml;\n' + 'using Gremlin.Net.Structure;\n' + 'using Gremlin.Net.Process.Traversal;\n' + 'using Gremlin.Net.Process.Traversal.Strategy.Optimization;\n' + diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs index d2ffc824b7..5f0d8a1c72 100644 --- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs +++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs @@ -32,6 +32,7 @@ using System; using System.Numerics; using System.Collections.Generic; +using System.Xml; using Gremlin.Net.Structure; using Gremlin.Net.Process.Traversal; using Gremlin.Net.Process.Traversal.Strategy.Optimization; diff --git a/gremlin-go/build/generate.groovy b/gremlin-go/build/generate.groovy index 39bc209713..3069766aad 100644 --- a/gremlin-go/build/generate.groovy +++ b/gremlin-go/build/generate.groovy @@ -79,45 +79,45 @@ radishGremlinFile.withWriter('UTF-8') { Writer writer -> if (staticTranslate.containsKey(k)) { writer.writeLine(staticTranslate[k]) } else { - writer.write(" ") - writer.write("\"") - writer.write(k) - writer.write("\": {") - def collected = v.collect { - try { - GremlinTranslator.translate(it, Translator.GO) - } catch (ignored) { - // fall back to the original gremlin-lang form for unsupported literals; - // the scenario will be skipped at test runtime via tag exclusions - GremlinTranslator.translate(it, Translator.LANGUAGE) + try { + def collected = v.collect { GremlinTranslator.translate(it, Translator.GO) } + writer.write(" ") + writer.write("\"") + writer.write(k) + writer.write("\": {") + def gremlinItty = collected.iterator() + while (gremlinItty.hasNext()) { + def t = gremlinItty.next() + writer.write("func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return ") + try { + writer.write(t.getTranslated(). + replaceAll("xx([0-9]+)", "p[\"xx\$1\"]"). + replaceAll("^-v([0-9]+)^-", "p[\"v\$1\"]"). // using ^- to avoid matching on g.io() tests - unexpected side-effect + replaceAll("vid([0-9]+)", "p[\"vid\$1\"]"). + replaceAll("e([0-9]+)", "p[\"e\$1\"]"). + replaceAll("eid([0-9]+)", "p[\"eid\$1\"]"). + replace("l1", "p[\"l1\"]"). + replace("l2", "p[\"l2\"]"). + replace("pred1", "p[\"pred1\"]"). + replace("c1", "p[\"c1\"]"). + replace("c2", "p[\"c2\"]")) + } catch (ignored) { + // Putting these in place of not implemented functions + // TODO make sure all is supported + writer.write("nil") + } + writer.write("}") + if (gremlinItty.hasNext()) + writer.write(', ') } + writer.writeLine('}, ') + } catch (ignored) { + // emit a placeholder for scenarios with unsupported literals to keep the file + // syntactically valid; the scenario will be skipped at test runtime via tag exclusions + writer.write(" \"") + writer.write(k) + writer.writeLine("\": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return nil}}, ") } - def gremlinItty = collected.iterator() - while (gremlinItty.hasNext()) { - def t = gremlinItty.next() - writer.write("func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return ") - try { - writer.write(t.getTranslated(). - replaceAll("xx([0-9]+)", "p[\"xx\$1\"]"). - replaceAll("^-v([0-9]+)^-", "p[\"v\$1\"]"). // using ^- to avoid matching on g.io() tests - unexpected side-effect - replaceAll("vid([0-9]+)", "p[\"vid\$1\"]"). - replaceAll("e([0-9]+)", "p[\"e\$1\"]"). - replaceAll("eid([0-9]+)", "p[\"eid\$1\"]"). - replace("l1", "p[\"l1\"]"). - replace("l2", "p[\"l2\"]"). - replace("pred1", "p[\"pred1\"]"). - replace("c1", "p[\"c1\"]"). - replace("c2", "p[\"c2\"]")) - } catch (ignored) { - // Putting these in place of not implemented functions - // TODO make sure all is supported - writer.write("nil") - } - writer.write("}") - if (gremlinItty.hasNext()) - writer.write(', ') - } - writer.writeLine('}, ') } } writer.writeLine('}\n') diff --git a/gremlin-go/driver/cucumber/gremlin.go b/gremlin-go/driver/cucumber/gremlin.go index 386ebb3df9..02419ce829 100644 --- a/gremlin-go/driver/cucumber/gremlin.go +++ b/gremlin-go/driver/cucumber/gremlin.go @@ -209,12 +209,12 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[ "g_V_valuesXintX_asNumberXGType_BYTEX_isXtypeOfXGType_BYTEXX_chooseXisXeqX12XX_constantXtwelveX_constantXotherXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("data").Property("int", 12)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("int").AsNumber(gremlingo.GType.Byte).Is(gremlingo.P.TypeOf(gremlingo.GType.Byte)).Choose(gremlingo.T__.Is(gremlingo.P.Eq( [...] "g_injectX15X_asNumberXGType_BYTEX_isXtypeOfXGType_BYTEXX_groupCount": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(15).AsNumber(gremlingo.GType.Byte).Is(gremlingo.P.TypeOf(gremlingo.GType.Byte)).GroupCount()}}, "g_V_valuesXageX_isXtypeOfXGType_BYTEXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Is(gremlingo.P.TypeOf(gremlingo.GType.Byte))}}, - "g_injectXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.inject("a"c)}}, - "g_injectXescaped_quoteX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.inject("\""c)}}, - "g_injectXescaped_backslashX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.inject("\\"c)}}, - "g_injectXunicodeX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.inject("\u00E9"c)}}, - "g_valuesXinitialX_isXtypeOfXGType_CHARXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.addV("data").property("initial", "a"c)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("initial").Is(gremlingo.P.TypeOf(gremlingo.GType.Char))}}, - "g_injectXaX_isXeqXaXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.inject("a"c).is(P.eq("a"c))}}, + "g_injectXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return nil}}, + "g_injectXescaped_quoteX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return nil}}, + "g_injectXescaped_backslashX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return nil}}, + "g_injectXunicodeX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return nil}}, + "g_valuesXinitialX_isXtypeOfXGType_CHARXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return nil}}, + "g_injectXaX_isXeqXaXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return nil}}, "g_V_valuesXdatetimeX_isXtypeOfXGType_DATETIMEXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("event").Property("datetime", time.Date(2023, 8, 8, 0, 0, 0, 0, time.FixedZone("UTC+00:00", 0)))}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("datetime").Is(gremlingo.P.TypeOf(gremlingo.GType.DateTime))}}, "g_V_valuesXdatetimeX_isXtypeOfXGType_DATETIMEXX_project_byXidentityX_byXdateAddXDT_dayX1XX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("event").Property("datetime", time.Date(2023, 8, 8, 0, 0, 0, 0, time.FixedZone("UTC+00:00", 0)))}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("datetime").Is(gremlingo.P.TypeOf(gremlingo.GType.DateTime)).Project("orig [...] "g_V_valuesXdatetimeX_isXtypeOfXGType_DATETIMEXX_dateDiffXdatetimeX2023_08_10XX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("event").Property("datetime", time.Date(2023, 8, 8, 0, 0, 0, 0, time.FixedZone("UTC+00:00", 0)))}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("datetime").Is(gremlingo.P.TypeOf(gremlingo.GType.DateTime)).DateDiff(time.Date(2023, [...] diff --git a/gremlin-js/gremlin-javascript/scripts/groovy/generate.groovy b/gremlin-js/gremlin-javascript/scripts/groovy/generate.groovy index bfde0e275b..1e43297acc 100644 --- a/gremlin-js/gremlin-javascript/scripts/groovy/generate.groovy +++ b/gremlin-js/gremlin-javascript/scripts/groovy/generate.groovy @@ -57,6 +57,7 @@ radishGremlinFile.withWriter('UTF-8') { Writer writer -> 'import * as graphTraversalModule from \'../../lib/process/graph-traversal.js\';\n' + 'import * as traversalModule from \'../../lib/process/traversal.js\';\n' + 'import * as uuid from \'uuid\';\n' + + 'import { Buffer } from \'buffer\';\n' + 'import { TraversalStrategies, VertexProgramStrategy, OptionsStrategy, PartitionStrategy, \n' + ' ReadOnlyStrategy, GraphFilterStrategy, SeedStrategy, SubgraphStrategy, ProductiveByStrategy, \n' + ' LambdaRestrictionStrategy, StandardVerificationStrategy, VertexProgramRestrictionStrategy, \n' + @@ -103,33 +104,33 @@ radishGremlinFile.withWriter('UTF-8') { Writer writer -> if (staticTranslate.containsKey(k)) { writer.writeLine(staticTranslate[k]) } else { - writer.write(" ") - writer.write(k) - writer.write(": [") - def collected = v.collect { - try { - GremlinTranslator.translate(it, Translator.JAVASCRIPT) - } catch (ignored) { - // fall back to the original gremlin-lang form for unsupported literals; - // the scenario will be skipped at test runtime via tag exclusions - GremlinTranslator.translate(it, Translator.LANGUAGE) + try { + def collected = v.collect { GremlinTranslator.translate(it, Translator.JAVASCRIPT) } + writer.write(" ") + writer.write(k) + writer.write(": [") + def uniqueBindings = collected.collect { it.getParameters() }.flatten().unique() + def gremlinItty = collected.iterator() + while (gremlinItty.hasNext()) { + def t = gremlinItty.next() + writer.write("function({g") + if (!uniqueBindings.isEmpty()) { + writer.write(", ") + writer.write(uniqueBindings.join(", ")) + } + writer.write("}) { return ") + writer.write(t.getTranslated()) + writer.write(" }") + if (gremlinItty.hasNext()) writer.write(', ') } + writer.writeLine('], ') + } catch (ignored) { + // emit a placeholder for scenarios with unsupported literals to keep the file + // syntactically valid; the scenario will be skipped at test runtime via tag exclusions + writer.write(" ") + writer.write(k) + writer.writeLine(": [function({g}) { return null }], ") } - def uniqueBindings = collected.collect { it.getParameters() }.flatten().unique() - def gremlinItty = collected.iterator() - while (gremlinItty.hasNext()) { - def t = gremlinItty.next() - writer.write("function({g") - if (!uniqueBindings.isEmpty()) { - writer.write(", ") - writer.write(uniqueBindings.join(", ")) - } - writer.write("}) { return ") - writer.write(t.getTranslated()) - writer.write(" }") - if (gremlinItty.hasNext()) writer.write(', ') - } - writer.writeLine('], ') } } writer.writeLine('}\n') diff --git a/gremlin-js/gremlin-javascript/test/cucumber/gremlin.js b/gremlin-js/gremlin-javascript/test/cucumber/gremlin.js index 877d893312..e783569517 100644 --- a/gremlin-js/gremlin-javascript/test/cucumber/gremlin.js +++ b/gremlin-js/gremlin-javascript/test/cucumber/gremlin.js @@ -27,6 +27,7 @@ import * as graphTraversalModule from '../../lib/process/graph-traversal.js'; import * as traversalModule from '../../lib/process/traversal.js'; import * as uuid from 'uuid'; +import { Buffer } from 'buffer'; import { TraversalStrategies, VertexProgramStrategy, OptionsStrategy, PartitionStrategy, ReadOnlyStrategy, GraphFilterStrategy, SeedStrategy, SubgraphStrategy, ProductiveByStrategy, LambdaRestrictionStrategy, StandardVerificationStrategy, VertexProgramRestrictionStrategy, @@ -240,12 +241,12 @@ const gremlins = { g_V_valuesXintX_asNumberXGType_BYTEX_isXtypeOfXGType_BYTEXX_chooseXisXeqX12XX_constantXtwelveX_constantXotherXX: [function({g}) { return g.addV("data").property("int", 12) }, function({g}) { return g.V().values("int").asNumber(GType.byte).is(P.typeOf(GType.byte)).choose(__.is(P.eq(12)), __.constant("twelve"), __.constant("other")) }], g_injectX15X_asNumberXGType_BYTEX_isXtypeOfXGType_BYTEXX_groupCount: [function({g}) { return g.inject(15).asNumber(GType.byte).is(P.typeOf(GType.byte)).groupCount() }], g_V_valuesXageX_isXtypeOfXGType_BYTEXX: [function({g}) { return g.V().values("age").is(P.typeOf(GType.byte)) }], - g_injectXaX: [function({g}) { return g.inject("a"c) }], - g_injectXescaped_quoteX: [function({g}) { return g.inject("\""c) }], - g_injectXescaped_backslashX: [function({g}) { return g.inject("\\"c) }], - g_injectXunicodeX: [function({g}) { return g.inject("\u00E9"c) }], - g_valuesXinitialX_isXtypeOfXGType_CHARXX: [function({g}) { return g.addV("data").property("initial", "a"c) }, function({g}) { return g.V().values("initial").is(P.typeOf(GType.char)) }], - g_injectXaX_isXeqXaXX: [function({g}) { return g.inject("a"c).is(P.eq("a"c)) }], + g_injectXaX: [function({g}) { return null }], + g_injectXescaped_quoteX: [function({g}) { return null }], + g_injectXescaped_backslashX: [function({g}) { return null }], + g_injectXunicodeX: [function({g}) { return null }], + g_valuesXinitialX_isXtypeOfXGType_CHARXX: [function({g}) { return null }], + g_injectXaX_isXeqXaXX: [function({g}) { return null }], g_V_valuesXdatetimeX_isXtypeOfXGType_DATETIMEXX: [function({g}) { return g.addV("event").property("datetime", new Date('2023-08-08T00:00Z')) }, function({g}) { return g.V().values("datetime").is(P.typeOf(GType.datetime)) }], g_V_valuesXdatetimeX_isXtypeOfXGType_DATETIMEXX_project_byXidentityX_byXdateAddXDT_dayX1XX: [function({g}) { return g.addV("event").property("datetime", new Date('2023-08-08T00:00Z')) }, function({g}) { return g.V().values("datetime").is(P.typeOf(GType.datetime)).project("original", "nextDay").by(__.identity()).by(__.dateAdd(DT.day, 1)) }], g_V_valuesXdatetimeX_isXtypeOfXGType_DATETIMEXX_dateDiffXdatetimeX2023_08_10XX: [function({g}) { return g.addV("event").property("datetime", new Date('2023-08-08T00:00Z')) }, function({g}) { return g.V().values("datetime").is(P.typeOf(GType.datetime)).dateDiff(new Date('2023-08-08T00:00:30Z')) }], @@ -265,17 +266,17 @@ const gremlins = { g_V_valuesXdoubleX_isXtypeOfXGType_DOUBLEXX_order_byXascX: [function({g}) { return g.addV("data").property("double", 3.2).addV("data").property("double", 1.8).addV("data").property("double", 2.5) }, function({g}) { return g.V().values("double").is(P.typeOf(GType.double)).order().by(Order.asc) }], g_injectX5_5dX_isXtypeOfXGType_DOUBLEXX_groupCount: [function({g}) { return g.inject(5.5).is(P.typeOf(GType.double)).groupCount() }], g_V_valuesXageX_isXtypeOfXGType_DOUBLEXX: [function({g}) { return g.V().values("age").is(P.typeOf(GType.double)) }], - g_injectXDurationXPT2H30MXX: [function({g}) { return g.inject(Duration("PT2H30M")) }], - g_injectXDurationXPT0SXX: [function({g}) { return g.inject(Duration("PT0S")) }], - g_injectXDurationXPTneg30SXX: [function({g}) { return g.inject(Duration("PT-30S")) }], - g_injectXDurationXnegPT30SXX: [function({g}) { return g.inject(Duration("-PT30S")) }], - g_injectXDurationXPT0_5SXX: [function({g}) { return g.inject(Duration("PT0.5S")) }], - g_injectXDurationXP1DT12HXX: [function({g}) { return g.inject(Duration("P1DT12H")) }], - g_injectXDurationXP2DXX: [function({g}) { return g.inject(Duration("P2D")) }], - g_injectXDurationXPT1H30M15SXX: [function({g}) { return g.inject(Duration("PT1H30M15S")) }], - g_injectXDurationXPTneg0_5SXX: [function({g}) { return g.inject(Duration("PT-0.5S")) }], - g_valuesXlengthX_isXtypeOfXGType_DURATIONXX: [function({g}) { return g.addV("data").property("length", Duration("PT2H30M")) }, function({g}) { return g.V().values("length").is(P.typeOf(GType.duration)) }], - g_injectXDurationXPT2H30MXX_isXgtXDurationXPT1HXXX: [function({g}) { return g.inject(Duration("PT2H30M")).is(P.gt(Duration("PT1H"))) }], + g_injectXDurationXPT2H30MXX: [function({g}) { return null }], + g_injectXDurationXPT0SXX: [function({g}) { return null }], + g_injectXDurationXPTneg30SXX: [function({g}) { return null }], + g_injectXDurationXnegPT30SXX: [function({g}) { return null }], + g_injectXDurationXPT0_5SXX: [function({g}) { return null }], + g_injectXDurationXP1DT12HXX: [function({g}) { return null }], + g_injectXDurationXP2DXX: [function({g}) { return null }], + g_injectXDurationXPT1H30M15SXX: [function({g}) { return null }], + g_injectXDurationXPTneg0_5SXX: [function({g}) { return null }], + g_valuesXlengthX_isXtypeOfXGType_DURATIONXX: [function({g}) { return null }], + g_injectXDurationXPT2H30MXX_isXgtXDurationXPT1HXXX: [function({g}) { return null }], g_V_valuesXfloatX_isXtypeOfXGType_FLOATXX: [function({g}) { return g.addV("data").property("float", 2.5) }, function({g}) { return g.V().values("float").asNumber(GType.float).is(P.typeOf(GType.float)) }], g_V_valuesXfloatX_isXtypeOfXGType_FLOATXX_mathXmulX2XX: [function({g}) { return g.addV("data").property("float", 3.0) }, function({g}) { return g.V().values("float").asNumber(GType.float).is(P.typeOf(GType.float)).math("_ * 2") }], g_V_valuesXfloatX_isXtypeOfXGType_FLOATXX_isXeqX1_5XX: [function({g}) { return g.addV("data").property("float", 1.5) }, function({g}) { return g.V().values("float").asNumber(GType.float).is(P.typeOf(GType.float)).is(P.eq(1.5)) }], diff --git a/gremlin-python/build/generate.groovy b/gremlin-python/build/generate.groovy index aaa66090d5..e96964dbf6 100644 --- a/gremlin-python/build/generate.groovy +++ b/gremlin-python/build/generate.groovy @@ -55,9 +55,11 @@ radishGremlinFile.withWriter('UTF-8') { Writer writer -> writer.writeLine( 'from radish import world\n' + + 'import base64\n' + 'import datetime\n' + 'import uuid\n' + - 'from gremlin_python.statics import long, bigint, bigdecimal, GremlinType\n' + + 'from datetime import timedelta\n' + + 'from gremlin_python.statics import long, bigint, bigdecimal, SingleChar, GremlinType\n' + 'from gremlin_python.process.anonymous_traversal import traversal\n' + 'from gremlin_python.process.strategies import *\n' + 'from gremlin_python.process.traversal import TraversalStrategy\n' + diff --git a/gremlin-python/src/main/python/tests/feature/gremlin.py b/gremlin-python/src/main/python/tests/feature/gremlin.py index d1c1d1c70e..a70363dca8 100644 --- a/gremlin-python/src/main/python/tests/feature/gremlin.py +++ b/gremlin-python/src/main/python/tests/feature/gremlin.py @@ -25,9 +25,11 @@ from radish import world +import base64 import datetime import uuid -from gremlin_python.statics import long, bigint, bigdecimal, GremlinType +from datetime import timedelta +from gremlin_python.statics import long, bigint, bigdecimal, SingleChar, GremlinType from gremlin_python.process.anonymous_traversal import traversal from gremlin_python.process.strategies import * from gremlin_python.process.traversal import TraversalStrategy
