diff options
author | Vincent Ambo <mail@tazj.in> | 2021-04-30T21·59+0200 |
---|---|---|
committer | tazjin <mail@tazj.in> | 2021-05-04T15·50+0000 |
commit | a9902dadcf080991c587a69e066a8b77b7b1cb94 (patch) | |
tree | e65243722bf5bfc77e5ea72223004cc4933419a4 /tools/cheddar/src/tests.rs | |
parent | 57502cfc4674a66e1967c673668bc7dea0af2ff6 (diff) |
feat(cheddar): Implement highlighting of CL and bug shortlinks r/2565
Implements highlighting of shortlinks like cl/123, or b/123. Highlighting works by replacing the input Markdown using a simple regular expression replacement. We also considered parsing and replacing these links in the Markdown AST, but it would have been significantly more complex (due to arena allocation) for little upside and no obvious performance benefit. Change-Id: I53f03fb17491046d89d0b7f605929571c11ee9a8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3082 Tested-by: BuildkiteCI Reviewed-by: eta <eta@theta.eu.org>
Diffstat (limited to 'tools/cheddar/src/tests.rs')
-rw-r--r-- | tools/cheddar/src/tests.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/cheddar/src/tests.rs b/tools/cheddar/src/tests.rs index 8b8219b22d7c..5b7b1cc52a95 100644 --- a/tools/cheddar/src/tests.rs +++ b/tools/cheddar/src/tests.rs @@ -61,3 +61,37 @@ toString 42 "#, ); } + +#[test] +fn highlights_bug_link() { + expect_markdown( + "Please look at b/123.", + "<p>Please look at <a href=\"https://b.tvl.fyi/123\">b/123</a>.</p>", + ); +} + +#[test] +fn highlights_cl_link() { + expect_markdown( + "Please look at cl/420.", + "<p>Please look at <a href=\"https://cl.tvl.fyi/420\">cl/420</a>.</p>", + ); +} + +#[test] +fn highlights_multiple_shortlinks() { + expect_markdown( + "Please look at cl/420, b/123.", + "<p>Please look at <a href=\"https://cl.tvl.fyi/420\">cl/420</a>, <a href=\"https://b.tvl.fyi/123\">b/123</a>.</p>", + ); + + expect_markdown( + "b/213/cl/213 are different things", + "<p><a href=\"https://b.tvl.fyi/213\">b/213</a>/<a href=\"https://cl.tvl.fyi/213\">cl/213</a> are different things</p>", + ); +} + +#[test] +fn ignores_invalid_shortlinks() { + expect_markdown("b/abc is not a real bug", "<p>b/abc is not a real bug</p>"); +} |