bindata 2.4.12 → 2.4.14

Sign up to get free protection for your applications and to get access to all the features.
data/test/lazy_test.rb CHANGED
@@ -41,33 +41,33 @@ describe BinData::LazyEvaluator, "with no parents" do
41
41
  }
42
42
 
43
43
  it "evaluates raw value when instantiated" do
44
- lazy_eval(5).must_equal 5
44
+ _(lazy_eval(5)).must_equal 5
45
45
  end
46
46
 
47
47
  it "evaluates raw value" do
48
- lazy_eval(5).must_equal 5
48
+ _(lazy_eval(5)).must_equal 5
49
49
  end
50
50
 
51
51
  it "evaluates value" do
52
- lazy_eval(lambda { 5 }).must_equal 5
52
+ _(lazy_eval(lambda { 5 })).must_equal 5
53
53
  end
54
54
 
55
55
  it "evaluates overrides" do
56
- lazy_eval(lambda { o1 }, o1: 'o1').must_equal 'o1'
56
+ _(lazy_eval(lambda { o1 }, o1: 'o1')).must_equal 'o1'
57
57
  end
58
58
 
59
59
  it "does not resolve any unknown methods" do
60
- lambda { lazy_eval(lambda { unknown }) }.must_raise NameError
61
- lambda { lazy_eval(lambda { m1 }) }.must_raise NameError
62
- lambda { lazy_eval(lambda { p1 }) }.must_raise NameError
60
+ _ { lazy_eval(lambda { unknown }) }.must_raise NameError
61
+ _ { lazy_eval(lambda { m1 }) }.must_raise NameError
62
+ _ { lazy_eval(lambda { p1 }) }.must_raise NameError
63
63
  end
64
64
 
65
65
  it "does not have a parent" do
66
- lazy_eval(lambda { parent }).must_be_nil
66
+ _(lazy_eval(lambda { parent })).must_be_nil
67
67
  end
68
68
 
69
69
  it "does not resolve #index" do
70
- lambda { lazy_eval(lambda { index }) }.must_raise NoMethodError
70
+ _ { lazy_eval(lambda { index }) }.must_raise NoMethodError
71
71
  end
72
72
  end
73
73
 
@@ -91,51 +91,51 @@ describe BinData::LazyEvaluator, "with one parent" do
91
91
  }
92
92
 
93
93
  it "evaluates raw value" do
94
- lazy_eval(5).must_equal 5
94
+ _(lazy_eval(5)).must_equal 5
95
95
  end
96
96
 
97
97
  it "evaluates value" do
98
- lazy_eval(lambda { 5 }).must_equal 5
98
+ _(lazy_eval(lambda { 5 })).must_equal 5
99
99
  end
100
100
 
101
101
  it "evaluates overrides before params" do
102
- lazy_eval(lambda { p1 }, p1: 'o1').must_equal 'o1'
102
+ _(lazy_eval(lambda { p1 }, p1: 'o1')).must_equal 'o1'
103
103
  end
104
104
 
105
105
  it "evaluates overrides before methods" do
106
- lazy_eval(lambda { m1 }, m1: 'o1').must_equal 'o1'
106
+ _(lazy_eval(lambda { m1 }, m1: 'o1')).must_equal 'o1'
107
107
  end
108
108
 
109
109
  it "does not resolve any unknown methods" do
110
- lambda { lazy_eval(lambda { unknown }) }.must_raise NoMethodError
110
+ _ { lazy_eval(lambda { unknown }) }.must_raise NoMethodError
111
111
  end
112
112
 
113
113
  it "resolves parameters in the parent" do
114
- lazy_eval(lambda { p1 }).must_equal 'Pp1'
114
+ _(lazy_eval(lambda { p1 })).must_equal 'Pp1'
115
115
  end
116
116
 
117
117
  it "resolves methods in the parent" do
118
- lazy_eval(lambda { m1 }).must_equal 'Pm1'
118
+ _(lazy_eval(lambda { m1 })).must_equal 'Pm1'
119
119
  end
120
120
 
121
121
  it "invokes methods in the parent" do
122
- lazy_eval(lambda { echo(p1, m1) }).must_equal ['Pp1', 'Pm1']
122
+ _(lazy_eval(lambda { echo(p1, m1) })).must_equal ['Pp1', 'Pm1']
123
123
  end
