From 3e136cc7b152936831d8063004cbee9a07cc81b5 Mon Sep 17 00:00:00 2001 From: Eugene Platonov Date: Wed, 6 Feb 2019 21:48:48 -0500 Subject: [PATCH] Scala 2.13.0-M5 --- build.sbt | 7 +++---- .../org/mockito/matchers/package.scala | 0 .../scala-2.12/org/mockito/matchers/package.scala | 13 +++++++++++++ .../org/mockito/matchers/package.scala | 13 +++++++++++++ .../org/mockito/ArgumentMatchersSugar.scala | 0 .../org/mockito/matchers/EqMatchers_213.scala | 4 ++-- .../user/org/mockito/IdiomaticMockitoTest_213.scala | 0 .../user/org/mockito/MockitoSugarTest_213.scala | 0 8 files changed, 31 insertions(+), 6 deletions(-) rename common/src/main/{scala => scala-2.11}/org/mockito/matchers/package.scala (100%) create mode 100644 common/src/main/scala-2.12/org/mockito/matchers/package.scala create mode 100644 common/src/main/scala-2.13.0-M5/org/mockito/matchers/package.scala rename core/src/main/{scala-2.13.0-M2 => scala-2.13.0-M5}/org/mockito/ArgumentMatchersSugar.scala (100%) rename core/src/main/{scala-2.13.0-M2 => scala-2.13.0-M5}/org/mockito/matchers/EqMatchers_213.scala (92%) rename core/src/test/{scala-2.13.0-M2 => scala-2.13.0-M5}/user/org/mockito/IdiomaticMockitoTest_213.scala (100%) rename core/src/test/{scala-2.13.0-M2 => scala-2.13.0-M5}/user/org/mockito/MockitoSugarTest_213.scala (100%) diff --git a/build.sbt b/build.sbt index ed8a9fa0..ec983a23 100644 --- a/build.sbt +++ b/build.sbt @@ -19,13 +19,12 @@ lazy val commonSettings = source.close version.get }, - crossScalaVersions := Seq("2.11.12", "2.12.8", "2.13.0-M2"), + crossScalaVersions := Seq("2.11.12", "2.12.8", "2.13.0-M5"), scalacOptions ++= Seq( "-unchecked", "-feature", "-deprecation:false", "-encoding", "UTF-8", - "-Ypartial-unification", "-language:higherKinds", "-Xfatal-warnings", "-language:reflectiveCalls", @@ -35,9 +34,9 @@ lazy val commonSettings = lazy val commonLibraries = Seq( "org.mockito" % "mockito-core" % "2.24.0", - "org.scalactic" %% "scalactic" % "3.0.5", + "org.scalactic" %% "scalactic" % "3.0.6-SNAP6", "ru.vyarus" % "generics-resolver" % "3.0.0", - "org.scalatest" %% "scalatest" % "3.0.5" % "provided", + "org.scalatest" %% "scalatest" % "3.0.6-SNAP6" % "provided", ) lazy val common = (project in file("common")) diff --git a/common/src/main/scala/org/mockito/matchers/package.scala b/common/src/main/scala-2.11/org/mockito/matchers/package.scala similarity index 100% rename from common/src/main/scala/org/mockito/matchers/package.scala rename to common/src/main/scala-2.11/org/mockito/matchers/package.scala diff --git a/common/src/main/scala-2.12/org/mockito/matchers/package.scala b/common/src/main/scala-2.12/org/mockito/matchers/package.scala new file mode 100644 index 00000000..18ba6930 --- /dev/null +++ b/common/src/main/scala-2.12/org/mockito/matchers/package.scala @@ -0,0 +1,13 @@ +package org.mockito +import scala.collection.mutable + +package object matchers { + trait VarargAwareArgumentMatcher[T] extends ArgumentMatcher[T] { + override def matches(argument: T): Boolean = argument match { + case a: mutable.WrappedArray[_] if a.length == 1 => doesMatch(a.head.asInstanceOf[T]) + case other => doesMatch(other) + } + + def doesMatch(argument: T): Boolean + } +} diff --git a/common/src/main/scala-2.13.0-M5/org/mockito/matchers/package.scala b/common/src/main/scala-2.13.0-M5/org/mockito/matchers/package.scala new file mode 100644 index 00000000..d29149ae --- /dev/null +++ b/common/src/main/scala-2.13.0-M5/org/mockito/matchers/package.scala @@ -0,0 +1,13 @@ +package org.mockito +import scala.collection.immutable.ArraySeq + +package object matchers { + trait VarargAwareArgumentMatcher[T] extends ArgumentMatcher[T] { + override def matches(argument: T): Boolean = argument match { + case a: ArraySeq[_] if a.length == 1 => doesMatch(a.head.asInstanceOf[T]) + case other => doesMatch(other) + } + + def doesMatch(argument: T): Boolean + } +} diff --git a/core/src/main/scala-2.13.0-M2/org/mockito/ArgumentMatchersSugar.scala b/core/src/main/scala-2.13.0-M5/org/mockito/ArgumentMatchersSugar.scala similarity index 100% rename from core/src/main/scala-2.13.0-M2/org/mockito/ArgumentMatchersSugar.scala rename to core/src/main/scala-2.13.0-M5/org/mockito/ArgumentMatchersSugar.scala diff --git a/core/src/main/scala-2.13.0-M2/org/mockito/matchers/EqMatchers_213.scala b/core/src/main/scala-2.13.0-M5/org/mockito/matchers/EqMatchers_213.scala similarity index 92% rename from core/src/main/scala-2.13.0-M2/org/mockito/matchers/EqMatchers_213.scala rename to core/src/main/scala-2.13.0-M5/org/mockito/matchers/EqMatchers_213.scala index 65d04d78..6d7dec92 100644 --- a/core/src/main/scala-2.13.0-M2/org/mockito/matchers/EqMatchers_213.scala +++ b/core/src/main/scala-2.13.0-M5/org/mockito/matchers/EqMatchers_213.scala @@ -4,7 +4,7 @@ import org.mockito.internal.ValueClassExtractor import org.mockito.{ArgumentMatcher, ArgumentMatchers => JavaMatchers} import org.scalactic.Equality -import scala.collection.mutable +import scala.collection.immutable.ArraySeq trait EqMatchers_213 { @@ -16,7 +16,7 @@ trait EqMatchers_213 { val rawValues: Seq[T] = Seq(value) ++ others JavaMatchers.argThat(new ArgumentMatcher[T] { override def matches(v: T): Boolean = v match { - case a: mutable.WrappedArray[_] if rawValues.length == a.length => + case a: ArraySeq[_] if rawValues.length == a.length => (rawValues zip a) forall { case (expected, got) => $eq.areEqual(expected.asInstanceOf[T], got) } diff --git a/core/src/test/scala-2.13.0-M2/user/org/mockito/IdiomaticMockitoTest_213.scala b/core/src/test/scala-2.13.0-M5/user/org/mockito/IdiomaticMockitoTest_213.scala similarity index 100% rename from core/src/test/scala-2.13.0-M2/user/org/mockito/IdiomaticMockitoTest_213.scala rename to core/src/test/scala-2.13.0-M5/user/org/mockito/IdiomaticMockitoTest_213.scala diff --git a/core/src/test/scala-2.13.0-M2/user/org/mockito/MockitoSugarTest_213.scala b/core/src/test/scala-2.13.0-M5/user/org/mockito/MockitoSugarTest_213.scala similarity index 100% rename from core/src/test/scala-2.13.0-M2/user/org/mockito/MockitoSugarTest_213.scala rename to core/src/test/scala-2.13.0-M5/user/org/mockito/MockitoSugarTest_213.scala