Module: Test::Unit::Assertions

Defined in:
lib/el4r/el4r-sub.rb

Instance Method Summary collapse

Instance Method Details

#assert_file(assert_file, message = nil) ⇒ Object



399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
# File 'lib/el4r/el4r-sub.rb', line 399

def assert_file(assert_file, message=nil)
  AssertFile === assert_file  or assert_file = AssertFile.new(assert_file)
  $>.sync = true
  assert_file.unlink_diff
  diff = System.new("diff -u #{assert_file.expected} #{assert_file.actual} | tee #{assert_file.diff}")
  full_message = build_message(message, <<EOM, diff)
#{assert_file.expected} and #{assert_file.actual} differ!
# #{assert_file.expected} size=#{File.size(assert_file.expected)}
# #{assert_file.actual} size=#{File.size(assert_file.actual)}
# expected (view-fline #{assert_file.expected.dump})
# actual   (view-fline #{assert_file.actual.dump})
# ediff    (ediff      #{assert_file.expected.dump} #{assert_file.actual.dump})
?
EOM
  assert_block(full_message) {
    File.read(assert_file.expected) == File.read(assert_file.actual)
  }
  File.unlink assert_file.actual unless assert_file.no_remove
end