#!/bin/bash # -*- shell-script -*- # Test _Dbg_file_canonic proc test_file_file_canonic { setglobal _Dbg_set_basename = '0' for file in [/tmp/foo.bar /a/b/foo.bar foo.bar] { typeset canonic_file setglobal canonic_file = $[_Dbg_file_canonic $file] assertEquals 'canonic_file should return 0' '0' $Status assertEquals 'canonic_file should do nothing' $file $canonic_file } setglobal _Dbg_set_basename = '1' typeset canonic_file for file in [/tmp/foo.bar /a/b/foo.bar foo.bar] { setglobal canonic_file = $[_Dbg_file_canonic $file] assertEquals 'canonic_file should return 0' '0' $Status assertEquals 'canonic_file should shorten file' 'foo.bar' $canonic_file } setglobal canonic_file = $[_Dbg_file_canonic] assertNotEquals 'canonic_file not should return 0' '0' $Status # Other tests need _Dbg_set_basename = 0 setglobal _Dbg_set_basename = '0' } # Test _Dbg_tilde_expand_filename proc test_file_glob_filename { typeset filename setglobal filename = '''' _Dbg_tilde_expand_filename $shunit_file assertEquals '0' $Status setglobal filename = $(filename##*/) assertEquals 'shunit2' $filename _Dbg_tilde_expand_filename ./$(srcdir)shunit? assertEquals '0' $Status setglobal filename = $(filename##*/) assertEquals 'shunit2' $filename _Dbg_tilde_expand_filename ./$(srcdir)[a-s]h*nit? assertEquals '0' $Status setglobal filename = $(filename##*/) assertEquals 'shunit2' $filename _Dbg_tilde_expand_filename $(srcdir)abcdefg assertEquals '1' $Status setglobal filename = $(filename##*/) assertEquals 'abcdefg' $filename if [[ -r ~ ]] { _Dbg_tilde_expand_filename '~' assertEquals '0' $Status assertEquals ~ $filename } _Dbg_tilde_expand_filename $(srcdir)'some embedded spaces' assertEquals '1' $Status setglobal filename = $(filename##*/) assertEquals 'some embedded spaces' $filename } # Test _Dbg_adjust_filename proc test_file_adjust_filename { typeset filename setglobal _Dbg_set_annotate = '0' setglobal _Dbg_set_basename = '0' setglobal filename = $[_Dbg_adjust_filename abc] assertEquals 'abc' $filename setglobal filename = $[_Dbg_adjust_filename /abc] assertEquals '/abc' $filename setglobal _Dbg_set_basename = '1' setglobal filename = $[_Dbg_adjust_filename /abc] assertEquals 'abc' $filename } # Test _Dbg_tilde_expand_filename proc test_file_resolve_expand_filename { setglobal filename = $[_Dbg_resolve_expand_filename /] assertEquals '0' $Status assertEquals '/' $filename setglobal filename = $[_Dbg_resolve_expand_filename .] assertEquals '0' $Status assertEquals '/' $(filename:0:1) setglobal filename = $[_Dbg_resolve_expand_filename ./fdafdsa] assertEquals '0' $Status typeset -i size=$(#filename) assertEquals '/fdafdsa' $(filename:$size-8) assertNotEquals '.' $(filename:$size-1) } setglobal abs_top_srcdir = '/src/external-vcs/sourceforge/bashdb' # Make sure $abs_top_srcrdir has a trailing slash setglobal abs_top_srcdir = "$(abs_top_srcdir%%/)/" source ${abs_top_srcdir}test/unit/helper.sh setglobal srcdir = '.' setglobal srcdir = "$(srcdir%%/)/" source $abs_top_srcdir/init/pre.sh source $abs_top_srcdir/lib/filecache.sh source $abs_top_srcdir/lib/file.sh set -- # reset $# so shunit2 doesn't get confused. [[ $0 == ${BASH_SOURCE} ]] && source ${shunit_file}