File tree Expand file tree Collapse file tree 2 files changed +12
-11
lines changed Expand file tree Collapse file tree 2 files changed +12
-11
lines changed Original file line number Diff line number Diff line change @@ -16,8 +16,9 @@ def XDR.encode_int(int)
16
16
end
17
17
18
18
def XDR . decode_int! ( data )
19
- return data . slice! ( 0 ..3 ) . unpack ( 'N' ) [ 0 ] if data
20
- data = 0
19
+ raise ArgumentError , 'XDR: No Integer data to decode' unless data
20
+ raise ArgumentError , "XDR: Too little data to decode (#{ data . size } )" if data . size < 4
21
+ return data . slice! ( 0 ..3 ) . unpack ( 'N' ) [ 0 ]
21
22
end
22
23
23
24
def XDR . encode_lchar ( char )
Original file line number Diff line number Diff line change 23
23
24
24
context "when data is nil" do
25
25
let ( :data ) { nil }
26
- it "returns 0 " do
27
- is_expected . to be ( 0 )
26
+ it "raises an error " do
27
+ expect { decoded_int } . to raise_error ( ArgumentError )
28
28
end
29
29
end
30
30
31
31
context "when data is empty" do
32
32
let ( :data ) { '' }
33
33
34
- it "returns nil " do
35
- is_expected . to be_nil
34
+ it "raises an error " do
35
+ expect { decoded_int } . to raise_error ( ArgumentError )
36
36
end
37
37
end
38
38
88
88
let ( :data ) { "\x41 " }
89
89
90
90
it "raises an error" do
91
- expect { decoded_lchar } . to raise_error ( NoMethodError )
91
+ expect { decoded_lchar } . to raise_error ( ArgumentError )
92
92
end
93
93
end
94
94
end
205
205
context "and no values" do
206
206
let ( :data ) { "\x00 \x00 \x00 \x02 " }
207
207
208
- it "returns an Array filled with nils " do
209
- expect ( described_class . decode_varray! ( data ) { |s | described_class . decode_int! ( s ) } ) . to eq ( [ nil , nil ] )
208
+ it "raises an error " do
209
+ expect { described_class . decode_varray! ( data ) { |s | described_class . decode_int! ( s ) } } . to raise_error ( ArgumentError )
210
210
end
211
211
end
212
212
213
213
context "longer than available values" do
214
214
let ( :data ) { "\x00 \x00 \x00 \x02 \x00 \x00 \x00 \x41 " }
215
215
216
- it "returns Array padded with nils " do
217
- expect ( described_class . decode_varray! ( data ) { |s | described_class . decode_int! ( s ) } ) . to eq ( [ 0x41 , nil ] )
216
+ it "raises an error " do
217
+ expect { described_class . decode_varray! ( data ) { |s | described_class . decode_int! ( s ) } } . to raise_error ( ArgumentError )
218
218
end
219
219
end
220
220
end
You can’t perform that action at this time.
0 commit comments