summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2023-07-13 15:22:42 -0400
committerTavian Barnes <tavianator@tavianator.com>2023-07-13 16:02:56 -0400
commitc5a2bfd924445dfccd943ea34374a5d1266f5cb9 (patch)
tree107939d8c2b35a799a23ae6806f62c98ad6efcc9
parentb577bedfd37d93cb802c36beb93cf6581af51930 (diff)
downloadbfs-c5a2bfd924445dfccd943ea34374a5d1266f5cb9.tar.xz
color: TTY-escape filenames
-rw-r--r--src/color.c10
-rw-r--r--src/color.h1
-rw-r--r--src/printf.c4
-rw-r--r--tests/bfs/color.out2
-rw-r--r--tests/bfs/color_L.out2
-rw-r--r--tests/bfs/color_L_ln_target.out2
-rw-r--r--tests/bfs/color_L_no_stat.out2
-rw-r--r--tests/bfs/color_cd0_no.out2
-rw-r--r--tests/bfs/color_escapes.out2
-rw-r--r--tests/bfs/color_ext.out2
-rw-r--r--tests/bfs/color_ext0.out2
-rw-r--r--tests/bfs/color_ext_case.out2
-rw-r--r--tests/bfs/color_ext_override.out2
-rw-r--r--tests/bfs/color_ext_underride.out2
-rw-r--r--tests/bfs/color_fi0_no.out2
-rw-r--r--tests/bfs/color_fi_no.out2
-rw-r--r--tests/bfs/color_ln_target.out2
-rw-r--r--tests/bfs/color_mh.out2
-rw-r--r--tests/bfs/color_mh0.out2
-rw-r--r--tests/bfs/color_mi.out2
-rw-r--r--tests/bfs/color_missing_colon.out2
-rw-r--r--tests/bfs/color_no.out2
-rw-r--r--tests/bfs/color_no_stat.out2
-rw-r--r--tests/bfs/color_nul.out2
-rw-r--r--tests/bfs/color_or.out2
-rw-r--r--tests/bfs/color_or0_mi.out2
-rw-r--r--tests/bfs/color_or0_mi0.out2
-rw-r--r--tests/bfs/color_or_mi.out2
-rw-r--r--tests/bfs/color_or_mi0.out2
-rw-r--r--tests/bfs/color_rs_lc_rc_ec.out2
-rw-r--r--tests/bfs/color_st0_tw0_ow.out2
-rw-r--r--tests/bfs/color_st0_tw0_ow0.out2
-rw-r--r--tests/bfs/color_st0_tw_ow.out2
-rw-r--r--tests/bfs/color_st0_tw_ow0.out2
-rw-r--r--tests/bfs/color_st_tw0_ow.out2
-rw-r--r--tests/bfs/color_st_tw0_ow0.out2
-rw-r--r--tests/bfs/color_st_tw_ow0.out2
-rw-r--r--tests/bfs/color_su0_sg.out2
-rw-r--r--tests/bfs/color_su0_sg0.out2
-rw-r--r--tests/bfs/color_su_sg0.out2
-rw-r--r--tests/bfs/nocolor.out2
-rw-r--r--tests/gnu/empty_special.out1
-rwxr-xr-xtests/tests.sh1
43 files changed, 90 insertions, 3 deletions
diff --git a/src/color.c b/src/color.c
index 00d7920..6593f5b 100644
--- a/src/color.c
+++ b/src/color.c
@@ -922,9 +922,12 @@ static int print_colored(CFILE *cfile, const struct esc_seq *esc, const char *st
if (print_esc(cfile, esc) != 0) {
return -1;
}
- if (dstrxcat(&cfile->buffer, str, len) != 0) {
+
+ // Don't let the string itself interfere with the colors
+ if (print_wordesc(cfile, str, len, WESC_TTY) != 0) {
return -1;
}
+
if (print_reset(cfile) != 0) {
return -1;
}
@@ -1242,6 +1245,11 @@ static int cvbuff(CFILE *cfile, const char *format, va_list args) {
return -1;
}
break;
+ case 'Q':
+ if (print_wordesc(cfile, va_arg(args, const char *), SIZE_MAX, WESC_TTY) != 0) {
+ return -1;
+ }
+ break;
case 'F':
if (print_name(cfile, va_arg(args, const struct BFTW *)) != 0) {
diff --git a/src/color.h b/src/color.h
index 932d551..0d46c33 100644
--- a/src/color.h
+++ b/src/color.h
@@ -87,6 +87,7 @@ int cfclose(CFILE *cfile);
* %zu: A size_t
* %m: strerror(errno)
* %pq: A shell-escaped string, like bash's printf %q
+ * %pQ: A TTY-escaped string.
* %pF: A colored file name, from a const struct BFTW * argument
* %pP: A colored file path, from a const struct BFTW * argument
* %pL: A colored link target, from a const struct BFTW * argument
diff --git a/src/printf.c b/src/printf.c
index 6520d2d..f0910fa 100644
--- a/src/printf.c
+++ b/src/printf.c
@@ -298,7 +298,7 @@ static int bfs_printf_h(CFILE *cfile, const struct bfs_printf *directive, const
int ret;
if (should_color(cfile, directive)) {
- ret = cfprintf(cfile, "${di}%s${rs}", buf);
+ ret = cfprintf(cfile, "${di}%pQ${rs}", buf);
} else {
ret = dyn_fprintf(cfile->file, directive, buf);
}
@@ -313,7 +313,7 @@ static int bfs_printf_H(CFILE *cfile, const struct bfs_printf *directive, const
if (ftwbuf->depth == 0) {
return cfprintf(cfile, "%pP", ftwbuf);
} else {
- return cfprintf(cfile, "${di}%s${rs}", ftwbuf->root);
+ return cfprintf(cfile, "${di}%pQ${rs}", ftwbuf->root);
}
} else {
return dyn_fprintf(cfile->file, directive, ftwbuf->root);
diff --git a/tests/bfs/color.out b/tests/bfs/color.out
index 34c7153..5c6b43e 100644
--- a/tests/bfs/color.out
+++ b/tests/bfs/color.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_L.out b/tests/bfs/color_L.out
index 89f9410..6904e39 100644
--- a/tests/bfs/color_L.out
+++ b/tests/bfs/color_L.out
@@ -1,6 +1,8 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
rainbow/chardev_link
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/sticky_ow
diff --git a/tests/bfs/color_L_ln_target.out b/tests/bfs/color_L_ln_target.out
index 2562c98..50105c3 100644
--- a/tests/bfs/color_L_ln_target.out
+++ b/tests/bfs/color_L_ln_target.out
@@ -1,7 +1,9 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/broken
rainbow/exec.sh
rainbow/chardev_link
+rainbow/$'\e[1m'
rainbow/socket
rainbow/sticky_ow
rainbow/sgid
diff --git a/tests/bfs/color_L_no_stat.out b/tests/bfs/color_L_no_stat.out
index 4fe99c0..beb538c 100644
--- a/tests/bfs/color_L_no_stat.out
+++ b/tests/bfs/color_L_no_stat.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/chardev_link
+rainbow/$'\e[1m'
rainbow/ow
rainbow/sticky
rainbow/sticky_ow
diff --git a/tests/bfs/color_cd0_no.out b/tests/bfs/color_cd0_no.out
index 30ad97f..4d710fd 100644
--- a/tests/bfs/color_cd0_no.out
+++ b/tests/bfs/color_cd0_no.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/file.dat
diff --git a/tests/bfs/color_escapes.out b/tests/bfs/color_escapes.out
index 808585e..746a9ea 100644
--- a/tests/bfs/color_escapes.out
+++ b/tests/bfs/color_escapes.out
@@ -1,5 +1,7 @@
+:$'rainbow/\e[1m/'$'\e[0m'
:rainbow
:rainbow/:exec.sh
+:rainbow/:$'\e[1m'
:rainbow/:socket
:rainbow/:broken
:rainbow/:chardev_link
diff --git a/tests/bfs/color_ext.out b/tests/bfs/color_ext.out
index be22b82..a35ca0b 100644
--- a/tests/bfs/color_ext.out
+++ b/tests/bfs/color_ext.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_ext0.out b/tests/bfs/color_ext0.out
index d151319..37301cc 100644
--- a/tests/bfs/color_ext0.out
+++ b/tests/bfs/color_ext0.out
@@ -1,6 +1,8 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/file.txt
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_ext_case.out b/tests/bfs/color_ext_case.out
index 4e7258d..9388343 100644
--- a/tests/bfs/color_ext_case.out
+++ b/tests/bfs/color_ext_case.out
@@ -1,3 +1,4 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/lower.gz
rainbow/lower.tar.gz
@@ -6,6 +7,7 @@
rainbow/upper.TAR.GZ
rainbow/lower.tar
rainbow/upper.TAR
+rainbow/$'\e[1m'
rainbow/ul.TAR.gz
rainbow/lu.tar.GZ
rainbow/socket
diff --git a/tests/bfs/color_ext_override.out b/tests/bfs/color_ext_override.out
index 3a09cd2..1e0146c 100644
--- a/tests/bfs/color_ext_override.out
+++ b/tests/bfs/color_ext_override.out
@@ -1,3 +1,4 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
rainbow/lower.tar
@@ -8,6 +9,7 @@
rainbow/ul.TAR.gz
rainbow/upper.GZ
rainbow/upper.TAR.GZ
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_ext_underride.out b/tests/bfs/color_ext_underride.out
index 073d176..1ed66da 100644
--- a/tests/bfs/color_ext_underride.out
+++ b/tests/bfs/color_ext_underride.out
@@ -1,3 +1,4 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/lower.tar.gz
rainbow/lu.tar.GZ
@@ -8,6 +9,7 @@
rainbow/upper.TAR
rainbow/lower.gz
rainbow/upper.GZ
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_fi0_no.out b/tests/bfs/color_fi0_no.out
index 34c7153..5c6b43e 100644
--- a/tests/bfs/color_fi0_no.out
+++ b/tests/bfs/color_fi0_no.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_fi_no.out b/tests/bfs/color_fi_no.out
index 8df9355..e64684d 100644
--- a/tests/bfs/color_fi_no.out
+++ b/tests/bfs/color_fi_no.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_ln_target.out b/tests/bfs/color_ln_target.out
index 2562c98..50105c3 100644
--- a/tests/bfs/color_ln_target.out
+++ b/tests/bfs/color_ln_target.out
@@ -1,7 +1,9 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/broken
rainbow/exec.sh
rainbow/chardev_link
+rainbow/$'\e[1m'
rainbow/socket
rainbow/sticky_ow
rainbow/sgid
diff --git a/tests/bfs/color_mh.out b/tests/bfs/color_mh.out
index 7521b31..93bfde1 100644
--- a/tests/bfs/color_mh.out
+++ b/tests/bfs/color_mh.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_mh0.out b/tests/bfs/color_mh0.out
index 34c7153..5c6b43e 100644
--- a/tests/bfs/color_mh0.out
+++ b/tests/bfs/color_mh0.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_mi.out b/tests/bfs/color_mi.out
index 34c7153..5c6b43e 100644
--- a/tests/bfs/color_mi.out
+++ b/tests/bfs/color_mi.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_missing_colon.out b/tests/bfs/color_missing_colon.out
index be22b82..a35ca0b 100644
--- a/tests/bfs/color_missing_colon.out
+++ b/tests/bfs/color_missing_colon.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_no.out b/tests/bfs/color_no.out
index b70e47d..c61d246 100644
--- a/tests/bfs/color_no.out
+++ b/tests/bfs/color_no.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_no_stat.out b/tests/bfs/color_no_stat.out
index 7d7d767..e57e11a 100644
--- a/tests/bfs/color_no_stat.out
+++ b/tests/bfs/color_no_stat.out
@@ -1,4 +1,6 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
+rainbow/$'\e[1m'
rainbow/ow
rainbow/sticky
rainbow/sticky_ow
diff --git a/tests/bfs/color_nul.out b/tests/bfs/color_nul.out
index 4ea4d85..7140e32 100644
--- a/tests/bfs/color_nul.out
+++ b/tests/bfs/color_nul.out
@@ -1,3 +1,4 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/lower.gz
rainbow/lower.tar.gz
@@ -6,6 +7,7 @@
rainbow/upper.GZ
rainbow/upper.TAR.GZ
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_or.out b/tests/bfs/color_or.out
index 98efb63..07916da 100644
--- a/tests/bfs/color_or.out
+++ b/tests/bfs/color_or.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/chardev_link
rainbow/link.txt
diff --git a/tests/bfs/color_or0_mi.out b/tests/bfs/color_or0_mi.out
index 34c7153..5c6b43e 100644
--- a/tests/bfs/color_or0_mi.out
+++ b/tests/bfs/color_or0_mi.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_or0_mi0.out b/tests/bfs/color_or0_mi0.out
index 34c7153..5c6b43e 100644
--- a/tests/bfs/color_or0_mi0.out
+++ b/tests/bfs/color_or0_mi0.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_or_mi.out b/tests/bfs/color_or_mi.out
index a9dc229..20bc61d 100644
--- a/tests/bfs/color_or_mi.out
+++ b/tests/bfs/color_or_mi.out
@@ -1,6 +1,8 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/broken
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/chardev_link
rainbow/link.txt
diff --git a/tests/bfs/color_or_mi0.out b/tests/bfs/color_or_mi0.out
index a9dc229..20bc61d 100644
--- a/tests/bfs/color_or_mi0.out
+++ b/tests/bfs/color_or_mi0.out
@@ -1,6 +1,8 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/broken
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/chardev_link
rainbow/link.txt
diff --git a/tests/bfs/color_rs_lc_rc_ec.out b/tests/bfs/color_rs_lc_rc_ec.out
index 82d94ec..f78b41f 100644
--- a/tests/bfs/color_rs_lc_rc_ec.out
+++ b/tests/bfs/color_rs_lc_rc_ec.out
@@ -1,4 +1,6 @@
+LC01;34RC$'rainbow/\e[1m/'EC$'\e[0m'
LC01;34RCrainbow/ECLC01;32RCexec.shEC
+LC01;34RCrainbow/ECLC01;34RC$'\e[1m'EC
LC01;34RCrainbow/ECLC01;35RCsocketEC
LC01;34RCrainbow/ECLC01;36RCbrokenEC
LC01;34RCrainbow/ECLC01;36RCchardev_linkEC
diff --git a/tests/bfs/color_st0_tw0_ow.out b/tests/bfs/color_st0_tw0_ow.out
index bdc5942..d1fec74 100644
--- a/tests/bfs/color_st0_tw0_ow.out
+++ b/tests/bfs/color_st0_tw0_ow.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/sticky
rainbow/socket
rainbow/broken
diff --git a/tests/bfs/color_st0_tw0_ow0.out b/tests/bfs/color_st0_tw0_ow0.out
index f13b7f3..cb80cb8 100644
--- a/tests/bfs/color_st0_tw0_ow0.out
+++ b/tests/bfs/color_st0_tw0_ow0.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/ow
rainbow/sticky
rainbow/sticky_ow
diff --git a/tests/bfs/color_st0_tw_ow.out b/tests/bfs/color_st0_tw_ow.out
index 2d7f682..a183932 100644
--- a/tests/bfs/color_st0_tw_ow.out
+++ b/tests/bfs/color_st0_tw_ow.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/sticky
rainbow/socket
rainbow/broken
diff --git a/tests/bfs/color_st0_tw_ow0.out b/tests/bfs/color_st0_tw_ow0.out
index 7e343b8..cdc5cdd 100644
--- a/tests/bfs/color_st0_tw_ow0.out
+++ b/tests/bfs/color_st0_tw_ow0.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/ow
rainbow/sticky
rainbow/socket
diff --git a/tests/bfs/color_st_tw0_ow.out b/tests/bfs/color_st_tw0_ow.out
index c61a327..f45c75c 100644
--- a/tests/bfs/color_st_tw0_ow.out
+++ b/tests/bfs/color_st_tw0_ow.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_st_tw0_ow0.out b/tests/bfs/color_st_tw0_ow0.out
index 929a993..d95d12a 100644
--- a/tests/bfs/color_st_tw0_ow0.out
+++ b/tests/bfs/color_st_tw0_ow0.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/ow
rainbow/socket
rainbow/broken
diff --git a/tests/bfs/color_st_tw_ow0.out b/tests/bfs/color_st_tw_ow0.out
index 7092f5a..f1059dd 100644
--- a/tests/bfs/color_st_tw_ow0.out
+++ b/tests/bfs/color_st_tw_ow0.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/ow
rainbow/socket
rainbow/broken
diff --git a/tests/bfs/color_su0_sg.out b/tests/bfs/color_su0_sg.out
index 2bce534..31d5108 100644
--- a/tests/bfs/color_su0_sg.out
+++ b/tests/bfs/color_su0_sg.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_su0_sg0.out b/tests/bfs/color_su0_sg0.out
index 0c3d757..4804030 100644
--- a/tests/bfs/color_su0_sg0.out
+++ b/tests/bfs/color_su0_sg0.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_su_sg0.out b/tests/bfs/color_su_sg0.out
index 7a70598..3dbc7fe 100644
--- a/tests/bfs/color_su_sg0.out
+++ b/tests/bfs/color_su_sg0.out
@@ -1,5 +1,7 @@
+$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
+rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/nocolor.out b/tests/bfs/nocolor.out
index 29e7de8..d51d24d 100644
--- a/tests/bfs/nocolor.out
+++ b/tests/bfs/nocolor.out
@@ -1,4 +1,6 @@
rainbow
+rainbow/
+rainbow//
rainbow/broken
rainbow/chardev_link
rainbow/exec.sh
diff --git a/tests/gnu/empty_special.out b/tests/gnu/empty_special.out
index 3aa57d2..fa35478 100644
--- a/tests/gnu/empty_special.out
+++ b/tests/gnu/empty_special.out
@@ -1,3 +1,4 @@
+rainbow//
rainbow/exec.sh
rainbow/file.dat
rainbow/file.txt
diff --git a/tests/tests.sh b/tests/tests.sh
index 46e3e33..66a79a8 100755
--- a/tests/tests.sh
+++ b/tests/tests.sh
@@ -432,6 +432,7 @@ function make_rainbow() {
chmod +t "$1"/sticky*
"$XTOUCH" -p "$1"/exec.sh
chmod +x "$1"/exec.sh
+ "$XTOUCH" -p "$1/"$'\e[1m/\e[0m'
}
make_rainbow "$TMP/rainbow"