#[throws(Explode)]
fn bundles(&mut self) {
self.upload_and_check_bundle(
- "test-bundle","lemon", "example-lemon","a lemon"
- )?;
+ "test-bundle","lemon", "example-lemon","a lemon",
+ &mut |_|Ok(()))?;
}
#[throws(Explode)]
fn big(&mut self) {
self.upload_and_check_bundle(
- "big-bundle","duped-example", "chess-purple-cannon", "a purple cannon"
- )?;
+ "big-bundle","duped-example", "chess-purple-cannon", "a purple cannon",
+ &mut |ctx|
+ {
+ ctx.su().mgmt_conn.borrow_mut().alter_game(
+ vec![ MGI::ResetFromNamedSpec {
+ spec: "modded-spec".to_owned(),
+ }],
+ None,
+ )?;
+ Ok(())
+ })?;
}
#[throws(Explode)]
}
#[throws(Explode)]
- pub fn upload_and_check_bundle(&mut self, bundle_stem: &str,
- libname: &str, item: &str,
- desc: &str)
- {
+ pub fn upload_and_check_bundle(
+ &mut self, bundle_stem: &str,
+ libname: &str, item: &str,
+ desc: &str,
+ with: &mut dyn FnMut(&mut UsualCtx) -> Result<(), Explode>
+ ) {
let ds = self.su().ds.also(&[("bundle_stem", &bundle_stem)]);
let bundle_file = ds.subst("@examples@/@bundle_stem@.zip")?;
let ds = ds.also(&[("bundle", &bundle_file)]);
self.check_library_item(libname,item,desc)?;
+ with(self)?;
+
self.otter(&ds.ss("clear-game @table@")?)?;
self.reset_game(&ds.ss("reset @table@ demo")?)?;
}