From 9f18e67a9bb5ff0387f76e5a2870b49558f868ad Mon Sep 17 00:00:00 2001 From: Ambrose Li Date: Sun, 23 Aug 2020 22:20:43 -0400 Subject: Cleaned version of 20200823_q branch. Changes the behaviour of the q tag (when m17n and Unicode are configured) to use "smart" quotes if the display charset can handle them. Falls back to old behaviour (ASCII quotes with left/right quote semantics for 6/0 and 2/6) if display charset is us-ascii. Also changes the behaviour of conv_entity() to convert left/right quotes and some dashes because named entities are needed for the new code for the q tag. --- tests/name_entity_1.expected | 2 ++ tests/name_entity_1.html | 2 ++ tests/name_entity_1.opts | 2 ++ tests/name_entity_2.expected | 1 + tests/name_entity_2.html | 1 + tests/q1.expected | 1 + tests/q1.html | 2 ++ tests/q1.opts | 2 ++ tests/q2.expected | 1 + tests/q2.html | 3 +++ tests/q3.expected | 1 + tests/q3.html | 3 +++ tests/q3.opts | 4 ++++ tests/q4.expected | 1 + tests/q4.html | 3 +++ tests/q4.opts | 2 ++ tests/q5.expected | 1 + tests/q5.html | 3 +++ tests/q6.expected | 1 + tests/q6.html | 3 +++ tests/q6.opts | 1 + tests/run_tests | 31 +++++++++++++++++++++++++++++++ 22 files changed, 71 insertions(+) create mode 100644 tests/name_entity_1.expected create mode 100644 tests/name_entity_1.html create mode 100644 tests/name_entity_1.opts create mode 100644 tests/name_entity_2.expected create mode 100644 tests/name_entity_2.html create mode 100644 tests/q1.expected create mode 100644 tests/q1.html create mode 100644 tests/q1.opts create mode 100644 tests/q2.expected create mode 100644 tests/q2.html create mode 100644 tests/q3.expected create mode 100644 tests/q3.html create mode 100644 tests/q3.opts create mode 100644 tests/q4.expected create mode 100644 tests/q4.html create mode 100644 tests/q4.opts create mode 100644 tests/q5.expected create mode 100644 tests/q5.html create mode 100644 tests/q6.expected create mode 100644 tests/q6.html create mode 100644 tests/q6.opts create mode 100644 tests/run_tests (limited to 'tests') diff --git a/tests/name_entity_1.expected b/tests/name_entity_1.expected new file mode 100644 index 0000000..2a6fd2c --- /dev/null +++ b/tests/name_entity_1.expected @@ -0,0 +1,2 @@ +This is an example sentence that contains some "quoted words" -- +punctuation that would be displayed as question marks but should not. diff --git a/tests/name_entity_1.html b/tests/name_entity_1.html new file mode 100644 index 0000000..f2e3633 --- /dev/null +++ b/tests/name_entity_1.html @@ -0,0 +1,2 @@ +This is an example sentence that contains some “quoted words” — +
punctuation that would be displayed as question marks but should not. diff --git a/tests/name_entity_1.opts b/tests/name_entity_1.opts new file mode 100644 index 0000000..f9ac4b0 --- /dev/null +++ b/tests/name_entity_1.opts @@ -0,0 +1,2 @@ +-O +us-ascii diff --git a/tests/name_entity_2.expected b/tests/name_entity_2.expected new file mode 100644 index 0000000..b287794 --- /dev/null +++ b/tests/name_entity_2.expected @@ -0,0 +1 @@ +2πr diff --git a/tests/name_entity_2.html b/tests/name_entity_2.html new file mode 100644 index 0000000..9be30f0 --- /dev/null +++ b/tests/name_entity_2.html @@ -0,0 +1 @@ +2πr diff --git a/tests/q1.expected b/tests/q1.expected new file mode 100644 index 0000000..84b67a1 --- /dev/null +++ b/tests/q1.expected @@ -0,0 +1 @@ +`test' diff --git a/tests/q1.html b/tests/q1.html new file mode 100644 index 0000000..292b019 --- /dev/null +++ b/tests/q1.html @@ -0,0 +1,2 @@ + +test diff --git a/tests/q1.opts b/tests/q1.opts new file mode 100644 index 0000000..f9ac4b0 --- /dev/null +++ b/tests/q1.opts @@ -0,0 +1,2 @@ +-O +us-ascii diff --git a/tests/q2.expected b/tests/q2.expected new file mode 100644 index 0000000..bd72179 --- /dev/null +++ b/tests/q2.expected @@ -0,0 +1 @@ +“test” diff --git a/tests/q2.html b/tests/q2.html new file mode 100644 index 0000000..8f1e80b --- /dev/null +++ b/tests/q2.html @@ -0,0 +1,3 @@ + + +test diff --git a/tests/q3.expected b/tests/q3.expected new file mode 100644 index 0000000..c5e67df --- /dev/null +++ b/tests/q3.expected @@ -0,0 +1 @@ +test diff --git a/tests/q3.html b/tests/q3.html new file mode 100644 index 0000000..672a868 --- /dev/null +++ b/tests/q3.html @@ -0,0 +1,3 @@ + + +test diff --git a/tests/q3.opts b/tests/q3.opts new file mode 100644 index 0000000..32d2b1a --- /dev/null +++ b/tests/q3.opts @@ -0,0 +1,4 @@ +-I +windows-1252 +-O +windows-1252 diff --git a/tests/q4.expected b/tests/q4.expected new file mode 100644 index 0000000..c5e67df --- /dev/null +++ b/tests/q4.expected @@ -0,0 +1 @@ +test diff --git a/tests/q4.html b/tests/q4.html new file mode 100644 index 0000000..672a868 --- /dev/null +++ b/tests/q4.html @@ -0,0 +1,3 @@ + + +test diff --git a/tests/q4.opts b/tests/q4.opts new file mode 100644 index 0000000..074570d --- /dev/null +++ b/tests/q4.opts @@ -0,0 +1,2 @@ +-O +windows-1252 diff --git a/tests/q5.expected b/tests/q5.expected new file mode 100644 index 0000000..4f4614d --- /dev/null +++ b/tests/q5.expected @@ -0,0 +1 @@ +“example of a ‘nested’ quote” diff --git a/tests/q5.html b/tests/q5.html new file mode 100644 index 0000000..f4fe761 --- /dev/null +++ b/tests/q5.html @@ -0,0 +1,3 @@ + + +example of a nested quote diff --git a/tests/q6.expected b/tests/q6.expected new file mode 100644 index 0000000..fc98f57 --- /dev/null +++ b/tests/q6.expected @@ -0,0 +1 @@ +"example of a 'nested' quote" diff --git a/tests/q6.html b/tests/q6.html new file mode 100644 index 0000000..e5f1de5 --- /dev/null +++ b/tests/q6.html @@ -0,0 +1,3 @@ + + +example of a nested quote diff --git a/tests/q6.opts b/tests/q6.opts new file mode 100644 index 0000000..1b59fbf --- /dev/null +++ b/tests/q6.opts @@ -0,0 +1 @@ +-O Big5 diff --git a/tests/run_tests b/tests/run_tests new file mode 100644 index 0000000..0ec3080 --- /dev/null +++ b/tests/run_tests @@ -0,0 +1,31 @@ +total=0 +pass=0 +fail=0 +w3m="../w3m +-config +/dev/null +-o +ignore_null_img_alt=false" +for i in *.html; do + cmd="$w3m +-I +utf-8 +-O +utf-8 +-T +text/html" + opts="`basename "$i" .html`.opts" + test -f "$opts" && cmd="$cmd +`grep -v '^#' $opts`" + if (set -x;IFS=' +';$cmd) < "$i" | diff -u - "`basename "$i" .html`.expected"; then + pass="`expr 1 + "$pass"`" + else + fail="`expr 1 + "$fail"`" + fi + total="`expr 1 + "$total"`" +done +echo "TOTAL: $total test(s)" +echo "PASS : $pass" +echo "FAIL : $fail" +test 0 -eq "$fail" -- cgit v1.2.3