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