From aff83e9c028ad1f05886ae3079e40e659df5be41 Mon Sep 17 00:00:00 2001 From: Peter Todd Date: Tue, 23 Jul 2013 05:12:38 -0400 Subject: 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. --- src/test/data/script_invalid.json | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/test/data/script_invalid.json') diff --git a/src/test/data/script_invalid.json b/src/test/data/script_invalid.json index 95664226c..6964d16a7 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"], -- cgit v1.2.3