Skip to content

Commit b93147c

Browse files
authored
Merge pull request #2576 from Kodiologist/setv-test
Add a test of `setv`
2 parents 05bb450 + 0031180 commit b93147c

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

tests/native_tests/setv.hy

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
(import
2+
unittest.mock [Mock]
23
pytest)
34

45

@@ -42,6 +43,21 @@
4243
(hy.eval '(setv a 1 b))))
4344

4445

46+
(defn test-setv-pairs-eval-order []
47+
"Each assignment pair should fully resolve before anything in the next is
48+
evaluated, even when statements need to be pulled out."
49+
50+
(setv m (Mock))
51+
(setv l (* [None] 5))
52+
(setv
53+
(get l 0) m.call-count
54+
(get l 1) (do (m) m.call-count)
55+
(get l 2) m.call-count
56+
(get l 3) (do (m) m.call-count)
57+
(get l 4) m.call-count)
58+
(assert (= l [0 1 1 2 2])))
59+
60+
4561
(defn test-setv-returns-none []
4662

4763
(defn an [x]

0 commit comments

Comments
 (0)