@@ -28,6 +28,9 @@ import scala.concurrent.duration._
28
28
* @param supportsTimeout Whether the [[JSEnv ]] under test supports the
29
29
* JavaScript timeout methods (as defined in
30
30
* [[http://www.scala-js.org/api/scalajs-library/latest/#scala.scalajs.js.timers.RawTimers$ RawTimers ]]).
31
+ * @param supportsScripts Whether the [[JSEnv ]] under test supports [[JSEnv.Input.Script ]].
32
+ * @param supportsCommonJSModules Whether the [[JSEnv ]] under test supports [[JSEnv.Input.CommonJSModule ]].
33
+ * @param supportsESModules Whether the [[JSEnv ]] under test supports [[JSEnv.Input.ESModule ]].
31
34
* @param awaitTimeout Amount of time test cases wait for "things". This is
32
35
* deliberately not very well specified. Leave this as the default and
33
36
* increase it if your tests fail spuriously due to timeouts.
@@ -40,6 +43,9 @@ final class JSEnvSuiteConfig private (
40
43
val jsEnv : JSEnv ,
41
44
val supportsCom : Boolean ,
42
45
val supportsTimeout : Boolean ,
46
+ val supportsScripts : Boolean ,
47
+ val supportsCommonJSModules : Boolean ,
48
+ val supportsESModules : Boolean ,
43
49
val exitJSStatement : Option [String ],
44
50
val awaitTimeout : FiniteDuration ,
45
51
val description : String
@@ -48,6 +54,9 @@ final class JSEnvSuiteConfig private (
48
54
jsEnv = jsEnv,
49
55
supportsCom = true ,
50
56
supportsTimeout = true ,
57
+ supportsScripts = true ,
58
+ supportsCommonJSModules = true ,
59
+ supportsESModules = true ,
51
60
exitJSStatement = None ,
52
61
awaitTimeout = 1 .minute,
53
62
description = jsEnv.name
@@ -59,6 +68,15 @@ final class JSEnvSuiteConfig private (
59
68
def withSupportsTimeout (supportsTimeout : Boolean ): JSEnvSuiteConfig =
60
69
copy(supportsTimeout = supportsTimeout)
61
70
71
+ def withSupportsScripts (supportsScripts : Boolean ): JSEnvSuiteConfig =
72
+ copy(supportsScripts = supportsScripts)
73
+
74
+ def withSupportsCommonJSModules (supportsCommonJSModules : Boolean ): JSEnvSuiteConfig =
75
+ copy(supportsCommonJSModules = supportsCommonJSModules)
76
+
77
+ def withSupportsESModules (supportsESModules : Boolean ): JSEnvSuiteConfig =
78
+ copy(supportsESModules = supportsESModules)
79
+
62
80
def withExitJSStatement (code : String ): JSEnvSuiteConfig =
63
81
copy(exitJSStatement = Some (code))
64
82
@@ -71,10 +89,14 @@ final class JSEnvSuiteConfig private (
71
89
private def copy (
72
90
supportsCom : Boolean = supportsCom,
73
91
supportsTimeout : Boolean = supportsTimeout,
92
+ supportsScripts : Boolean = supportsScripts,
93
+ supportsCommonJSModules : Boolean = supportsCommonJSModules,
94
+ supportsESModules : Boolean = supportsESModules,
74
95
exitJSStatement : Option [String ] = exitJSStatement,
75
96
awaitTimeout : FiniteDuration = awaitTimeout,
76
97
description : String = description) = {
77
- new JSEnvSuiteConfig (jsEnv, supportsCom, supportsTimeout,
98
+ new JSEnvSuiteConfig (jsEnv, supportsCom, supportsTimeout, supportsScripts,
99
+ supportsCommonJSModules, supportsESModules,
78
100
exitJSStatement, awaitTimeout, description)
79
101
}
80
102
}
0 commit comments