33load test_helper
44
55@test ' Recognizes simple node version specified in package.json engines' {
6- with_installed_node_versions 4.2.1
76 in_package_for_engine 4.2.1
87
98 run nodenv version
109 assert_success ' 4.2.1 (set by package-json-engine matching 4.2.1)'
11- run nodenv which node
12- assert_success " ${NODENV_ROOT} /versions/4.2.1/bin/node"
13- }
14-
15- @test ' Recognizes a semver range matching an installed version' {
16- with_installed_node_versions 4.2.1
17- in_package_for_engine ' >= 4.0.0'
18-
19- run nodenv version
20- assert_success ' 4.2.1 (set by package-json-engine matching >= 4.0.0)'
2110}
2211
2312@test ' Prefers the greatest installed version matching a range' {
24- with_installed_node_versions 4.0.0 4.2.1
2513 in_package_for_engine ' ^4.0.0'
2614
2715 run nodenv version
2816 assert_success ' 4.2.1 (set by package-json-engine matching ^4.0.0)'
2917}
3018
3119@test ' Ignores non-matching installed versions' {
32- with_installed_node_versions 0.12.7
33- in_package_for_engine ' >= 4.0.0'
20+ in_package_for_engine ' ^1.0.0'
3421
3522 # For unknown reasons, nodenv-version succeeds when version-name fails,
3623 # so we're testing version-name directly
3724 run nodenv version-name
38- assert [ " $output " = " package-json-engine: no version satisfying \` >= 4 .0.0' installed" ]
25+ assert [ " $output " = " package-json-engine: no version satisfying \` ^1 .0.0' installed" ]
3926 assert [ " $status " -eq 1 ]
4027
4128 # `which` should fail similarly
@@ -45,7 +32,6 @@ load test_helper
4532}
4633
4734@test ' Prefers nodenv-local over package.json' {
48- with_installed_node_versions 4.2.1 5.0.0
4935 in_package_for_engine 4.2.1
5036 nodenv local 5.0.0
5137
@@ -54,7 +40,6 @@ load test_helper
5440}
5541
5642@test ' Prefers nodenv-shell over package.json' {
57- with_installed_node_versions 5.0.0
5843 in_package_for_engine 4.2.1
5944 eval " $( nodenv sh-shell 5.0.0) "
6045
@@ -63,7 +48,6 @@ load test_helper
6348}
6449
6550@test ' Prefers package.json over nodenv-global' {
66- with_installed_node_versions 4.2.1 5.0.0
6751 in_package_for_engine 4.2.1
6852 nodenv global 5.0.0
6953
@@ -72,7 +56,6 @@ load test_helper
7256}
7357
7458@test ' Is not confused by nodenv-shell shadowing nodenv-global' {
75- with_installed_node_versions 4.2.1 5.0.0
7659 in_package_for_engine 4.2.1
7760 nodenv global 5.0.0
7861 eval " $( nodenv sh-shell 5.0.0) "
@@ -82,7 +65,6 @@ load test_helper
8265}
8366
8467@test ' Does not match babel preset env settings' {
85- with_installed_node_versions 4.2.1
8668 cd_into_babel_env_package
8769 run nodenv version-name
8870 assert_success ' system'
0 commit comments