Skip to content

Commit 7b7edea

Browse files
committed
Keep set of installed versions in fixture
No need to repeatedly symlink the same set of versions. Instead, let's just add them to the fixture and remove the helper code for creating/destroying them.
1 parent d3340b7 commit 7b7edea

File tree

5 files changed

+7
-29
lines changed

5 files changed

+7
-29
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/Users/jasonkarns/Projects/nodenv/nodenv-package-json-engine/test/fixtures/node-x.y.z/
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/Users/jasonkarns/Projects/nodenv/nodenv-package-json-engine/test/fixtures/node-x.y.z/
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/Users/jasonkarns/Projects/nodenv/nodenv-package-json-engine/test/fixtures/node-x.y.z/

test/nodenv-package-json-engine.bats

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,39 +3,26 @@
33
load 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'

test/test_helper.bash

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@ setup() {
1717
}
1818

1919
teardown() {
20-
rm "$EXAMPLE_PACKAGE_DIR"/.node-version
21-
rm "$EXAMPLE_PACKAGE_DIR"/package.json
22-
rm "$NODENV_ROOT"/versions/*
20+
rm -f "$EXAMPLE_PACKAGE_DIR"/.node-version
21+
rm -f "$EXAMPLE_PACKAGE_DIR"/package.json
2322
rm -f "$NODENV_ROOT/version"
2423
}
2524

@@ -48,9 +47,3 @@ cd_into_babel_env_package() {
4847
}
4948
JSON
5049
}
51-
52-
with_installed_node_versions() {
53-
for v in "$@"; do
54-
ln -fhs "$BATS_TEST_DIRNAME/fixtures/node-x.y.z/" "$NODENV_ROOT/versions/$v"
55-
done
56-
}

0 commit comments

Comments
 (0)