diff options
authorBryce Kwon <bryce@brycekwon.com>
committerBryce Kwon <bryce@brycekwon.com>
commit
parent
tree
download
Ship the example tracker links commented out
An unedited copy sent every #123, Closes: and Bug: mark to bugs.example.com, a link that is wrong for every site.
Diffstat (limited to 'tests')
-rw-r--r--tests/extensions/test-link-commits.lua13
-rw-r--r--tests/extensions/test-link-trailers.lua16
-rwxr-xr-xtests/t0503-link-commits.sh13
-rwxr-xr-xtests/t0506-link-trailers.sh12
4 files changed, 35 insertions, 19 deletions
diff --git a/tests/extensions/test-link-commits.lua b/tests/extensions/test-link-commits.lua
index 07b2fdb..fdd1787 100644
--- a/tests/extensions/test-link-commits.lua
+++ b/tests/extensions/test-link-commits.lua
@@ -1,7 +1,8 @@
-- Unit checks for custom/extensions/link-commits.lua, run under a standalone
-- Lua by t0503-link-commits.sh with the script path as the argument. The
--- shipped configuration links bare object names to ./?id= and issue marks
--- like #123 to bugs.example.com, and everything here checks that shape, the
+-- shipped configuration links bare object names to ./?id= and leaves issue
+-- marks as text. The rest runs with the commented-out issue rule switched on,
+-- linking marks like #123 to bugs.example.com, and checks that shape, the
-- length bounds and frontier on hash recognition, and the rule that no run
-- of text is ever wrapped twice.
@@ -14,7 +15,13 @@ local function render(text)
return h.run({}, { text })
end
-local out, ret = render("see #123 for details")
+local out, ret = render("see #123 near deadbee")
+h.equals("an unedited copy leaves issue marks as text", out,
+ "see #123 near <a href='./?id=deadbee'>deadbee</a>")
+
+h.load_with(arg[1], { { "-- { pattern = \"#(%d+)\"", "{ pattern = \"#(%d+)\"" } })
+
+out, ret = render("see #123 for details")
h.contains("issue mark becomes a link", out, "<a href='https://bugs.example.com/?bug=123'>#123</a>")
h.contains("text around the link survives", out, "see ")
h.contains("text after the link survives", out, " for details")
diff --git a/tests/extensions/test-link-trailers.lua b/tests/extensions/test-link-trailers.lua
index c879340..7aed9d2 100644
--- a/tests/extensions/test-link-trailers.lua
+++ b/tests/extensions/test-link-trailers.lua
@@ -1,9 +1,10 @@
-- Unit checks for custom/extensions/link-trailers.lua, run under a standalone
-- Lua by t0506-link-trailers.sh with the script path as the argument. The
--- shipped configuration links Fixes and Reverts object names to ./?id=,
--- Closes and Bug marks to bugs.example.com and a bare URL to itself, and
--- everything here checks that shape, the key matching and the values that
--- must pass through untouched.
+-- shipped configuration links Fixes and Reverts object names to ./?id= and a
+-- bare URL to itself, and leaves Closes and Bug marks as text. The rest runs
+-- with the commented-out tracker rules switched on, linking those marks to
+-- bugs.example.com, and checks that shape, the key matching and the values
+-- that must pass through untouched.
local test_directory = arg[0]:match("^(.*)/") or "."
local h = dofile(test_directory .. "/harness.lua")
@@ -14,6 +15,13 @@ local function render(key, text)
return h.run({ key, "commit" }, { text })
end
+h.equals("an unedited copy leaves a Closes mark as text", render("Closes", "#45"), "#45")
+
+h.load_with(arg[1], {
+ { "-- { key = \"Closes\"", "{ key = \"Closes\"" },
+ { "-- { key = \"Bug\"", "{ key = \"Bug\"" },
+})
+
local out, ret = render("Fixes", "1234567 (\"plain commit\")")
h.contains("a Fixes object name links to its commit", out,
"<a href='./?id=1234567'>1234567</a> (\"plain commit\")")
diff --git a/tests/t0503-link-commits.sh b/tests/t0503-link-commits.sh
index d977517..fc7d618 100755
--- a/tests/t0503-link-commits.sh
+++ b/tests/t0503-link-commits.sh
@@ -1,10 +1,10 @@
#!/bin/sh
# Checks link-commits.lua, the shipped commit-filter, whose configuration as
-# shipped links bare object names to ./?id= and issue marks like #123 to
-# bugs.example.com. The unit checks cover the matching rules under every
-# suitable standalone Lua, and a commit whose message carries one of each is
-# then rendered through cgit itself.
+# shipped links bare object names to ./?id= and leaves issue marks like #123
+# as text until a tracker is set up. The unit checks cover the matching rules
+# under every suitable standalone Lua, and a commit whose message carries one
+# of each is then rendered through cgit itself.
test_description='Check the shipped link-commits extension'
CGIT_TEST_NO_CREATE_REPOS=YesPlease
@@ -46,9 +46,10 @@ test_expect_success 'point cgit at it through the commit filter' '
EOF
'
-test_expect_success CGIT_LUA 'the issue mark links out on the commit page' '
+test_expect_success CGIT_LUA 'the issue mark stays text on the commit page' '
cgit_url "linky/commit/" >tmp &&
- grep "bugs.example.com/?bug=123.>#123</a>" tmp
+ grep "fix #123 near" tmp &&
+ ! grep "bugs.example.com" tmp
'
test_expect_success CGIT_LUA 'the object name links to its own page' '
diff --git a/tests/t0506-link-trailers.sh b/tests/t0506-link-trailers.sh
index 7ce9f53..39e22e7 100755
--- a/tests/t0506-link-trailers.sh
+++ b/tests/t0506-link-trailers.sh
@@ -1,10 +1,10 @@
#!/bin/sh
# Checks link-trailers.lua, the shipped trailer-filter, whose configuration as
-# shipped links Fixes and Reverts object names to ./?id=, Closes and Bug marks
-# to bugs.example.com and a bare URL to itself. The unit checks cover the rules
-# under every suitable standalone Lua, and a commit carrying one of each is
-# then rendered through cgit itself.
+# shipped links Fixes and Reverts object names to ./?id= and a bare URL to
+# itself, and leaves Closes and Bug marks as text until a tracker is set up.
+# The unit checks cover the rules under every suitable standalone Lua, and a
+# commit carrying one of each is then rendered through cgit itself.
test_description='Check the shipped link-trailers extension'
CGIT_TEST_NO_CREATE_REPOS=YesPlease
@@ -62,8 +62,8 @@ test_expect_success CGIT_LUA 'the bare URL links to itself' '
grep "<a href=.https://example.com/?a=1&amp;b=2.>https://example.com/?a=1&amp;b=2</a>" tmp
'
-test_expect_success CGIT_LUA 'the Closes mark links out' '
- grep "bugs.example.com/?bug=45.>#45</a>" tmp
+test_expect_success CGIT_LUA 'the Closes mark stays text' '
+ grep "<th scope=.row.>Closes</th><td>#45</td>" tmp
'
test_done