Verbatim-safe typography, ^-punctuation quoting, full-range ^UUUU^, polyglot html
Typographic transforms (---, quote pairs, ~) no longer touch verbatim text: @c/@code/@source_listing content and ^'...'^ spans show exactly the characters written. "^" before any punctuation character quotes it in every target (the apostrophe excepted: ^' opens a literal span), with the new :resolve option on @@@target declaring per-target renderings. The ^UUUU^ code-point form accepts 4-6 hex digits, the full Unicode range. The html output and transform spellings are polyglot (XML-valid), in preparation for an EPUB target. New suites: transform_test, character_test (engine), typography_test (SKS). (from dev 07ce5ea86a0a)
This commit is contained in:
@@ -49,7 +49,7 @@ error() {
|
||||
if [ $status -eq 0 ]; then
|
||||
echo "${red}FAIL${reset} $name — reported an error but exited 0"; FAIL=$((FAIL+1)); return
|
||||
fi
|
||||
if printf '%s' "$out" | grep -qF -- "$pattern"; then
|
||||
if printf '%s' "$out" | tr '\n' ' ' | tr -s ' ' | grep -qF -- "$pattern"; then
|
||||
echo "${green}PASS${reset} $name"; PASS=$((PASS+1))
|
||||
else
|
||||
echo "${red}FAIL${reset} $name — expected [$pattern]"
|
||||
@@ -83,6 +83,20 @@ error " 4. ktext -t" "needs a value" ktext -s '@i-x' -t
|
||||
error " 5. the message names the option" "-v <level>" kdesc -v
|
||||
error " 6. ... and how to get the usage" "for the list of arguments" kdesc -v
|
||||
|
||||
echo
|
||||
echo "-- an option value that fails its pattern (gallery review) --"
|
||||
error "21. a non-integer verbosity is an error" "is not a verbosity level" kdesc -v abc
|
||||
# The location must be absent, not a C++ source file: the default Locator
|
||||
# captures the throw site (argv.cpp, line N) unless the throw says
|
||||
# Locator::none() -- the leak class the error gallery found 2026-08-22.
|
||||
out=$(kdesc -v abc 2>&1)
|
||||
if printf '%s' "$out" | grep -q '\.cpp, line'; then
|
||||
echo "${red}FAIL${reset} 22. the error leaks a C++ source location"
|
||||
echo " got: $(printf '%s' "$out" | grep '\.cpp, line' | head -1)"; FAIL=$((FAIL+1))
|
||||
else
|
||||
echo "${green}PASS${reset} 22. no C++ source location in the error"; PASS=$((PASS+1))
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "-- the same options WITH a value still work --"
|
||||
# NOT "kdesc -v 1": show_usage() treats exactly "<command> -v <n>" as a
|
||||
@@ -103,7 +117,7 @@ echo "-- two required positional arguments --"
|
||||
if [ -x "$TSTDIR/argv_test" ]; then
|
||||
out=$("$TSTDIR/argv_test" first second --bool 2>&1 | sed 's/\x1b\[[0-9;]*m//g')
|
||||
for expect in "<input> : first" "<input2> : second"; do
|
||||
if printf '%s' "$out" | grep -qF "$expect"; then
|
||||
if printf '%s' "$out" | tr '\n' ' ' | tr -s ' ' | grep -qF "$expect"; then
|
||||
echo "${green}PASS${reset} 13/14. positional [$expect]"; PASS=$((PASS+1))
|
||||
else
|
||||
echo "${red}FAIL${reset} 13/14. positional [$expect] not parsed"; FAIL=$((FAIL+1))
|
||||
|
||||
Reference in New Issue
Block a user