2
2
3
3
from poetry .core .packages import Dependency
4
4
from poetry .core .packages import Package
5
+ from poetry .core .packages import dependency_from_pep_508
5
6
6
7
7
8
def test_accepts ():
@@ -88,6 +89,9 @@ def test_to_pep_508_in_extras():
88
89
result = dependency .to_pep_508 ()
89
90
assert result == 'Django (>=1.23,<2.0); extra == "foo"'
90
91
92
+ result = dependency .to_pep_508 (with_extras = False )
93
+ assert result == "Django (>=1.23,<2.0)"
94
+
91
95
dependency .in_extras .append ("bar" )
92
96
93
97
result = dependency .to_pep_508 ()
@@ -105,6 +109,23 @@ def test_to_pep_508_in_extras():
105
109
'and (extra == "foo" or extra == "bar")'
106
110
)
107
111
112
+ result = dependency .to_pep_508 (with_extras = False )
113
+ assert result == (
114
+ "Django (>=1.23,<2.0); "
115
+ 'python_version >= "2.7" and python_version < "2.8" '
116
+ 'or python_version >= "3.6" and python_version < "4.0"'
117
+ )
118
+
119
+
120
+ def test_to_pep_508_in_extras_parsed ():
121
+ dependency = dependency_from_pep_508 ('foo[bar] (>=1.23,<2.0) ; extra == "baz"' )
122
+
123
+ result = dependency .to_pep_508 ()
124
+ assert result == 'foo[bar] (>=1.23,<2.0); extra == "baz"'
125
+
126
+ result = dependency .to_pep_508 (with_extras = False )
127
+ assert result == "foo[bar] (>=1.23,<2.0)"
128
+
108
129
109
130
def test_to_pep_508_with_single_version_excluded ():
110
131
dependency = Dependency ("foo" , "!=1.2.3" )
0 commit comments