From b914bdcbe7d8c64819cb8a7b0362fa47b28fb586 Mon Sep 17 00:00:00 2001 From: Dominic Ricottone Date: Fri, 16 Sep 2022 18:12:42 -0500 Subject: [PATCH] Test updates Added two minor tests for ctdir Added test suite for enumerate --- core/test/ctdir.bats | 14 ++ core/test/enumerate.bats | 495 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 509 insertions(+) create mode 100644 core/test/enumerate.bats diff --git a/core/test/ctdir.bats b/core/test/ctdir.bats index e5ad1e0..863ba5d 100644 --- a/core/test/ctdir.bats +++ b/core/test/ctdir.bats @@ -17,6 +17,20 @@ teardown() { [ "$stderr" = "Usage: ctdir TARGET [OPTIONS]" ] } +@test "ctdir usage - quiet" { + run --separate-stderr ctdir --quiet + [ "$status" -eq 1 ] + [ "$output" = "" ] + [ "$stderr" = "" ] +} + +@test "ctdir usage - quiet short" { + run --separate-stderr ctdir -q + [ "$status" -eq 1 ] + [ "$output" = "" ] + [ "$stderr" = "" ] +} + @test "ctdir version" { run --separate-stderr ctdir --version [ "$status" -eq 0 ] diff --git a/core/test/enumerate.bats b/core/test/enumerate.bats new file mode 100644 index 0000000..a89fd24 --- /dev/null +++ b/core/test/enumerate.bats @@ -0,0 +1,495 @@ +#!/usr/bin/env bats +bats_require_minimum_version 1.5.0 + +setup() { + mkdir -p test/static/ + touch test/static/{a,b,c,d,e,.f,.g,.h,.i,.j}.txt +} + +teardown() { + rm -rf test/static/ +} + +@test "enumerate" { + run --separate-stderr sh -c 'cd test/static/ && enumerate' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv .f.txt 0001.f.txt" ] + [ "${lines[1]}" = "#mv .g.txt 0002.g.txt" ] + [ "${lines[2]}" = "#mv .h.txt 0003.h.txt" ] + [ "${lines[3]}" = "#mv .i.txt 0004.i.txt" ] + [ "${lines[4]}" = "#mv .j.txt 0005.j.txt" ] + [ "${lines[5]}" = "#mv a.txt 0006.txt" ] + [ "${lines[6]}" = "#mv b.txt 0007.txt" ] + [ "${lines[7]}" = "#mv c.txt 0008.txt" ] + [ "${lines[8]}" = "#mv d.txt 0009.txt" ] + [ "${lines[9]}" = "#mv e.txt 0010.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate - quiet" { + run --separate-stderr sh -c 'cd test/static/ && enumerate --quiet' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv .f.txt 0001.f.txt" ] + [ "${lines[1]}" = "#mv .g.txt 0002.g.txt" ] + [ "${lines[2]}" = "#mv .h.txt 0003.h.txt" ] + [ "${lines[3]}" = "#mv .i.txt 0004.i.txt" ] + [ "${lines[4]}" = "#mv .j.txt 0005.j.txt" ] + [ "${lines[5]}" = "#mv a.txt 0006.txt" ] + [ "${lines[6]}" = "#mv b.txt 0007.txt" ] + [ "${lines[7]}" = "#mv c.txt 0008.txt" ] + [ "${lines[8]}" = "#mv d.txt 0009.txt" ] + [ "${lines[9]}" = "#mv e.txt 0010.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate - quiet short" { + run --separate-stderr sh -c 'cd test/static/ && enumerate -q' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv .f.txt 0001.f.txt" ] + [ "${lines[1]}" = "#mv .g.txt 0002.g.txt" ] + [ "${lines[2]}" = "#mv .h.txt 0003.h.txt" ] + [ "${lines[3]}" = "#mv .i.txt 0004.i.txt" ] + [ "${lines[4]}" = "#mv .j.txt 0005.j.txt" ] + [ "${lines[5]}" = "#mv a.txt 0006.txt" ] + [ "${lines[6]}" = "#mv b.txt 0007.txt" ] + [ "${lines[7]}" = "#mv c.txt 0008.txt" ] + [ "${lines[8]}" = "#mv d.txt 0009.txt" ] + [ "${lines[9]}" = "#mv e.txt 0010.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate - verbose" { + run --separate-stderr sh -c 'cd test/static/ && enumerate --verbose' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "DEBUG:enumerate:Widened format of '1' is '0001'" ] + [ "${lines[1]}" = "DEBUG:enumerate:Input filename is '.f.txt'" ] + [ "${lines[2]}" = "DEBUG:enumerate:Output filename is '0001.f.txt'" ] + [ "${lines[3]}" = "#mv .f.txt 0001.f.txt" ] + [ "${lines[4]}" = "DEBUG:enumerate:Widened format of '2' is '0002'" ] + [ "${lines[5]}" = "DEBUG:enumerate:Input filename is '.g.txt'" ] + [ "${lines[6]}" = "DEBUG:enumerate:Output filename is '0002.g.txt'" ] + [ "${lines[7]}" = "#mv .g.txt 0002.g.txt" ] + [ "${lines[8]}" = "DEBUG:enumerate:Widened format of '3' is '0003'" ] + [ "${lines[9]}" = "DEBUG:enumerate:Input filename is '.h.txt'" ] + [ "${lines[10]}" = "DEBUG:enumerate:Output filename is '0003.h.txt'" ] + [ "${lines[11]}" = "#mv .h.txt 0003.h.txt" ] + [ "${lines[12]}" = "DEBUG:enumerate:Widened format of '4' is '0004'" ] + [ "${lines[13]}" = "DEBUG:enumerate:Input filename is '.i.txt'" ] + [ "${lines[14]}" = "DEBUG:enumerate:Output filename is '0004.i.txt'" ] + [ "${lines[15]}" = "#mv .i.txt 0004.i.txt" ] + [ "${lines[16]}" = "DEBUG:enumerate:Widened format of '5' is '0005'" ] + [ "${lines[17]}" = "DEBUG:enumerate:Input filename is '.j.txt'" ] + [ "${lines[18]}" = "DEBUG:enumerate:Output filename is '0005.j.txt'" ] + [ "${lines[19]}" = "#mv .j.txt 0005.j.txt" ] + [ "${lines[20]}" = "DEBUG:enumerate:Widened format of '6' is '0006'" ] + [ "${lines[21]}" = "DEBUG:enumerate:Input filename is 'a.txt'" ] + [ "${lines[22]}" = "DEBUG:enumerate:Output filename is '0006.txt'" ] + [ "${lines[23]}" = "#mv a.txt 0006.txt" ] + [ "${lines[24]}" = "DEBUG:enumerate:Widened format of '7' is '0007'" ] + [ "${lines[25]}" = "DEBUG:enumerate:Input filename is 'b.txt'" ] + [ "${lines[26]}" = "DEBUG:enumerate:Output filename is '0007.txt'" ] + [ "${lines[27]}" = "#mv b.txt 0007.txt" ] + [ "${lines[28]}" = "DEBUG:enumerate:Widened format of '8' is '0008'" ] + [ "${lines[29]}" = "DEBUG:enumerate:Input filename is 'c.txt'" ] + [ "${lines[30]}" = "DEBUG:enumerate:Output filename is '0008.txt'" ] + [ "${lines[31]}" = "#mv c.txt 0008.txt" ] + [ "${lines[32]}" = "DEBUG:enumerate:Widened format of '9' is '0009'" ] + [ "${lines[33]}" = "DEBUG:enumerate:Input filename is 'd.txt'" ] + [ "${lines[34]}" = "DEBUG:enumerate:Output filename is '0009.txt'" ] + [ "${lines[35]}" = "#mv d.txt 0009.txt" ] + [ "${lines[36]}" = "DEBUG:enumerate:Widened format of '10' is '0010'" ] + [ "${lines[37]}" = "DEBUG:enumerate:Input filename is 'e.txt'" ] + [ "${lines[38]}" = "DEBUG:enumerate:Output filename is '0010.txt'" ] + [ "${lines[39]}" = "#mv e.txt 0010.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate version" { + run --separate-stderr enumerate --version + [ "$status" -eq 0 ] + [ "$output" = "enumerate 1.0" ] + [ "$stderr" = "" ] +} + +@test "enumerate version - quiet" { + run --separate-stderr enumerate --version --quiet + [ "$status" -eq 0 ] + [ "$output" = "enumerate 1.0" ] + [ "$stderr" = "" ] +} + +@test "enumerate version - quiet short" { + run --separate-stderr enumerate --version -q + [ "$status" -eq 0 ] + [ "$output" = "enumerate 1.0" ] + [ "$stderr" = "" ] +} + +@test "enumerate version short" { + run --separate-stderr enumerate -V + [ "$status" -eq 0 ] + [ "$output" = "enumerate 1.0" ] + [ "$stderr" = "" ] +} + +@test "enumerate version short - quiet" { + run --separate-stderr enumerate -V --quiet + [ "$status" -eq 0 ] + [ "$output" = "enumerate 1.0" ] + [ "$stderr" = "" ] +} + +@test "enumerate version short - quiet short" { + run --separate-stderr enumerate -V -q + [ "$status" -eq 0 ] + [ "$output" = "enumerate 1.0" ] + [ "$stderr" = "" ] +} + +@test "enumerate help" { + run --separate-stderr enumerate --help + [ "$status" -eq 0 ] + [ "${lines[0]}" = "Rename files in current directory into sequential numbers" ] + [ "${lines[1]}" = "Usage: enumerate [OPTIONS]" ] + [ "${lines[2]}" = "Options:" ] + [ "${lines[3]}" = " -d, --dry-run print, not execute, changes (Default)" ] + [ "${lines[4]}" = " -f P, --filter P filter targets with filename pattern P" ] + [ "${lines[5]}" = " -h, --help print this message" ] + [ "${lines[6]}" = " -q, --quiet suppress error messages" ] + [ "${lines[7]}" = " -s N, --start N start enumeration at N (Default: 1)" ] + [ "${lines[8]}" = " -S N, --step N step enumeration by N (Default: 1)" ] + [ "${lines[9]}" = " -v, --verbose show additional messages" ] + [ "${lines[10]}" = " -V, --version print version number and exit" ] + [ "${lines[11]}" = " -w N, --width N rename files to numbers N wide (Default: 4)" ] + [ "${lines[12]}" = " -x, --execute execute changes" ] + [ "$stderr" = "" ] +} + +@test "enumerate help - quiet" { + run --separate-stderr enumerate --help --quiet + [ "$status" -eq 0 ] + [ "${lines[0]}" = "Rename files in current directory into sequential numbers" ] + [ "${lines[1]}" = "Usage: enumerate [OPTIONS]" ] + [ "${lines[2]}" = "Options:" ] + [ "${lines[3]}" = " -d, --dry-run print, not execute, changes (Default)" ] + [ "${lines[4]}" = " -f P, --filter P filter targets with filename pattern P" ] + [ "${lines[5]}" = " -h, --help print this message" ] + [ "${lines[6]}" = " -q, --quiet suppress error messages" ] + [ "${lines[7]}" = " -s N, --start N start enumeration at N (Default: 1)" ] + [ "${lines[8]}" = " -S N, --step N step enumeration by N (Default: 1)" ] + [ "${lines[9]}" = " -v, --verbose show additional messages" ] + [ "${lines[10]}" = " -V, --version print version number and exit" ] + [ "${lines[11]}" = " -w N, --width N rename files to numbers N wide (Default: 4)" ] + [ "${lines[12]}" = " -x, --execute execute changes" ] + [ "$stderr" = "" ] +} + +@test "enumerate help - quiet short" { + run --separate-stderr enumerate --help -q + [ "$status" -eq 0 ] + [ "${lines[0]}" = "Rename files in current directory into sequential numbers" ] + [ "${lines[1]}" = "Usage: enumerate [OPTIONS]" ] + [ "${lines[2]}" = "Options:" ] + [ "${lines[3]}" = " -d, --dry-run print, not execute, changes (Default)" ] + [ "${lines[4]}" = " -f P, --filter P filter targets with filename pattern P" ] + [ "${lines[5]}" = " -h, --help print this message" ] + [ "${lines[6]}" = " -q, --quiet suppress error messages" ] + [ "${lines[7]}" = " -s N, --start N start enumeration at N (Default: 1)" ] + [ "${lines[8]}" = " -S N, --step N step enumeration by N (Default: 1)" ] + [ "${lines[9]}" = " -v, --verbose show additional messages" ] + [ "${lines[10]}" = " -V, --version print version number and exit" ] + [ "${lines[11]}" = " -w N, --width N rename files to numbers N wide (Default: 4)" ] + [ "${lines[12]}" = " -x, --execute execute changes" ] + [ "$stderr" = "" ] +} + +@test "enumerate help short" { + run --separate-stderr enumerate -h + [ "$status" -eq 0 ] + [ "${lines[0]}" = "Rename files in current directory into sequential numbers" ] + [ "${lines[1]}" = "Usage: enumerate [OPTIONS]" ] + [ "${lines[2]}" = "Options:" ] + [ "${lines[3]}" = " -d, --dry-run print, not execute, changes (Default)" ] + [ "${lines[4]}" = " -f P, --filter P filter targets with filename pattern P" ] + [ "${lines[5]}" = " -h, --help print this message" ] + [ "${lines[6]}" = " -q, --quiet suppress error messages" ] + [ "${lines[7]}" = " -s N, --start N start enumeration at N (Default: 1)" ] + [ "${lines[8]}" = " -S N, --step N step enumeration by N (Default: 1)" ] + [ "${lines[9]}" = " -v, --verbose show additional messages" ] + [ "${lines[10]}" = " -V, --version print version number and exit" ] + [ "${lines[11]}" = " -w N, --width N rename files to numbers N wide (Default: 4)" ] + [ "${lines[12]}" = " -x, --execute execute changes" ] + [ "$stderr" = "" ] +} + +@test "enumerate help short - quiet" { + run --separate-stderr enumerate -h --quiet + [ "$status" -eq 0 ] + [ "${lines[0]}" = "Rename files in current directory into sequential numbers" ] + [ "${lines[1]}" = "Usage: enumerate [OPTIONS]" ] + [ "${lines[2]}" = "Options:" ] + [ "${lines[3]}" = " -d, --dry-run print, not execute, changes (Default)" ] + [ "${lines[4]}" = " -f P, --filter P filter targets with filename pattern P" ] + [ "${lines[5]}" = " -h, --help print this message" ] + [ "${lines[6]}" = " -q, --quiet suppress error messages" ] + [ "${lines[7]}" = " -s N, --start N start enumeration at N (Default: 1)" ] + [ "${lines[8]}" = " -S N, --step N step enumeration by N (Default: 1)" ] + [ "${lines[9]}" = " -v, --verbose show additional messages" ] + [ "${lines[10]}" = " -V, --version print version number and exit" ] + [ "${lines[11]}" = " -w N, --width N rename files to numbers N wide (Default: 4)" ] + [ "${lines[12]}" = " -x, --execute execute changes" ] + [ "$stderr" = "" ] +} + +@test "enumerate help short - quiet short" { + run --separate-stderr enumerate -h -q + [ "$status" -eq 0 ] + [ "${lines[0]}" = "Rename files in current directory into sequential numbers" ] + [ "${lines[1]}" = "Usage: enumerate [OPTIONS]" ] + [ "${lines[2]}" = "Options:" ] + [ "${lines[3]}" = " -d, --dry-run print, not execute, changes (Default)" ] + [ "${lines[4]}" = " -f P, --filter P filter targets with filename pattern P" ] + [ "${lines[5]}" = " -h, --help print this message" ] + [ "${lines[6]}" = " -q, --quiet suppress error messages" ] + [ "${lines[7]}" = " -s N, --start N start enumeration at N (Default: 1)" ] + [ "${lines[8]}" = " -S N, --step N step enumeration by N (Default: 1)" ] + [ "${lines[9]}" = " -v, --verbose show additional messages" ] + [ "${lines[10]}" = " -V, --version print version number and exit" ] + [ "${lines[11]}" = " -w N, --width N rename files to numbers N wide (Default: 4)" ] + [ "${lines[12]}" = " -x, --execute execute changes" ] + [ "$stderr" = "" ] +} + +@test "enumerate 2 wide" { + run --separate-stderr sh -c 'cd test/static/ && enumerate --width 2' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv .f.txt 01.f.txt" ] + [ "${lines[1]}" = "#mv .g.txt 02.g.txt" ] + [ "${lines[2]}" = "#mv .h.txt 03.h.txt" ] + [ "${lines[3]}" = "#mv .i.txt 04.i.txt" ] + [ "${lines[4]}" = "#mv .j.txt 05.j.txt" ] + [ "${lines[5]}" = "#mv a.txt 06.txt" ] + [ "${lines[6]}" = "#mv b.txt 07.txt" ] + [ "${lines[7]}" = "#mv c.txt 08.txt" ] + [ "${lines[8]}" = "#mv d.txt 09.txt" ] + [ "${lines[9]}" = "#mv e.txt 10.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate 2 wide short" { + run --separate-stderr sh -c 'cd test/static/ && enumerate -w 2' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv .f.txt 01.f.txt" ] + [ "${lines[1]}" = "#mv .g.txt 02.g.txt" ] + [ "${lines[2]}" = "#mv .h.txt 03.h.txt" ] + [ "${lines[3]}" = "#mv .i.txt 04.i.txt" ] + [ "${lines[4]}" = "#mv .j.txt 05.j.txt" ] + [ "${lines[5]}" = "#mv a.txt 06.txt" ] + [ "${lines[6]}" = "#mv b.txt 07.txt" ] + [ "${lines[7]}" = "#mv c.txt 08.txt" ] + [ "${lines[8]}" = "#mv d.txt 09.txt" ] + [ "${lines[9]}" = "#mv e.txt 10.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate 2 wide - verbose" { + run --separate-stderr sh -c 'cd test/static/ && enumerate --verbose --width 2' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "DEBUG:enumerate:Setting filename width to 2 (was 4)" ] + [ "${lines[1]}" = "DEBUG:enumerate:Widened format of '1' is '01'" ] + [ "${lines[2]}" = "DEBUG:enumerate:Input filename is '.f.txt'" ] + [ "${lines[3]}" = "DEBUG:enumerate:Output filename is '01.f.txt'" ] + [ "${lines[4]}" = "#mv .f.txt 01.f.txt" ] + [ "${lines[5]}" = "DEBUG:enumerate:Widened format of '2' is '02'" ] + [ "${lines[6]}" = "DEBUG:enumerate:Input filename is '.g.txt'" ] + [ "${lines[7]}" = "DEBUG:enumerate:Output filename is '02.g.txt'" ] + [ "${lines[8]}" = "#mv .g.txt 02.g.txt" ] + [ "${lines[9]}" = "DEBUG:enumerate:Widened format of '3' is '03'" ] + [ "${lines[10]}" = "DEBUG:enumerate:Input filename is '.h.txt'" ] + [ "${lines[11]}" = "DEBUG:enumerate:Output filename is '03.h.txt'" ] + [ "${lines[12]}" = "#mv .h.txt 03.h.txt" ] + [ "${lines[13]}" = "DEBUG:enumerate:Widened format of '4' is '04'" ] + [ "${lines[14]}" = "DEBUG:enumerate:Input filename is '.i.txt'" ] + [ "${lines[15]}" = "DEBUG:enumerate:Output filename is '04.i.txt'" ] + [ "${lines[16]}" = "#mv .i.txt 04.i.txt" ] + [ "${lines[17]}" = "DEBUG:enumerate:Widened format of '5' is '05'" ] + [ "${lines[18]}" = "DEBUG:enumerate:Input filename is '.j.txt'" ] + [ "${lines[19]}" = "DEBUG:enumerate:Output filename is '05.j.txt'" ] + [ "${lines[20]}" = "#mv .j.txt 05.j.txt" ] + [ "${lines[21]}" = "DEBUG:enumerate:Widened format of '6' is '06'" ] + [ "${lines[22]}" = "DEBUG:enumerate:Input filename is 'a.txt'" ] + [ "${lines[23]}" = "DEBUG:enumerate:Output filename is '06.txt'" ] + [ "${lines[24]}" = "#mv a.txt 06.txt" ] + [ "${lines[25]}" = "DEBUG:enumerate:Widened format of '7' is '07'" ] + [ "${lines[26]}" = "DEBUG:enumerate:Input filename is 'b.txt'" ] + [ "${lines[27]}" = "DEBUG:enumerate:Output filename is '07.txt'" ] + [ "${lines[28]}" = "#mv b.txt 07.txt" ] + [ "${lines[29]}" = "DEBUG:enumerate:Widened format of '8' is '08'" ] + [ "${lines[30]}" = "DEBUG:enumerate:Input filename is 'c.txt'" ] + [ "${lines[31]}" = "DEBUG:enumerate:Output filename is '08.txt'" ] + [ "${lines[32]}" = "#mv c.txt 08.txt" ] + [ "${lines[33]}" = "DEBUG:enumerate:Widened format of '9' is '09'" ] + [ "${lines[34]}" = "DEBUG:enumerate:Input filename is 'd.txt'" ] + [ "${lines[35]}" = "DEBUG:enumerate:Output filename is '09.txt'" ] + [ "${lines[36]}" = "#mv d.txt 09.txt" ] + [ "${lines[37]}" = "DEBUG:enumerate:Widened format of '10' is '10'" ] + [ "${lines[38]}" = "DEBUG:enumerate:Input filename is 'e.txt'" ] + [ "${lines[39]}" = "DEBUG:enumerate:Output filename is '10.txt'" ] + [ "${lines[40]}" = "#mv e.txt 10.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate start 101" { + run --separate-stderr sh -c 'cd test/static/ && enumerate --start 101' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv .f.txt 0101.f.txt" ] + [ "${lines[1]}" = "#mv .g.txt 0102.g.txt" ] + [ "${lines[2]}" = "#mv .h.txt 0103.h.txt" ] + [ "${lines[3]}" = "#mv .i.txt 0104.i.txt" ] + [ "${lines[4]}" = "#mv .j.txt 0105.j.txt" ] + [ "${lines[5]}" = "#mv a.txt 0106.txt" ] + [ "${lines[6]}" = "#mv b.txt 0107.txt" ] + [ "${lines[7]}" = "#mv c.txt 0108.txt" ] + [ "${lines[8]}" = "#mv d.txt 0109.txt" ] + [ "${lines[9]}" = "#mv e.txt 0110.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate start 101 short" { + run --separate-stderr sh -c 'cd test/static/ && enumerate -s 101' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv .f.txt 0101.f.txt" ] + [ "${lines[1]}" = "#mv .g.txt 0102.g.txt" ] + [ "${lines[2]}" = "#mv .h.txt 0103.h.txt" ] + [ "${lines[3]}" = "#mv .i.txt 0104.i.txt" ] + [ "${lines[4]}" = "#mv .j.txt 0105.j.txt" ] + [ "${lines[5]}" = "#mv a.txt 0106.txt" ] + [ "${lines[6]}" = "#mv b.txt 0107.txt" ] + [ "${lines[7]}" = "#mv c.txt 0108.txt" ] + [ "${lines[8]}" = "#mv d.txt 0109.txt" ] + [ "${lines[9]}" = "#mv e.txt 0110.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate step 10" { + run --separate-stderr sh -c 'cd test/static/ && enumerate --step 10' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv .f.txt 0001.f.txt" ] + [ "${lines[1]}" = "#mv .g.txt 0011.g.txt" ] + [ "${lines[2]}" = "#mv .h.txt 0021.h.txt" ] + [ "${lines[3]}" = "#mv .i.txt 0031.i.txt" ] + [ "${lines[4]}" = "#mv .j.txt 0041.j.txt" ] + [ "${lines[5]}" = "#mv a.txt 0051.txt" ] + [ "${lines[6]}" = "#mv b.txt 0061.txt" ] + [ "${lines[7]}" = "#mv c.txt 0071.txt" ] + [ "${lines[8]}" = "#mv d.txt 0081.txt" ] + [ "${lines[9]}" = "#mv e.txt 0091.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate step 10 short" { + run --separate-stderr sh -c 'cd test/static/ && enumerate -S 10' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv .f.txt 0001.f.txt" ] + [ "${lines[1]}" = "#mv .g.txt 0011.g.txt" ] + [ "${lines[2]}" = "#mv .h.txt 0021.h.txt" ] + [ "${lines[3]}" = "#mv .i.txt 0031.i.txt" ] + [ "${lines[4]}" = "#mv .j.txt 0041.j.txt" ] + [ "${lines[5]}" = "#mv a.txt 0051.txt" ] + [ "${lines[6]}" = "#mv b.txt 0061.txt" ] + [ "${lines[7]}" = "#mv c.txt 0071.txt" ] + [ "${lines[8]}" = "#mv d.txt 0081.txt" ] + [ "${lines[9]}" = "#mv e.txt 0091.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate filter txt" { + run --separate-stderr sh -c 'cd test/static/ && enumerate --filter "*.txt"' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv .f.txt 0001.f.txt" ] + [ "${lines[1]}" = "#mv .g.txt 0002.g.txt" ] + [ "${lines[2]}" = "#mv .h.txt 0003.h.txt" ] + [ "${lines[3]}" = "#mv .i.txt 0004.i.txt" ] + [ "${lines[4]}" = "#mv .j.txt 0005.j.txt" ] + [ "${lines[5]}" = "#mv a.txt 0006.txt" ] + [ "${lines[6]}" = "#mv b.txt 0007.txt" ] + [ "${lines[7]}" = "#mv c.txt 0008.txt" ] + [ "${lines[8]}" = "#mv d.txt 0009.txt" ] + [ "${lines[9]}" = "#mv e.txt 0010.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate filter txt short" { + run --separate-stderr sh -c 'cd test/static/ && enumerate -f "*.txt"' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv .f.txt 0001.f.txt" ] + [ "${lines[1]}" = "#mv .g.txt 0002.g.txt" ] + [ "${lines[2]}" = "#mv .h.txt 0003.h.txt" ] + [ "${lines[3]}" = "#mv .i.txt 0004.i.txt" ] + [ "${lines[4]}" = "#mv .j.txt 0005.j.txt" ] + [ "${lines[5]}" = "#mv a.txt 0006.txt" ] + [ "${lines[6]}" = "#mv b.txt 0007.txt" ] + [ "${lines[7]}" = "#mv c.txt 0008.txt" ] + [ "${lines[8]}" = "#mv d.txt 0009.txt" ] + [ "${lines[9]}" = "#mv e.txt 0010.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate filter ." { + run --separate-stderr sh -c 'cd test/static/ && enumerate --filter ".*"' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv .f.txt 0001.f.txt" ] + [ "${lines[1]}" = "#mv .g.txt 0002.g.txt" ] + [ "${lines[2]}" = "#mv .h.txt 0003.h.txt" ] + [ "${lines[3]}" = "#mv .i.txt 0004.i.txt" ] + [ "${lines[4]}" = "#mv .j.txt 0005.j.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate filter . short" { + run --separate-stderr sh -c 'cd test/static/ && enumerate -f ".*"' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv .f.txt 0001.f.txt" ] + [ "${lines[1]}" = "#mv .g.txt 0002.g.txt" ] + [ "${lines[2]}" = "#mv .h.txt 0003.h.txt" ] + [ "${lines[3]}" = "#mv .i.txt 0004.i.txt" ] + [ "${lines[4]}" = "#mv .j.txt 0005.j.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate filter []" { + run --separate-stderr sh -c 'cd test/static/ && enumerate --filter "[a-e]*"' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv a.txt 0001.txt" ] + [ "${lines[1]}" = "#mv b.txt 0002.txt" ] + [ "${lines[2]}" = "#mv c.txt 0003.txt" ] + [ "${lines[3]}" = "#mv d.txt 0004.txt" ] + [ "${lines[4]}" = "#mv e.txt 0005.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate filter [] short" { + run --separate-stderr sh -c 'cd test/static/ && enumerate -f "[a-e]*"' + [ "$status" -eq 0 ] + [ "${lines[0]}" = "#mv a.txt 0001.txt" ] + [ "${lines[1]}" = "#mv b.txt 0002.txt" ] + [ "${lines[2]}" = "#mv c.txt 0003.txt" ] + [ "${lines[3]}" = "#mv d.txt 0004.txt" ] + [ "${lines[4]}" = "#mv e.txt 0005.txt" ] + [ "$stderr" = "" ] +} + +@test "enumerate filter none" { + run --separate-stderr sh -c 'cd test/static/ && enumerate --filter ""' + [ "$status" -eq 0 ] + [ "$output" = "" ] + [ "$stderr" = "" ] +} + +@test "enumerate filter none short" { + run --separate-stderr sh -c 'cd test/static/ && enumerate -f ""' + [ "$status" -eq 0 ] + [ "$output" = "" ] + [ "$stderr" = "" ] +} + -- 2.45.2