Files
bin
doc
examples
files
lib
python
src
t
bin
00-assert.rb
00-exit_nonzero.rb
00-exit_status.rb
00-exit_zero.rb
00-file_equal.rb
00-file_not_equal.rb
00-ignore_file.rb
00-import_file.rb
00-stderr_equal.rb
00-stderr_not_equal.rb
00-stdout_equal.rb
00-stdout_not_equal.rb
01-cmd.rb
01-misc.rb
01-simple.rb
CMDTEST_assert.rb
CMDTEST_chdir.rb
CMDTEST_cmd.rb
CMDTEST_dont_ignore_files.rb
CMDTEST_exit_nonzero.rb
CMDTEST_exit_status.rb
CMDTEST_exit_zero.rb
CMDTEST_file_equal.rb
CMDTEST_file_not_equal.rb
CMDTEST_ignore_file.rb
CMDTEST_import_directory.rb
CMDTEST_import_file.rb
CMDTEST_misc.rb
CMDTEST_options.rb
CMDTEST_raise.rb
CMDTEST_readonly.rb
CMDTEST_setenv.rb
CMDTEST_simple.rb
CMDTEST_stdxxx_equal.rb
CMDTEST_summary.rb
CMDTEST_teardown.rb
CMDTEST_unicode.rb
selftest_utils.rb
.gitignore
.hgignore
CMDTEST_example.yml
CMakeLists.txt
COPYING.txt
README.html
README.rst
Rakefile
cmdtest.gemspec
file1.txt
file2.txt
replace_strings.pl
run-regression.rb
setup.rb
cmdtest/t/CMDTEST_assert.rb
Johan Holmberg 776f1595ac New CMDTEST_*.rb files testing "cmdtest" itself.
These files will replaces the old tests.
2011-10-12 22:19:44 +02:00

86 lines
1.7 KiB
Ruby

require "selftest_utils"
class CMDTEST_assert < Cmdtest::Testcase
include SelftestUtils
#----------------------------------------
# a positive assert is "quiet"
def test_assert_CORRECT
create_CMDTEST_foo [
" cmd 'true.rb' do",
" assert true",
" end",
]
cmd_cmdtest do
stdout_equal [
"### true.rb",
]
end
end
#----------------------------------------
# a negative assert is prints an error
def test_assert_INCORRECT
create_CMDTEST_foo [
" cmd 'true.rb' do",
" assert false",
" end",
]
cmd_cmdtest do
stdout_equal [
"### true.rb",
"--- ERROR: assertion failed",
]
exit_nonzero
end
end
#----------------------------------------
# an assert can have an extra message parameter,
# that is printed if the assert is negative
def test_assert_INCORRECT_WITH_MSG
create_CMDTEST_foo [
" cmd 'true.rb' do",
" assert false, 'got false'",
" end",
]
cmd_cmdtest do
stdout_equal [
"### true.rb",
"--- ERROR: assertion: got false",
]
exit_nonzero
end
end
#----------------------------------------
# two negative asserts are both reported
def test_assert_INCORRECT_WITH_MSG_2
create_CMDTEST_foo [
" cmd 'true.rb' do",
" assert false, 'got false 1'",
" assert false, 'got false 2'",
" end",
]
cmd_cmdtest do
stdout_equal [
"### true.rb",
"--- ERROR: assertion: got false 1",
"--- ERROR: assertion: got false 2",
]
exit_nonzero
end
end
end