fn drag(&mut self){
let su = &mut self.su;
+ let p1_vpid = su.initial_vpid_by_desc_glob("a red disc")?;
+ let p2_vpid = su.initial_vpid_by_desc_glob("a blue square")?;
+
let alice_p1g = {
let mut w = su.w(&self.alice)?;
w.synch()?;
- let p1 = w.find_piece("1v1")?;
- let p2 = w.find_piece("2v1")?;
+ let p1 = w.find_piece(&p1_vpid)?;
+ let p2 = w.find_piece(&p2_vpid)?;
let p1g_old = p1.posg()?;
let (p2x,p2y) = p2.posw()?;
{
let mut w = su.w(&self.bob)?;
w.synch()?;
- let p1 = w.find_piece("1v1")?;
+ let p1 = w.find_piece(&p1_vpid)?;
assert_eq!(p1.posg()?, alice_p1g);
}
}
#[throws(Explode)]
- fn rotate(&mut self) -> &'static str {
- let pc = "4v1";
+ fn rotate(&mut self) -> String {
let su = &mut self.su;
+ let pc = su.initial_vpid_by_desc_glob("a black knight")?;
let chk = |w: &WindowGuard<'_>| {
let transform = format!("rotate(-90)");
- let pd = w.find_element(By::Id(&w.vpidelem("piece",pc)?))?;
+ let pd = w.find_element(By::Id(&w.vpidelem("piece",&pc)?))?;
assert_eq!(pd.get_attribute("transform")?, Some(transform));
Ok::<_,AE>(())
};
{
let mut w = su.w(&self.alice)?;
- let p = w.find_piece(pc)?;
+ let p = w.find_piece(&pc)?;
w.action_chain()
.move_pos(&p)?
.click()
}
#[throws(Explode)]
- fn drag_off(&mut self, pc: &'static str) {
+ fn drag_off(&mut self, pc: &str) {
let su = &mut self.su;
let chk = |w: &WindowGuard<'_>, exp_end| {
}
#[throws(Explode)]
- fn unselect(&mut self, pc: &'static str) {
+ fn unselect(&mut self, pc: &str) {
let su = &mut self.su;
let chk = |w: &WindowGuard<'_>| {
#[throws(Explode)]
fn conflict(&mut self) {
- let pc = "1v1";
let su = &mut self.su;
+ let pc = su.initial_vpid_by_desc_glob("a red disc")?;
{
- let pc = "4v1";
+ let pc = su.initial_vpid_by_desc_glob("a black knight")?;
let w = su.w(&self.alice)?;
w.action_chain()
- .move_pc(&w, pc)?
+ .move_pc(&w, &pc)?
.click();
}
let mut mk_side = |window, dx| {
let mut w = su.w(window)?;
- let p = w.find_piece(pc)?;
+ let p = w.find_piece(&pc)?;
let start = p.posg()?;
let try_end = (start + PosC::new(dx, 0))?;
let gots = sides.iter().map(|side|{
let mut w = su.w(side.window)?;
w.synch()?;
- let p = w.find_piece(pc)?;
+ let p = w.find_piece(&pc)?;
let now = p.posg()?;
let log = w.retrieve_log(before_gen)?;
- let held = w.piece_held(pc)?;
+ let held = w.piece_held(&pc)?;
let client = w.client()?;
let yes = held.as_ref() == Some(&client);
test!(c, "drag-rotate-unselect", {
let pc = c.rotate().did("rotate")?;
- c.drag_off(pc).did("drag off")?;
- c.unselect(pc).did("unselect")?;
+ c.drag_off(&pc).did("drag off")?;
+ c.unselect(&pc).did("unselect")?;
});
test!(c, "conflict", c.conflict()?);