Blob


1 #!/bin/sh
2 #
3 # Copyright (c) 2019, 2020 Stefan Sperling <stsp@openbsd.org>
4 # Copyright (c) 2023 Mark Jamsek <mark@jamsek.dev>
5 #
6 # Permission to use, copy, modify, and distribute this software for any
7 # purpose with or without fee is hereby granted, provided that the above
8 # copyright notice and this permission notice appear in all copies.
9 #
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 . ../cmdline/common.sh
20 unset TOG_COLORS
21 unset TOG_DIFF_ALGORITHM
22 unset TOG_VIEW_SPLIT_MODE
23 unset LC_ALL
24 export TERM=vt220
25 export LC_ALL=C.UTF-8
26 export COLUMNS=80
27 export LINES=24
29 widechar_filename()
30 {
31 echo "選り抜き記事"
32 }
34 widechar_file_content()
35 {
36 cat <<-EOF
37 ウィリアム・ユワート・グラッドストン(英語: William Ewart Gladstone PC FRS FSS、1809年12月29日 - 1898年5月19日)は、イギリスの政治家。
39 ヴィクトリア朝中期から後期にかけて、自由党を指導して、4度にわたり首相を務めた。
41 生涯を通じて敬虔なイングランド国教会の信徒であり、キリスト教の精神を政治に反映させることを目指した。多くの自由主義改革を行い、帝国主義にも批判的であった。好敵手である保守党党首ベンジャミン・ディズレーリとともにヴィクトリア朝イギリスの政党政治を代表する人物として知れる。……
42 EOF
43 }
45 widechar_logmsg()
46 {
47 cat <<-EOF
48 選り抜き記事ウィリアム・ユワート・グラッドストン(英語: William Ewart Gladstone PC FRS FSS、1809年12月29日 - 1898年5月19日)は、イギリスの政治家。
51 良質な記事 おまかせ表示 つまみ読み 選考
52 EOF
53 }
55 widechar_commit()
56 {
57 local repo="$1"
59 echo "$(widechar_file_content)" > $repo/$(widechar_filename)
61 (cd $repo && git add $(widechar_filename) > /dev/null)
62 (cd $repo && git commit -q --cleanup=verbatim -m "$(widechar_logmsg)" \
63 > /dev/null)
64 }
66 set_test_env()
67 {
68 export TOG_TEST_SCRIPT=$1
69 export TOG_SCR_DUMP=$2
71 if [ -n "${3}" ]; then
72 export COLUMNS=${3}
73 fi
75 if [ -n "${4}" ]; then
76 export LINES=${4}
77 fi
78 }
80 test_init()
81 {
82 local testname="$1"
83 local columns="$2"
84 local lines="$3"
85 local no_tree="$4"
87 if [ -z "$testname" ]; then
88 echo "No test name provided" >&2
89 return 1
90 fi
92 testroot=`mktemp -d "$GOT_TEST_ROOT/tog-test-$testname-XXXXXXXXXX"`
94 set_test_env $testroot/$testname $testroot/view $columns $lines
96 mkdir $testroot/repo
97 git_init $testroot/repo
99 if [ -z "$no_tree" ]; then
100 make_test_tree $testroot/repo
101 cd $testroot/repo && git add .
102 git_commit $testroot/repo -m "adding the test tree"
103 fi
106 run_test()
108 testfunc="$1"
110 if [ -n "$regress_run_only" ]; then
111 case "$regress_run_only" in
112 *$testfunc*) ;;
113 *) return ;;
114 esac
115 fi
117 if [ -z "$GOT_TEST_QUIET" ]; then
118 echo -n "$testfunc "
119 fi
121 # run test in subshell to keep defaults unchanged
122 ($testfunc)