From 63d19686df883d411d37062f79c3601343dc0cb1 Mon Sep 17 00:00:00 2001 From: z4yx Date: Wed, 11 Mar 2020 21:36:49 +0800 Subject: [PATCH] add a test of ngx_http_fancyindex_cmp_entries_dirs_first --- t/07-directory-first.test | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 t/07-directory-first.test diff --git a/t/07-directory-first.test b/t/07-directory-first.test new file mode 100644 index 0000000..67c4cb1 --- /dev/null +++ b/t/07-directory-first.test @@ -0,0 +1,49 @@ +#! /bin/bash +cat <<--- +This test check the output using "fancyindex_directories_first on" +-- + +for d in "008d" "000d" "004d" ; do + mkdir -p "${TESTDIR}/dir_first/${d}" +done +for f in "005f" "001f" "003f"; do + touch "${TESTDIR}/dir_first/${f}" +done +for d in "006d" "002d" ; do + mkdir -p "${TESTDIR}/dir_first/${d}" +done + +nginx_start 'fancyindex_directories_first on;' +previous='' +cur_type='' +while read -r name ; do + case "$name" in + *Parent*) + ;; + *d*) + echo "dir $name" + [[ "$cur_type" = f ]] && fail 'Directories should come before Files' + cur_type=d + if [[ -z ${previous} ]] ; then + previous=${name} + else + [[ ${previous} < ${name} ]] || fail \ + 'Name %s should come before %s\n' "${previous}" "${name}" + fi + ;; + *f*) + echo "file $name" + [[ -z "$cur_type" ]] && fail 'Directories should come before Files' + if [[ "$cur_type" = d ]] ; then + cur_type=f + previous=${name} + else + [[ ${previous} < ${name} ]] || fail \ + 'Name %s should come before %s\n' "${previous}" "${name}" + fi + ;; + esac +done < <( fetch '/dir_first/' \ + | pup -p body table tbody 'td:nth-child(1)' text{} ) + +nginx_is_running || fail "Nginx died"