1
1
# SPDX-FileCopyrightText: 2022-present Angus Hollands <[email protected] >
2
2
#
3
3
# SPDX-License-Identifier: MIT
4
- import pytest
5
4
import json
6
5
6
+ import pytest
7
+
7
8
from hatch_nodejs_version .version_source import NodeJSVersionSource
8
9
9
10
GOOD_NODE_PYTHON_VERSIONS = [
17
18
("1.4.5-beta0" , "1.4.5beta0" ),
18
19
("1.4.5-pre9" , "1.4.5pre9" ),
19
20
("1.4.5-preview0" , "1.4.5preview0" ),
21
+ ("1.4.5-preview0+build1.0.0" , "1.4.5preview0+build1.0.0" ),
22
+ ("1.4.5-preview0+build-1.0.0" , "1.4.5preview0+build-1.0.0" ),
23
+ ("1.4.5-preview0+build-1_0.0" , "1.4.5preview0+build-1_0.0" ),
20
24
]
21
25
22
26
BAD_NODE_VERSIONS = [
23
27
"1.4" ,
24
28
"1.4.5a0" ,
25
29
"1.4.5-c0.post1" ,
26
30
"1.4.5-rc0.post1.dev2" ,
31
+ "1.4.5-rc0.post1+-bad" ,
32
+ "1.4.5-rc0.post1+bad_" ,
27
33
]
28
34
BAD_PYTHON_VERSIONS = [
29
35
"1.4" ,
30
36
"1.4.5ab" ,
31
37
"1.4.5-c0.smoke2" ,
32
38
"1.4.5rc.post1@dev2" ,
39
+ "1.4.5rc0.post1+-bad" ,
40
+ "1.4.5rc0.post1+bad_" ,
33
41
]
34
42
35
43
@@ -54,7 +62,7 @@ def test_parse_python_incorrect(self, python_version):
54
62
"node_version" ,
55
63
BAD_NODE_VERSIONS ,
56
64
)
57
- def test_parse_python_incorrect (self , node_version ):
65
+ def test_parse_node_incorrect (self , node_version ):
58
66
with pytest .raises (ValueError , match = ".* did not match regex" ):
59
67
NodeJSVersionSource .node_version_to_python (node_version )
60
68
@@ -79,7 +87,7 @@ def test_version_from_package(
79
87
name = "my-app"
80
88
dynamic = ["version"]
81
89
[tool.hatch.version]
82
- source = "nodejs"
90
+ source = "nodejs"
83
91
"""
84
92
)
85
93
package_json = "package.json" if alt_package_json is None else alt_package_json
@@ -94,7 +102,7 @@ def test_version_from_package(
94
102
config = {} if alt_package_json is None else {"path" : alt_package_json }
95
103
version_source = NodeJSVersionSource (project , config = config )
96
104
data = version_source .get_version_data ()
97
- assert data [' version' ] == python_version
105
+ assert data [" version" ] == python_version
98
106
99
107
@pytest .mark .parametrize (
100
108
"node_version, python_version" ,
@@ -117,15 +125,15 @@ def test_version_to_package(
117
125
name = "my-app"
118
126
dynamic = ["version"]
119
127
[tool.hatch.version]
120
- source = "nodejs"
128
+ source = "nodejs"
121
129
"""
122
130
)
123
131
(project / package_json ).write_text (
124
- f """
125
- {{
132
+ """
133
+ {
126
134
"name": "my-app",
127
135
"version": "0.0.0"
128
- }}
136
+ }
129
137
"""
130
138
)
131
139
config = {} if alt_package_json is None else {"path" : alt_package_json }
@@ -134,5 +142,4 @@ def test_version_to_package(
134
142
version_source .set_version (python_version , version_data )
135
143
136
144
written_package = json .loads ((project / package_json ).read_text ())
137
- assert written_package ['version' ] == node_version
138
-
145
+ assert written_package ["version" ] == node_version
0 commit comments