8000 gh-102158: Add tests for softkwlist · Eclips4/cpython@411a5d6 · GitHub
[go: up one dir, main page]

Skip to content

Commit 411a5d6

Browse files
committed
pythongh-102158: Add tests for softkwlist
1 parent fcadc7e commit 411a5d6

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

Lib/test/test_keyword.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,34 @@ def test_changing_the_kwlist_does_not_affect_iskeyword(self):
2020
keyword.kwlist = ['its', 'all', 'eggs', 'beans', 'and', 'a', 'slice']
2121
self.assertFalse(keyword.iskeyword('eggs'))
2222

23+
def test_changing_the_softkwlist_does_not_affect_issoftkeyword(self):
24+
oldlist = keyword.softkwlist
25+
self.addCleanup(setattr, keyword, "softkwlist", oldlist)
26+
keyword.softkwlist = ["foo", "bar", "spam", "egs", "case"]
27+
self.assertFalse(keyword.issoftkeyword("spam"))
28+
2329
def test_all_keywords_fail_to_be_used_as_names(self):
2430
for key in keyword.kwlist:
2531
with self.assertRaises(SyntaxError):
2632
exec(f"{key} = 42")
2733

34+
def test_all_soft_keywords_can_be_used_as_names(self):
35+
for key in keyword.softkwlist:
36+
exec(f"{key} = 42")
37+
2838
def test_async_and_await_are_keywords(self):
2939
self.assertIn("async", keyword.kwlist)
3040
self.assertIn("await", keyword.kwlist)
3141

42+
def test_match_and_case_are_soft_keywords(self):
43+
self.assertIn("match", keyword.softkwlist)
44+
self.assertIn("case", keyword.softkwlist)
45+
3246
def test_keywords_are_sorted(self):
33-
self.assertListEqual(sorted(keyword.kwlist), keyword.kwlist)
47+
self.assertSequenceEqual(sorted(keyword.kwlist), keyword.kwlist)
48+
49+
def test_softkeywords_are_sorted(self):
50+
self.assertSequenceEqual(sorted(keyword.softkwlist), keyword.softkwlist)
3451

3552

3653
if __name__ == "__main__":

0 commit comments

Comments
 (0)
0