├── .clang-format ├── COPYRIGHT ├── ChangeLog ├── FAQ ├── INTERNALS.rst ├── LICENSE ├── Makefile.am ├── Makefile.in ├── README.rst ├── SUMMARY ├── TODO ├── aclocal.m4 ├── build-aux ├── compile ├── config.guess ├── config.sub ├── depcomp ├── install-sh └── missing ├── build.sh ├── config.h.in ├── configure ├── configure.ac ├── ctxopt.c ├── ctxopt.h ├── examples ├── lvm_menu │ ├── README │ ├── lvm_menu.sh │ ├── menu.sh │ └── screenshot.png ├── simple_menu │ ├── README │ ├── actions.sh │ ├── main.mnu │ ├── screenshot.png │ ├── simple_menu.sh │ ├── sub1.mnu │ └── sub2.mnu └── yesno │ ├── README │ ├── screenshot.png │ └── yesno.sh ├── fgetc.c ├── fgetc.h ├── index.c ├── index.h ├── ini.c ├── ini.h ├── list.c ├── list.h ├── safe.c ├── safe.h ├── simple_menu.gif ├── smenu.1 ├── smenu.c ├── smenu.gif ├── smenu.h ├── tests ├── README.rst ├── alignments │ ├── data1 │ ├── data10 │ ├── data2 │ ├── data3 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0008.good │ ├── t0008.in │ ├── t0008.tst │ ├── t0009.good │ ├── t0009.in │ ├── t0009.tst │ ├── t0010.good │ ├── t0010.in │ └── t0010.tst ├── attributes │ ├── data1 │ ├── data2 │ ├── data3 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0008.good │ ├── t0008.in │ ├── t0008.tst │ ├── t0009.good │ ├── t0009.in │ └── t0009.tst ├── auto-completion │ ├── data1 │ ├── data2 │ ├── data3 │ ├── data4 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ └── t0007.tst ├── center_window │ ├── data1 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ └── t0004.tst ├── column_mode │ ├── data1 │ ├── data2 │ ├── data3 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ └── t0004.tst ├── direct_access │ ├── data1 │ ├── data2 │ ├── data3 │ ├── data4 │ ├── data5 │ ├── data6 │ ├── data7 │ ├── data8 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0008.good │ ├── t0008.in │ ├── t0008.tst │ ├── t0009.good │ ├── t0009.in │ ├── t0009.tst │ ├── t0010.good │ ├── t0010.in │ ├── t0010.tst │ ├── t0011.good │ ├── t0011.in │ ├── t0011.tst │ ├── t0012.good │ ├── t0012.in │ ├── t0012.tst │ ├── t0013.good │ ├── t0013.in │ ├── t0013.tst │ ├── t0014.good │ ├── t0014.in │ ├── t0014.tst │ ├── t0015.good │ ├── t0015.in │ ├── t0015.tst │ ├── t0016.good │ ├── t0016.in │ ├── t0016.tst │ ├── t0017.good │ ├── t0017.in │ ├── t0017.tst │ ├── t0018.good │ ├── t0018.in │ ├── t0018.tst │ ├── t0019.good │ ├── t0019.in │ ├── t0019.tst │ ├── t0020.good │ ├── t0020.in │ ├── t0020.tst │ ├── t0021.good │ ├── t0021.in │ ├── t0021.tst │ ├── t0022.good │ ├── t0022.in │ └── t0022.tst ├── do_not_trim_selection │ ├── data1 │ ├── data2 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ └── t0004.tst ├── elementary_moves │ ├── data1 │ ├── data2 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0008.good │ ├── t0008.in │ ├── t0008.tst │ ├── t0009.good │ ├── t0009.in │ └── t0009.tst ├── first_last │ ├── data1 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ └── t0002.tst ├── force_first │ ├── data1 │ ├── data2 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ └── t0002.tst ├── force_last │ ├── data1 │ ├── data2 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ └── t0002.tst ├── full_width │ ├── data1 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ └── t0002.tst ├── gutter │ ├── data1 │ ├── data2 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ └── t0005.tst ├── ignored_input │ ├── data1 │ ├── data2 │ ├── data3 │ ├── data4 │ ├── data5 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ └── t0007.tst ├── in-ex-clusions │ ├── data1 │ ├── data2 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0008.good │ ├── t0008.in │ └── t0008.tst ├── initial_selection │ ├── data1 │ ├── data2 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0008.good │ ├── t0008.in │ ├── t0008.tst │ ├── t0009.good │ ├── t0009.in │ ├── t0009.tst │ ├── t0010.good │ ├── t0010.in │ ├── t0010.tst │ ├── t0011.good │ ├── t0011.in │ ├── t0011.tst │ ├── t0012.good │ ├── t0012.in │ └── t0012.tst ├── invalid_char │ ├── data1 │ ├── data2 │ ├── data3 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ └── t0003.tst ├── line_mode │ ├── data1 │ ├── data2 │ ├── data3 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ └── t0004.tst ├── line_separators │ ├── data1 │ ├── t0001.good │ ├── t0001.in │ └── t0001.tst ├── long_lines │ ├── data1 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0008.good │ ├── t0008.in │ └── t0008.tst ├── long_words │ ├── data1 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ └── t0004.tst ├── message │ ├── data1 │ ├── data2 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0008.good │ ├── t0008.in │ └── t0008.tst ├── misc │ ├── data1 │ ├── data2 │ ├── data3 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ └── t0004.tst ├── non_printable │ ├── data1 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ └── t0002.tst ├── rows_cols_in-ex-clusions │ ├── data1 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ └── t0004.tst ├── scrolling │ ├── data1 │ ├── data2 │ ├── data3 │ ├── data4 │ ├── data5 │ ├── data6 │ ├── data7 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0008.good │ ├── t0008.in │ ├── t0008.tst │ ├── t0009.good │ ├── t0009.in │ ├── t0009.tst │ ├── t0010.good │ ├── t0010.in │ ├── t0010.tst │ ├── t0011.good │ ├── t0011.in │ └── t0011.tst ├── search │ ├── FreeBSD.bl │ ├── data1 │ ├── data2 │ ├── data3 │ ├── data4 │ ├── data5 │ ├── data6 │ ├── data7 │ ├── data8 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0008.good │ ├── t0008.in │ ├── t0008.tst │ ├── t0009.good │ ├── t0009.in │ ├── t0009.tst │ ├── t0010.good │ ├── t0010.in │ ├── t0010.tst │ ├── t0011.good │ ├── t0011.in │ ├── t0011.tst │ ├── t0012.good │ ├── t0012.in │ ├── t0012.tst │ ├── t0013.good │ ├── t0013.in │ ├── t0013.tst │ ├── t0014.good │ ├── t0014.in │ ├── t0014.tst │ ├── t0015.good │ ├── t0015.in │ ├── t0015.tst │ ├── t0016.good │ ├── t0016.in │ ├── t0016.tst │ ├── t0017.good │ ├── t0017.in │ ├── t0017.tst │ ├── t0018.good │ ├── t0018.in │ ├── t0018.tst │ ├── t0019.good │ ├── t0019.in │ ├── t0019.tst │ ├── t0020.good │ ├── t0020.in │ ├── t0020.tst │ ├── t0021.good │ ├── t0021.in │ ├── t0021.tst │ ├── t0022.good │ ├── t0022.in │ ├── t0022.tst │ ├── t0023.good │ ├── t0023.in │ ├── t0023.tst │ ├── t0024.good │ ├── t0024.in │ ├── t0024.tst │ ├── t0025.good │ ├── t0025.in │ ├── t0025.tst │ ├── t0026.good │ ├── t0026.in │ ├── t0026.tst │ ├── t0027.good │ ├── t0027.in │ ├── t0027.tst │ ├── t0028.good │ ├── t0028.in │ ├── t0028.tst │ ├── t0029.good │ ├── t0029.in │ ├── t0029.tst │ ├── t0030.good │ ├── t0030.in │ ├── t0030.tst │ ├── t0031.good │ ├── t0031.in │ ├── t0031.tst │ ├── t0032.good │ ├── t0032.in │ ├── t0032.tst │ ├── t0033.good │ ├── t0033.in │ └── t0033.tst ├── shifting │ ├── data1 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ └── t0002.tst ├── spaces │ ├── data1 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ └── t0006.tst ├── special_levels │ ├── data1 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ └── t0004.tst ├── substitutions │ ├── data1 │ ├── data2 │ ├── data3 │ ├── data4 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0008.good │ ├── t0008.in │ ├── t0008.tst │ ├── t0009.good │ ├── t0009.in │ ├── t0009.tst │ ├── t0010.good │ ├── t0010.in │ ├── t0010.tst │ ├── t0011.good │ ├── t0011.in │ ├── t0011.tst │ ├── t0012.good │ ├── t0012.in │ ├── t0012.tst │ ├── t0013.good │ ├── t0013.in │ ├── t0013.tst │ ├── t0014.good │ ├── t0014.in │ ├── t0014.tst │ ├── t0015.good │ ├── t0015.in │ ├── t0015.tst │ ├── t0016.good │ ├── t0016.in │ ├── t0016.tst │ ├── t0017.good │ ├── t0017.in │ ├── t0017.tst │ ├── t0018.good │ ├── t0018.in │ ├── t0018.tst │ ├── t0019.good │ ├── t0019.in │ ├── t0019.tst │ ├── t0020.good │ ├── t0020.in │ ├── t0020.tst │ ├── t0021.good │ ├── t0021.in │ ├── t0021.tst │ ├── t0022.good │ ├── t0022.in │ ├── t0022.tst │ ├── t0023.good │ ├── t0023.in │ ├── t0023.tst │ ├── t0024.good │ ├── t0024.in │ ├── t0024.tst │ ├── t0025.good │ ├── t0025.in │ ├── t0025.tst │ ├── t0026.good │ ├── t0026.in │ ├── t0026.tst │ ├── t0027.good │ ├── t0027.in │ ├── t0027.tst │ ├── t0028.good │ ├── t0028.in │ ├── t0028.tst │ ├── t0029.good │ ├── t0029.in │ ├── t0029.tst │ ├── t0030.good │ ├── t0030.in │ ├── t0030.tst │ ├── t0031.good │ ├── t0031.in │ ├── t0031.tst │ ├── t0032.good │ ├── t0032.in │ ├── t0032.tst │ ├── t0033.good │ ├── t0033.in │ └── t0033.tst ├── tabulating_mode │ ├── data1 │ ├── data2 │ ├── data3 │ ├── data4 │ ├── data5 │ ├── data6 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0010.good │ ├── t0010.in │ ├── t0010.tst │ ├── t0011.good │ ├── t0011.in │ ├── t0011.tst │ ├── t0012.good │ ├── t0012.in │ └── t0012.tst ├── tagging │ ├── data1 │ ├── data2 │ ├── data3 │ ├── data4 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0008.good │ ├── t0008.in │ ├── t0008.tst │ ├── t0009.good │ ├── t0009.in │ ├── t0009.tst │ ├── t0010.good │ ├── t0010.in │ ├── t0010.tst │ ├── t0011.good │ ├── t0011.in │ ├── t0011.tst │ ├── t0012.good │ ├── t0012.in │ ├── t0012.tst │ ├── t0013.good │ ├── t0013.in │ ├── t0013.tst │ ├── t0014.good │ ├── t0014.in │ ├── t0014.tst │ ├── t0015.good │ ├── t0015.in │ ├── t0015.tst │ ├── t0016.good │ ├── t0016.in │ ├── t0016.tst │ ├── t0017.good │ ├── t0017.in │ ├── t0017.tst │ ├── t0018.good │ ├── t0018.in │ ├── t0018.tst │ ├── t0019.good │ ├── t0019.in │ ├── t0019.tst │ ├── t0020.good │ ├── t0020.in │ ├── t0020.tst │ ├── t0021.good │ ├── t0021.in │ ├── t0021.tst │ ├── t0022.good │ ├── t0022.in │ ├── t0022.tst │ ├── t0023.good │ ├── t0023.in │ ├── t0023.tst │ ├── t0024.good │ ├── t0024.in │ └── t0024.tst ├── test.sh ├── tests.sh ├── timeout │ ├── data1 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ └── t0006.tst ├── utf8 │ ├── FreeBSD.bl │ ├── data1 │ ├── data2 │ ├── data3 │ ├── data4 │ ├── data5 │ ├── data6 │ ├── data7 │ ├── data8 │ ├── t0001.good │ ├── t0001.in │ ├── t0001.tst │ ├── t0002.good │ ├── t0002.in │ ├── t0002.tst │ ├── t0003.good │ ├── t0003.in │ ├── t0003.tst │ ├── t0004.good │ ├── t0004.in │ ├── t0004.tst │ ├── t0005.good │ ├── t0005.in │ ├── t0005.tst │ ├── t0006.good │ ├── t0006.in │ ├── t0006.tst │ ├── t0007.good │ ├── t0007.in │ ├── t0007.tst │ ├── t0008.good │ ├── t0008.in │ ├── t0008.tst │ ├── t0009.good │ ├── t0009.in │ ├── t0009.tst │ ├── t0010.good │ ├── t0010.in │ └── t0010.tst └── word_separators │ ├── data1 │ ├── t0001.good │ ├── t0001.in │ └── t0001.tst ├── tinybuf.h ├── usage.c ├── usage.h ├── utf8.c ├── utf8.h ├── utils.c ├── utils.h ├── version ├── xmalloc.c └── xmalloc.h /COPYRIGHT: -------------------------------------------------------------------------------- 1 | (c) 2015, Pierre Gentile (p.gen.progs@gmail.com) 2 | 3 | License: MPL-2.0 4 | -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- 1 | # To be done before the next version: 2 | [ ] Find and kill any remaining bugs. 3 | -------------------------------------------------------------------------------- /examples/lvm_menu/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/p-gen/smenu/c99effad675dbd2c5b859d1fe4d07776e91a15be/examples/lvm_menu/screenshot.png -------------------------------------------------------------------------------- /examples/simple_menu/actions.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | (( $# != 1 )) && exit 0 4 | 5 | ACTION=$1 6 | 7 | case $ACTION in 8 | *) echo "Tag $ACTION selected." 9 | sleep 1 10 | ;; 11 | esac 12 | 13 | exit 0 14 | -------------------------------------------------------------------------------- /examples/simple_menu/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/p-gen/smenu/c99effad675dbd2c5b859d1fe4d07776e91a15be/examples/simple_menu/screenshot.png -------------------------------------------------------------------------------- /examples/simple_menu/sub1.mnu: -------------------------------------------------------------------------------- 1 | .columns 1 2 | .title First submenu 3 | SUB1ITEM1 First item of the first submenu 4 | SUB1ITEM2 Second item of the first submenu 5 | === 6 | < Previous Menu 7 | -------------------------------------------------------------------------------- /examples/simple_menu/sub2.mnu: -------------------------------------------------------------------------------- 1 | .columns 2 2 | .title Second submenu 3 | SUB2ITEM1 First item of the second submenu 4 | SUB2ITEM2 Second item of the second submenu 5 | === 6 | < Previous Menu 7 | -------------------------------------------------------------------------------- /examples/yesno/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/p-gen/smenu/c99effad675dbd2c5b859d1fe4d07776e91a15be/examples/yesno/screenshot.png -------------------------------------------------------------------------------- /simple_menu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/p-gen/smenu/c99effad675dbd2c5b859d1fe4d07776e91a15be/simple_menu.gif -------------------------------------------------------------------------------- /smenu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/p-gen/smenu/c99effad675dbd2c5b859d1fe4d07776e91a15be/smenu.gif -------------------------------------------------------------------------------- /tests/alignments/data1: -------------------------------------------------------------------------------- 1 | 'a ' ' b c d' 'e f ' ' g h i' 2 | a b 'c d' e f g ' h i' 3 | ' a ' b c d e f g h i 4 | -------------------------------------------------------------------------------- /tests/alignments/data2: -------------------------------------------------------------------------------- 1 | 'a ' ' b c d' 'e f ' ' g h i' 2 | a b 'c d' e f g ' h i' 3 | ' a ' b c d e f g h i 4 | a b 'c d' d e f g h i 5 | -------------------------------------------------------------------------------- /tests/alignments/data3: -------------------------------------------------------------------------------- 1 | 0 1 2 3 4 5 2 | 6 7 8 9 10 11 3 | 12 13 14 15 16 17 4 | 18 19 20 21 22 23 5 | 00000 00000 00000 00000 00000 00000 6 | -------------------------------------------------------------------------------- /tests/alignments/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -g: -Cr1,3-4 -Rl/'c d'/ -- t0001.in) 2 | 3 | a : b c d:e f : g h i 4 | 0:07 1:07 2:07 5 | a:b : c d: e:f:g: h i 6 | 7 | a :b : c: d:e:f:g :h:i 8 | 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :a: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/alignments/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/alignments/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -g: -Cr1,3-4 -Rl/'c d'/ -- t0001.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/alignments/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -g: -Rl/'c d'/ -Cr1,3-4 -- t0002.in) 2 | 3 | a : b c d:e f : g h i 4 | 0:07 1:07 2:07 5 | a :b :c d :e :f:g: h i 6 | 7 | a :b : c: d:e:f:g :h:i 8 | 9 | a :b :c d :d :e:f:g :h:i 10 | 11 | $ 12 | 13 | $ echo ":$OUT:" 14 | 15 | :a: 16 | 17 | $ exit 0 18 | -------------------------------------------------------------------------------- /tests/alignments/t0002.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/alignments/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -g: -Rl/'c d'/ -Cr1,3-4 -- t0002.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/alignments/t0004.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/alignments/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -g\\| -Rr/7/ -Cc/7/ -all/13/ -- t0004.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/alignments/t0005.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/alignments/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -g\\| -Cc/2/ -Rr/7/ -all/13/ -- t0005.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/alignments/t0006.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/alignments/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -g\\| -Rr/7/ -Cc/2/ -all/13/ -- t0006.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/alignments/t0007.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/alignments/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -g\\| -Cc/7/,2 -Rr2,/4/ -- t0007.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/alignments/t0008.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/alignments/t0008.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -g\\| -Rr2,/4/ -Cc/7/,2 -- t0008.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/alignments/t0009.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/alignments/t0009.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -g\\| -Rr2,/4/ -Cc/7/,2 -all/3/,/5/ -- t0009.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/alignments/t0010.in: -------------------------------------------------------------------------------- 1 | data10 -------------------------------------------------------------------------------- /tests/alignments/t0010.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -g: -Re1 -Rc1 -C r1 -Cc/\\\\ue799be/,3 -- t0010.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/attributes/data1: -------------------------------------------------------------------------------- 1 | a b c aa bb cc aba 2 | -------------------------------------------------------------------------------- /tests/attributes/data2: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | -------------------------------------------------------------------------------- /tests/attributes/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -a i:7/4,b -ia -- t0001.in) 2 | 3 | a b c aa bb cc aba 4 | 0:01252c 2:24 4:24 6:07 7:07 9:24 10:24 12:24 13:24 15:01252c 16:01252c 17:01252c 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :aa: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/attributes/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/attributes/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -a i:7/4,b -ia -- t0001.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/attributes/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -a e:0/6,bu i:0/1,r -ia -- t0002.in) 2 | 3 | a b c aa bb cc aba 4 | 0:071e29 2:01041e2e 4:01041e2e 6:07 7:07 9:01041e2e 10:01041e2e 12:01041e2e 13:01041e2e 15:071e29 16:071e29 17:071e29 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :aa: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/attributes/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/attributes/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -a e:0/6,bu i:0/1,r -ia -- t0002.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/attributes/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -a i:/5 e:4,br b:7/3,rb c:7/2,b -c -R2,4 -- t0003.in) 2 | 3 | 1 ┐ 4 | 0:010722 3:0107252b 5 | 2 │ 6 | 0:2d 3:0107252b 7 | 3 ┃ 8 | 0:010722 3:0107252b 9 | 4 │ 10 | 0:01252a 3:0107252b 11 | 5 ▼ 12 | 0:010722 3:0107252b 13 | $ 14 | 15 | $ echo ":$OUT:" 16 | 17 | :4: 18 | 19 | $ exit 0 20 | -------------------------------------------------------------------------------- /tests/attributes/t0003.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/attributes/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -a i:/5 e:4,br b:7/3,rb c:7/2,b -c -R2,4 -- t0003.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/attributes/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -a e:5,br b:0/6 -c -R2 -- t0004.in) 2 | 3 | 1 ┐ 4 | 0:010723 3:1e2e 5 | 2 ┃ 6 | 0:07 3:1e2e 7 | 3 │ 8 | 0:010723 3:1e2e 9 | 4 │ 10 | 0:010723 3:1e2e 11 | 5 ▼ 12 | 0:010723 3:1e2e 13 | $ 14 | 15 | $ echo ":$OUT:" 16 | 17 | :2: 18 | 19 | $ exit 0 20 | -------------------------------------------------------------------------------- /tests/attributes/t0004.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/attributes/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -a e:5,br b:0/6 -c -R2 -- t0004.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/attributes/t0005.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/attributes/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -P -N 0 -a i:6 da:1,b s:5,b -c -- t0005.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/attributes/t0006.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -T -a t:3,b -- t0006.in) 2 | 3 | a b c aa bb cc aba 4 | 2:0407 6:0121 7:0121 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :b aa: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/attributes/t0006.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/attributes/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -T -a t:3,b -- t0006.in) 2 | \S[300]\s[200]ltllthh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/attributes/t0007.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -a ct:2/0,rb t:2/0,r -P -- t0007.in) 2 | 3 | a b c aa bb cc aba 4 | 2:072028 6:01072028 7:01072028 12:072028 13:072028 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :b cc aa: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/attributes/t0007.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/attributes/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -a ct:2/0,rb t:2/0,r -P -- t0007.in) 2 | \S[300]\s[200]ltllllthht\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/attributes/t0008.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/attributes/t0008.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -P -N 0 -ai:6 s:5,b -c -C a-2:1,4-6:2,8-:3 \\ 2 | -R a/20/:4+rb -- t0008.in) 3 | \S[300]\s[200]llll>\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/attributes/t0009.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/attributes/t0009.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -P -N 0 -ai:6 s:5,b -c -R a/20/:4+rb \\ 2 | -C a-2:1,4-6:2,8-:3 -- t0009.in) 3 | \S[300]\s[200]llll>\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/auto-completion/data1: -------------------------------------------------------------------------------- 1 | €12 1234 123ù 2 | -------------------------------------------------------------------------------- /tests/auto-completion/data2: -------------------------------------------------------------------------------- 1 | é€ 2 | µàé€àç 3 | -------------------------------------------------------------------------------- /tests/auto-completion/data3: -------------------------------------------------------------------------------- 1 | "01 item 1" 2 | " 10 item 10" 3 | " 11 item 11" 4 | "02 item 1" 5 | " 20 item 20" 6 | " 21 item 21" 7 | -------------------------------------------------------------------------------- /tests/auto-completion/data4: -------------------------------------------------------------------------------- 1 | abce 2 | abcd 3 | xabc 4 | -------------------------------------------------------------------------------- /tests/auto-completion/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0001.in) 2 | 3 | €12 1234 123ù 4 | 0:07 1:0723 2:0723 4:23 5:23 9:23 10:23 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :€12: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/auto-completion/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/auto-completion/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0001.in) 2 | \S[300]\s[200]'1\t\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/auto-completion/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0002.in) 2 | 3 | é€ µàé€àç 4 | 3:07 4:0723 5:0723 6:0723 7:0723 8:0723 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :µàé€àç: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/auto-completion/t0002.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/auto-completion/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0002.in) 2 | \S[300]\s[200]'à\t\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/auto-completion/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0003.in) 2 | 3 | é€ µàé€àç 4 | 0:0723 1:07 5:23 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :é€: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/auto-completion/t0003.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/auto-completion/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0003.in) 2 | \S[300]\s[200]'é\t\b\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/auto-completion/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0004.in) 2 | 3 | é€ µàé€àç 4 | 3:07 4:07 5:07 6:07 7:07 8:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :µàé€àç: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/auto-completion/t0004.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/auto-completion/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0004.in) 2 | \S[300]\s[200]'é\t\b\b\b\rl\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/auto-completion/t0005.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/auto-completion/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c t0005.in) 2 | \S[300]\s[200]'i\t\b\b\u[1b]'t\t\rl\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/auto-completion/t0006.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -N -- t0006.in) 2 | 3 | 1) abce 4 | 0:01 1:01 2:01 4:0723 5:0723 6:0723 7:07 5 | 2) abcd 6 | 0:01 1:01 2:01 4:23 5:23 6:23 7 | 3) xabc 8 | 0:01 1:01 2:01 5:23 6:23 7:23 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :abce: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/auto-completion/t0006.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/auto-completion/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -N -- t0006.in) 2 | \S[300]\s[200]~e\CI\CHa\CI\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/auto-completion/t0007.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -- t0007.in) 2 | 3 | abce 4 | 0:0723 1:0723 2:0723 3:07 5 | abcd 6 | 0:23 1:23 2:23 7 | xabc 8 | 1:23 2:23 3:23 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :abce: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/auto-completion/t0007.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/auto-completion/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -- t0007.in) 2 | \S[300]\s[200]~e\CI\CHa\CI\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/center_window/data1: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | 8 9 | 9 10 | 10 11 | -------------------------------------------------------------------------------- /tests/center_window/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -M t0001.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 10 4 | 34:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :4: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/center_window/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/center_window/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -M t0001.in) 2 | \S[300]\s[200]lll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/center_window/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/center_window/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -M t0002.in) 2 | \S[300]\s[200]lll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/center_window/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/center_window/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 10 -c -M t0003.in) 2 | \S[300]\s[200]jjjjkkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/center_window/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/center_window/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -N. -n 10 -c -M t0004.in) 2 | \S[300]\s[200]jjjjkkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/column_mode/data1: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 9 10 3 | 11 12 13 14 15 4 | 16 17 18 19 20 5 | 21 22 23 24 25 6 | 26 27 28 29 30 7 | -------------------------------------------------------------------------------- /tests/column_mode/data2: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 9 10 3 | 11 xxxxx 13 14 15 4 | 16 17 18 19 20 5 | 21 22 yyyyyy 24 25 6 | 26 27 28 29 30 7 | -------------------------------------------------------------------------------- /tests/column_mode/data3: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 9 10 3 | 11 4 | 12 13 14 15 5 | 16 17 6 | 18 19 20 7 | 21 22 23 24 8 | 25 26 27 28 29 30 9 | -------------------------------------------------------------------------------- /tests/column_mode/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -n 10 -c t0001.in) 2 | 3 | 1 2 3 4 5 4 | 5 | 6 7 8 9 10 6 | 7 | 11 12 13 14 15 8 | 12:07 13:07 9 | 16 17 18 19 20 10 | 11 | 21 22 23 24 25 12 | 13 | 26 27 28 29 30 14 | 15 | $ 16 | 17 | $ echo ":$OUT:" 18 | 19 | :15: 20 | 21 | $ exit 0 22 | -------------------------------------------------------------------------------- /tests/column_mode/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/column_mode/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 10 -c t0001.in) 2 | \S[300]\s[200]lljjlljjkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/column_mode/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -n 10 -c t0002.in) 2 | 3 | 1 2 3 4 5 4 | 5 | 6 7 8 9 10 6 | 7 | 11 xxxxx 13 14 15 8 | 19:07 20:07 9 | 16 17 18 19 20 10 | 11 | 21 22 yyyyyy 24 25 12 | 13 | 26 27 28 29 30 14 | 15 | $ 16 | 17 | $ echo ":$OUT:" 18 | 19 | :15: 20 | 21 | $ exit 0 22 | -------------------------------------------------------------------------------- /tests/column_mode/t0002.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/column_mode/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 10 -c t0002.in) 2 | \S[300]\s[200]lljjlljjkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/column_mode/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -n 10 -c t0003.in) 2 | 3 | 1 2 3 4 5 4 | 5 | 6 7 8 9 10 6 | 7 | 11 8 | 9 | 12 13 14 15 10 | 3:07 4:07 11 | 16 17 12 | 13 | 18 19 20 14 | 15 | 21 22 23 24 16 | 17 | 25 26 27 28 29 30 18 | 19 | $ 20 | 21 | $ echo ":$OUT:" 22 | 23 | :13: 24 | 25 | $ exit 0 26 | -------------------------------------------------------------------------------- /tests/column_mode/t0003.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/column_mode/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 10 -c t0003.in) 2 | \S[300]\s[200]lljjlljjkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/column_mode/t0004.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/column_mode/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -U 3 -n 10 -c t0004.in) 2 | \S[300]\s[200]lljjlljjkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/data1: -------------------------------------------------------------------------------- 1 | a b c d 2 | e f g h 3 | u j k l 4 | -------------------------------------------------------------------------------- /tests/direct_access/data3: -------------------------------------------------------------------------------- 1 | "2 a" "1 b" 2 | -------------------------------------------------------------------------------- /tests/direct_access/data4: -------------------------------------------------------------------------------- 1 | "05 a" "04 b" "10 c" d 2 | "06 e" "03 f" "11 g" h 3 | "07 u" "02 j" "12 k" l 4 | -------------------------------------------------------------------------------- /tests/direct_access/data5: -------------------------------------------------------------------------------- 1 | "05 a" "04 b" "10 c" d 2 | "06 e" f "11 g" h 3 | "07 u" j "12 k" l 4 | -------------------------------------------------------------------------------- /tests/direct_access/data6: -------------------------------------------------------------------------------- 1 | "abc100 def" 2 | " 200 ijk" 3 | lmnopq 4 | -------------------------------------------------------------------------------- /tests/direct_access/data7: -------------------------------------------------------------------------------- 1 | "01 item 1" 2 | " 10 item 10" 3 | " 11 item 11" 4 | "02 item 1" 5 | " 20 item 20" 6 | " 21 item 21" 7 | -------------------------------------------------------------------------------- /tests/direct_access/data8: -------------------------------------------------------------------------------- 1 | a b 2 | c a 3 | aa bb 4 | cc a 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/direct_access/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -N. -- t0001.in) 2 | \S[300]\s[200]10\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0002.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/direct_access/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -N. -n 15 -c -e 000 -- t0002.in) 2 | \S[300]\s[260]1080\S[700]10\S[700]800\S[700]1098\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -k -N "b|d" -N "a|f" -c t0003.in) 2 | 3 | 1) a 2) b c 3) d 4 | 0:01 1:01 2:01 3:01 5:07 7:01 8:01 9:01 10:01 21:01 22:01 23:01 24:01 5 | e 4) f g h 6 | 7:01 8:01 9:01 10:01 7 | u j k l 8 | 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :a: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/direct_access/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/direct_access/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k -N "b|d" -N "a|f" -c t0003.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -k -N "b|d" -U "a|f|b" -c t0004.in) 2 | 3 | a b c 1) d 4 | 5:07 21:01 22:01 23:01 24:01 5 | e f g h 6 | 7 | u j k l 8 | 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :a: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/direct_access/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/direct_access/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k -N "b|d" -U "a|f|b" -c t0004.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0005.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/direct_access/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k -U "b|d" -N "a|b" -c t0005.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0006.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -k -F -D n:1 i:1 -- t0006.in) 2 | 3 | 2) a 1) b 4 | 0:01 1:01 2:01 4:07 6:01 7:01 8:01 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :a: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/direct_access/t0006.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/direct_access/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k -F -D n:1 i:1 -- t0006.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0007.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -k -F -D n:1 i:1 d:'\u7e' -- t0007.in) 2 | 3 | 2) a 1) b 4 | 0:01 1:01 2:01 4:07 6:01 7:01 8:01 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :2~a: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/direct_access/t0007.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/direct_access/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k -F -D n:1 i:1 d:'\\u7e' -- t0007.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0008.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -k -F -D n:2 n:1 d:: i:2 d:'\u7e' i:1 -- t0008.in) 2 | 3 | 2) a 1) b 4 | 0:01 1:01 2:01 6:01 7:01 8:01 10:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :1~b: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/direct_access/t0008.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/direct_access/t0008.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k -F -D n:2 n:1 d:: i:2 d:'\\u7e' i:1 -- t0008.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0009.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/direct_access/t0009.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -k -F -D f:no n:2 i:1 -- t0009.in) 2 | \S[300]\s[200]lllllll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0010.in: -------------------------------------------------------------------------------- 1 | data5 -------------------------------------------------------------------------------- /tests/direct_access/t0010.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -F -D i:1 n:2 -- t0010.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0011.in: -------------------------------------------------------------------------------- 1 | data5 -------------------------------------------------------------------------------- /tests/direct_access/t0011.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -F -N -D i:1 n:2 s:100 w:3 -- t0011.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0012.in: -------------------------------------------------------------------------------- 1 | data5 -------------------------------------------------------------------------------- /tests/direct_access/t0012.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -F -N -D i:1 n:2 s:100 f:n w:3 -- t0012.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0013.in: -------------------------------------------------------------------------------- 1 | data5 -------------------------------------------------------------------------------- /tests/direct_access/t0013.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -F -N -D i:1 n:2 f:no w:3 -- t0013.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0014.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -l -F -D o:3 n:3 i:1 -- t0014.in) 2 | 3 | 100) abcdef 4 | 0:01 1:01 2:01 3:01 4:01 6:07 7:07 8:07 9:07 10:07 11:07 5 | 200) ijk 6 | 0:01 1:01 2:01 3:01 4:01 7 | lmnopq 8 | 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :abcdef: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/direct_access/t0014.in: -------------------------------------------------------------------------------- 1 | data6 -------------------------------------------------------------------------------- /tests/direct_access/t0014.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -l -F -D o:3 n:3 i:1 -- t0014.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0015.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -l -F -D o:3 n:3 i:1 h:c -- t0015.in) 2 | 3 | 100) def 4 | 0:01 1:01 2:01 3:01 4:01 6:07 7:07 8:07 5 | 200) ijk 6 | 0:01 1:01 2:01 3:01 4:01 7 | lmnopq 8 | 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :def: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/direct_access/t0015.in: -------------------------------------------------------------------------------- 1 | data6 -------------------------------------------------------------------------------- /tests/direct_access/t0015.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -l -F -D o:3 n:3 i:1 h:c -- t0015.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0016.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -l -F -D o:3 n:3 i:1 h:t -- t0016.in) 2 | 3 | 100) abcdef 4 | 0:01 1:01 2:01 3:01 4:01 6:07 7:07 8:07 9:07 10:07 11:07 5 | 200) ijk 6 | 0:01 1:01 2:01 3:01 4:01 7 | lmnopq 8 | 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :abcdef: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/direct_access/t0016.in: -------------------------------------------------------------------------------- 1 | data6 -------------------------------------------------------------------------------- /tests/direct_access/t0016.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -l -F -D o:3 n:3 i:1 h:t -- t0016.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0017.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -l -F -D o:3 n:3 i:1 h:k -- t0017.in) 2 | 3 | 100) abcdef 4 | 0:01 1:01 2:01 3:01 4:01 6:07 7:07 8:07 9:07 10:07 11:07 5 | 200) ijk 6 | 0:01 1:01 2:01 3:01 4:01 7 | lmnopq 8 | 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :abcdef: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/direct_access/t0017.in: -------------------------------------------------------------------------------- 1 | data6 -------------------------------------------------------------------------------- /tests/direct_access/t0017.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -l -F -D o:3 n:3 i:1 h:k -- t0017.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0018.in: -------------------------------------------------------------------------------- 1 | data7 -------------------------------------------------------------------------------- /tests/direct_access/t0018.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -l -F -D o:0+ i:1 n:2 -- t0018.in) 2 | \S[300]\s[200]jj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0019.in: -------------------------------------------------------------------------------- 1 | data5 -------------------------------------------------------------------------------- /tests/direct_access/t0019.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -N -F -D i:1 n:2 s:100 m:n f:n w:3 -- t0019.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0020.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -l -N -D p:i l:\( -e a t0020.in) 2 | 3 | a (1) b 4 | 4:24 6:01 7:01 8:01 10:07 5 | (2) c a 6 | 0:01 1:01 2:01 10:24 7 | aa (3) bb 8 | 4:24 5:24 7:01 8:01 9:01 9 | (4) cc a 10 | 0:01 1:01 2:01 11:24 11 | $ 12 | 13 | $ echo ":$OUT:" 14 | 15 | :b: 16 | 17 | $ exit 0 18 | -------------------------------------------------------------------------------- /tests/direct_access/t0020.in: -------------------------------------------------------------------------------- 1 | data8 -------------------------------------------------------------------------------- /tests/direct_access/t0020.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -l -N -D p:i l:\\( -e a t0020.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0021.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -l -N -D p:a l:\( -e a t0021.in) 2 | 3 | a (1) b 4 | 4:24 6:01 7:01 8:01 10:07 5 | (2) c a 6 | 0:01 1:01 2:01 10:24 7 | aa (3) bb 8 | 4:24 5:24 7:01 8:01 9:01 9 | (4) cc a 10 | 0:01 1:01 2:01 11:24 11 | $ 12 | 13 | $ echo ":$OUT:" 14 | 15 | :b: 16 | 17 | $ exit 0 18 | -------------------------------------------------------------------------------- /tests/direct_access/t0021.in: -------------------------------------------------------------------------------- 1 | data8 -------------------------------------------------------------------------------- /tests/direct_access/t0021.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -l -N -D p:a l:\\( -e a t0021.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/direct_access/t0022.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -N -D p:i l:\( -e a t0022.in) 2 | 3 | a (1) b (2) c a aa (3) bb (4) cc a 4 | 0:24 2:01 3:01 4:01 6:07 8:01 9:01 10:01 14:24 16:24 17:24 19:01 20:01 21:01 26:01 27:01 28:01 33:24 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :b: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/direct_access/t0022.in: -------------------------------------------------------------------------------- 1 | data8 -------------------------------------------------------------------------------- /tests/direct_access/t0022.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -N -D p:i l:\\( -e a t0022.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/do_not_trim_selection/data1: -------------------------------------------------------------------------------- 1 | " 1 2" "3 4 " " 5 6" 2 | -------------------------------------------------------------------------------- /tests/do_not_trim_selection/data2: -------------------------------------------------------------------------------- 1 | " 1 2" "3 4 " " 5 6 " 2 | -------------------------------------------------------------------------------- /tests/do_not_trim_selection/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -k t0001.in) 2 | 3 | 1 2 3 4 5 6 4 | 0:07 1:07 2:07 3:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | : 1 2: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/do_not_trim_selection/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/do_not_trim_selection/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k t0001.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/do_not_trim_selection/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -k t0002.in) 2 | 3 | 1 2 3 4 5 6 4 | 5:07 6:07 7:07 8:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :3 4 : 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/do_not_trim_selection/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/do_not_trim_selection/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k t0002.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/do_not_trim_selection/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -k t0003.in) 2 | 3 | 1 2 3 4 5 6 4 | 10:07 11:07 12:07 13:07 14:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | : 5 6 : 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/do_not_trim_selection/t0003.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/do_not_trim_selection/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k t0003.in) 2 | \S[300]\s[200]ll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/do_not_trim_selection/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -N. -k t0004.in) 2 | 3 | 1) 1 2 2) 3 4 3) 5 6 4 | 0:01 1:01 2:01 9:01 10:01 11:01 18:01 19:01 20:01 22:07 23:07 24:07 25:07 26:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | : 5 6 : 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/do_not_trim_selection/t0004.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/do_not_trim_selection/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -N. -k t0004.in) 2 | \S[300]\s[200]ll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/elementary_moves/data1: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | 8 9 | 9 10 | 10 11 | -------------------------------------------------------------------------------- /tests/elementary_moves/data2: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 9 10 3 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0001.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 10 4 | 6:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :4: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/elementary_moves/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0001.in) 2 | \S[300]\s[200]lll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0002.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 10 4 | 0:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :1: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/elementary_moves/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0002.in) 2 | \S[300]\s[200]hhh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0003.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 10 4 | 18:07 19:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :10: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/elementary_moves/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0003.in) 2 | \S[300]\s[200]llllllllll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0004.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 10 4 | 8:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :5: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/elementary_moves/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0004.in) 2 | \S[300]\s[200]lllhhhllll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0005.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -l t0005.in) 2 | 3 | 1 2 3 4 5 4 | 8:07 5 | 6 7 8 9 10 6 | 7 | $ 8 | 9 | $ echo ":$OUT:" 10 | 11 | :5: 12 | 13 | $ exit 0 14 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0005.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/elementary_moves/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -l t0005.in) 2 | \S[300]\s[200]ljlkljlk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0006.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -l t0006.in) 2 | 3 | 1 2 3 4 5 4 | 8:07 5 | 6 7 8 9 10 6 | 7 | $ 8 | 9 | $ echo ":$OUT:" 10 | 11 | :5: 12 | 13 | $ exit 0 14 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0006.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/elementary_moves/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -l t0006.in) 2 | \S[300]\s[200]ljjlkkljjlkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0007.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -l t0007.in) 2 | 3 | 1 2 3 4 5 4 | 8:07 5 | 6 7 8 9 10 6 | 7 | $ 8 | 9 | $ echo ":$OUT:" 10 | 11 | :5: 12 | 13 | $ exit 0 14 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0007.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/elementary_moves/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -l t0007.in) 2 | \S[300]\s[200]lljjllkklljjllkkhhjjhhkkhhjjllkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0008.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/elementary_moves/t0008.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -N. -l t0008.in) 2 | \S[300]\s[200]lljjllkklljjllkkhhjjhhkkhhjjllkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/elementary_moves/t0009.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/elementary_moves/t0009.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -U 4 -l t0009.in) 2 | \S[300]\s[200]lljjllkklljjllkkhhjjhhkkhhjjllkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/first_last/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/first_last/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -e 3 t0001.in) 2 | \S[300]\s[200]L\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/first_last/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/first_last/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -s 60 -e 3 t0002.in) 2 | \S[300]\s[200]H\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/force_first/data1: -------------------------------------------------------------------------------- 1 | a b c d X e f g h i j X k l 2 | -------------------------------------------------------------------------------- /tests/force_first/data2: -------------------------------------------------------------------------------- 1 | X a b c d Y e f g h i j X k l Y 2 | -------------------------------------------------------------------------------- /tests/force_first/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -A X t0001.in) 2 | 3 | a b c d 4 | 5 | X e f g h i j 6 | 4:07 7 | X k l 8 | 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :f: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/force_first/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/force_first/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -A X t0001.in) 2 | \S[300]\s[200]llj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/force_first/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -A 'X|Y' t0002.in) 2 | 3 | X a b c d 4 | 5 | Y e f g h i j 6 | 4:07 7 | X k l 8 | 9 | Y 10 | 11 | $ 12 | 13 | $ echo ":$OUT:" 14 | 15 | :f: 16 | 17 | $ exit 0 18 | -------------------------------------------------------------------------------- /tests/force_first/t0002.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/force_first/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -A 'X|Y' t0002.in) 2 | \S[300]\s[200]llj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/force_last/data1: -------------------------------------------------------------------------------- 1 | a b c d X e f g h i j X k l 2 | -------------------------------------------------------------------------------- /tests/force_last/data2: -------------------------------------------------------------------------------- 1 | X a b c d Y e f g h i j X k l Y 2 | -------------------------------------------------------------------------------- /tests/force_last/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -Z X t0001.in) 2 | 3 | a b c d X 4 | 5 | e f g h i j X 6 | 4:07 7 | k l 8 | 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :g: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/force_last/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/force_last/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -Z X t0001.in) 2 | \S[300]\s[200]llj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/force_last/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -Z 'X|Y' t0002.in) 2 | 3 | X 4 | 5 | a b c d Y 6 | 7 | e f g h i j X 8 | 2:07 9 | k l Y 10 | 11 | $ 12 | 13 | $ echo ":$OUT:" 14 | 15 | :f: 16 | 17 | $ exit 0 18 | -------------------------------------------------------------------------------- /tests/force_last/t0002.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/force_last/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -Z 'X|Y' t0002.in) 2 | \S[300]\s[200]llj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/full_width/data1: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 6 7 8 2 | 9 10 11 12 13 14 15 3 | -------------------------------------------------------------------------------- /tests/full_width/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -t -w t0001.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 | 3:07 4:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :2: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/full_width/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/full_width/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -t -w t0001.in) 2 | \S[300]\s[200]lj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/full_width/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/full_width/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -t 5 -w t0002.in) 2 | \S[300]\s[200]lj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/gutter/data1: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 3 | 9 10 11 12 13 14 4 | -------------------------------------------------------------------------------- /tests/gutter/data2: -------------------------------------------------------------------------------- 1 | abcd efgh ijkl mnop qrst vwxy zabc defg hijk lmno pqrs tuvw xyza bcde efgh jklm nopq rstu vwxy 2 | -------------------------------------------------------------------------------- /tests/gutter/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -t -g -- t0001.in) 2 | 3 | 1 │2 │3 │4 │5 │6 │7 │8 │9 │10│11│12│13│14 4 | 0:07 1:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :1: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/gutter/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/gutter/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -t -g -- t0001.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/gutter/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -g -- t0002.in) 2 | 3 | 1│2 │3 │4 │5 4 | 0:07 5 | 6│7 │8 6 | 7 | 9│10│11│12│13│14 8 | 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :1: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/gutter/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/gutter/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -g -- t0002.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/gutter/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -g '\ue29483\ue29db1\uF09D8481 ' t0003.in) 2 | 3 | 1┃2 ❱3 𝄁4 5 4 | 0:07 5 | 6┃7 ❱8 6 | 7 | 9┃10❱11𝄁12 13 14 8 | 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :1: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/gutter/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/gutter/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -g '\\ue29483\\ue29db1\\uF09D8481 ' t0003.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/gutter/t0004.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/gutter/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -g '|: ' t0004.in) 2 | \S[300]\s[200]lllllllllllllllhhhhhhhhhhhhhh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/gutter/t0005.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/gutter/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -g '|: ' t0005.in) 2 | \S[300]\s[200]lllllllllllllllhhhhhhhhhhhhhhh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/ignored_input/data1: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 10 4 | 11 5 | 12 6 | 13 7 | 14 8 | 15 9 | 16 10 | 17 11 | 18 12 | 19 13 | 2 14 | 20 15 | 3 16 | 4 17 | 5 18 | 6 19 | 7 20 | 8 21 | 9 22 | -------------------------------------------------------------------------------- /tests/ignored_input/data2: -------------------------------------------------------------------------------- 1 | a±b«c »a¿« «««x»»» «×» 2 | -------------------------------------------------------------------------------- /tests/ignored_input/data3: -------------------------------------------------------------------------------- 1 | a 2 | b 3 | c 4 | d e , f 5 | g h 6 | i 7 | -------------------------------------------------------------------------------- /tests/ignored_input/data4: -------------------------------------------------------------------------------- 1 | a b‍c d 2 | -------------------------------------------------------------------------------- /tests/ignored_input/data5: -------------------------------------------------------------------------------- 1 | a b ​ c ‍ d 2 | -------------------------------------------------------------------------------- /tests/ignored_input/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -z '\u0d' t0001.in) 2 | 3 | 0 ┐ 4 | 4:20 5 | 1 ┃ 6 | 4:20 7 | 10 │ 8 | 4:20 9 | 11 │ 10 | 0:07 1:07 4:20 11 | 12 ▼ 12 | 4:20 13 | $ 14 | 15 | $ echo ":$OUT:" 16 | 17 | :11: 18 | 19 | $ exit 0 20 | -------------------------------------------------------------------------------- /tests/ignored_input/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/ignored_input/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -z '\\u0d' t0001.in) 2 | \S[300]\s[200]lll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/ignored_input/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -z '1\u0d' t0002.in) 2 | 3 | 0 ┐ 4 | 4:20 5 | 0 ┃ 6 | 4:20 7 | 2 │ 8 | 4:20 9 | 3 │ 10 | 0:07 1:07 4:20 11 | 4 ▼ 12 | 4:20 13 | $ 14 | 15 | $ echo ":$OUT:" 16 | 17 | :3: 18 | 19 | $ exit 0 20 | -------------------------------------------------------------------------------- /tests/ignored_input/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/ignored_input/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -z '1\\u0d' t0002.in) 2 | \S[300]\s[200]lll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/ignored_input/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -zap 02 t0003.in|od -c|tr '\\' '/'|tr -d ' ') 2 | 3 | \r 1\r 1\r 11\r 1\r 13\r 14\r 15\r 16\r 17\r 18\r 19\r \r \r 3\r 4\r 5\r 6\r 4 | 11:07 12:07 13:07 14:07 5 | 7\r 8\r 9\r 6 | 7 | $ 8 | 9 | $ echo ":$OUT:" 10 | 11 | :000000011/r 12 | 13 | 0000004: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/ignored_input/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/ignored_input/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -zap 02 t0003.in|od -c|tr '\\\\' '/'|tr -d ' ') 2 | \S[300]\s[200]lll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/ignored_input/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -zap '×\uc2bf«»' t0004.in) 2 | 3 | a±bc a x 4 | 7:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :x: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/ignored_input/t0004.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/ignored_input/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -zap '×\\uc2bf«»' t0004.in) 2 | \S[300]\s[200]lll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/ignored_input/t0005.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -L, -z '\u0a\u0d ' t0005.in) 2 | 3 | abcde 4 | 5 | fghi 6 | 0:07 1:07 2:07 3:07 4:07 7 | $ 8 | 9 | $ echo ":$OUT:" 10 | 11 | :fghi: 12 | 13 | $ exit 0 14 | -------------------------------------------------------------------------------- /tests/ignored_input/t0005.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/ignored_input/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -L, -z '\\u0a\\u0d ' t0005.in) 2 | \S[300]\s[200]j\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/ignored_input/t0006.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -z 'c\ue2808da' t0006.in) 2 | 3 | b d 4 | 0:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :b: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/ignored_input/t0006.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/ignored_input/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -z 'c\\ue2808da' t0006.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/ignored_input/t0007.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -z ca t0007.in) 2 | 3 | b d 4 | 0:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :b: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/ignored_input/t0007.in: -------------------------------------------------------------------------------- 1 | data5 -------------------------------------------------------------------------------- /tests/ignored_input/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -z ca t0007.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/data1: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 9 10 3 | 11 12 13 14 15 4 | 16 17 18 19 20 5 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/data2: -------------------------------------------------------------------------------- 1 | a«bc\u01 a«b»»c 2 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -e2 t0001.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 | 2:24 14:07 24:24 25:24 48:24 49:24 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :8: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -e2 t0001.in) 2 | \S[300]\s[200]llllllllllhhhhhhll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -i[2-3] -e1 t0002.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 | 0:24 2:07 6:24 8:24 10:24 12:24 14:24 16:24 18:24 19:24 21:24 22:24 24:24 25:24 27:24 28:24 30:24 31:24 33:24 34:24 36:24 37:24 39:24 40:24 42:24 43:24 45:24 46:24 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :2: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -i[2-3] -e1 t0002.in) 2 | \S[300]\s[200]lllhh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -i[2-3] -e3 -i5 t0003.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 | 0:24 4:24 6:24 8:07 10:24 12:24 14:24 16:24 18:24 19:24 21:24 22:24 27:24 28:24 30:24 31:24 36:24 37:24 39:24 40:24 42:24 43:24 45:24 46:24 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :5: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -i[2-3] -e3 -i5 t0003.in) 2 | \S[300]\s[200]lllhh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -i[2-3] -e3 -i3 t0004.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 | 0:24 2:07 4:24 6:24 8:24 10:24 12:24 14:24 16:24 18:24 19:24 21:24 22:24 27:24 28:24 30:24 31:24 33:24 34:24 36:24 37:24 39:24 40:24 42:24 43:24 45:24 46:24 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :2: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -i[2-3] -e3 -i3 t0004.in) 2 | \S[300]\s[200]lllhh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0005.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -i[2-3] -N '2|4' -e3 -i3 t0005.in) 2 | \S[300]\s[200]lllhh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0006.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -e\\U0000bb t0006.in) 2 | 3 | a«bc. a«b»»c 4 | 0:07 1:07 2:07 3:07 4:07 6:24 7:24 8:24 9:24 10:24 11:24 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :a«bc.: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0006.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -e\\\\U0000bb t0006.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0007.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -e2 -i1 t0007.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 | 0:07 2:24 24:24 25:24 48:24 49:24 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :1: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0007.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -e2 -i1 t0007.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0008.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -i1 -e2 t0008.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 | 0:07 2:24 4:24 6:24 8:24 10:24 12:24 14:24 16:24 24:24 25:24 48:24 49:24 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :1: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0008.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/in-ex-clusions/t0008.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -i1 -e2 t0008.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/initial_selection/data1: -------------------------------------------------------------------------------- 1 | a b c d e 2 | f g h i j 3 | k l m n o 4 | p q r s t 5 | u v w x y 6 | z 7 | -------------------------------------------------------------------------------- /tests/initial_selection/data2: -------------------------------------------------------------------------------- 1 | aab abb aa ab ba bb aba bab aaa 2 | -------------------------------------------------------------------------------- /tests/initial_selection/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -s h t0001.in) 2 | 3 | a b c d e f g h i j k l m n o p q r s t u v w x y z 4 | 14:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :h: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/initial_selection/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/initial_selection/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -s h t0001.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/initial_selection/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -s5 t0002.in) 2 | 3 | a b c d e f g h i j k l m n o p q r s t u v w x y z 4 | 0:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :a: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/initial_selection/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/initial_selection/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -s5 t0002.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/initial_selection/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -s "#5" t0003.in) 2 | 3 | a b c d e f g h i j k l m n o p q r s t u v w x y z 4 | 10:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :f: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/initial_selection/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/initial_selection/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -s "#5" t0003.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/initial_selection/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -s/a.a t0004.in) 2 | 3 | aab abb aa ab ba bb aba bab aaa 4 | 20:07 21:07 22:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :aba: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/initial_selection/t0004.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/initial_selection/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -s/a.a t0004.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/initial_selection/t0005.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -s/bb t0005.in) 2 | 3 | aab abb aa ab ba bb aba bab aaa 4 | 4:07 5:07 6:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abb: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/initial_selection/t0005.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/initial_selection/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -s/bb t0005.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/initial_selection/t0006.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -s bb t0006.in) 2 | 3 | aab abb aa ab ba bb aba bab aaa 4 | 17:07 18:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :bb: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/initial_selection/t0006.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/initial_selection/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -s bb t0006.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/initial_selection/t0007.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -eb -saa t0007.in) 2 | 3 | aab abb aa ab ba bb aba bab aaa 4 | 0:24 1:24 2:24 4:24 5:24 6:24 8:07 9:07 11:24 12:24 14:24 15:24 17:24 18:24 20:24 21:24 22:24 24:24 25:24 26:24 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :aa: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/initial_selection/t0007.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/initial_selection/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -eb -saa t0007.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/initial_selection/t0008.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -s "#30" t0008.in) 2 | 3 | a b c d e f g h i j k l m n o p q r s t u v w x y z 4 | 50:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :z: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/initial_selection/t0008.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/initial_selection/t0008.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -s "#30" t0008.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/initial_selection/t0009.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -iab -s /ba t0009.in) 2 | 3 | aab abb aa ab ba bb aba bab aaa 4 | 8:24 9:24 14:24 15:24 17:24 18:24 20:07 21:07 22:07 28:24 29:24 30:24 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :aba: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/initial_selection/t0009.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/initial_selection/t0009.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -iab -s /ba t0009.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/initial_selection/t0010.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -s/ba t0010.in) 2 | 3 | aab abb aa ab ba bb aba bab aaa 4 | 20:07 21:07 22:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :aba: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/initial_selection/t0010.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/initial_selection/t0010.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -s/ba t0010.in) 2 | \S[300]\s[200]n\s[200]n\s[200]N\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/initial_selection/t0011.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -s ba t0011.in) 2 | 3 | aab abb aa ab ba bb aba bab aaa 4 | 24:07 25:07 26:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :bab: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/initial_selection/t0011.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/initial_selection/t0011.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -s ba t0011.in) 2 | \S[300]\s[200]n\s[200]N\s[200]n\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/initial_selection/t0012.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -T -s/ba t0012.in) 2 | 3 | aab abb aa ab ba bb aba bab aaa 4 | 14:04 15:04 20:0407 21:0407 22:0407 24:04 25:04 26:04 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :ba aba bab: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/initial_selection/t0012.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/initial_selection/t0012.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -T -s/ba t0012.in) 2 | \S[300]\s[200]n\s[200]n\s[200]NT\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/invalid_char/data1: -------------------------------------------------------------------------------- 1 | a«b»c 2 | -------------------------------------------------------------------------------- /tests/invalid_char/data2: -------------------------------------------------------------------------------- 1 | a«b»c\u01 a««b»»c\U000001 2 | -------------------------------------------------------------------------------- /tests/invalid_char/data3: -------------------------------------------------------------------------------- 1 | a«bc\u01 a«b»»c 2 | -------------------------------------------------------------------------------- /tests/invalid_char/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(LC_ALL=C smenu -. ! t0001.in) 2 | 3 | a!b!c 4 | 0:07 1:07 2:07 3:07 4:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :a!b!c: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/invalid_char/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/invalid_char/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LC_ALL=C smenu -. ! t0001.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/invalid_char/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(LC_ALL=C smenu -. ! t0002.in) 2 | 3 | a!b!c! a!!b!!c! 4 | 7:07 8:07 9:07 10:07 11:07 12:07 13:07 14:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :a!!b!!c!: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/invalid_char/t0002.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/invalid_char/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LC_ALL=C smenu -. ! t0002.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/invalid_char/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(LC_ALL=C smenu -e\\U0000bb -. ! t0003.in) 2 | 3 | a!bc! a!b!!c 4 | 0:07 1:07 2:07 3:07 4:07 6:24 7:24 8:24 9:24 10:24 11:24 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :a!bc!: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/invalid_char/t0003.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/invalid_char/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LC_ALL=C smenu -e\\\\U0000bb -. ! t0003.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/line_mode/data1: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 9 10 3 | 11 12 13 14 15 4 | 16 17 18 19 20 5 | 21 22 23 24 25 6 | 26 27 28 29 30 7 | -------------------------------------------------------------------------------- /tests/line_mode/data2: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 9 10 3 | 11 xxxxx 13 14 15 4 | 16 17 18 19 20 5 | 21 22 yyyyyy 24 25 6 | 26 27 28 29 30 7 | -------------------------------------------------------------------------------- /tests/line_mode/data3: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 9 10 3 | 11 4 | 12 13 14 15 5 | 16 17 6 | 18 19 20 7 | 21 22 23 24 8 | 25 26 27 28 29 30 9 | -------------------------------------------------------------------------------- /tests/line_mode/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -n 10 -l t0001.in) 2 | 3 | 1 2 3 4 5 4 | 5 | 6 7 8 9 10 6 | 7 | 11 12 13 14 15 8 | 9:07 10:07 9 | 16 17 18 19 20 10 | 11 | 21 22 23 24 25 12 | 13 | 26 27 28 29 30 14 | 15 | $ 16 | 17 | $ echo ":$OUT:" 18 | 19 | :14: 20 | 21 | $ exit 0 22 | -------------------------------------------------------------------------------- /tests/line_mode/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/line_mode/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 10 -l t0001.in) 2 | \S[300]\s[200]lljjlljjkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/line_mode/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -n 10 -l t0002.in) 2 | 3 | 1 2 3 4 5 4 | 5 | 6 7 8 9 10 6 | 7 | 11 xxxxx 13 14 15 8 | 12:07 13:07 9 | 16 17 18 19 20 10 | 11 | 21 22 yyyyyy 24 25 12 | 13 | 26 27 28 29 30 14 | 15 | $ 16 | 17 | $ echo ":$OUT:" 18 | 19 | :14: 20 | 21 | $ exit 0 22 | -------------------------------------------------------------------------------- /tests/line_mode/t0002.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/line_mode/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 10 -l t0002.in) 2 | \S[300]\s[200]lljjlljjkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/line_mode/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -n 10 -l t0003.in) 2 | 3 | 1 2 3 4 5 4 | 5 | 6 7 8 9 10 6 | 7 | 11 8 | 9 | 12 13 14 15 10 | 3:07 4:07 11 | 16 17 12 | 13 | 18 19 20 14 | 15 | 21 22 23 24 16 | 17 | 25 26 27 28 29 30 18 | 19 | $ 20 | 21 | $ echo ":$OUT:" 22 | 23 | :13: 24 | 25 | $ exit 0 26 | -------------------------------------------------------------------------------- /tests/line_mode/t0003.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/line_mode/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 10 -l t0003.in) 2 | \S[300]\s[200]lljjlljjkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/line_mode/t0004.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/line_mode/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -U 3 -n 10 -l t0004.in) 2 | \S[300]\s[200]lljjlljjkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/line_separators/data1: -------------------------------------------------------------------------------- 1 | abc⬇def⬇ghi⬇ 2 | ⬇jkl⬇mno⬇pqr 3 | ⬇stu⬇vwx⬇yz 4 | -------------------------------------------------------------------------------- /tests/line_separators/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -L\\ue2ac87 t0001.in) 2 | 3 | def ▲ 4 | 5:20 5 | ghi │ 6 | 5:20 7 | jkl ┃ 8 | 5:20 9 | mno │ 10 | 5:20 11 | pqr ▼ 12 | 0:07 1:07 2:07 5:20 13 | $ 14 | 15 | $ printf "%s\n" ":$OUT:" 16 | 17 | :pqr: 18 | 19 | $ exit 0 20 | -------------------------------------------------------------------------------- /tests/line_separators/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/line_separators/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -L\\\\ue2ac87 t0001.in) 2 | \S[300]\s[200]jjjjj\r 3 | \s[200]printf "%s\\n" ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/long_lines/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/long_lines/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -n 4 -l t0001.in) 2 | \S[300]\s[200]hhhhhljjhhjjhhkkhhkkhhjjllkklljjhhhhhjjhhjjllkkhhkkhhjjhhhhhkkhhhhjjjhhhhhh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/long_lines/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/long_lines/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -n 4 -c t0002.in) 2 | \S[300]\s[200]hhhhhljjhhjjhhkkhhkkhhjjllkklljjhhhhhjjhhjjllkkhhkkhhjjhhhhhkkhhhhjjjhhhhhh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/long_lines/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/long_lines/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -t -n 4 t0003.in) 2 | \S[300]\s[200]hhhhhljjhhjjhhkkhhkkhhjjllkklljjhhhhhjjhhjjllkkhhkkhhjjhhhhhkkhhhhjjjhhhhhh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/long_lines/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/long_lines/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -l -n 4 t0004.in) 2 | \S[300]\s[200]hhhhhljjhhjjhhkkhhkkhhjjllkklljjhhhhhjjhhjjllkkhhkkhhjjhhhhhkkhhhhjjjhhhhhh\ 3 | \W[75x24]\S[2000]\W[45x24]\S[2000]\W[55x24]\S[2000]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/long_lines/t0005.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/long_lines/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -c -n 4 t0005.in) 2 | \S[300]\s[200]hhhhhljjhhjjhhkkhhkkhhjjllkklljjhhhhhjjhhjjllkkhhkkhhjjhhhhhkkhhhhjjjhhhhhh\ 3 | \W[75x24]\S[2000]\W[45x24]\S[2000]\W[55x24]\S[2000]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/long_lines/t0006.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/long_lines/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -t -n 4 t0006.in) 2 | \S[300]\s[200]hhhhhljjhhjjhhkkhhkkhhjjllkklljjhhhhhjjhhjjllkkhhkkhhjjhhhhhkkhhhhjjjhhhhhh\ 3 | \W[75x24]\S[2000]\W[45x24]\S[2000]\W[55x24]\S[2000]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/long_lines/t0007.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/long_lines/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -n 4 t0007.in) 2 | \S[300]\s[200]hhhhhljjhhjjhhkkhhkkhhjjllkklljjhhhhhjjhhjjllkkhhkkhhjjhhhhhkkhhhhjjjhhhhhh\ 3 | \W[75x24]\S[2000]\W[45x24]\S[2000]\W[55x24]\S[2000]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/long_lines/t0008.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/long_lines/t0008.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(TERM=vt100 LANG=C smenu -c -n 4 t0007.in) 2 | \S[300]\s[200]hhhhhljjhhjjhhkkhhkkhhjjllkklljjhhhhhjjhhjjllkkhhkkhhjjhhhhhkkhhhhjjjhhhhhh\ 3 | \W[75x24]\S[2000]\W[45x24]\S[2000]\W[55x24]\S[2000]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/long_words/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/long_words/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -n 10 -t 3 t0001.in) 2 | \S[300]\s[200]lljlljlljllkkkhhjjlljjllljjjjkkh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/long_words/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/long_words/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -n 10 -t 1 t0002.in) 2 | \S[300]\s[200]lljlljlljllkkkhhjjlljjllljjjjkkh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/long_words/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/long_words/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -n 10 -t 1 t0003.in) 2 | \S[300]\s[200]lljlljlljllkkkhhjjlljjllljjjjkkh\ 3 | \W[22x24]\s[1200]\ 4 | \W[21x24]\s[1200]\ 5 | \W[20x24]\s[1200]\ 6 | \W[22x24]\s[1200]\ 7 | \W[24x24]\s[1200]\r 8 | \S[300]\s[80]echo ":$\s[80]OUT:" 9 | exit 0 10 | -------------------------------------------------------------------------------- /tests/long_words/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/long_words/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -n 10 -t 1 -N. -- t0004.in) 2 | \S[300]\s[200]lljlljlljllkkkhhjjlljjllljjjjkkh\ 3 | \W[22x24]\s[1200]\ 4 | \W[21x24]\s[1200]\ 5 | \W[20x24]\s[1200]\ 6 | \W[22x24]\s[1200]\ 7 | \W[24x24]\s[1200]\r 8 | \S[300]\s[80]echo ":$\s[80]OUT:" 9 | exit 0 10 | -------------------------------------------------------------------------------- /tests/message/data1: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | 8 9 | 9 10 | 10 11 | -------------------------------------------------------------------------------- /tests/message/data2: -------------------------------------------------------------------------------- 1 | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 2 | -------------------------------------------------------------------------------- /tests/message/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -m xx -n 10 -M t0001.in) 2 | 3 | xx 4 | 37:01 38:01 5 | 6 | 7 | 1 2 3 4 5 6 7 8 9 10 8 | 36:07 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :5: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/message/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/message/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -m xx -n 10 -M t0001.in) 2 | \S[300]\s[200]llllkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/message/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -m test t0002.in) 2 | 3 | test 4 | 0:01 1:01 2:01 3:01 5 | 6 | 7 | 1 2 3 4 5 6 7 8 9 10 8 | 0:07 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :1: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/message/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/message/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -m test t0002.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/message/t0003.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/message/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -M -l -m test t0003.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/message/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/message/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -M -m 'xx\nyyyy' t0004.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/message/t0005.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -M -m yyyy t0005.in) 2 | 3 | yyyy 4 | 36:01 37:01 38:01 39:01 5 | 6 | 7 | 1 2 3 4 5 6 7 8 9 10 8 | 28:07 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :1: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/message/t0005.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/message/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -M -m yyyy t0005.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/message/t0006.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/message/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -a m:r -M -m "123456789 123456789 123456789 123456789 \\ 2 | 123456789 123456789 123456789 123456789 123456789" t0006.in) 3 | \S[300]\s[200]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/message/t0007.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/message/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -m "123456789 123456789 123456789 123456789 \\ 2 | 123456789 123456789 123456789 123456789 123456789" t0007.in) 3 | \S[300]\s[200]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/message/t0008.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/message/t0008.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -a m:7/5 -M \\ 2 | -m '=\\uefbcb4\\uefbca5\\uefbcb3\\uefbcb4=\n=test=' t0008.in) 3 | \S[300]\s[200]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/misc/data1: -------------------------------------------------------------------------------- 1 | a b c 2 | -------------------------------------------------------------------------------- /tests/misc/data2: -------------------------------------------------------------------------------- 1 | ' ' ' 1 ' 2 | ' 2 ' ' ' 3 | -------------------------------------------------------------------------------- /tests/misc/data3: -------------------------------------------------------------------------------- 1 | ' ' ' 1 ' ' 2 ' ' ' 2 | -------------------------------------------------------------------------------- /tests/misc/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -! "Interrupted by CTRL-C" t0001.in) 2 | 3 | a b c 4 | 2:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :Interrupted by CTRL-C: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/misc/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/misc/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -! "Interrupted by CTRL-C" t0001.in) 2 | \S[300]\s[200]l\CC 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/misc/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0002.in) 2 | 3 | a b c 4 | 2:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/misc/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/misc/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0002.in) 2 | \S[300]\s[200]l\CC 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/misc/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -sb -- t0003.in) 2 | 3 | ___ 1 4 | 0:07 1:07 2:07 5 | 2 ___ 6 | 7 | $ 8 | 9 | $ echo ":$OUT:" 10 | 11 | :___: 12 | 13 | $ exit 0 14 | -------------------------------------------------------------------------------- /tests/misc/t0003.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/misc/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -sb -- t0003.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/misc/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -sb \~ -- t0004.in) 2 | 3 | ~~~ 1 2 ~~~ 4 | 0:07 1:07 2:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :~~~: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/misc/t0004.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/misc/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -sb \\~ -- t0004.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/non_printable/data1: -------------------------------------------------------------------------------- 1 | 1 \\u062\\u07 \\u05 3 2 | -------------------------------------------------------------------------------- /tests/non_printable/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0001.in) 2 | 3 | .1\a .2\a . 3 4 | 0:07 1:07 2:07 3:07 5 | $ 6 | 7 | $ env echo ":$OUT:" 8 | 9 | :.1\a: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/non_printable/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/non_printable/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0001.in) 2 | \S[300]\s[200]\r 3 | \s[200]env echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/non_printable/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -b t0002.in) 2 | 3 | 1\a 2\a 3 4 | 0:07 1:07 2:07 3:07 5 | $ 6 | 7 | $ env echo ":$OUT:" 8 | 9 | :1\a: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/non_printable/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/non_printable/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -b t0002.in) 2 | \S[300]\s[200]\r 3 | \s[200]env echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/rows_cols_in-ex-clusions/data1: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 9 10 3 | 11 12 13 14 15 4 | 16 17 18 19 20 5 | 21 22 23 6 | 24 25 7 | -------------------------------------------------------------------------------- /tests/rows_cols_in-ex-clusions/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/rows_cols_in-ex-clusions/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 6 -l -R2,3 -R5 -- t0001.in) 2 | \S[300]\s[200]llljljljhkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/rows_cols_in-ex-clusions/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -n 6 -l -R3-5 -R1 -- t0002.in) 2 | 3 | 1 2 3 4 5 4 | 5 | 6 7 8 9 10 6 | 0:24 2:24 4:24 6:24 8:24 9:24 7 | 11 12 13 14 15 8 | 3:07 4:07 9 | 16 17 18 19 20 10 | 11 | 21 22 23 12 | 13 | 24 25 14 | 0:24 1:24 3:24 4:24 15 | $ 16 | 17 | $ echo ":$OUT:" 18 | 19 | :12: 20 | 21 | $ exit 0 22 | -------------------------------------------------------------------------------- /tests/rows_cols_in-ex-clusions/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/rows_cols_in-ex-clusions/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 6 -l -R3-5 -R1 -- t0002.in) 2 | \S[300]\s[200]llljljljhkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/rows_cols_in-ex-clusions/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -n 6 -l -R3-5,1 -- t0003.in) 2 | 3 | 1 2 3 4 5 4 | 5 | 6 7 8 9 10 6 | 0:24 2:24 4:24 6:24 8:24 9:24 7 | 11 12 13 14 15 8 | 3:07 4:07 9 | 16 17 18 19 20 10 | 11 | 21 22 23 12 | 13 | 24 25 14 | 0:24 1:24 3:24 4:24 15 | $ 16 | 17 | $ echo ":$OUT:" 18 | 19 | :12: 20 | 21 | $ exit 0 22 | -------------------------------------------------------------------------------- /tests/rows_cols_in-ex-clusions/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/rows_cols_in-ex-clusions/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 6 -l -R3-5,1 -- t0003.in) 2 | \S[300]\s[200]llljljljhkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/rows_cols_in-ex-clusions/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/rows_cols_in-ex-clusions/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 6 -c -C-2,4- -Re-2,5- -- t0004.in) 2 | \S[300]\s[200]llljljljhkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/scrolling/data1: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 9 10 3 | 11 12 13 14 15 4 | 16 17 18 19 20 5 | 21 22 23 24 25 6 | 26 27 28 29 30 7 | -------------------------------------------------------------------------------- /tests/scrolling/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(LANG=en_US.UTF-8 smenu -n 4 -l t0001.in) 2 | 3 | 1 2 3 4 5 ┐ 4 | 6:07 16:20 5 | 6 7 8 9 10 ┃ 6 | 16:20 7 | 11 12 13 14 15 │ 8 | 16:20 9 | 16 17 18 19 20 ▼ 10 | 16:20 11 | $ 12 | 13 | $ echo ":$OUT:" 14 | 15 | :4: 16 | 17 | $ exit 0 18 | -------------------------------------------------------------------------------- /tests/scrolling/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/scrolling/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -n 4 -l t0001.in) 2 | \S[300]\s[200]lljjlljjhhjjhhkkhhkkhhjjllkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/scrolling/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(LANG=C smenu -n 4 -l t0002.in) 2 | 3 | 1 2 3 4 5 \ 4 | 6:07 16:20 5 | 6 7 8 9 10 # 6 | 16:20 7 | 11 12 13 14 15 | 8 | 16:20 9 | 16 17 18 19 20 v 10 | 16:20 11 | $ 12 | 13 | $ echo ":$OUT:" 14 | 15 | :4: 16 | 17 | $ exit 0 18 | -------------------------------------------------------------------------------- /tests/scrolling/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/scrolling/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=C smenu -n 4 -l t0002.in) 2 | \S[300]\s[200]lljjlljjhhjjhhkkhhkkhhjjllkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/scrolling/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(LANG=C smenu -n 4 -l t0002.in) 2 | 3 | 1 2 3 4 5 \ 4 | 6:07 16:20 5 | 6 7 8 9 10 # 6 | 16:20 7 | 11 12 13 14 15 | 8 | 16:20 9 | 16 17 18 19 20 v 10 | 16:20 11 | $ 12 | 13 | $ echo ":$OUT:" 14 | 15 | :4: 16 | 17 | $ exit 0 18 | -------------------------------------------------------------------------------- /tests/scrolling/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=C smenu -n 4 -l t0002.in) 2 | \S[300]\s[200]lljjlljjhhjjhhkkhhkkhhjjllkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/scrolling/t0004.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/scrolling/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=C smenu -e [0-9] -e a -c t0004.in) 2 | \S[300]\s[200]llkkkkjjjjjjjjjjkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/scrolling/t0005.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/scrolling/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=C smenu -c -R 7,13 -- t0005.in) 2 | \S[300]\s[200]lljjjjjjjkkkkkkkjjjKKJJKJ\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/scrolling/t0006.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/scrolling/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=C smenu -c -R 6,18,20 -- t0006.in) 2 | \S[300]\s[200]lljjjjjjjkkkkkkkjjjKKKJJJKJKJjjjkkkJK\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/scrolling/t0007.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/scrolling/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=C smenu -c -R 4,6,11,16 -- t0007.in) 2 | \S[300]\s[200]lljjjjjjjkkkkkkkjjjKKKJJJKJKJjjjkkkJK\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/scrolling/t0008.in: -------------------------------------------------------------------------------- 1 | data6 -------------------------------------------------------------------------------- /tests/scrolling/t0008.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(TERM=vt100 LANG=C smenu -c -e x -e '[0-9]' t0008.in) 2 | \S[300]\s[200]JJJKKK\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/scrolling/t0009.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/scrolling/t0009.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=C smenu -c -Re1,22 -e '[0-9]' t0009.in) 2 | \S[300]\s[200]jjjjkkkkkJjKK\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/scrolling/t0010.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/scrolling/t0010.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=C smenu -c -Re1,22 -e '[0-9]' t0010.in) 2 | \S[300]\s[200]\CJkkkkjjjjjKkJJ\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/scrolling/t0011.in: -------------------------------------------------------------------------------- 1 | data7 -------------------------------------------------------------------------------- /tests/scrolling/t0011.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=C smenu -c -e a -e '[0-9]' t0011.in) 2 | \S[300]\s[200]JJJJKKKKK\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/FreeBSD.bl: -------------------------------------------------------------------------------- 1 | t0023 2 | t0024 3 | -------------------------------------------------------------------------------- /tests/search/data1: -------------------------------------------------------------------------------- 1 | abc ab 2 | ab abcabc 3 | bca ba bac 4 | -------------------------------------------------------------------------------- /tests/search/data5: -------------------------------------------------------------------------------- 1 | ab 2 | ababab 3 | abxab 4 | " abab" 5 | "abab " 6 | " abab " 7 | -------------------------------------------------------------------------------- /tests/search/data6: -------------------------------------------------------------------------------- 1 | abab babb 2 | -------------------------------------------------------------------------------- /tests/search/data7: -------------------------------------------------------------------------------- 1 | abca 2 | de 3 | xabcx 4 | 123456789 5 | -------------------------------------------------------------------------------- /tests/search/data8: -------------------------------------------------------------------------------- 1 | abc 2 | abcd 3 | xabc 4 | -------------------------------------------------------------------------------- /tests/search/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0001.in) 2 | 3 | abc ab ab abcabc bca ba bac 4 | 0:0723 1:0723 2:07 4:23 5:23 7:23 8:23 10:23 11:23 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/search/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0001.in) 2 | \S[300]\s[200]/ab\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0002.in) 2 | 3 | abc ab ab abcabc bca ba bac 4 | 10:0723 11:0723 12:07 13:07 14:0723 15:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abcabc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/search/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0002.in) 2 | \S[300]\s[200]/abb\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0003.in) 2 | 3 | abc ab ab abcabc bca ba bac 4 | 0:07 1:0723 2:0723 11:23 12:23 17:23 18:23 24:23 26:23 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/search/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0003.in) 2 | \S[300]\s[200]/bc\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -/ sub t0004.in) 2 | 3 | abc ab ab abcabc bca ba bac 4 | 0:07 1:0723 2:0723 11:23 12:23 17:23 18:23 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/search/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -/ sub t0004.in) 2 | \S[300]\s[200]/bc\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0005.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -/ pre t0005.in) 2 | 3 | abc ab ab abcabc bca ba bac 4 | 17:0723 18:0723 19:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :bca: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0005.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/search/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -/ pre t0005.in) 2 | \S[300]\s[200]/bc\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0006.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0006.in) 2 | 3 | abc ab ab abcabc bca ba bac 4 | 0:07 1:07 2:071f 12:1f 18:1f 26:1f 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0006.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/search/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0006.in) 2 | \S[300]\s[200]/abbbb\b\b\b\b\b\b\bxyzcdddd\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0007.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0007.in) 2 | 3 | abc ab ab abcabc bca ba bac 4 | 21:0723 22:0723 24:23 25:23 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :ba: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0007.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/search/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0007.in) 2 | \S[300]\s[200]/aba\rll*aba\rll"ba\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0008.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0008.in) 2 | 3 | abc ab ab abcabc bca ba bac 4 | 21:0723 22:0723 24:23 25:23 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :ba: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0008.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/search/t0008.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0008.in) 2 | \S[300]\s[200]/\b\babx\bax\rll*aba\rll"ba\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0009.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0009.in) 2 | 3 | abc ab ab abcabc bca ba bac 4 | 10:071f 11:071f 12:071f 13:071f 14:071f 15:071f 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abcabc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0009.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/search/t0009.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0009.in) 2 | \S[300]\s[200]/abcxabc\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0010.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0010.in) 2 | 3 | abc ab ab abcabc bca ba bac 4 | 0:071f 1:07 2:071f 10:1f 12:1f 25:1f 26:1f 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0010.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/search/t0010.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0010.in) 2 | \S[300]\s[200]/axc\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0011.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0011.in) 2 | 3 | abc ab ab abcabc bca ba bac 4 | 0:071f 1:07 2:07 4:1f 7:1f 10:1f 19:1f 22:1f 25:1f 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0011.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/search/t0011.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0011.in) 2 | \S[300]\s[200]/axc\b\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0012.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -T, t0012.in) 2 | 3 | abc ab ab abcabc bca ba bac 4 | 0:23 2:23 4:07 5:07 10:0423 11:04 12:0423 13:04 14:04 15:04 24:04 25:0423 26:0423 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abcabc,bac: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0012.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/search/t0012.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -T, t0012.in) 2 | \S[300]\s[200]/ac\rThhhtl\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0013.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -T, t0013.in) 2 | 3 | abc ab ab abcabc bca ba bac 4 | 0:040723 1:0407 2:040723 10:23 12:23 25:23 26:23 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0013.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/search/t0013.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -T, t0013.in) 2 | \S[300]\s[200]/ac\rthThtUht\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0014.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/search/t0014.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 20 -T, t0014.in) 2 | \S[300]\s[200]~abac\CA\rT\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0015.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/search/t0015.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 20 -T, t0015.in) 2 | \S[300]\s[200]~abac\CZ\rT\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0016.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/search/t0016.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 20 -T, t0016.in) 2 | \S[300]\s[200]'abac\CA\rT\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0017.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/search/t0017.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 20 -T, t0017.in) 2 | \S[300]\s[200]'abac\CZ\rT\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0018.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/search/t0018.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 20 t0018.in) 2 | \S[300]\s[200]*ab\CZ\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0019.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/search/t0019.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 20 t0019.in) 2 | \S[300]\s[200]'ab\CZ\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0020.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/search/t0020.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 20 t0020.in) 2 | \S[300]\s[200]^ab\CZ\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0021.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/search/t0021.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 18 t0021.in) 2 | \S[300]\s[200]~ab\CZ\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0022.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/search/t0022.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 18 t0022.in) 2 | \S[300]\s[200]~ab\CA\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0023.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/search/t0023.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k -n 18 -T \\| t0023.in) 2 | \S[300]\s[200]~é€\CZ\rT\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0024.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/search/t0024.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k -n 18 -T \\| t0024.in) 2 | \S[300]\s[200]~é€\CA\rT\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0025.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/search/t0025.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 18 t0025.in) 2 | \S[300]\s[200]~abc\rsssssSSSSs\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0026.in: -------------------------------------------------------------------------------- 1 | data5 -------------------------------------------------------------------------------- /tests/search/t0026.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 0 -N -- t0026.in) 2 | \S[300]\s[200]~ab\CZ\rj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0027.in: -------------------------------------------------------------------------------- 1 | data5 -------------------------------------------------------------------------------- /tests/search/t0027.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -n 0 -N -c t0027.in) 2 | \S[300]\s[200]~ab\CZ\rj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0028.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/search/t0028.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -3 a -n 20 -T, t0028.in) 2 | \S[300]\s[200]~abac\CA\rT\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0029.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -- t0029.in) 2 | 3 | ab ┐ 4 | 8:20 5 | ababab │ 6 | 0:23 2:23 3:23 8:20 7 | abxab ┃ 8 | 0:0723 1:07 2:07 3:0723 4:0723 5:07 8:20 9 | abab │ 10 | 1:23 3:23 4:23 8:20 11 | abab ▼ 12 | 0:23 2:23 3:23 8:20 13 | $ 14 | 15 | $ echo ":$OUT:" 16 | 17 | :abxab: 18 | 19 | $ exit 0 20 | -------------------------------------------------------------------------------- /tests/search/t0029.in: -------------------------------------------------------------------------------- 1 | data5 -------------------------------------------------------------------------------- /tests/search/t0029.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -- t0029.in) 2 | \S[300]\s[200]~aa\CI\rj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0030.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -- t0030.in) 2 | 3 | abab babb 4 | 0:07 1:0723 2:0723 3:07 5:23 6:23 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abab: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0030.in: -------------------------------------------------------------------------------- 1 | data6 -------------------------------------------------------------------------------- /tests/search/t0030.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -- t0030.in) 2 | \S[300]\s[200]~b\CI\CH\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0031.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -- t0031.in) 2 | 3 | abab babb 4 | 0:0723 1:07 2:0723 3:0723 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abab: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/search/t0031.in: -------------------------------------------------------------------------------- 1 | data6 -------------------------------------------------------------------------------- /tests/search/t0031.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -- t0031.in) 2 | \S[300]\s[200]~aa\CI\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0032.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -Cc -- t0032.in) 2 | 3 | abca 4 | 2:23 3:23 4:23 5 | de 6 | 0:07 1:07 2:07 3:07 4:07 5:07 6:07 7:07 8:07 7 | xabcx 8 | 3:23 4:23 5:23 9 | 123456789 10 | 11 | $ 12 | 13 | $ echo ":$OUT:" 14 | 15 | :de: 16 | 17 | $ exit 0 18 | -------------------------------------------------------------------------------- /tests/search/t0032.in: -------------------------------------------------------------------------------- 1 | data7 -------------------------------------------------------------------------------- /tests/search/t0032.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -Cc -- t0032.in) 2 | \S[300]\s[200]~b\CI\CH\CHa\CI\rj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/search/t0033.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -N -- t0033.in) 2 | 3 | 1) abc 4 | 0:01 1:01 2:01 4:07 5:0723 6:0723 7:07 5 | 2) abcd 6 | 0:01 1:01 2:01 5:23 6:23 7 | 3) xabc 8 | 0:01 1:01 2:01 6:23 7:23 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :abc: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/search/t0033.in: -------------------------------------------------------------------------------- 1 | data8 -------------------------------------------------------------------------------- /tests/search/t0033.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -N -- t0033.in) 2 | \S[300]\s[200]~a\CI\CH\CH\r~b\CI\r\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/shifting/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/shifting/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -n 4 -l t0001.in) 2 | \S[300]\s[200]hhhhhlj>>ll<>kklll<>\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/shifting/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/shifting/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -n 4 -l t0002.in) 2 | \S[300]\s[200]llllll>>>>>>>jjj<<<<<<<>>\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/spaces/data1: -------------------------------------------------------------------------------- 1 | " 1 2" "3 4 " " 5 6" 2 | -------------------------------------------------------------------------------- /tests/spaces/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0001.in) 2 | 3 | 1 2 3 4 5 6 4 | 0:07 1:07 2:07 3:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :1 2: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/spaces/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/spaces/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0001.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/spaces/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0002.in) 2 | 3 | 1 2 3 4 5 6 4 | 5:07 6:07 7:07 8:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :3 4: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/spaces/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/spaces/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0002.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/spaces/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0003.in) 2 | 3 | 1 2 3 4 5 6 4 | 10:07 11:07 12:07 13:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :5 6: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/spaces/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/spaces/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0003.in) 2 | \S[300]\s[200]ll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/spaces/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -k t0004.in) 2 | 3 | 1 2 3 4 5 6 4 | 0:07 1:07 2:07 3:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | : 1 2: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/spaces/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/spaces/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k t0004.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/spaces/t0005.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -k t0005.in) 2 | 3 | 1 2 3 4 5 6 4 | 5:07 6:07 7:07 8:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :3 4 : 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/spaces/t0005.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/spaces/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k t0005.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/spaces/t0006.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -k t0006.in) 2 | 3 | 1 2 3 4 5 6 4 | 10:07 11:07 12:07 13:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | : 5 6: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/spaces/t0006.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/spaces/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k t0006.in) 2 | \S[300]\s[200]ll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/special_levels/data1: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 9 10 3 | 11 12 13 14 15 4 | 16 17 18 19 20 5 | 21 22 23 24 25 6 | 26 27 28 29 30 7 | -------------------------------------------------------------------------------- /tests/special_levels/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/special_levels/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -1 1 -2 2 -3 3 -4 4 -5 5 -c -- t0001.in) 2 | \S[300]\s[200]j\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/special_levels/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/special_levels/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -1 '1$' -2 '2$' -3 '3$' -4 4 -5 5 -c -- t0002.in) 2 | \S[300]\s[200]j\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/special_levels/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/special_levels/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -1 1 -level2 2 -c t0003.in) 2 | \S[300]\s[200]j\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/special_levels/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/special_levels/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -1 '1$' b -2 '2$' 7/1,br -3 '3$' 0/5 \\ 2 | -4 4 r -5 5 rb -c -- t0004.in) 3 | \S[300]\s[200]j\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/substitutions/data2: -------------------------------------------------------------------------------- 1 | a abc bac bca 2 | -------------------------------------------------------------------------------- /tests/substitutions/data3: -------------------------------------------------------------------------------- 1 | abc ABC Aab AAA 2 | -------------------------------------------------------------------------------- /tests/substitutions/data4: -------------------------------------------------------------------------------- 1 | a ab ba bb ca ac 2 | -------------------------------------------------------------------------------- /tests/substitutions/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -S'/1/(&)/' -n 15 t0001.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -S'/1*/(&)/' -n 15 t0002.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -S'/1*$/(&)/' -n 15 t0003.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -S'/^1+$/(&)/' -n 15 t0004.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0005.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -S'/^1+/(&)/' -n 15 t0005.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0006.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -S'/1+$/(&)/' -n 15 t0006.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0007.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -S'/1/(&)/g' -n 15 t0007.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0008.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0008.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -S'/1*/(&)/g' -n 15 t0008.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0009.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0009.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -S'/1*$/(&)/g' -n 15 t0009.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0010.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0010.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -S'/(.)(.)(.)/\\3\\2\\1/g' \\ 2 | -s '#150' -n 15 t0010.in) 3 | \S[300]\s[200]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/substitutions/t0011.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0011.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -S'/(.)(.)(.)/\\3<-\\2->\\1/g' \\ 2 | -s '#150' -n 15 t0011.in) 3 | \S[300]\s[200]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/substitutions/t0012.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0012.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -c -e 2 -I'/(1+)/(\\1)/g' -n 15 \\ 2 | t0012.in) 3 | \S[300]\s[200]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/substitutions/t0013.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0013.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -c -i 2 -I'/(1+)/(\\1)/g' -n 15 \\ 2 | t0013.in) 3 | \S[300]\s[200]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/substitutions/t0014.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0014.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -c -i 2 -E'/(1+)/(\\1)/g' -n 15 \\ 2 | t0014.in) 3 | \S[300]\s[200]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/substitutions/t0015.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0015.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -c -e 2 -E'/(1+)/(\\1)/g' -n 15 \\ 2 | t0015.in) 3 | \S[300]\s[200]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/substitutions/t0016.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0016.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -c -e 2 -E/1/A/g -I/1/B/g -n 6 \\ 2 | t0016.in) 3 | \S[300]\s[200]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/substitutions/t0017.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0017.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -c -i 2 -E/1/A/g -I/1/B/g -n 6 \\ 2 | t0017.in) 3 | \S[300]\s[200]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/substitutions/t0018.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0018.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -c -i 2 -E/1/A/g -I/1/B/g \\ 2 | -S/1/C/g -n 6 t0018.in) 3 | \S[300]\s[200]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/substitutions/t0019.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0019.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -l -S'/1.*//' -n 4 t0019.in) 2 | \S[300]\s[200]lllllllllljjjlllll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0020.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0020.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -t -S'/1.*//' -n 4 t0020.in) 2 | \S[300]\s[200]lllllllllljjlllll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0021.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/substitutions/t0021.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -S'/(1)/\\[1 \\1 \\1\\]1/g' \\ 2 | -n 20 t0021.in) 3 | \S[300]\s[200]\r 4 | \S[300]\s[80]echo ":$\s[80]OUT:" 5 | exit 0 6 | -------------------------------------------------------------------------------- /tests/substitutions/t0022.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -S/a// t0022.in) 2 | 3 | bc bc bc 4 | 3:07 4:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :bc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/substitutions/t0022.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/substitutions/t0022.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -S/a// t0022.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0023.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -S/a// -c t0023.in) 2 | 3 | $ 4 | 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/substitutions/t0023.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/substitutions/t0023.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -S/a// -c t0023.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0024.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu '-S/a/ /' t0024.in) 2 | 3 | bc b c bc 4 | 4:07 5:07 6:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :b c: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/substitutions/t0024.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/substitutions/t0024.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu '-S/a/ /' t0024.in) 2 | \S[300]\s[200]l\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0025.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu '-S/a/ /' -c t0025.in) 2 | 3 | bc b c bc 4 | 0:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/substitutions/t0025.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/substitutions/t0025.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu '-S/a/ /' -c t0025.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0026.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu '-S/a/X/i' -c t0026.in) 2 | 3 | Xbc XBC Xab XAA 4 | 0:07 1:07 2:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :Xbc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/substitutions/t0026.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/substitutions/t0026.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu '-S/a/X/i' -c t0026.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0027.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu '-S/a/X/iv' -c t0027.in) 2 | 3 | Xbc XBC Xab XAA 4 | 0:07 1:07 2:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :abc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/substitutions/t0027.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/substitutions/t0027.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu '-S/a/X/iv' -c t0027.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0028.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu '-S/a/X/ig' -c t0028.in) 2 | 3 | Xbc XBC XXb XXX 4 | 0:07 1:07 2:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :Xbc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/substitutions/t0028.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/substitutions/t0028.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu '-S/a/X/ig' -c t0028.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0029.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -S/a/X/isg -S/b/Y/ -c t0029.in) 2 | 3 | Xbc XBC XXb XXX 4 | 0:07 1:07 2:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :Xbc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/substitutions/t0029.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/substitutions/t0029.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -S/a/X/isg -S/b/Y/ -c t0029.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0030.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -S/a/X/ig -S/b/Y/ -c t0030.in) 2 | 3 | XYc XBC XXY XXX 4 | 0:07 1:07 2:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :XYc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/substitutions/t0030.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/substitutions/t0030.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -S/a/X/ig -S/b/Y/ -c t0030.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0031.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -S/a/A/sg -S/A/a/g t0031.in) 2 | 3 | Abc aBC AAb aaa 4 | 0:07 1:07 2:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :Abc: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/substitutions/t0031.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/substitutions/t0031.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -S/a/A/sg -S/A/a/g t0031.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0032.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -ES/a/b/ -i b -1 c -- t0032.in) 2 | 3 | b bb bb bb cb bc 4 | 8:07 9:07 11:1f 12:1f 14:1f 15:1f 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :bb: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/substitutions/t0032.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/substitutions/t0032.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -ES/a/b/ -i b -1 c -- t0032.in) 2 | \S[300]\s[200]lll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/substitutions/t0033.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -S/a/b/ -i b -1 c -- t0033.in) 2 | 3 | b bb bb bb cb bc 4 | 0:24 8:07 9:07 11:24 12:24 14:24 15:24 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :bb: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/substitutions/t0033.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/substitutions/t0033.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -S/a/b/ -i b -1 c -- t0033.in) 2 | \S[300]\s[200]lll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tabulating_mode/data1: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 3 | 9 10 11 12 13 14 4 | -------------------------------------------------------------------------------- /tests/tabulating_mode/data2: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 | -------------------------------------------------------------------------------- /tests/tabulating_mode/data3: -------------------------------------------------------------------------------- 1 | ab abc éà ùùù €€€€ §§§§ → ↓ ← ¦¦¦ ßßßxßßß 2 | -------------------------------------------------------------------------------- /tests/tabulating_mode/data4: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 | -------------------------------------------------------------------------------- /tests/tabulating_mode/data5: -------------------------------------------------------------------------------- 1 | ab abc éà ùùù €€€€ 2 | -------------------------------------------------------------------------------- /tests/tabulating_mode/data6: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 6 7 8 2 | 9 10 11 12 13 14 3 | 1 2 3 4 5 6 7 8 9 10 4 | 11 12 13 14 5 | 1 2 3 4 5 6 | 6 7 8 9 10 11 12 13 14 7 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tabulating_mode/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -t 4 -w t0001.in) 2 | \S[300]\s[200]lj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -t 4 t0002.in) 2 | 3 | 1 2 3 4 4 | 5 | 5 6 7 8 6 | 3:07 4:07 7 | 9 10 11 12 8 | 9 | 13 14 10 | 11 | $ 12 | 13 | $ echo ":$OUT:" 14 | 15 | :6: 16 | 17 | $ exit 0 18 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tabulating_mode/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -t 4 t0002.in) 2 | \S[300]\s[200]lj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(LANG=en_US.UTF-8 smenu -t 10 t0003.in) 2 | 3 | ab abc éà ùùù €€€€ §§§§ → ↓ ← 4 | 40:07 41:07 42:07 43:07 44:07 45:07 46:07 5 | ¦¦¦ ßßßxßßß 6 | 7 | $ 8 | 9 | $ echo ":$OUT:" 10 | 11 | :§§§§: 12 | 13 | $ exit 0 14 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0003.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/tabulating_mode/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -t 10 t0003.in) 2 | \S[300]\s[200]lllllkkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(LANG=en_US.UTF-8 smenu -t 10 -w t0004.in) 2 | 3 | ab abc éà ùùù €€€€ §§§§ → ↓ ← 4 | 40:07 41:07 42:07 43:07 44:07 45:07 46:07 5 | ¦¦¦ ßßßxßßß 6 | 7 | $ 8 | 9 | $ echo ":$OUT:" 10 | 11 | :§§§§: 12 | 13 | $ exit 0 14 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0004.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/tabulating_mode/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -t 10 -w t0004.in) 2 | \S[300]\s[200]lllllkkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0005.in: -------------------------------------------------------------------------------- 1 | data5 -------------------------------------------------------------------------------- /tests/tabulating_mode/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -t 3 -w t0005.in) 2 | \S[300]\s[200]lllllkkk\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0006.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(LANG=en_US.UTF-8 smenu -t -- t0006.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 | 3:07 4:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :2: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0006.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tabulating_mode/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -t -- t0006.in) 2 | \S[300]\s[200]lj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0007.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(LANG=en_US.UTF-8 smenu -t -L'\u0a' t0007.in) 2 | 3 | 1 2 3 4 5 4 | 5 | 6 7 8 6 | 3:07 4:07 7 | 9 10 11 12 13 14 8 | 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :7: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0007.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tabulating_mode/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -t -L'\\u0a' t0007.in) 2 | \S[300]\s[200]lj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0010.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -t 9 t0010.in) 2 | 3 | 1 2 3 4 5 6 7 8 9 4 | 5 | 10 11 12 13 14 6 | 3:07 4:07 7 | $ 8 | 9 | $ echo ":$OUT:" 10 | 11 | :11: 12 | 13 | $ exit 0 14 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0010.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/tabulating_mode/t0010.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -t 9 t0010.in) 2 | \S[300]\s[200]lj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0011.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -tab 5 --line-delimiters 6 t0011.in) 2 | 3 | 1 2 3 4 5 ┐ 4 | 16:20 5 | 7 8 9 10 11 │ 6 | 16:20 7 | 12 13 14 1 2 ┃ 8 | 16:20 9 | 3 4 5 │ 10 | 16:20 11 | 7 8 9 10 11 ▼ 12 | 3:07 4:07 16:20 13 | $ 14 | 15 | $ echo ":$OUT:" 16 | 17 | :8: 18 | 19 | $ exit 0 20 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0011.in: -------------------------------------------------------------------------------- 1 | data6 -------------------------------------------------------------------------------- /tests/tabulating_mode/t0011.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -tab 5 --line-delimiters 6 t0011.in) 2 | \S[300]\s[200]ljljljhj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0012.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -tab 5 t0012.in) 2 | 3 | 1 2 3 4 5 ┐ 4 | 16:20 5 | 6 7 8 9 10 │ 6 | 16:20 7 | 11 12 13 14 1 ┃ 8 | 16:20 9 | 2 3 4 5 6 │ 10 | 16:20 11 | 7 8 9 10 11 ▼ 12 | 6:07 7:07 16:20 13 | $ 14 | 15 | $ echo ":$OUT:" 16 | 17 | :9: 18 | 19 | $ exit 0 20 | -------------------------------------------------------------------------------- /tests/tabulating_mode/t0012.in: -------------------------------------------------------------------------------- 1 | data6 -------------------------------------------------------------------------------- /tests/tabulating_mode/t0012.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -tab 5 t0012.in) 2 | \S[300]\s[200]ljljljhj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/data1: -------------------------------------------------------------------------------- 1 | a b c d 2 | e f g h 3 | u j k l 4 | -------------------------------------------------------------------------------- /tests/tagging/data2: -------------------------------------------------------------------------------- 1 | " a " "b " " c" 2 | -------------------------------------------------------------------------------- /tests/tagging/data3: -------------------------------------------------------------------------------- 1 | 1 2 3 4 5 2 | 6 7 8 9 10 3 | 11 12 13 14 15 4 | 16 17 18 19 20 5 | 21 22 23 24 25 6 | 26 27 28 29 30 7 | -------------------------------------------------------------------------------- /tests/tagging/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -T " " t0001.in) 2 | 3 | a b c d e f g h u j k l 4 | 2:04 6:04 8:07 10:04 14:04 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :b d f h: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/tagging/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -T " " t0001.in) 2 | \S[300]\s[200]ltlltlltllthhh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0002.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -P " " t0002.in) 2 | 3 | a b c d e f g h u j k l 4 | 2:04 6:04 8:07 10:04 14:04 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :b d f h: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/tagging/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -P " " t0002.in) 2 | \S[300]\s[200]ltlltlltllthhh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -T " " t0003.in) 2 | 3 | a b c d e f g h u j k l 4 | 0:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :a: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/tagging/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -T " " t0003.in) 2 | \S[300]\s[200]ltlltlltthhthhthhthht\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -P " " t0004.in) 2 | 3 | a b c d e f g h u j k l 4 | 0:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :a: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/tagging/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -P " " t0004.in) 2 | \S[300]\s[200]ltlltlltthhthhthhthht\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0005.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -T\\ue296b8 t0005.in) 2 | 3 | a b c d e f g h u j k l 4 | 0:04 2:07 4:04 6:04 8:04 10:04 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :a▸c▸d▸e▸f: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/tagging/t0005.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -T\\\\ue296b8 t0005.in) 2 | \S[300]\s[200]ltlltllththhththhtl\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0006.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -P\\ue296b8 t0006.in) 2 | 3 | a b c d e f g h u j k l 4 | 0:04 2:07 4:04 6:04 8:04 10:04 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :d▸f▸e▸c▸a: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/tagging/t0006.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -P\\\\ue296b8 t0006.in) 2 | \S[300]\s[200]ltlltllththhththhtl\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0007.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -P\\ue296b8 t0007.in) 2 | 3 | a b c d 4 | 6:0407 5 | e f g h 6 | 7 | u j k l 8 | 0:04 2:04 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :u▸j▸d: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/tagging/t0007.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -P\\\\ue296b8 t0007.in) 2 | \S[300]\s[200]lllltllthhtjtlthhhthhht\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0008.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -k -P: t0008.in) 2 | 3 | a b c 4 | 0:0407 1:0407 2:0407 7:04 8:04 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | : c: a : 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/tagging/t0008.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/tagging/t0008.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -k -P: t0008.in) 2 | \S[300]\s[200]llththtlthh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0009.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -T " " t0009.in) 2 | 3 | a b c d 4 | 5 | e f g h 6 | 2:07 4:04 6:04 7 | u j k l 8 | 0:04 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :g h u: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/tagging/t0009.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0009.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -T " " t0009.in) 2 | \S[300]\s[200]jjththth\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0010.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -T -p t0010.in) 2 | 3 | a b c d 4 | 5 | e f g h 6 | 2:07 4:04 6:04 7 | u j k l 8 | 0:04 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :f g h u: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/tagging/t0010.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0010.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -T -p t0010.in) 2 | \S[300]\s[200]jjththth\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0011.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -P " " t0011.in) 2 | 3 | a b c d 4 | 5 | e f g h 6 | 2:07 4:04 6:04 7 | u j k l 8 | 0:04 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :u h g: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/tagging/t0011.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0011.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -P " " t0011.in) 2 | \S[300]\s[200]jjththth\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0012.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -P -p t0012.in) 2 | 3 | a b c d 4 | 5 | e f g h 6 | 2:07 4:04 6:04 7 | u j k l 8 | 0:04 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :u h g f: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/tagging/t0012.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0012.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -P -p t0012.in) 2 | \S[300]\s[200]jjththth\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0013.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -P -N'b|d|g' -- t0013.in) 2 | 3 | a 1) b c 2) d 4 | 7:01 8:01 9:01 10:01 21:01 22:01 23:01 24:01 5 | e f 3) g h 6 | 12:07 14:01 15:01 16:01 17:01 19:04 26:04 7 | u j k l 8 | 5:04 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :u h g: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/tagging/t0013.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0013.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -P -N'b|d|g' -- t0013.in) 2 | \S[300]\s[200]jjththth\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0014.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c -P -N'b|d|g' -- t0014.in) 2 | 3 | a 1) b c 2) d 4 | 7:01 8:01 9:01 10:01 21:01 22:01 23:01 24:01 5 | e f 3) g h 6 | 12:07 14:01 15:01 16:01 17:01 26:04 7 | u j k l 8 | 5:04 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :u h: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/tagging/t0014.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0014.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c -P -N'b|d|g' -- t0014.in) 2 | \S[300]\s[200]jjuthuthtutuh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0015.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -T " " t0015.in) 2 | 3 | a b c d e f g h u j k l 4 | 6:04 8:07 10:04 14:04 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :d f h: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/tagging/t0015.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/tagging/t0015.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -T " " t0015.in) 2 | \S[300]\s[200]luututulltlultllthuhh\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0016.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/tagging/t0016.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -T -c t0016.in) 2 | \S[300]\s[200]ljTlljjjT\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0017.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/tagging/t0017.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -P -c t0017.in) 2 | \S[300]\s[200]ljjjTkklT\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0018.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/tagging/t0018.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -T -c t0018.in) 2 | \S[300]\s[200]ltjCjjCjt\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0019.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/tagging/t0019.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -P -c -n 15 t0019.in) 2 | \S[300]\s[200]ljjjjjjtkCkkkCktljmjjjjjjjcljMtCkkkkkkkCkt\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0020.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/tagging/t0020.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -P -c -s 50 -n 15 -e 2 t0020.in) 2 | \S[300]\s[200]lmllrltjthRhhRht\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0021.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/tagging/t0021.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -T -c -s 50 -n 15 -e 2 t0021.in) 2 | \S[300]\s[200]lmllrltjthRhhRht\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0022.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/tagging/t0022.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -P -c -n 15 t0022.in) 2 | \S[300]\s[200]"5\rTjjj\er"6\rT\ehcjjjtUU\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0023.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/tagging/t0023.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -T -c -n 15 t0023.in) 2 | \S[300]\s[200]"5\rTjjj\er"6\rT\ehcjjjtUU\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/tagging/t0024.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/tagging/t0024.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -P -c -n 15 t0024.in) 2 | \S[300]\s[200]jZjjjZlZkkkZlZjjjhhZ\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/timeout/data1: -------------------------------------------------------------------------------- 1 | a b c 2 | -------------------------------------------------------------------------------- /tests/timeout/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/timeout/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -x cur 5 -- t0001.in) 2 | \S[300]\s[200]l\S[6000] 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/timeout/t0002.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/timeout/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -x cur 5 -- t0002.in) 2 | \S[300]\s[200]l\S[2000]l\S[2000]hh\S[6000] 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/timeout/t0003.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/timeout/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -x q 5 -- t0003.in) 2 | \S[300]\s[200]l\S[6000] 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/timeout/t0004.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/timeout/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -x w 'test\\u21' 5 -- t0004.in) 2 | \S[300]\s[200]l\S[6000] 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/timeout/t0005.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/timeout/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -x cur 5 -- t0005.in) 2 | \S[300]\s[200]l\S[2000]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/timeout/t0006.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -X cur 5 -- t0001.in) 2 | 3 | a b c 4 | 2:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :b: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/timeout/t0006.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/timeout/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -X cur 5 -- t0001.in) 2 | \S[300]\s[200]l\S[3000]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/utf8/FreeBSD.bl: -------------------------------------------------------------------------------- 1 | t0002 2 | -------------------------------------------------------------------------------- /tests/utf8/data1: -------------------------------------------------------------------------------- 1 | 0 1 2 3 4 5 6 7 8 9 10 2 | 零/〇 一 二 三 四 五 六 七 八 九 十 3 | -------------------------------------------------------------------------------- /tests/utf8/data2: -------------------------------------------------------------------------------- 1 | *\u3* *\u0a* *\u34* *\u345* *\u3456* *\uc3*4* 2 | *\u45* *\u451* *\u4512* *\u45123* 3 | *\u45\u46* *\u451\u46* 4 | *\uc3\u45* *\uc3a\u45* 5 | *\uefb899ø\uf0908589* *ø\uc3a9\uc3aaabø* 6 | *\uc3a9*\uf0* *\uc3a9*\uf0aa* *\uc3a9*\uf0aaab* 7 | *\uc3a9*\uF09D849E* *\uC3A9*\uF09D84aa* 8 | -------------------------------------------------------------------------------- /tests/utf8/data3: -------------------------------------------------------------------------------- 1 | é\uc3a9€ 2 | \uc3a9é€ 3 | é€\uc3a9 4 | -------------------------------------------------------------------------------- /tests/utf8/data4: -------------------------------------------------------------------------------- 1 | EéE€ 2 | abc\u45defE 3 | -------------------------------------------------------------------------------- /tests/utf8/data6: -------------------------------------------------------------------------------- 1 | x e\ucc81 x 2 | e\ucc81 x e\ucc81 3 | x e\ucc81 x 4 | -------------------------------------------------------------------------------- /tests/utf8/data7: -------------------------------------------------------------------------------- 1 | x \U01F1FA\U01F1F8 x 2 | \uf09f87ab\uf09f87b7 x \uf09f87ab\uf09f87b7 3 | x \U01F1FA\U01F1F8 x 4 | -------------------------------------------------------------------------------- /tests/utf8/data8: -------------------------------------------------------------------------------- 1 | x y \ue29da4\uefb88f\ue2808d\uf09f94a5 x y 2 | \uf09f91a8\ue2808d\uf09f91a9\ue2808d\uf09f91a7 x y 👩\U00200d💻 3 | -------------------------------------------------------------------------------- /tests/utf8/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(LANG=en_US.UTF-8 smenu -c t0001.in) 2 | 3 | 0 1 2 3 4 5 6 7 8 9 10 4 | 5 | 零/〇 一 二 三 四 五 六 七 八 九 十 6 | 14:07 7 | $ 8 | 9 | $ echo ":$OUT:" 10 | 11 | :六: 12 | 13 | $ exit 0 14 | -------------------------------------------------------------------------------- /tests/utf8/t0001.in: -------------------------------------------------------------------------------- 1 | data1 -------------------------------------------------------------------------------- /tests/utf8/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -c t0001.in) 2 | \S[300]\s[200]jllllll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/utf8/t0002.in: -------------------------------------------------------------------------------- 1 | data2 -------------------------------------------------------------------------------- /tests/utf8/t0002.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -n 7 -c t0002.in) 2 | \S[300]\s[300]jjjjjj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/utf8/t0003.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(LANG=C smenu -M -m «←→» t0003.in) 2 | 3 | .... 4 | 36:01 37:01 38:01 39:01 5 | 6 | 7 | ... ... ... 8 | 33:07 34:07 35:07 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :...: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/utf8/t0003.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/utf8/t0003.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=C smenu -M -m «←→» t0003.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/utf8/t0004.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(LANG=en_US.UTF-8 smenu -M -m «←→» t0003.in) 2 | 3 | «←→» 4 | 36:01 37:01 38:01 39:01 5 | 6 | 7 | éé€ éé€ é€é 8 | 33:07 34:07 35:07 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :éé€: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/utf8/t0004.in: -------------------------------------------------------------------------------- 1 | data3 -------------------------------------------------------------------------------- /tests/utf8/t0004.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(LANG=en_US.UTF-8 smenu -M -m «←→» t0003.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/utf8/t0005.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu '-I/\u45/\ue29782\ue296b8/g' t0005.in) 2 | 3 | ◂▸é◂▸€ abc◂▸def◂▸ 4 | 0:07 1:07 2:07 3:07 4:07 5:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :◂▸é◂▸€: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/utf8/t0005.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/utf8/t0005.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu '-I/\\u45/\\ue29782\\ue296b8/g' t0005.in) 2 | \S[2100]\s[2100]\r 3 | \S[2100]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/utf8/t0006.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu '-I/E/\ue29782\ue296b8/g' t0006.in) 2 | 3 | ◂▸é◂▸€ abc◂▸def◂▸ 4 | 0:07 1:07 2:07 3:07 4:07 5:07 5 | $ 6 | 7 | $ echo ":$OUT:" 8 | 9 | :◂▸é◂▸€: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/utf8/t0006.in: -------------------------------------------------------------------------------- 1 | data4 -------------------------------------------------------------------------------- /tests/utf8/t0006.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu '-I/E/\\ue29782\\ue296b8/g' t0006.in) 2 | \S[300]\s[200]\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/utf8/t0007.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu t0007.in) 2 | 3 | ×▁▂▃▄▅▆▇█× ×▁▂▃▄▅▆▇█× ×▄×▄× ×▄×▄× ×......× 1①2 ②2 1③ 1④2⑤3 1.2 .2 1. 1.2.3 4 | 22:07 23:07 24:07 25:07 26:07 5 | ×.× ×é× ×é× ×é× ×é× ×é× ×é× 6 | 7 | $ 8 | 9 | $ echo ":$OUT:" 10 | 11 | :×▄×▄×: 12 | 13 | $ exit 0 14 | -------------------------------------------------------------------------------- /tests/utf8/t0007.in: -------------------------------------------------------------------------------- 1 | data5 -------------------------------------------------------------------------------- /tests/utf8/t0007.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu t0007.in) 2 | \S[300]\s[200]ll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/utf8/t0008.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c t0008.in) 2 | 3 | x é x 4 | 5 | é x é 6 | 7 | x é x 8 | 2:07 3:07 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :é: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/utf8/t0008.in: -------------------------------------------------------------------------------- 1 | data6 -------------------------------------------------------------------------------- /tests/utf8/t0008.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c t0008.in) 2 | \S[300]\s[200]ljj\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/utf8/t0009.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c t0009.in) 2 | 3 | x 🇺🇸 x 4 | 5 | 🇫🇷 x 🇫🇷 6 | 7 | x 🇺🇸 x 8 | 6:07 7:07 9 | $ 10 | 11 | $ echo ":$OUT:" 12 | 13 | :x: 14 | 15 | $ exit 0 16 | -------------------------------------------------------------------------------- /tests/utf8/t0009.in: -------------------------------------------------------------------------------- 1 | data7 -------------------------------------------------------------------------------- /tests/utf8/t0009.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c t0009.in) 2 | \S[300]\s[200]ljjl\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/utf8/t0010.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -c t0010.in) 2 | 3 | x y ❤️‍🔥 x y 4 | 5 | 👨‍👩‍👧 x y 👩‍💻 6 | 11:07 12:07 13:07 7 | $ 8 | 9 | $ echo ":$OUT:" 10 | 11 | :👩‍💻: 12 | 13 | $ exit 0 14 | -------------------------------------------------------------------------------- /tests/utf8/t0010.in: -------------------------------------------------------------------------------- 1 | data8 -------------------------------------------------------------------------------- /tests/utf8/t0010.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -c t0010.in) 2 | \S[300]\s[200]lljhhlll\r 3 | \S[300]\s[80]echo ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /tests/word_separators/data1: -------------------------------------------------------------------------------- 1 | abc»def»ghi» 2 | »jkl»mno»pqr 3 | -------------------------------------------------------------------------------- /tests/word_separators/t0001.good: -------------------------------------------------------------------------------- 1 | $ OUT=$(smenu -W» t0001.in) 2 | 3 | abc def ghi \n jkl mno pqr\n 4 | 12:07 13:07 5 | $ 6 | 7 | $ printf "%s\n" ":$OUT:" 8 | 9 | :\n: 10 | 11 | $ exit 0 12 | -------------------------------------------------------------------------------- /tests/word_separators/t0001.in: -------------------------------------------------------------------------------- 1 | abc»def»ghi» 2 | »jkl»mno»pqr 3 | -------------------------------------------------------------------------------- /tests/word_separators/t0001.tst: -------------------------------------------------------------------------------- 1 | \S[300]\s[80]OUT=$(smenu -W» t0001.in) 2 | \S[300]\s[200]lll\r 3 | \S[300]\s[80]printf "%s\\n" ":$\s[80]OUT:" 4 | exit 0 5 | -------------------------------------------------------------------------------- /version: -------------------------------------------------------------------------------- 1 | 1.5.0 2 | --------------------------------------------------------------------------------