xref: /freebsd/bin/cat/tests/cat_extra_test.sh (revision d2cfdf4c12a76db3612c83575403150811f5aa9a)
1#
2# SPDX-License-Identifier: BSD-2-Clause
3#
4# Copyright (c) 2026 Baptiste Daroussin <bapt@FreeBSD.org>
5#
6#
7
8atf_test_case E_output
9E_output_body()
10{
11	printf 'a\tb\n\001c\n\177\n' > input
12	atf_check -o 'inline:a\tb$\n\001c$\n\0177$\n' cat -E input
13}
14
15atf_test_case T_output
16T_output_body()
17{
18	printf 'a\tb\n\001c\n\177\n' > input
19	atf_check -o 'inline:a^Ib\n\001c\n\0177\n' cat -T input
20}
21
22atf_test_case A_output
23A_output_body()
24{
25	printf 'a\tb\n\001c\n\177\n' > input
26
27	# -A implies -v, -E and -T.
28	expected='a^Ib$\n^Ac$\n^?$\n'
29	atf_check -o "inline:${expected}" cat -A input
30	atf_check -o "inline:${expected}" cat -vET input
31	atf_check -o "inline:${expected}" cat -AET input
32}
33
34atf_test_case e_implies_v
35e_implies_v_body()
36{
37	printf 'a\tb\n\001c\n\177\n' > input
38
39	atf_check -o 'inline:a\tb$\n^Ac$\n^?$\n' cat -e input
40	atf_check -o 'inline:a\tb$\n^Ac$\n^?$\n' cat -Ev input
41}
42
43atf_test_case t_implies_v
44t_implies_v_body()
45{
46	printf 'a\tb\n\001c\n\177\n' > input
47
48	atf_check -o 'inline:a^Ib\n^Ac\n^?\n' cat -t input
49	atf_check -o 'inline:a^Ib\n^Ac\n^?\n' cat -Tv input
50}
51
52atf_init_test_cases()
53{
54	atf_add_test_case E_output
55	atf_add_test_case T_output
56	atf_add_test_case A_output
57	atf_add_test_case e_implies_v
58	atf_add_test_case t_implies_v
59}
60