Skip to content

Commit df8a086

Browse files
committed
Fix: Parsing all tokens when parsing for loop
1 parent 7a34271 commit df8a086

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

src/parse.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ where
110110
}
111111
script_var
112112
});
113+
break;
113114
}
114115
_ => {
115116
escape.extend(std::iter::once(for_token));

tests/test.rs

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#![feature(proc_macro_hygiene)]
22

3+
use bitcoin::ScriptBuf;
34
use bitcoin_script::{bitcoin_script, define_pushable};
45

56
#[test]
@@ -52,11 +53,15 @@ fn test_pushable_vectors() {
5253
#[should_panic]
5354
fn test_usize_conversion() {
5455
define_pushable!();
55-
let usize_value : usize = 0xFFFFFFFFFFFFFFFF;
56+
let usize_value: usize = 0xFFFFFFFFFFFFFFFF;
5657

58+
<<<<<<< HEAD
5759
let _script = bitcoin_script! (
5860
{usize_value}
5961
);
62+
=======
63+
let _script = script!({ usize_value });
64+
>>>>>>> 2892b2f (Fix: Parsing all tokens when parsing for loop)
6065
}
6166

6267
#[test]
@@ -86,21 +91,32 @@ fn test_minimal_byte_opcode() {
8691
);
8792
}
8893

94+
fn script_from_func() -> ScriptBuf {
95+
return script! { OP_ADD };
96+
}
97+
8998
#[test]
9099
fn test_for_loop() {
91100
define_pushable!();
92101
let script = bitcoin_script! {
93102
for i in 0..3 {
94103
for k in 0..(3 as u32) {
95104
OP_ADD
105+
script_from_func
106+
OP_SWAP
96107
{ i }
97108
{ k }
98109
}
99110
}
111+
OP_ADD
100112
};
101113

102114
assert_eq!(
103115
script.to_bytes(),
104-
vec![147, 0, 0, 147, 0, 81, 147, 0, 82, 147, 81, 0, 147, 81, 81, 147, 81, 82, 147, 82, 0, 147, 82, 81, 147, 82, 82]
116+
vec![
117+
147, 147, 124, 0, 0, 147, 147, 124, 0, 81, 147, 147, 124, 0, 82, 147, 147, 124, 81, 0,
118+
147, 147, 124, 81, 81, 147, 147, 124, 81, 82, 147, 147, 124, 82, 0, 147, 147, 124, 82,
119+
81, 147, 147, 124, 82, 82, 147
120+
]
105121
);
106122
}

0 commit comments

Comments
 (0)