Skip to content
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

test: add eval ESM module tests #27956

Closed
wants to merge 3 commits into from

Conversation

zeckson
Copy link
Contributor

@zeckson zeckson commented May 29, 2019

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • commit message follows commit guidelines

@nodejs-github-bot nodejs-github-bot added the test Issues and PRs related to the tests. label May 29, 2019
@nodejs-github-bot
Copy link
Collaborator

@Trott Trott added the review wanted PRs that need reviews. label Jun 2, 2019
@Trott
Copy link
Member

Trott commented Jun 2, 2019

@nodejs/testing @nodejs/modules-active-members

Copy link
Contributor

@guybedford guybedford left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you so much @zeckson for working on improving this coverage.

common.mustCall((err, stdout) => {
assert.ifError(err);
assert.strictEqual(stdout, 'undefined\n');
}));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably don't need this test, but there's nothing wrong with including it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may be valuable to capture the default behavior. If we'd ever (accidentally) flip the default type, this would fail. Though realistically a lot of tests would fail then...


// Assert that import.meta is defined in ESM
child.exec(
`${nodejs} ${execOptions} --eval "console.log(typeof import.meta);"`,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It could also be worth making this a test of import.meta.url. Note that such a test would be the exact test needed to fix #28160 (comment).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would be a bit concerned that it would increase the test scope. E.g. this test is meant to verify that the source is run as a module. If we change the exact string in import.meta.url in the future, it would break this test even though the source is still running as a module. If we want to test specific behavior ("relative imports work in --eval"), I would prefer a dedicated test for that.

@Trott
Copy link
Member

Trott commented Jun 17, 2019

@jkrems Does this look good to you? (No pressure or anything, obviously, but I'm just asking becauseI'd prefer to land it with more than one approval.)

Copy link
Contributor

@jkrems jkrems left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for these tests, this is great!

@nodejs-github-bot
Copy link
Collaborator

@ZYSzys ZYSzys added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. esm Issues and PRs related to the ECMAScript Modules implementation. and removed review wanted PRs that need reviews. labels Jun 17, 2019
BridgeAR pushed a commit to BridgeAR/node that referenced this pull request Jun 17, 2019
PR-URL: nodejs#27956
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Jan Krems <jan.krems@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
@BridgeAR
Copy link
Member

Landed in 44f18d2 🎉

@zeckson great work! If you're looking for more things to do, please let me know.

@BridgeAR BridgeAR closed this Jun 17, 2019
BridgeAR pushed a commit that referenced this pull request Jun 17, 2019
PR-URL: #27956
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Jan Krems <jan.krems@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
@BridgeAR BridgeAR mentioned this pull request Jun 17, 2019
targos pushed a commit that referenced this pull request Jun 18, 2019
PR-URL: #27956
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Jan Krems <jan.krems@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
@zeckson zeckson deleted the test-execution-evalmodule branch June 18, 2019 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author ready PRs that have at least one approval, no pending requests for changes, and a CI started. esm Issues and PRs related to the ECMAScript Modules implementation. test Issues and PRs related to the tests.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants