From: Ian Jackson Date: Mon, 4 Jan 2021 00:55:55 +0000 (+0000) Subject: wip links, new test fails X-Git-Tag: otter-0.2.0~30 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=2a9529fc8531e57ae36def4dd093319dc0028876;p=otter.git wip links, new test fails Signed-off-by: Ian Jackson --- diff --git a/src/global.rs b/src/global.rs index 79e30999..3ecd728d 100644 --- a/src/global.rs +++ b/src/global.rs @@ -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(" ") + )) } } diff --git a/templates/landscape.tera b/templates/landscape.tera index 676163d7..5a13a54f 100644 --- a/templates/landscape.tera +++ b/templates/landscape.tera @@ -36,9 +36,7 @@ {{ m::nick() }} | {{ m::status() }}
-{%- if links != "" -%} -{%- endif -%}
switch to portrait view | {{ m::zoom() }} diff --git a/templates/session.tera b/templates/session.tera index 33218232..193da627 100644 --- a/templates/session.tera +++ b/templates/session.tera @@ -37,9 +37,9 @@ g{{ m::wresting() }} {{ m::status() }} | switch to landscape view | -{%- if links != "" -%} -| {{ links }} -{%- endif -%} +{% if links != "" -%} +{{ links }} | +{% endif -%} {{ m::zoom() }} {{ m::errors() }} diff --git a/wdriver/run1 b/wdriver/run1 index 53555ceb..9fa13971 100755 --- a/wdriver/run1 +++ b/wdriver/run1 @@ -10,6 +10,6 @@ case "${PIPESTATUS[*]}" in esac grep -v 'DEBUG [otter_webdriver_tests]' ) { - 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::,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::,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"))?;