-
Notifications
You must be signed in to change notification settings - Fork 396
FF ONLY Merge 0.6.x into release-v1.0.0, January 17 #3931
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
sjrd
merged 27 commits into
scala-js:release-v1.0.0
from
sjrd:merge-0.6.x-into-release-1.0.0-january-17
Jan 17, 2020
Merged
FF ONLY Merge 0.6.x into release-v1.0.0, January 17 #3931
sjrd
merged 27 commits into
scala-js:release-v1.0.0
from
sjrd:merge-0.6.x-into-release-1.0.0-january-17
Jan 17, 2020
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…0.6.{29-30}. We also change the "rules" for what to put in `binaryEmitted` so that hopefully we can avoid this issue in the future.
…jsc. In particular, support any number of digits for the minor and patch versions. There are changes only in the Unix variant of the script. The Windows variant already supports any number of digits in the patch version. It still only tolerates minor versions with exactly 2 digits, because it seems hard to support other formats, and we are not going to hit that problem in the life span of Scala.js 0.6.x.
Fix scala-js#3865: Set the emitted IR version to 0.6.29, and support 0.6.{29-30}.
[no-master] Fix scala-js#3872: Fix parsing of Scala versions in scalajsc.
Before, we sometimes used name-based identification of impl classes. This was introduced in ac54f18, before Scala.js 0.1! At the time, we were still using a custom `Global` subtrait instead of a compiler plugin, and a custom `.jstype` file reader instead of the normal class-file reader of scalac. The flag was not present in some cases of separate compilation. Now that we use a normal compiler plugin, this issue does not seem to manifest itself anymore. It seems this code was left there for 6 years for nothing.
Fix scala-js#3888: Always identify impl classes by their IMPLCLASS flag.
…strap. With Node.js 13, the shape of stack traces reported during bootstrap are altered because the execution is within a big `eval`. Stack trace lines that were previously of the shape at $c_LSomeClass.someMethod__O__O (/.../file.js:15:17) are now of the shape at $c_LSomeClass.eval [as someMethod__O__O] (/.../file.js:15:17) Our `StackTrace.scala` analyzer does not understand this shape, which causes the `StackTraceTest` to fail during bootstrap. This commit simply ignores the test during bootstrap, in order to repair the CI. Further investigation is needed to completely fix the issue.
…bootstrap [no-master] Work around scala-js#3908: Disable StackTraceTest in bootstrap.
`groupStartMap` is initially filled with `-1` everywhere, which is the correct value for non-matching groups. When propagating the `start` and `end` of a `GroupNode`, we previously always overrode that value with `start`, which can `>= 0` even for non-matching groups if they are within a negative look-ahead. This is incorrect, as non-matching groups must always report `-1` as their `start`. We now explicitly avoid overriding the initial `-1` for non-matching groups. This more closely corresponds to what was done in `GroupStartMap.setEndReturnStart` and `setStartReturnEnd` before the big rewrite of 56dd7ab.
PhantomJS is still by far the biggest cause of spurious failures of the CI. Since I have not seen any genuine bug uncovered by testing on PhantomJS (only) in the last few *years*, the cost of this test overwhelmingly exceeds its potential benefits. Therefore, in this commit we simply disable the last command that was running the test suite with PhantomJS, as well as the last command that was running non-optimized code with PhantomJS. PhantomJS is still minimally tested by its unit tests, as well as in the helloworld and the testingExample (in standard fastOpt and fullOpt modes).
…sion-3901 Fix scala-js#3901: Do not fill `groupStartMap` for non-matching groups.
…te-on-ci [no-master] Disable testing the test suite with PhantomJS on the CI.
* getOwnPropertySymbols in ES2015 * entries in ES2017 * is in ES2015 * fromEntries as Stage 4 in ES2020 Draft
Implement `java.util.function.Consumer`.
* `Decoder.averageCharsPerByte()` * `Decoder.maxCharsPerByte()` * `Encoder.averageBytesPerChar()` * `Encoder.maxBytesPerChar()`
…erties Fix scala-js#3922: Fix all the heuristic properties of `Charset`s.
… EOF. Even when the requested length is 0.
Fix scala-js#3913: Make ByteArrayInputStream.read always return -1 at EOF.
The following version commits are skipped: d7d3421, c6fd2a9, 29b6440 and 6dbc8be. The following commits tagged `[no-master]` are skipped: c193991 and cbd262d. The following commits were not originally tagged `[no-master]`, but do not need going to 1.x either: * 6281863, which fixes emitted and supported IR versions, should have been `[no-master]` to begin with. * 36a92e3, which was superseded by 281f83f in 1.x, with the test being added in b9bcdba.
gzm0
approved these changes
Jan 17, 2020
bcaf94a
to
4cbf1f9
Compare
The CI was not happy with diff --git a/test-suite/js/src/test/scala/org/scalajs/testsuite/library/ObjectTest.scala b/test-suite/js/src/test/scala/org/scalajs/testsuite/library/ObjectTest.scala
index 60115e28e..ba4c4d9a1 100644
--- a/test-suite/js/src/test/scala/org/scalajs/testsuite/library/ObjectTest.scala
+++ b/test-suite/js/src/test/scala/org/scalajs/testsuite/library/ObjectTest.scala
@@ -28,8 +28,9 @@ class ObjectTest {
@Test def getOwnPropertySymbols(): Unit = {
assumeTrue(
- "Assuming newer methods existence, which are not honored by Rhino",
- Platform.executingInNodeJS)
+ "Symbol is not defined (should only happen with NodeJSEnvForcePolyfills)",
+ js.typeOf(js.Dynamic.global.Symbol) != "undefined")
+
val obj = (new js.Object()).asInstanceOf[ObjectCreator]
obj(symA) = "localSymbol"
obj(symB) = "globalSymbol"
@@ -39,8 +40,9 @@ class ObjectTest {
@Test def is(): Unit = {
assumeTrue(
- "Assuming newer methods existence, which are not honored by Rhino",
- Platform.executingInNodeJS)
+ "Object.is is not defined (should only happen with NodeJSEnvForcePolyfills)",
+ js.typeOf(js.Dynamic.global.Object.is) != "undefined")
+
val a = new js.Object()
assertTrue(js.Object.is(a, a))
assertTrue(js.Object.is(Double.NaN, Double.NaN))
@@ -54,9 +56,6 @@ class ObjectTest {
}
@Test def entries_from_object(): Unit = {
- assumeTrue(
- "Assuming newer methods existence, which are not honored by Rhino",
- Platform.executingInNodeJS)
val obj = new js.Object {
val a = 42
val b = "foo"
@@ -74,9 +73,6 @@ class ObjectTest {
}
@Test def entries_from_dictionary(): Unit = {
- assumeTrue(
- "Assuming newer methods existence, which are not honored by Rhino",
- Platform.executingInNodeJS)
val dict = js.Dictionary[Int]("a" -> 42, "b" -> 0)
val entries = js.Object.entries(dict)
assertEquals(2, entries.length)
@@ -93,9 +89,6 @@ class ObjectTest {
}
@Test def fromEntries_array(): Unit = {
- assumeTrue(
- "Assuming newer methods existence, which are not honored by Rhino",
- Platform.executingInNodeJS)
// from Array
val array = js.Array(js.Tuple2("a", 42), js.Tuple2("b", "foo"))
val obj1 = js.Object.fromEntries(array) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
[...] Run
testSuite2_12/test
at this point[...] Fix conflicts