124
124
 
125
125
  it "invokes private methods in the parent" do
126
- lazy_eval(lambda { m2 }).must_equal 'Pm2'
126
+ _(lazy_eval(lambda { m2 })).must_equal 'Pm2'
127
127
  end
128
128
 
129
129
  it "resolves parameters in preference to methods in the parent" do
130
- lazy_eval(lambda { com1 }).must_equal 'PpC'
130
+ _(lazy_eval(lambda { com1 })).must_equal 'PpC'
131
131
  end
132
132
 
133
133
  it "has a parent" do
134
- lazy_eval(lambda { parent }).wont_be_nil
134
+ _(lazy_eval(lambda { parent })).wont_be_nil
135
135
  end
136
136
 
137
137
  it "does not resolve #index" do
138
- lambda { lazy_eval(lambda { index }) }.must_raise NoMethodError
138
+ _ { lazy_eval(lambda { index }) }.must_raise NoMethodError
139
139
  end
140
140
  end
141
141
 
@@ -167,58 +167,58 @@ describe BinData::LazyEvaluator, "with nested parents" do
167
167
  }
168
168
 
169
169
  it "accepts symbols as a shortcut to lambdas" do
170
- lazy_eval(:p1).must_equal 'Pp1'
171
- lazy_eval(:p2).must_equal 'PPp2'
172
- lazy_eval(:m1).must_equal 'Pm1'
173
- lazy_eval(:m2).must_equal 'PPm2'
170
+ _(lazy_eval(:p1)).must_equal 'Pp1'
171
+ _(lazy_eval(:p2)).must_equal 'PPp2'
172
+ _(lazy_eval(:m1)).must_equal 'Pm1'
173
+ _(lazy_eval(:m2)).must_equal 'PPm2'
174
174
  end
175
175
 
176
176
  it "does not resolve any unknown methods" do
177
- lambda { lazy_eval(lambda { unknown }) }.must_raise NoMethodError
177
+ _ { lazy_eval(lambda { unknown }) }.must_raise NoMethodError
178
178
  end
179
179
 
180
180
  it "resolves parameters in the parent" do
181
- lazy_eval(lambda { p1 }).must_equal 'Pp1'
181
+ _(lazy_eval(lambda { p1 })).must_equal 'Pp1'
182
182
  end
183
183
 
184
184
  it "resolves methods in the parent" do
185
- lazy_eval(lambda { m1 }).must_equal 'Pm1'
185
+ _(lazy_eval(lambda { m1 })).must_equal 'Pm1'
186
186
  end
187
187
 
188
188
  it "resolves parameters in the parent's parent" do
189
- lazy_eval(lambda { p2 }).must_equal 'PPp2'
189
+ _(lazy_eval(lambda { p2 })).must_equal 'PPp2'
190
190
  end
191
191
 
192
192
  it "resolves methods in the parent's parent" do
193
- lazy_eval(lambda { m2 }).must_equal 'PPm2'
193
+ _(lazy_eval(lambda { m2 })).must_equal 'PPm2'
194
194
  end
195
195
 
196
196
  it "invokes methods in the parent" do
197
- lazy_eval(lambda { echo(m1) }).must_equal ['P', 'Pm1']
197
+ _(lazy_eval(lambda { echo(m1) })).must_equal ['P', 'Pm1']
198
198
  end
199
199
 
200
200
  it "invokes methods in the parent's parent" do
201
- lazy_eval(lambda { parent.echo(m1) }, { m1: 'o1'}).must_equal ['PP', 'o1']
201
+ _(lazy_eval(lambda { parent.echo(m1) }, { m1: 'o1'})).must_equal ['PP', 'o1']
202
202
  end
203
203
 
204
204
  it "invokes methods in the parent's parent" do
205
- lazy_eval(lambda { echo2(m1) }).must_equal ['PP2', 'Pm1']
205
+ _(lazy_eval(lambda { echo2(m1) })).must_equal ['PP2', 'Pm1']
206
206
  end
207
207
 
208
208
  it "resolves parameters in preference to methods in the parent" do
209
- lazy_eval(lambda { com1 }).must_equal 'PpC'
209
+ _(lazy_eval(lambda { com1 })).must_equal 'PpC'
210
210
  end
211
211
 
