chiark / gitweb /
wip pos thing
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 31 Dec 2020 00:55:13 +0000 (00:55 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 31 Dec 2020 00:55:13 +0000 (00:55 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
wdriver.rs
wdriver/wdt-simple.rs

index 836ec68cb72f8e64ba7c21b8bc2d94f4e2d0a4f0..91242b587774ccc8fe7a43969c99215f2ffe3a0f 100644 (file)
@@ -743,7 +743,6 @@ impl<'g> WindowGuard<'g> {
     let elem = self.su.driver.find_element(By::Id(&id))?;
     PieceElement {
       pieceid, elem,
-      pos: None,
       w: self,
     }
   }
@@ -756,7 +755,6 @@ pub struct PieceElement<'g> {
   pieceid: &'g str,
   w: &'g WindowGuard<'g>,
   elem: t4::WebElement<'g>,
-  pos: Option<WebPos>,
 }
 
 impl<'g> Deref for PieceElement<'g> {
@@ -768,8 +766,11 @@ impl<'g> PieceElement<'g> {
   #[throws(AE)]
   pub fn posg(&self) -> Pos {
     (||{
-      let x = self.get_attribute("x")?.ok_or(anyhow!("x"))?.parse()?;
-      let y = self.get_attribute("x")?.ok_or(anyhow!("y"))?.parse()?;
+      let a = |a| Ok::<_,AE>(
+        self.get_attribute(a)?.ok_or(anyhow!("{}", a))?.parse()?
+      );
+      let x = a("x")?;
+      let y = a("y")?;
       Ok::<_,AE>(PosC([x,y]))
     })()
       .with_context(|| self.pieceid.to_owned())
index b615bd02a2f2ede3a33de63846cba5591df1248a..1dc66eb1b47163d81d27171f942497003c35643e 100644 (file)
@@ -22,13 +22,8 @@ fn main(){
       let p1 = w.find_piece("1.1")?;
       let p2 = w.find_element(By::Id("use2.1"))?;
 
-      dbg!(p1.rect()?,
-           p1.tag_name(),
-           p1.class_name(),
-           p1.id(),
-           p1.get_attribute("x"),
-           p1.get_attribute("y"),
-           p1.posg(),
+      dbg!(
+        p1.posg(),
       );
       
       w.action_chain()