From 600ae734cf3d0ca5274086b897f1ebaf20cf9d20 Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 21 Jan 2014 23:48:04 +0000 Subject: py: Implement break and continue byte codes, and add tests. Also fixes a bug in the for-in-range optimiser. I hope to remove break and continue byte codes in the future and just use jump (if possible). --- tests/basics/break.py | 13 +++++++++++++ tests/basics/continue.py | 16 ++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 tests/basics/break.py create mode 100644 tests/basics/continue.py (limited to 'tests/basics') diff --git a/tests/basics/break.py b/tests/basics/break.py new file mode 100644 index 000000000..c303ea0b3 --- /dev/null +++ b/tests/basics/break.py @@ -0,0 +1,13 @@ +while True: + break + +for i in range(4): + print('one', i) + if i > 2: + break + print('two', i) + +for i in [1, 2, 3, 4]: + if i == 3: + break + print(i) diff --git a/tests/basics/continue.py b/tests/basics/continue.py new file mode 100644 index 000000000..6b388d5ca --- /dev/null +++ b/tests/basics/continue.py @@ -0,0 +1,16 @@ +for i in range(4): + print('one', i) + if i > 2: + continue + print('two', i) + +for i in range(4): + print('one', i) + if i < 2: + continue + print('two', i) + +for i in [1, 2, 3, 4]: + if i == 3: + continue + print(i) -- cgit v1.2.3