212
212
  it "resolves methods in the parent explicitly" do
213
- lazy_eval(lambda { parent.m1 }).must_equal 'PPm1'
213
+ _(lazy_eval(lambda { parent.m1 })).must_equal 'PPm1'
214
214
  end
215
215
 
216
216
  it "cascades lambdas " do
217
- lazy_eval(lambda { sym1 }).must_equal 'PPm2'
218
- lazy_eval(lambda { sym2 }).must_equal 'PPm2'
217
+ _(lazy_eval(lambda { sym1 })).must_equal 'PPm2'
218
+ _(lazy_eval(lambda { sym2 })).must_equal 'PPm2'
219
219
  end
220
220
 
221
221
  it "does not resolve #index" do
222
- lambda { lazy_eval(lambda { index }) }.must_raise NoMethodError
222
+ _ { lazy_eval(lambda { index }) }.must_raise NoMethodError
223
223
  end
224
224
  end
data/test/offset_test.rb CHANGED
@@ -45,32 +45,32 @@ describe BinData::Base, "offsets" do
45
45
  it "fails when offset is incorrect" do
46
46
  io.seek(2)
47
47
  obj = TenByteOffsetBase.create(check_offset: 10 - 4)
48
- lambda { obj.read(io) }.must_raise BinData::ValidityError
48
+ _ { obj.read(io) }.must_raise BinData::ValidityError
49
49
  end
50
50
 
51
51
  it "succeeds when offset is correct" do
52
52
  io.seek(3)
53
53
  obj = TenByteOffsetBase.create(check_offset: 10)
54
- obj.read(io).snapshot.must_equal data[3 + 10, 3]
54
+ _(obj.read(io).snapshot).must_equal data[3 + 10, 3]
55
55
  end
56
56
 
57
57
  it "fails when :check_offset fails" do
58
58
  io.seek(4)
59
59
  obj = TenByteOffsetBase.create(check_offset: -> { offset == 10 + 1 } )
60
- lambda { obj.read(io) }.must_raise BinData::ValidityError
60
+ _ { obj.read(io) }.must_raise BinData::ValidityError
61
61
  end
62
62
 
63
63
  it "succeeds when :check_offset succeeds" do
64
64
  io.seek(5)
65
65
  obj = TenByteOffsetBase.create(check_offset: -> { offset == 10 } )
66
- obj.read(io).snapshot.must_equal data[5 + 10, 3]
66
+ _(obj.read(io).snapshot).must_equal data[5 + 10, 3]
67
67
  end
68
68
  end
69
69
 
70
70
  describe "with :adjust_offset" do
71
71
  it "is mutually exclusive with :check_offset" do
72
72
  params = { check_offset: 8, adjust_offset: 8 }
73
- lambda { TenByteOffsetBase.create(params) }.must_raise ArgumentError
73
+ _ { TenByteOffsetBase.create(params) }.must_raise ArgumentError
74
74
  end
75
75
 
76
76
  it "adjust offset when incorrect" do
@@ -79,7 +79,7 @@ describe BinData::Base, "offsets" do
79
79
  begin
80
80
  io.seek(2)
81
81
  obj = TenByteOffsetBase.create(adjust_offset: 13)
82
- obj.read(io).snapshot.must_equal data[2 + 13, 3]
82
+ _(obj.read(io).snapshot).must_equal data[2 + 13, 3]
83
83
  ensure
84
84
  $-w = w
85
85
  end
@@ -88,13 +88,13 @@ describe BinData::Base, "offsets" do
88
88
  it "succeeds when offset is correct" do
89
89
  io.seek(3)
90
90
  obj = TenByteOffsetBase.create(adjust_offset: 10)
91
- obj.read(io).snapshot.must_equal data[3 + 10, 3]
91
+ _(obj.read(io).snapshot).must_equal data[3 + 10, 3]
92
92
  end
93
93
 
94
94
  it "fails if cannot adjust offset" do
95
95
  io.seek(4)
96
96
  obj = TenByteOffsetBase.create(adjust_offset: -5)
97
- lambda { obj.read(io) }.must_raise BinData::ValidityError
97
+ _ { obj.read(io) }.must_raise BinData::ValidityError
98
98
  end
99
99
  end
100
100
  end
