reference_book 0.0.1
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.
- checksums.yaml +7 -0
- data/.gitignore +27 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +82 -0
- data/Rakefile +8 -0
- data/examples/config.rb +59 -0
- data/examples/interface_and_use.rb +129 -0
- data/examples/rails_controllers_and_views.rb +65 -0
- data/examples/rails_models.rb +103 -0
- data/lib/reference_book/book.rb +2 -0
- data/lib/reference_book/errors.rb +13 -0
- data/lib/reference_book/inflector.rb +34 -0
- data/lib/reference_book/library.rb +64 -0
- data/lib/reference_book/setup/collector.rb +28 -0
- data/lib/reference_book/setup/locked_book_spec.rb +51 -0
- data/lib/reference_book/setup/writer.rb +70 -0
- data/lib/reference_book/setup.rb +2 -0
- data/lib/reference_book/version.rb +3 -0
- data/lib/reference_book.rb +52 -0
- data/reference_book.gemspec +26 -0
- data/test/book_test.rb +118 -0
- data/test/inflector_test.rb +81 -0
- data/test/library_test.rb +166 -0
- data/test/reference_book_test.rb +197 -0
- data/test/setup/collector_test.rb +96 -0
- data/test/setup/locked_book_spec_test.rb +117 -0
- data/test/setup/writer_test.rb +202 -0
- data/test/test_helper.rb +4 -0
- metadata +121 -0
@@ -0,0 +1,96 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class CollectorTest < Minitest::Test
|
4
|
+
|
5
|
+
def setup
|
6
|
+
super
|
7
|
+
@collector = ReferenceBook::Setup::Collector.new
|
8
|
+
end
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
def test_undefined_keys
|
13
|
+
assert_nil @collector.foobar
|
14
|
+
assert_empty @collector.to_h
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
def test_direct_assignement
|
19
|
+
assert_nil @collector.foo
|
20
|
+
assert_nil @collector.bar
|
21
|
+
|
22
|
+
@collector.foo = "ciao"
|
23
|
+
|
24
|
+
assert_equal "ciao", @collector.foo
|
25
|
+
assert_nil @collector.bar
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
def test_hash_assignement
|
30
|
+
assert_nil @collector.foo
|
31
|
+
assert_nil @collector.bar
|
32
|
+
|
33
|
+
@collector[:foo] = "ciao"
|
34
|
+
|
35
|
+
assert_equal "ciao", @collector.foo
|
36
|
+
assert_nil @collector.bar
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
def test_to_hash
|
42
|
+
assert_empty @collector.to_h
|
43
|
+
assert_equal Hash, @collector.to_h.class
|
44
|
+
|
45
|
+
@collector.foo = "hello"
|
46
|
+
@collector.bar = "ciao"
|
47
|
+
|
48
|
+
refute_empty @collector.to_h
|
49
|
+
assert_equal 2, @collector.to_h.size
|
50
|
+
assert_equal "hello", @collector.to_h[:foo]
|
51
|
+
assert_equal "ciao", @collector.to_h[:bar]
|
52
|
+
assert_nil @collector.to_h[:baz]
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
def test_assign_nil
|
57
|
+
assert_nil @collector.foo
|
58
|
+
assert_empty @collector.to_h
|
59
|
+
|
60
|
+
@collector.foo = nil
|
61
|
+
|
62
|
+
assert_nil @collector.foo
|
63
|
+
assert_equal 1, @collector.to_h.size
|
64
|
+
assert_includes @collector.to_h.keys, :foo
|
65
|
+
end
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
def test_set_title_direct
|
70
|
+
assert_raises ReferenceBook::BookDefinitionError do
|
71
|
+
@collector.title = 'anything'
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
def test_set_library_key_direct
|
77
|
+
assert_raises ReferenceBook::BookDefinitionError do
|
78
|
+
@collector.library_key = 'anything'
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
|
83
|
+
def test_set_title_hash
|
84
|
+
assert_raises ReferenceBook::BookDefinitionError do
|
85
|
+
@collector[:title] = 'anything'
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
|
90
|
+
def test_set_library_key_hash
|
91
|
+
assert_raises ReferenceBook::BookDefinitionError do
|
92
|
+
@collector[:library_key] = 'anything'
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class LockedBookSpecTest < Minitest::Test
|
4
|
+
|
5
|
+
|
6
|
+
def test_constructor
|
7
|
+
result = ReferenceBook::Setup::LockedBookSpec.new([:one])
|
8
|
+
assert result
|
9
|
+
assert_equal ReferenceBook::Setup::LockedBookSpec, result.class
|
10
|
+
|
11
|
+
assert_raises ReferenceBook::LockedBookSpecError do
|
12
|
+
ReferenceBook::Setup::LockedBookSpec.new([])
|
13
|
+
end
|
14
|
+
|
15
|
+
assert_raises ArgumentError do
|
16
|
+
ReferenceBook::Setup::LockedBookSpec.new
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
def test_verify_keys_pass
|
23
|
+
spec = make_locked_spec
|
24
|
+
|
25
|
+
assert spec.verify_keys!([:foo, :bar, :baz])
|
26
|
+
assert spec.verify_keys!([:bar, :baz, :foo])
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
def test_verify_keys_fail_missing
|
32
|
+
spec = make_locked_spec
|
33
|
+
|
34
|
+
error_1 = assert_raises ReferenceBook::BookDefinitionError do
|
35
|
+
spec.verify_keys!([:foo, :bar])
|
36
|
+
end
|
37
|
+
|
38
|
+
reported_missing = extract_missing_keys(error_1.message)
|
39
|
+
assert_equal reported_missing.sort, %w(baz)
|
40
|
+
|
41
|
+
error_2 = assert_raises ReferenceBook::BookDefinitionError do
|
42
|
+
spec.verify_keys!([])
|
43
|
+
end
|
44
|
+
|
45
|
+
reported_missing = extract_missing_keys(error_2.message)
|
46
|
+
assert_equal reported_missing.sort, %w(bar baz foo)
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
def test_verify_keys_fail_unexpected
|
52
|
+
spec = make_locked_spec
|
53
|
+
|
54
|
+
error_1 = assert_raises ReferenceBook::BookDefinitionError do
|
55
|
+
spec.verify_keys!([:foo, :bar, :baz, :hello])
|
56
|
+
end
|
57
|
+
|
58
|
+
reported_unexpected = extract_unexpected_keys(error_1.message)
|
59
|
+
assert_equal reported_unexpected.sort, %w(hello)
|
60
|
+
|
61
|
+
error_2 = assert_raises ReferenceBook::BookDefinitionError do
|
62
|
+
spec.verify_keys!([:foo, :baz, :one, :two, :bar])
|
63
|
+
end
|
64
|
+
|
65
|
+
reported_unexpected = extract_unexpected_keys(error_2.message)
|
66
|
+
assert_equal reported_unexpected.sort, %w(one two)
|
67
|
+
end
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
def test_verify_keys_fail_missing_and_unexpected
|
72
|
+
spec = make_locked_spec
|
73
|
+
|
74
|
+
error_1 = assert_raises ReferenceBook::BookDefinitionError do
|
75
|
+
spec.verify_keys!([:bar, :hello, :foo])
|
76
|
+
end
|
77
|
+
|
78
|
+
reported_missing = extract_missing_keys(error_1.message)
|
79
|
+
assert_equal reported_missing.sort, %w(baz)
|
80
|
+
|
81
|
+
reported_unexpected = extract_unexpected_keys(error_1.message)
|
82
|
+
assert_equal reported_unexpected.sort, %w(hello)
|
83
|
+
|
84
|
+
error_2 = assert_raises ReferenceBook::BookDefinitionError do
|
85
|
+
spec.verify_keys!([:one, :two, :three])
|
86
|
+
end
|
87
|
+
|
88
|
+
reported_missing = extract_missing_keys(error_2.message)
|
89
|
+
assert_equal reported_missing.sort, %w(bar baz foo)
|
90
|
+
|
91
|
+
reported_unexpected = extract_unexpected_keys(error_2.message)
|
92
|
+
assert_equal reported_unexpected.sort, %w(one three two)
|
93
|
+
end
|
94
|
+
|
95
|
+
|
96
|
+
private
|
97
|
+
|
98
|
+
def make_locked_spec(keys = nil)
|
99
|
+
keys ||= [:foo, :bar, :baz]
|
100
|
+
ReferenceBook::Setup::LockedBookSpec.new(keys)
|
101
|
+
end
|
102
|
+
|
103
|
+
|
104
|
+
def extract_missing_keys(msg)
|
105
|
+
reg = /missing keys\: \[([a-zA-Z_\-\, ]+)\]/
|
106
|
+
data = reg.match msg
|
107
|
+
data[1].split(', ')
|
108
|
+
end
|
109
|
+
|
110
|
+
|
111
|
+
def extract_unexpected_keys(msg)
|
112
|
+
reg = /unexpected keys\: \[([a-zA-Z_\-\, ]+)\]/
|
113
|
+
data = reg.match msg
|
114
|
+
data[1].split(', ')
|
115
|
+
end
|
116
|
+
|
117
|
+
end
|
@@ -0,0 +1,202 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class WriterTest < Minitest::Test
|
4
|
+
|
5
|
+
def test_initialize_with_locked_spec
|
6
|
+
assert ReferenceBook::Setup::Writer.new(make_locked_spec)
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
def test_initialize_with_nil
|
11
|
+
assert ReferenceBook::Setup::Writer.new(nil)
|
12
|
+
assert ReferenceBook::Setup::Writer.new
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
def test_create_book_normal
|
17
|
+
writer = ReferenceBook::Setup::Writer.new
|
18
|
+
collector = make_collector
|
19
|
+
|
20
|
+
book = writer.create_book_with('title', 'key', collector)
|
21
|
+
|
22
|
+
assert book.is_a?(ReferenceBook::Book)
|
23
|
+
assert_equal "ReferenceBook::Book::Title", book.class.name
|
24
|
+
assert book.frozen?
|
25
|
+
assert_equal "Title", book.title
|
26
|
+
assert_equal :key, book.library_key
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
def test_attributes_of_created_book
|
32
|
+
collector = make_collector one: 1, two: 2, three: '3'
|
33
|
+
writer = ReferenceBook::Setup::Writer.new
|
34
|
+
book = writer.create_book_with('CheckAttrs', nil, collector)
|
35
|
+
|
36
|
+
assert_equal collector.one, book.one
|
37
|
+
assert_equal collector.two, book.two
|
38
|
+
assert_equal collector.three, book.three
|
39
|
+
|
40
|
+
assert_equal "CheckAttrs", book.title
|
41
|
+
assert_equal :check_attrs, book.library_key
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
def test_create_book_without_title
|
47
|
+
writer = ReferenceBook::Setup::Writer.new
|
48
|
+
collector = make_collector
|
49
|
+
|
50
|
+
book = writer.create_book_with(nil, nil, collector)
|
51
|
+
|
52
|
+
assert book.is_a?(ReferenceBook::Book)
|
53
|
+
assert_equal "ReferenceBook::Book::Default", book.class.name
|
54
|
+
assert book.frozen?
|
55
|
+
assert_equal "Default", book.title
|
56
|
+
assert_equal :default, book.library_key
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
def test_create_book_without_explicit_key
|
62
|
+
writer = ReferenceBook::Setup::Writer.new
|
63
|
+
collector = make_collector
|
64
|
+
|
65
|
+
book = writer.create_book_with('MyTitle', nil, collector)
|
66
|
+
|
67
|
+
assert book.is_a?(ReferenceBook::Book)
|
68
|
+
assert book.frozen?
|
69
|
+
assert_equal "MyTitle", book.title
|
70
|
+
assert_equal :my_title, book.library_key
|
71
|
+
end
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
def test_create_book_with_symbol_key_parameter
|
76
|
+
writer = ReferenceBook::Setup::Writer.new
|
77
|
+
collector = make_collector
|
78
|
+
|
79
|
+
book = writer.create_book_with('titlea', :"Not Nice", collector)
|
80
|
+
|
81
|
+
assert book.is_a?(ReferenceBook::Book)
|
82
|
+
assert book.frozen?
|
83
|
+
assert_equal "Titlea", book.title
|
84
|
+
assert_equal :"Not Nice", book.library_key
|
85
|
+
end
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
def test_create_book_with_duplicated_library_key
|
91
|
+
writer = ReferenceBook::Setup::Writer.new
|
92
|
+
collector = make_collector
|
93
|
+
|
94
|
+
book = writer.create_book_with('TitleOne', :existing_key, collector)
|
95
|
+
ReferenceBook::Library.store(book)
|
96
|
+
|
97
|
+
assert_raises ReferenceBook::BookDefinitionError do
|
98
|
+
writer.create_book_with('TitleTwo', :existing_key, collector)
|
99
|
+
end
|
100
|
+
|
101
|
+
book = writer.create_book_with('TitleThree', :new_key, collector)
|
102
|
+
assert book.is_a?(ReferenceBook::Book)
|
103
|
+
|
104
|
+
ReferenceBook::Library.empty!
|
105
|
+
end
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
def test_create_book_with_spec_pass
|
110
|
+
spec = make_locked_spec [:one, :two, :three]
|
111
|
+
writer = ReferenceBook::Setup::Writer.new(spec)
|
112
|
+
collector = make_collector one: 1, two: 2, three: 3
|
113
|
+
|
114
|
+
book = writer.create_book_with('with spec pass', nil, collector)
|
115
|
+
|
116
|
+
assert book.is_a?(ReferenceBook::Book)
|
117
|
+
assert_equal "ReferenceBook::Book::Withspecpass", book.class.name
|
118
|
+
assert book.frozen?
|
119
|
+
assert_equal "Withspecpass", book.title
|
120
|
+
assert_equal :with_spec_pass, book.library_key
|
121
|
+
end
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
def test_create_book_with_spec_fail_missing
|
126
|
+
spec = make_locked_spec [:one, :two, :three]
|
127
|
+
writer = ReferenceBook::Setup::Writer.new(spec)
|
128
|
+
collector = make_collector one: 1, two: 2
|
129
|
+
|
130
|
+
assert_raises ReferenceBook::BookDefinitionError do
|
131
|
+
writer.create_book_with('with spec fail', nil, collector)
|
132
|
+
end
|
133
|
+
|
134
|
+
empty_collector = ReferenceBook::Setup::Collector.new
|
135
|
+
|
136
|
+
assert_raises ReferenceBook::BookDefinitionError do
|
137
|
+
writer.create_book_with('with spec fail', nil, empty_collector)
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
|
142
|
+
def test_create_book_with_spec_fail_unexpected
|
143
|
+
spec = make_locked_spec [:one, :two, :three]
|
144
|
+
writer = ReferenceBook::Setup::Writer.new(spec)
|
145
|
+
collector = make_collector one: 1, two: 2, three: 3, four: 4
|
146
|
+
|
147
|
+
assert_raises ReferenceBook::BookDefinitionError do
|
148
|
+
writer.create_book_with('with spec fail', nil, collector)
|
149
|
+
end
|
150
|
+
|
151
|
+
|
152
|
+
collector = make_collector foo: 1, bar: 2
|
153
|
+
|
154
|
+
assert_raises ReferenceBook::BookDefinitionError do
|
155
|
+
writer.create_book_with('with spec fail', nil, collector)
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
|
160
|
+
def test_create_book_with_spec_fail_missing_and_unexpected
|
161
|
+
spec = make_locked_spec [:one, :two, :three]
|
162
|
+
writer = ReferenceBook::Setup::Writer.new(spec)
|
163
|
+
collector = make_collector one: 1, two: 2, four: 4
|
164
|
+
|
165
|
+
assert_raises ReferenceBook::BookDefinitionError do
|
166
|
+
writer.create_book_with('with spec fail', nil, collector)
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
private
|
173
|
+
|
174
|
+
def make_collector(keys = {})
|
175
|
+
collector = ReferenceBook::Setup::Collector.new
|
176
|
+
if keys.any?
|
177
|
+
keys.each_pair { |k, v| collector[k] = v }
|
178
|
+
else
|
179
|
+
collector.foo = 11
|
180
|
+
collector.bar = 22
|
181
|
+
collector.baz = 33
|
182
|
+
end
|
183
|
+
collector
|
184
|
+
end
|
185
|
+
|
186
|
+
|
187
|
+
def make_locked_spec(keys = nil)
|
188
|
+
keys ||= [:foo, :bar, :baz]
|
189
|
+
ReferenceBook::Setup::LockedBookSpec.new(keys)
|
190
|
+
end
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
def debug(book)
|
195
|
+
puts <<-EOS
|
196
|
+
|
197
|
+
----
|
198
|
+
book: #{book}
|
199
|
+
----
|
200
|
+
EOS
|
201
|
+
end
|
202
|
+
end
|
data/test/test_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,121 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: reference_book
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Tommaso Pavese
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-08-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.6'
|
20
|
+
requirement: !ruby/object:Gem::Requirement
|
21
|
+
requirements:
|
22
|
+
- - ~>
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: '1.6'
|
25
|
+
prerelease: false
|
26
|
+
type: :development
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ~>
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '10.0'
|
39
|
+
prerelease: false
|
40
|
+
type: :development
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.3'
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ~>
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '5.3'
|
53
|
+
prerelease: false
|
54
|
+
type: :development
|
55
|
+
description: A multi-context configuration library and DSL. ReferenceBook provides an easy interface to define, validate and query multi-context configuration data.
|
56
|
+
email:
|
57
|
+
executables: []
|
58
|
+
extensions: []
|
59
|
+
extra_rdoc_files: []
|
60
|
+
files:
|
61
|
+
- .gitignore
|
62
|
+
- Gemfile
|
63
|
+
- LICENSE.txt
|
64
|
+
- README.md
|
65
|
+
- Rakefile
|
66
|
+
- examples/config.rb
|
67
|
+
- examples/interface_and_use.rb
|
68
|
+
- examples/rails_controllers_and_views.rb
|
69
|
+
- examples/rails_models.rb
|
70
|
+
- lib/reference_book.rb
|
71
|
+
- lib/reference_book/book.rb
|
72
|
+
- lib/reference_book/errors.rb
|
73
|
+
- lib/reference_book/inflector.rb
|
74
|
+
- lib/reference_book/library.rb
|
75
|
+
- lib/reference_book/setup.rb
|
76
|
+
- lib/reference_book/setup/collector.rb
|
77
|
+
- lib/reference_book/setup/locked_book_spec.rb
|
78
|
+
- lib/reference_book/setup/writer.rb
|
79
|
+
- lib/reference_book/version.rb
|
80
|
+
- reference_book.gemspec
|
81
|
+
- test/book_test.rb
|
82
|
+
- test/inflector_test.rb
|
83
|
+
- test/library_test.rb
|
84
|
+
- test/reference_book_test.rb
|
85
|
+
- test/setup/collector_test.rb
|
86
|
+
- test/setup/locked_book_spec_test.rb
|
87
|
+
- test/setup/writer_test.rb
|
88
|
+
- test/test_helper.rb
|
89
|
+
homepage: https://github.com/tompave/reference_book
|
90
|
+
licenses:
|
91
|
+
- MIT
|
92
|
+
metadata: {}
|
93
|
+
post_install_message:
|
94
|
+
rdoc_options: []
|
95
|
+
require_paths:
|
96
|
+
- lib
|
97
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 2.0.0
|
102
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - '>='
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '0'
|
107
|
+
requirements: []
|
108
|
+
rubyforge_project:
|
109
|
+
rubygems_version: 2.2.2
|
110
|
+
signing_key:
|
111
|
+
specification_version: 4
|
112
|
+
summary: A multi-context configuration library and DSL.
|
113
|
+
test_files:
|
114
|
+
- test/book_test.rb
|
115
|
+
- test/inflector_test.rb
|
116
|
+
- test/library_test.rb
|
117
|
+
- test/reference_book_test.rb
|
118
|
+
- test/setup/collector_test.rb
|
119
|
+
- test/setup/locked_book_spec_test.rb
|
120
|
+
- test/setup/writer_test.rb
|
121
|
+
- test/test_helper.rb
|