diff --git a/tools/tck-api/src/main/scala/org/opencypher/tools/tck/values/CypherValueParser.scala b/tools/tck-api/src/main/scala/org/opencypher/tools/tck/values/CypherValueParser.scala index 4804da0bdf..c195ab1e81 100644 --- a/tools/tck-api/src/main/scala/org/opencypher/tools/tck/values/CypherValueParser.scala +++ b/tools/tck-api/src/main/scala/org/opencypher/tools/tck/values/CypherValueParser.scala @@ -33,6 +33,15 @@ import org.opencypher.tools.tck.values.Connection.{backward, forward} case class CypherValueParseException(msg: String, expected: String) extends Exception(msg) class CypherValueParser(val orderedLists: Boolean) { + + implicit object whitespace extends Whitespace { + override def apply(ctx: ParsingRun[_]): ParsingRun[Unit] = { + implicit val p: ParsingRun[_] = ctx + implicit val w: Whitespace = this + invisible.rep + } + } + def parse(s: String): CypherValue = { fastparse.parse(s, cypherValueFromEntireInput(_), verboseFailures = true) match { case Success(value, _) => value @@ -174,6 +183,4 @@ class CypherValueParser(val orderedLists: Boolean) { private def newline[X: P]: P[Unit] = "\n" | "\r\n" | "\r" | "\f" private def invisible[X: P]: P[Unit] = " " | "\t" | newline - - implicit val whitespace: P[_] => P[Unit] = { implicit ctx: ParsingRun[_] => invisible.rep } } diff --git a/tools/tck-api/src/main/scala_3/org/opencypher/tools/tck/values/OrderingCompatibility.scala b/tools/tck-api/src/main/scala_3/org/opencypher/tools/tck/values/OrderingCompatibility.scala new file mode 100644 index 0000000000..cbd0bcd7d4 --- /dev/null +++ b/tools/tck-api/src/main/scala_3/org/opencypher/tools/tck/values/OrderingCompatibility.scala @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2015-2023 "Neo Technology," + * Network Engine for Objects in Lund AB [http://neotechnology.com] + * + * Licensed 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. + * + * Attribution Notice under the terms of the Apache License 2.0 + * + * This work was created by the collective efforts of the openCypher community. + * Without limiting the terms of Section 6, any Derivative Work that is not + * approved by the public consensus process of the openCypher Implementers Group + * should not be described as “Cypher” (and Cypher® is a registered trademark of + * Neo4j Inc.) or as "openCypher". Extensions by implementers or prototypes or + * proposals for change that have been documented or implemented should only be + * described as "implementation extensions to Cypher" or as "proposed changes to + * Cypher that are not yet approved by the openCypher community". + */ +package org.opencypher.tools.tck.values + +import scala.math.Ordering.Implicits.seqOrdering + +object OrderingCompatibility { + trait Implicits { + implicit def seqOrdering[CC[X] <: scala.collection.Seq[X], T](implicit ord: Ordering[T]): Ordering[CC[T]] = scala.math.Ordering.Implicits.seqOrdering + } + object Implicits extends Implicits { } +} diff --git a/tools/tck-api/src/test/resources/org/opencypher/tools/tck/FailureWithSideEffects.feature b/tools/tck-api/src/test/resources/org/opencypher/tools/tck/FailureWithSideEffects.feature index 4fc9ddd2d6..6916ef6f41 100644 --- a/tools/tck-api/src/test/resources/org/opencypher/tools/tck/FailureWithSideEffects.feature +++ b/tools/tck-api/src/test/resources/org/opencypher/tools/tck/FailureWithSideEffects.feature @@ -1,5 +1,5 @@ # -# Copyright (c) 2015-2022 "Neo Technology," +# Copyright (c) 2015-2023 "Neo Technology," # Network Engine for Objects in Lund AB [http://neotechnology.com] # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tools/tck-api/src/test/scala/org/opencypher/tools/tck/FailureWithSideEffectsTckTest.scala b/tools/tck-api/src/test/scala/org/opencypher/tools/tck/FailureWithSideEffectsTckTest.scala index 1c59746a5b..0f53021633 100644 --- a/tools/tck-api/src/test/scala/org/opencypher/tools/tck/FailureWithSideEffectsTckTest.scala +++ b/tools/tck-api/src/test/scala/org/opencypher/tools/tck/FailureWithSideEffectsTckTest.scala @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2022 "Neo Technology," + * Copyright (c) 2015-2023 "Neo Technology," * Network Engine for Objects in Lund AB [http://neotechnology.com] * * Licensed under the Apache License, Version 2.0 (the "License");