data/test/params_test.rb CHANGED
@@ -5,15 +5,15 @@ require File.expand_path(File.join(File.dirname(__FILE__), "test_helper"))
5
5
 
6
6
  describe BinData::Base, "parameters" do
7
7
  it "fails when parameter name is invalid" do
8
- lambda {
8
+ _ {
9
9
  class InvalidParameterNameBase < BinData::Base
10
- optional_parameter :eval # i.e. Kernel#eval
10
+ optional_parameter :lazy_eval # from LazyEvaluator
11
11
  end
12
12
  }.must_raise NameError
13
13
  end
14
14
 
15
15
  it "fails when parameter has nil value" do
16
- lambda { BinData::Base.new(a: nil) }.must_raise ArgumentError
16
+ _ { BinData::Base.new(a: nil) }.must_raise ArgumentError
17
17
  end
18
18
  end
19
19
 
@@ -32,17 +32,17 @@ end
32
32
  describe BinData::Base, "#get_parameter" do
33
33
  it "retrieves parameter values" do
34
34
  obj = BinData::Base.new(a: 3)
35
- obj.get_parameter(:a).must_equal 3
35
+ _(obj.get_parameter(:a)).must_equal 3
36
36
  end
37
37
 
38
38
  it "retrieves parameter values with string keys" do
39
39
  obj = BinData::Base.new('a' => 3)
40
- obj.get_parameter(:a).must_equal 3
40
+ _(obj.get_parameter(:a)).must_equal 3
41
41
  end
42
42
 
43
43
  it "returns nil for non existing parameters" do
44
44
  obj = BinData::Base.new
45
- obj.get_parameter(:a).must_be_nil
45
+ _(obj.get_parameter(:a)).must_be_nil
46
46
  end
47
47
 
48
48
  it "wont eval parameters" do
@@ -54,12 +54,12 @@ end
54
54
  describe BinData::Base, "#eval_parameter" do
55
55
  it "evals the parameter" do
56
56
  obj = BinData::Base.new(a: -> { 3 })
57
- obj.eval_parameter(:a).must_equal 3
57
+ _(obj.eval_parameter(:a)).must_equal 3
58
58
  end
59
59
 
60
60
  it "returns nil for a non existing parameter" do
61
61
  obj = BinData::Base.new
62
- obj.eval_parameter(:a).must_be_nil
62
+ _(obj.eval_parameter(:a)).must_be_nil
63
63
  end
64
64
  end
65
65
 
@@ -71,11 +71,11 @@ describe BinData::Base, ".mandatory_parameters" do
71
71
 
72
72
  it "fails when not all mandatory parameters are present" do
73
73
  params = {p1: "a", xx: "b" }
74
- lambda { MandatoryBase.new(params) }.must_raise ArgumentError
74
+ _ { MandatoryBase.new(params) }.must_raise ArgumentError
75
75
  end
76
76
 
77
77
  it "fails when no mandatory parameters are present" do
78
- lambda { MandatoryBase.new() }.must_raise ArgumentError
78
+ _ { MandatoryBase.new() }.must_raise ArgumentError
79
79
  end
80
80
  end
81
81
 
@@ -86,12 +86,12 @@ describe BinData::Base, ".default_parameters" do
86
86
 
87
87
  it "uses default parameters when not specified" do
88
88
  obj = DefaultBase.new
89
- obj.eval_parameter(:p1).must_equal "a"
89
+ _(obj.eval_parameter(:p1)).must_equal "a"
90
90
  end
91
91
 
92
92
  it "can override default parameters" do
93
93
  obj = DefaultBase.new(p1: "b")
94
- obj.eval_parameter(:p1).must_equal "b"
94
+ _(obj.eval_parameter(:p1)).must_equal "b"
95
95
  end
96
96
  end
97
97
 
@@ -102,9 +102,9 @@ describe BinData::Base, ".mutually_exclusive_parameters" do
102
102
  end
103
103
 
104
104
  it "fails when any two of those parameters are present" do
105
- lambda { MutexParamBase.new(p1: "a", p2: "b") }.must_raise ArgumentError
106
- lambda { MutexParamBase.new(p1: "a", p3: "c") }.must_raise ArgumentError
107
- lambda { MutexParamBase.new(p2: "b", p3: "c") }.must_raise ArgumentError
105
+ _ { MutexParamBase.new(p1: "a", p2: "b") }.must_raise ArgumentError
106
+ _ { MutexParamBase.new(p1: "a", p3: "c") }.must_raise ArgumentError
107
+ _ { MutexParamBase.new(p2: "b", p3: "c") }.must_raise ArgumentError
108
108
  end
109
109
  end
110
110
 
@@ -119,8 +119,8 @@ describe BinData::Base, "subclassing" do
119
119
 
120
120
  it "inherits parameters" do
121
121
  accepted = ParamLevel2Base.accepted_parameters.all
122
- accepted.must_include :p1
123
- accepted.must_include :p2
122
+ _(accepted).must_include :p1
123
+ _(accepted).must_include :p2
124
124
  end
125
125
  end
126
126
 
@@ -138,7 +138,7 @@ describe BinData::Base, "subclassing when skipping a level" do
138
138
 
139
139
  it "inherits parameters" do
140
140
  accepted = ParamLevel3Base.accepted_parameters.all
141
- accepted.must_include :p1
142
- accepted.must_include :p2
141
+ _(accepted).must_include :p1
142
+ _(accepted).must_include :p2
143
143
  end
144
144
  end
@@ -4,7 +4,7 @@ require File.expand_path(File.join(File.dirname(__FILE__), "test_helper"))
4
4
 
5
5
  describe BinData::Primitive do
6
6
  it "is not registered" do
7
- lambda {
7
+ _ {
8
8
  BinData::RegisteredClasses.lookup("Primitive")
9
9
  }.must_raise BinData::UnRegisteredTypeError
10
10
  end
@@ -18,14 +18,14 @@ describe BinData::Primitive, "all subclasses" do
18
18
  let(:obj) { SubClassOfPrimitive.new }
19
19
 
20
20
  it "raise errors on unimplemented methods" do
21
- lambda { obj.set(nil) }.must_raise NotImplementedError
22
- lambda { obj.get }.must_raise NotImplementedError
21
+ _ { obj.set(nil) }.must_raise NotImplementedError
22
+ _ { obj.get }.must_raise NotImplementedError
23
23
  end
24
24
  end
25
25
 
26
26
  describe BinData::Primitive, "when defining with errors" do
27
27
  it "fails on non registered types" do
28
- lambda {
28
+ _ {
29
29
  class BadTypePrimitive < BinData::Primitive
30
30
  non_registered_type :a
31
31
  end
@@ -33,7 +33,7 @@ describe BinData::Primitive, "when defining with errors" do
33
33
  end
34
34
 
35
35
  it "fails on duplicate names" do
36
- lambda {
36
+ _ {
37
37
  class DuplicateNamePrimitive < BinData::Primitive
38
38
  int8 :a
39
39
  int8 :b
@@ -43,15 +43,15 @@ describe BinData::Primitive, "when defining with errors" do
43
43
  end
44
44
 
45
45
  it "fails when field name shadows an existing method" do
46
- lambda {
46
+ _ {
47
47
  class ExistingNamePrimitive < BinData::Primitive
48
48
  int8 :object_id
49
49
  end
50
- }.must_raise_on_line NameError, 2, "field 'object_id' shadows an existing method in ExistingNamePrimitive"
50
+ }.must_raise_on_line SyntaxError, 2, "field 'object_id' shadows an existing method in ExistingNamePrimitive"
51
51
  end
52
52
 
53
53
  it "fails on unknown endian" do
54
- lambda {
54
+ _ {
55
55
  class BadEndianPrimitive < BinData::Primitive
56
56
  endian 'a bad value'
57
57
  end
@@ -71,30 +71,30 @@ describe BinData::Primitive do
71
71
 
72
72
  it "assigns value" do
73
73
  obj.value = 5
74
- obj.value.must_equal 5
74
+ _(obj.value).must_equal 5
75
75
  end
76
76
 
77
77
  it "produces binary string" do
78
78
  obj.assign(5)
79
- obj.to_binary_s.must_equal_binary "\x05\x00"
79
+ _(obj.to_binary_s).must_equal_binary "\x05\x00"
80
80
  end
81
81
 
82
82
  it "reads value" do
83
83
  obj.read("\x00\x01")
84
- obj.must_equal 0x100
84
+ _(obj).must_equal 0x100
85
85
  end
86
86
 
87
87
  it "accepts standard parameters" do
88
88
  obj = PrimitiveWithEndian.new(initial_value: 2)
89
- obj.to_binary_s.must_equal_binary "\x02\x00"
89
+ _(obj.to_binary_s).must_equal_binary "\x02\x00"
90
90
  end
91
91
 
92
92
  it "returns num_bytes" do
93
- obj.num_bytes.must_equal 2
93
+ _(obj.num_bytes).must_equal 2
94
94
  end
95
95
 
96
96
  it "raises error on missing methods" do
97
- lambda {
97
+ _ {
98
98
  obj.does_not_exist
99
99
  }.must_raise NoMethodError
100
100
  end
@@ -102,16 +102,16 @@ describe BinData::Primitive do
102
102
  it "uses read value whilst reading" do
103
103
  obj = PrimitiveWithEndian.new(value: 2)
104
104
  obj.read "\x05\x00"
105
- obj.must_equal 2
105
+ _(obj).must_equal 2
106
106
 
107
107
  obj.stub :reading?, true do
108
- obj.must_equal 5
108
+ _(obj).must_equal 5
109
109
  end
110
110
  end
111
111
 
112
112
  it "behaves as primitive" do
113
113
  obj.assign(5)
114
- (2 + obj).must_equal 7
114
+ _((2 + obj)).must_equal 7
115
115
  end
116
116
  end
117
117
 
@@ -124,7 +124,7 @@ describe BinData::Primitive, "requiring custom parameters" do
124
124
 
125
125
  it "passes parameters correctly" do
126
126
  obj = PrimitiveWithCustom.new(iv: 5)
127
- obj.must_equal 5
127
+ _(obj).must_equal 5
128
128
  end
129
129
  end
130
130
 
@@ -138,12 +138,12 @@ describe BinData::Primitive, "with custom mandatory parameters" do
138
138
  end
139
139
 
140
140
  it "raises error if mandatory parameter is not supplied" do
141
- lambda { MandatoryPrimitive.new }.must_raise ArgumentError
141
+ _ { MandatoryPrimitive.new }.must_raise ArgumentError
142
142
  end
143
143
 
144
144
  it "uses mandatory parameter" do
145
145
  obj = MandatoryPrimitive.new(arg1: 5)
146
- obj.must_equal 5
146
+ _(obj).must_equal 5
147
147
  end
148
148
  end
149
149
 
@@ -158,12 +158,12 @@ describe BinData::Primitive, "with custom default parameters" do
158
158
 
159
159
  it "uses default parameter" do
160
160
  obj = DefaultPrimitive.new
161
- obj.must_equal 5
161
+ _(obj).must_equal 5
162
162
  end
163
163
 
164
164
  it "overrides default parameter" do
165
165
  obj = DefaultPrimitive.new(arg1: 7)
166
- obj.must_equal 7
166
+ _(obj).must_equal 7
167
167
  end
168
168
  end
169
169
 
@@ -180,12 +180,12 @@ describe BinData::Primitive, "subclassed with default parameter" do
180
180
 
181
181
  it "overrides initial_value" do
182
182
  a = ChildDerivedPrimitive.new(initial_value: 7)
183
- a.to_binary_s.must_equal_binary "\000\007"
183
+ _(a.to_binary_s).must_equal_binary "\000\007"
184
184
  end
185
185
 
186
186
  it "uses default parameter" do
187
187
  a = ChildDerivedPrimitive.new
188
- a.to_binary_s.must_equal_binary "\000\005"
188
+ _(a.to_binary_s).must_equal_binary "\000\005"
189
189
  end
190
190
  end
191
191
 
@@ -199,12 +199,12 @@ describe BinData::Primitive, "with mutating #get and #set" do
199
199
  it "#assign applies mutator" do
200
200
  obj = MutatingPrimitive.new
201
201
  obj.assign(-50)
202
- obj.snapshot.must_equal 50
202
+ _(obj.snapshot).must_equal 50
203
203
  end
204
204
 
205
205
  it "#to_binary_s applies mutator" do
206
206
  obj = MutatingPrimitive.new
207
207
  obj.assign(-50)
208
- obj.to_binary_s.must_equal_binary "\062\000"
208
+ _(obj.to_binary_s).must_equal_binary "\062\000"
209
209
  end
210
210
  end