summaryrefslogtreecommitdiff
path: root/test/fileutils/test_nowrite.rb
blob: dc9408f3c1fb77efe2b70dc88780f7aae87baa7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#
#
#

$:.unshift File.dirname(__FILE__)

require 'fileutils'
require 'test/unit'
require 'fileasserts'


class TestNoWrite < Test::Unit::TestCase

  include FileUtils::NoWrite

  SRC  = 'data/src'
  COPY = 'data/copy'

  def setup
    system 'rm -rf data; mkdir data'
    system 'rm -rf tmp; mkdir tmp'
    File.open( SRC,  'w' ) {|f| f.puts 'dummy' }
    File.open( COPY, 'w' ) {|f| f.puts 'dummy' }
  end

  def teardown
    system 'rm -rf data tmp'
  end

  def test_cp
    cp SRC, 'tmp/cp'
    check 'tmp/cp'
  end

  def test_mv
    mv SRC, 'tmp/mv'
    check 'tmp/mv'
  end

  def check( dest )
    assert_file_not_exist dest
    assert_file_exist SRC
    assert_same_file SRC, COPY
  end

  def test_rm
    rm SRC
    assert_file_exist SRC
    assert_same_file SRC, COPY
  end

  def test_rm_f
    rm_f SRC
    assert_file_exist SRC
    assert_same_file SRC, COPY
  end

  def test_rm_rf
    rm_rf SRC
    assert_file_exist SRC
    assert_same_file SRC, COPY
  end

  def test_mkdir
    mkdir 'dir'
    assert_file_not_exist 'dir'
  end

  def test_mkdir_p
    mkdir 'dir/dir/dir'
    assert_file_not_exist 'dir'
  end

end