chiark / gitweb /
wip links, new test fails
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 4 Jan 2021 00:55:55 +0000 (00:55 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 4 Jan 2021 00:55:55 +0000 (00:55 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/global.rs
templates/landscape.tera
templates/session.tera
wdriver/run1
wdriver/wdt-altergame.rs

index 79e30999ccf35cab315a82c349aa791fb68932e6..3ecd728dc0aaa8106f0161bccae7aa35431083e9 100644 (file)
@@ -472,12 +472,14 @@ impl DerefMut for LinksTable {
 
 impl From<&LinksTable> for Html {
   fn from(links: &LinksTable) -> Html {
-    Html(links.iter()
-         .filter_map(|(k,v)| {
-           let v = v.as_ref()?;
-           Some(Html::from((k, v.as_str())).0)
-         })
-         .join(" | "))
+    Html("links: ".to_string() + &(
+      links.iter()
+        .filter_map(|(k,v)| {
+          let v = v.as_ref()?;
+          Some(Html::from((k, v.as_str())).0)
+        })
+        .join(" ")
+    ))
   }
 }
 
index 676163d7acbaa05653f3e52a0ffc9d24d5d38478..5a13a54f6e7441b9c4fb6aafba4df004183a0c75 100644 (file)
@@ -36,9 +36,7 @@
       {{ m::nick() }} |
       {{ m::status() }}<br/>
     </div>
-{%- if links != "" -%}
     <div id="links">{{ links }}</div>
-{%- endif -%}
     <div>
       <a href="/p?{{ ptoken }}">switch to portrait view</a> |
       {{ m::zoom() }}
index 33218232b523e9f7b25dbff32fb7e372a0f1b686..193da6270b131ae8f758c6217fdb45a8c21716ea 100644 (file)
@@ -37,9 +37,9 @@ g{{ m::wresting() }}
 {{ m::status() }}
 |
 <a href="/l?{{ ptoken }}">switch to landscape view</a> |
-{%- if links != "" -%}
-<span id="links">| {{ links }}</span>
-{%- endif -%}
+{% if links != "" -%}
+<span id="links">{{ links }} |</span>
+{% endif -%}
 {{ m::zoom() }}
 {{ m::errors() }}
 
index 53555ceb9d39eec46676fc2aa5ac4a66c5d6dd1e..9fa13971bb41987e4315b1f1ca27c5928b5c72d3 100755 (executable)
@@ -10,6 +10,6 @@ case "${PIPESTATUS[*]}" in
 esac
 
 grep -v 'DEBUG [otter_webdriver_tests]' <tmp/"$tname".log \
-| tail -20
+| tail -40
 
 exit 1
index ab73681e0b3ffb5f32eebf115e4931bc28c32031..3de4bfd66985a6ca4b7950898ecef363171952e4 100644 (file)
@@ -6,32 +6,36 @@ use otter_webdriver_tests::*;
 
 use otter::spec::LinkKind;
 
-struct Context {
+struct Ctx {
   su: Setup,
   alice: Window,
 }
 
-impl Context {
+impl Ctx {
   #[throws(AE)]
-  fn check_link(&mut self, desc: &str, url: Option<&str>) {
-    let mut w = self.su.w(&self.alice)?;
-    w.synch()?;
-    let container = w.find_element(By::Id("links"))?;
-    let relevant = container
-      .find_elements(By::Tag("a"))?;
-    let relevant : Vec<_> = relevant
-      .iter()
-      .map(|e| Ok::<_,AE>((e, e.text()?)))
-      .collect::<Result<Vec<_>,AE>>()?;
-    let relevant : Vec<_> = relevant
-      .iter()
-      .filter(|(_e, txt)| txt == desc)
-      .collect();
-    ensure!(relevant.len() == url.iter().len());
-    if let Some(url) = url {
-      ensure!(relevant[0].0.get_attribute("href")?
-              .as_ref().map(|s| s.as_str()) == Some(url));
-    }
+  fn check_link(&mut self, desc: &'static str, url: Option<&str>) {
+    (||{
+      let mut w = self.su.w(&self.alice)?;
+      w.synch()?;
+      let container = w.find_element(By::Id("links"))?;
+      let relevant = container
+        .find_elements(By::Tag("a"))?;
+      let relevant : Vec<_> = relevant
+        .iter()
+        .map(|e| Ok::<_,AE>((e, e.text()?)))
+        .collect::<Result<Vec<_>,AE>>()?;
+      let relevant : Vec<_> = relevant
+        .iter()
+        .filter(|(_e, txt)| txt == desc)
+        .collect();
+      ensure!(relevant.len() == url.iter().len());
+      if let Some(url) = url {
+        ensure!(relevant[0].0.get_attribute("href")?
+                .as_ref().map(|s| s.as_str()) == Some(url));
+      }
+      Ok::<_,AE>(())
+    })()
+      .context(desc).context("check link")?
   }
 
   #[throws(AE)]
@@ -46,15 +50,23 @@ impl Context {
   }
 
   #[throws(AE)]
-  fn test_link(&mut self, kind: LinkKind, desc: &str, url: &str) {
-    self.otter_table(&["set-link"], &[&kind.to_string(), url])?;
-    self.check_link(desc, Some(url))?;
+  fn test_link(&mut self, kind: LinkKind, desc: &'static str, url: &str) {
+    (||{
+      self.otter_table(&["set-link"], &[&kind.to_string(), url])?;
+      self.check_link(desc, Some(url))?;
+      Ok::<_,AE>(())
+    })()
+      .context(desc).context("test link")?
   }
 
   #[throws(AE)]
-  fn test_remove_link(&mut self, kind: LinkKind, desc: &str) {
-    self.otter_table(&["remove-link"], &[&kind.to_string()])?;
-    self.check_link(desc, None)?;
+  fn test_remove_link(&mut self, kind: LinkKind, desc: &'static str) {
+    (||{
+      self.otter_table(&["remove-link"], &[&kind.to_string()])?;
+      self.check_link(desc, None)?;
+      Ok::<_,AE>(())
+    })()
+      .context(desc).context("test remove link")?
   }
 }
 
@@ -65,7 +77,7 @@ fn main(){
     su.setup_static_users(&inst)?.try_into().unwrap();
   debug!("ok {:?}", alice);
 
-  let mut c = Context { su, alice };
+  let mut c = Ctx { su, alice };
 
   c.check_link("Info", None)?;
   c.check_link("Voice", Some("https://jitsi.example.com/initial"))?;