aboutsummaryrefslogtreecommitdiff
path: root/src/test/data/script_invalid.json
diff options
context:
space:
mode:
authorPeter Todd <pete@petertodd.org>2013-07-23 05:12:38 -0400
committerPeter Todd <pete@petertodd.org>2013-07-23 05:12:38 -0400
commitaff83e9c028ad1f05886ae3079e40e659df5be41 (patch)
treeda17e9a86df768d6d5c74957ff213c7ae0c61b08 /src/test/data/script_invalid.json
parent0a740650a52a21b7d82b43524017c87643af3224 (diff)
downloadbitcoin-aff83e9c028ad1f05886ae3079e40e659df5be41.tar.xz
Add unittests for multiple ELSEs in a row
IF ELSE ELSE ENDIF is a valid construct; execution or non-execution inverts on each ELSE encountered.
Diffstat (limited to 'src/test/data/script_invalid.json')
-rw-r--r--src/test/data/script_invalid.json16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/test/data/script_invalid.json b/src/test/data/script_invalid.json
index 95664226c5..6964d16a7e 100644
--- a/src/test/data/script_invalid.json
+++ b/src/test/data/script_invalid.json
@@ -13,7 +13,9 @@
["0","NOP"],
["1", "IF VER ELSE 1 ENDIF", "VER non-functional"],
["0", "IF VERIF ELSE 1 ENDIF", "VERIF illegal everywhere"],
-["0", "IF VERNOTIF ELSE 1 ENDIF", "VERNOT illegal everywhere"],
+["0", "IF ELSE 1 ELSE VERIF ENDIF", "VERIF illegal everywhere"],
+["0", "IF VERNOTIF ELSE 1 ENDIF", "VERNOTIF illegal everywhere"],
+["0", "IF ELSE 1 ELSE VERNOTIF ENDIF", "VERNOTIF illegal everywhere"],
["1 IF", "1 ENDIF", "IF/ENDIF can't span scriptSig/scriptPubKey"],
["1 IF 0 ENDIF", "1 ENDIF"],
@@ -36,6 +38,18 @@
["1 1", "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF"],
["0 0", "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF"],
+["1", "IF RETURN ELSE ELSE 1 ENDIF", "Multiple ELSEs"],
+["1", "IF 1 ELSE ELSE RETURN ENDIF"],
+
+["1", "ENDIF", "Malformed IF/ELSE/ENDIF sequence"],
+["1", "ELSE ENDIF"],
+["1", "ENDIF ELSE"],
+["1", "ENDIF ELSE IF"],
+["1", "IF ELSE ENDIF ELSE"],
+["1", "IF ELSE ENDIF ELSE ENDIF"],
+["1", "IF ENDIF ENDIF"],
+["1", "IF ELSE ELSE ENDIF ENDIF"],
+
["1", "RETURN"],
["1", "DUP IF RETURN ENDIF"],