rfs 0.1 → 0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +110 -0
- data/Rakefile.rb +7 -5
- data/bin/RenameFileSet.rbw +7 -9
- data/bin/rfs.rb +86 -49
- data/description.txt +1 -0
- data/lib/errors.rb +6 -0
- data/lib/gui.rb +21 -6
- data/lib/innate/array.rb +81 -72
- data/lib/innate/filelines.rb +1 -1
- data/lib/innate/regexp.rb +6 -2
- data/lib/innate/roman.rb +6 -5
- data/lib/innate/test/testarray.rb +71 -35
- data/lib/innate/test/testroman.rb +4 -0
- data/lib/options.rb +22 -23
- data/lib/providers.rb +60 -1
- data/lib/rename_functions.rb +18 -4
- data/lib/renamer.rb +9 -3
- data/lib/results.rb +17 -7
- data/profile.txt +226 -0
- data/tests/test_rename_functions.rb +10 -2
- metadata +8 -6
- data/lib/RenameFileSet.bak.rb +0 -372
- data/tests/test_helper.rb +0 -147
data/tests/test_helper.rb
DELETED
@@ -1,147 +0,0 @@
|
|
1
|
-
$TESTING ||= true
|
2
|
-
#require 'innate/tracerequire'
|
3
|
-
require 'innate/debug'
|
4
|
-
require 'innate/reload'
|
5
|
-
require 'pp'
|
6
|
-
require 'test/unit'
|
7
|
-
$:.unshift '../lib'
|
8
|
-
require 'renamer'
|
9
|
-
require 'cursor/indexed'
|
10
|
-
|
11
|
-
|
12
|
-
class RenamerMock < Renamer
|
13
|
-
attr_reader :renames
|
14
|
-
|
15
|
-
def run(name, options, &block)
|
16
|
-
@onrename = block
|
17
|
-
@renames = []
|
18
|
-
@yielded = true
|
19
|
-
p = options[:file_provider]
|
20
|
-
if p.methods.include? "on_after"
|
21
|
-
p.on_after do
|
22
|
-
unless @onrename and @yielded
|
23
|
-
@onrename.call :result => @result, :result_type => @result_type, :result_path => @result_path, :result_file => @result_file
|
24
|
-
@yielded = true
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
super(name, options) do |rtype, result, path, file|
|
29
|
-
@result = result
|
30
|
-
@result_type = rtype
|
31
|
-
@result_path = path
|
32
|
-
@result_file = file
|
33
|
-
@yielded = false
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def rename(path, oldfn, newfn, full_path = false)
|
38
|
-
super
|
39
|
-
if @onrename
|
40
|
-
r = @onrename.call(:path => path,
|
41
|
-
:oldfn => oldfn,
|
42
|
-
:newfn => newfn,
|
43
|
-
:full_path => full_path,
|
44
|
-
:result => @result,
|
45
|
-
:result_type => @result_type,
|
46
|
-
:result_path => @result_path,
|
47
|
-
:result_file => @result_file,
|
48
|
-
:confirm => @confirm)
|
49
|
-
@yielded = true
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
alias actual_rename_orig actual_rename
|
54
|
-
|
55
|
-
def actual_rename(o, n)
|
56
|
-
@renames << [o, n]
|
57
|
-
end
|
58
|
-
|
59
|
-
alias actual_delete_orig actual_delete
|
60
|
-
|
61
|
-
def actual_delete(fn)
|
62
|
-
@renames << [fn, :deleted]
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
|
67
|
-
module FileProviderTestEvents
|
68
|
-
def self.extended(base)
|
69
|
-
base.class.class_eval do
|
70
|
-
alias_method :each_before_fpte, :each
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
def each
|
75
|
-
each_before_fpte do |path, file|
|
76
|
-
before path, file
|
77
|
-
yield path, file
|
78
|
-
after path, file
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
def on_before &block
|
83
|
-
@on_before = [block]
|
84
|
-
end
|
85
|
-
|
86
|
-
def on_after &block
|
87
|
-
@on_after = [block]
|
88
|
-
end
|
89
|
-
|
90
|
-
def before p, f
|
91
|
-
return unless @on_before
|
92
|
-
@on_before.each do |m|
|
93
|
-
m.call p, f if m
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
def after p, f
|
98
|
-
return unless @on_before
|
99
|
-
@on_after.each do |m|
|
100
|
-
m.call p, f if m
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
class BaseTest < Test::Unit::TestCase
|
106
|
-
def setup
|
107
|
-
new_files( %w{ dir/. dir/.. dir/file1 dir/file2 dir/file3 } )
|
108
|
-
@r = RenamerMock.new
|
109
|
-
end
|
110
|
-
|
111
|
-
def new_files(files)
|
112
|
-
@files = Provider::File::Array.new(files)
|
113
|
-
add_file_events
|
114
|
-
end
|
115
|
-
|
116
|
-
def add_file_events
|
117
|
-
@files.extend FileProviderTestEvents
|
118
|
-
@files.on_before do |p, f|
|
119
|
-
@path = p
|
120
|
-
@file = f
|
121
|
-
@full_name = fp File.join(p, f)
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
|
-
def fp(path)
|
126
|
-
File.expand_path path
|
127
|
-
end
|
128
|
-
|
129
|
-
def test_shutup; end
|
130
|
-
|
131
|
-
def r(action, name = :rename_replace, expected_yields = nil, options = {})
|
132
|
-
options[:file_provider] ||= @files
|
133
|
-
options[:action] ||= action
|
134
|
-
options[:filter] = Filter.add options[:filter], Filter.new(/^\.+$/) unless options[:test_r_nofilter]
|
135
|
-
yc = 0
|
136
|
-
@r.run name, options do |h|
|
137
|
-
yc += 1
|
138
|
-
yield h if block_given?
|
139
|
-
end
|
140
|
-
if options[:test_r_count]
|
141
|
-
raise 'exception raised' if expected_yields and expected_yields != yc
|
142
|
-
else
|
143
|
-
assert_equal expected_yields, yc, 'Expected yields from renamer' if expected_yields
|
144
|
-
end
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|