Skip to content

Commit e2ec8bb

Browse files
committed
Add test
1 parent 516c94f commit e2ec8bb

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

src/index.rs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2455,12 +2455,56 @@ impl Index {
24552455
txout,
24562456
)))
24572457
}
2458+
2459+
#[cfg(test)]
2460+
pub(crate) fn list_all_spks(&self) -> Result<Vec<ScriptBuf>> {
2461+
let rtx = self.database.begin_read()?;
2462+
let mut spks = Vec::new();
2463+
2464+
for entry in rtx.open_table(OUTPOINT_TO_UTXO_ENTRY)?.iter()? {
2465+
let (_outpoint, utxo_entry) = entry?;
2466+
2467+
spks.push(ScriptBuf::from_bytes(
2468+
utxo_entry.value().parse(self).script_pubkey().to_vec(),
2469+
));
2470+
}
2471+
2472+
Ok(spks)
2473+
}
24582474
}
24592475

24602476
#[cfg(test)]
24612477
mod tests {
24622478
use {super::*, crate::index::testing::Context};
24632479

2480+
#[test]
2481+
fn list_all_spks() {
2482+
let context = Context::builder().build();
2483+
2484+
context.mine_blocks(2);
2485+
2486+
let tx_1 = TransactionTemplate {
2487+
inputs: &[(1, 0, 0, Default::default())],
2488+
fee: 0,
2489+
recipient: Some(address(0)),
2490+
..default()
2491+
};
2492+
2493+
let tx_2 = TransactionTemplate {
2494+
inputs: &[(2, 0, 0, Default::default())],
2495+
fee: 0,
2496+
recipient: Some(address(1)),
2497+
..default()
2498+
};
2499+
2500+
context.core.broadcast_tx(tx_1);
2501+
context.core.broadcast_tx(tx_2);
2502+
2503+
context.mine_blocks(1);
2504+
2505+
assert_eq!(context.index.list_all_spks().unwrap().len(), 4);
2506+
}
2507+
24642508
#[test]
24652509
fn height_limit() {
24662510
{

0 commit comments

Comments
 (0)