Skip to content

Commit 778a13a

Browse files
committed
Make source compatible to build with Scala 2.10, 2.11, 2.12 and 2.13.0-M2.
1 parent 73822cb commit 778a13a

File tree

16 files changed

+76
-12
lines changed

16 files changed

+76
-12
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package org.scalatest
2+
3+
/**
4+
* This compatibility workaround is taken from https://github.com/scala/scala-parallel-collections/issues/22
5+
*/
6+
private[org] object CompatParColls {
7+
val Converters = {
8+
import Compat._
9+
10+
{
11+
import scala.collection.parallel._
12+
13+
CollectionConverters
14+
}
15+
}
16+
17+
object Compat {
18+
object CollectionConverters
19+
}
20+
}

project/build.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version=0.13.9
1+
sbt.version=0.13.16

project/plugins.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ addSbtPlugin("com.typesafe.sbt" % "sbt-pgp" % "0.8.3")
22

33
addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.7.0")
44

5-
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.16")
5+
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.20")

project/scalatest.scala

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ object ScalatestBuild extends Build {
2323

2424
val releaseVersion = "3.0.4"
2525

26-
val scalacheckVersion = "1.13.4"
26+
val scalacheckVersion = "1.13.5"
2727

2828
val githubTag = "release-3.0.3" // for scaladoc source urls
2929

@@ -150,8 +150,8 @@ object ScalatestBuild extends Build {
150150
// if scala 2.11+ is used, add dependency on scala-xml module
151151
case Some((2, scalaMajor)) if scalaMajor >= 11 =>
152152
Seq(
153-
"org.scala-lang.modules" %% "scala-xml" % "1.0.5",
154-
"org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.4",
153+
"org.scala-lang.modules" %% "scala-xml" % "1.0.6",
154+
"org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.6",
155155
scalacheckDependency("optional")
156156
)
157157
case _ =>
@@ -179,7 +179,17 @@ object ScalatestBuild extends Build {
179179
"org.pegdown" % "pegdown" % "1.4.2" % "optional"
180180
)
181181

182-
def scalatestTestLibraryDependencies =
182+
def crossBuildTestLibraryDependencies(theScalaVersion: String) =
183+
CrossVersion.partialVersion(theScalaVersion) match {
184+
// if scala 2.13+ is used, add dependency on scala-parallel-collections module
185+
case Some((2, scalaMajor)) if scalaMajor >= 13 =>
186+
Seq("org.scala-lang.modules" %% "scala-parallel-collections" % "0.1.2")
187+
188+
case other =>
189+
Seq.empty
190+
}
191+
192+
def scalatestTestLibraryDependencies(theScalaVersion: String) =
183193
Seq(
184194
"commons-io" % "commons-io" % "1.3.2" % "test",
185195
"org.eclipse.jetty" % "jetty-server" % "8.1.18.v20150929" % "test",
@@ -188,7 +198,7 @@ object ScalatestBuild extends Build {
188198

189199
def scalatestJSLibraryDependencies =
190200
Seq(
191-
"org.scala-js" %% "scalajs-test-interface" % "0.6.16"
201+
"org.scala-js" %% "scalajs-test-interface" % "0.6.20"
192202
)
193203

194204
def scalatestTestOptions =
@@ -252,14 +262,16 @@ object ScalatestBuild extends Build {
252262
.settings(sharedSettings: _*)
253263
.settings(
254264
projectTitle := "Common test classes used by scalactic and scalatest",
255-
libraryDependencies += scalacheckDependency("optional")
265+
libraryDependencies += scalacheckDependency("optional"),
266+
libraryDependencies ++= crossBuildTestLibraryDependencies(scalaVersion.value)
256267
).dependsOn(scalacticMacro, LocalProject("scalatest"))
257268

258269
lazy val commonTestJS = Project("commonTestJS", file("common-test.js"))
259270
.settings(sharedSettings: _*)
260271
.settings(
261272
projectTitle := "Common test classes used by scalactic.js and scalatest.js",
262273
libraryDependencies += scalacheckDependency("optional"),
274+
libraryDependencies ++= crossBuildTestLibraryDependencies(scalaVersion.value),
263275
sourceGenerators in Compile += {
264276
Def.task{
265277
GenCommonTestJS.genMain((sourceManaged in Compile).value / "scala" / "org" / "scalatest", version.value, scalaVersion.value)
@@ -507,7 +519,7 @@ object ScalatestBuild extends Build {
507519
organization := "org.scalatest",
508520
libraryDependencies ++= crossBuildLibraryDependencies(scalaVersion.value),
509521
libraryDependencies ++= scalatestLibraryDependencies,
510-
libraryDependencies ++= scalatestTestLibraryDependencies,
522+
libraryDependencies ++= scalatestTestLibraryDependencies(scalaVersion.value),
511523
testOptions in Test := scalatestTestOptions,
512524
logBuffered in Test := false,
513525
//fork in Test := true,

scalactic-test/src/test/scala/org/scalactic/ChainSpec.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ package org.scalactic
1818
import scala.collection.GenTraversable
1919
import scala.collection.mutable.Buffer
2020
import scala.collection.mutable.ListBuffer
21+
// SKIP-SCALATESTJS-START
22+
import org.scalatest.CompatParColls.Converters._
23+
// SKIP-SCALATESTJS-END
2124

2225
class ChainSpec extends UnitSpec {
2326
"A Chain" can "be constructed with one element" in {

scalactic-test/src/test/scala/org/scalactic/EverySpec.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import scala.collection.mutable.Buffer
2121
import scala.collection.mutable.ListBuffer
2222
// SKIP-SCALATESTJS-START
2323
import SharedHelpers.serializeRoundtrip
24+
import org.scalatest.CompatParColls.Converters._
2425
// SKIP-SCALATESTJS-END
2526

2627
class EverySpec extends UnitSpec {

scalatest-test/src/test/scala/org/scalatest/InspectorShorthandsSpec.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ import matchers.BePropertyMatchResult
3030
import matchers.BePropertyMatcher
3131
import matchers.HavePropertyMatchResult
3232
import matchers.HavePropertyMatcher
33+
// SKIP-SCALATESTJS-START
34+
import org.scalatest.CompatParColls.Converters._
35+
// SKIP-SCALATESTJS-END
3336

3437
class InspectorShorthandsSpec extends FunSpec with TableDrivenPropertyChecks {
3538

scalatest-test/src/test/scala/org/scalatest/InspectorsForMapSpec.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ import SharedHelpers._
2323
import FailureMessages._
2424
import Matchers._
2525
import org.scalactic.Prettifier
26+
// SKIP-SCALATESTJS-START
27+
import org.scalatest.CompatParColls.Converters._
28+
// SKIP-SCALATESTJS-END
2629

2730
class InspectorsForMapSpec extends FunSpec with Inspectors with TableDrivenPropertyChecks {
2831

scalatest-test/src/test/scala/org/scalatest/InspectorsSpec.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ import org.scalatest.prop.TableDrivenPropertyChecks
2727
import scala.annotation.tailrec
2828
import scala.collection.GenTraversable
2929
import FailureMessages.decorateToStringValue
30+
// SKIP-SCALATESTJS-START
31+
import org.scalatest.CompatParColls.Converters._
32+
// SKIP-SCALATESTJS-END
3033

3134
class InspectorsSpec extends FunSpec with Inspectors with TableDrivenPropertyChecks {
3235

scalatest-test/src/test/scala/org/scalatest/ShouldContainElementSpec.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ import Prop._
2323
import org.scalactic.Prettifier
2424
import org.scalatest.prop.Checkers
2525
import org.scalatest.exceptions.TestFailedException
26+
// SKIP-SCALATESTJS-START
27+
import org.scalatest.CompatParColls.Converters._
28+
// SKIP-SCALATESTJS-END
2629

2730
class ShouldContainElementSpec extends FunSpec with Checkers with ReturnsNormallyThrowsAssertion {
2831

scalatest-test/src/test/scala/org/scalatest/ShouldContainKeySpec.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ import Matchers._
2020
import org.scalactic.Prettifier
2121
import org.scalatest.prop.Checkers
2222
import org.scalatest.exceptions.TestFailedException
23+
// SKIP-SCALATESTJS-START
24+
import org.scalatest.CompatParColls.Converters._
25+
// SKIP-SCALATESTJS-END
2326

2427
class ShouldContainKeySpec extends FunSpec with Checkers with ReturnsNormallyThrowsAssertion {
2528

scalatest-test/src/test/scala/org/scalatest/ShouldContainValueSpec.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ import Matchers._
2020
import org.scalactic.Prettifier
2121
import org.scalatest.prop.Checkers
2222
import org.scalatest.exceptions.TestFailedException
23+
// SKIP-SCALATESTJS-START
24+
import org.scalatest.CompatParColls.Converters._
25+
// SKIP-SCALATESTJS-END
2326

2427
class ShouldContainValueSpec extends FunSpec with Checkers with ReturnsNormallyThrowsAssertion {
2528

scalatest-test/src/test/scala/org/scalatest/ShouldLengthSizeSpec.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ import org.scalatest.enablers.Length
2222
import org.scalatest.enablers.Size
2323
import Matchers._
2424
import org.scalactic.Prettifier
25+
// SKIP-SCALATESTJS-START
26+
import org.scalatest.CompatParColls.Converters._
27+
// SKIP-SCALATESTJS-END
2528

2629
class ShouldLengthSizeSpec extends FunSpec with Checkers with ReturnsNormallyThrowsAssertion {
2730

scalatest-test/src/test/scala/org/scalatest/ShouldLengthSpec.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ import Integer.MIN_VALUE
2525
import org.scalatest.enablers.Length
2626
import org.scalatest.enablers.Size
2727
import org.scalatest.exceptions.TestFailedException
28+
// SKIP-SCALATESTJS-START
29+
import org.scalatest.CompatParColls.Converters._
30+
// SKIP-SCALATESTJS-END
2831

2932
class ShouldLengthSpec extends FunSpec with Checkers with ReturnsNormallyThrowsAssertion {
3033

scalatest-test/src/test/scala/org/scalatest/ShouldSizeSpec.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ import org.scalatest.prop.Checkers
2525
import Integer.MIN_VALUE
2626
import org.scalatest.enablers.Size
2727
import org.scalatest.exceptions.TestFailedException
28+
// SKIP-SCALATESTJS-START
29+
import org.scalatest.CompatParColls.Converters._
30+
// SKIP-SCALATESTJS-END
2831

2932
class ShouldSizeSpec extends FunSpec with Checkers with ReturnsNormallyThrowsAssertion {
3033

scalatest-test/src/test/scala/org/scalatest/concurrent/JavaFuturesSpec.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import org.scalatest.exceptions.TestPendingException
2424
import org.scalatest.exceptions.TestCanceledException
2525
import org.scalatest.exceptions.StackDepthException
2626
import org.scalactic.source
27+
import scala.compat.Platform.EOL
2728

2829
class JavaFuturesSpec extends FunSpec with Matchers with OptionValues with JavaFutures with SeveredStackTraces {
2930

@@ -74,7 +75,7 @@ class JavaFuturesSpec extends FunSpec with Matchers with OptionValues with JavaF
7475
canceledFuture.isReadyWithin(Span(1, Millisecond))
7576
}
7677
caught.message.value should be(Resources.futureWasCanceled)
77-
withClue(caught.getStackTraceString) {
78+
withClue(caught.getStackTrace().mkString("", EOL, EOL)) {
7879
caught.failedCodeLineNumber.value should equal(thisLineNumber - 4)
7980
}
8081
caught.failedCodeFileName.value should be("JavaFuturesSpec.scala")
@@ -153,7 +154,7 @@ class JavaFuturesSpec extends FunSpec with Matchers with OptionValues with JavaF
153154
canceledFuture.futureValue
154155
}
155156
caught.message.value should be(Resources.futureWasCanceled)
156-
withClue(caught.getStackTraceString) {
157+
withClue(caught.getStackTrace().mkString("", EOL, EOL)) {
157158
caught.failedCodeLineNumber.value should equal(thisLineNumber - 4)
158159
}
159160
caught.failedCodeFileName.value should be("JavaFuturesSpec.scala")
@@ -287,7 +288,7 @@ class JavaFuturesSpec extends FunSpec with Matchers with OptionValues with JavaF
287288
}
288289
}
289290
caught.message.value should be(Resources.futureWasCanceled)
290-
withClue(caught.getStackTraceString) {
291+
withClue(caught.getStackTrace().mkString("", EOL, EOL)) {
291292
caught.failedCodeLineNumber.value should equal(thisLineNumber - 6)
292293
}
293294
caught.failedCodeFileName.value should be("JavaFuturesSpec.scala")

0 commit comments

Comments
 (0)