packable 1.3.6 → 1.3.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 133510cb6704fe9d5f2436b6bcadaca879f58141
4
- data.tar.gz: 637afe0db12d2285bad139d5d166967e4f2dff81
3
+ metadata.gz: 24e7953c276fcc3632223b24365e6c324a5f5b7b
4
+ data.tar.gz: 2739c2b63bd6fbab2a79db3c35b3a41ae4753dc8
5
5
  SHA512:
6
- metadata.gz: 7c5cf6ac4a3486b05a1ead4c77fe02016b0df1573ca38564b91d756269b2470f88bf22dd1feac8902db2ebedf73b36ef52c7d873a131361611d6df5e394f1d6b
7
- data.tar.gz: 3c9b45c6ce9fbeadc4fcb52ebd76b0d9a80657b572a96ec125afe65ae0bd946d6b23b9df3ba5bb5a949e0665de5704ab96a5802384dfbb2e7befec518af14348
6
+ metadata.gz: 1b06119ec61a835e6ff5d5db4da1de60311561e943c58985d725bf9c839da505a9b45406e96fc879c78ca45bab711d0484c9db24e0500a171251edfba51f9587
7
+ data.tar.gz: e3184c73de7c225ed121362f679c709baac4cb88b5f15297f89250361dfec4052e2eb06537c3780ad4c46fef69f073252cab9c1ad6094b1944165f5ddd18836c
data/.gitignore CHANGED
@@ -1,4 +1,6 @@
1
1
  *.sw?
2
2
  .DS_Store
3
3
  coverage
4
- rdoc
4
+ rdoc
5
+ .bundle
6
+ Gemfile.lock
@@ -1,3 +1,5 @@
1
+ *Note*: SciRuby are taking over maintenance for this library: https://github.com/SciRuby/packable
2
+
1
3
  = Packable Library - Intro
2
4
 
3
5
  If you need to do read and write binary data, there is of course <tt>Array::pack</tt> and <tt>String::unpack</tt>.
@@ -243,4 +245,4 @@ A final note to say that packers are inherited in some way. For instance one cou
243
245
 
244
246
  packable is licensed under the terms of the MIT License, see the included LICENSE file.
245
247
 
246
- Author:: Marc-André Lafortune
248
+ Author:: Marc-André Lafortune
@@ -63,7 +63,7 @@ module Packable
63
63
  end
64
64
 
65
65
  def read_with_packing(*arg)
66
- return read_without_packing(*arg) if (arg.length == 0) || (arg.first.is_a?(Numeric) && (arg.length == 1))
66
+ return read_without_packing(*arg) if (arg.length == 0) || arg.first.nil? || (arg.first.is_a?(Numeric) && (arg.length == 1))
67
67
  values = Packable::Packers.to_class_option_list(*arg).map do |klass, options, original|
68
68
  if options[:read_packed]
69
69
  options[:read_packed].call(self)
@@ -1,3 +1,3 @@
1
1
  module Packable
2
- VERSION = "1.3.6"
2
+ VERSION = "1.3.7"
3
3
  end
@@ -17,4 +17,7 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
19
  gem.add_runtime_dependency 'backports'
20
+ gem.add_development_dependency 'minitest'
21
+ gem.add_development_dependency 'shoulda'
22
+ gem.add_development_dependency 'mocha'
20
23
  end
@@ -17,7 +17,7 @@ class MyHeader < Struct.new(:signature, :nb_blocks)
17
17
  end
18
18
 
19
19
 
20
- class PackableDocTest < Test::Unit::TestCase
20
+ class PackableDocTest < Minitest::Test
21
21
  def test_doc
22
22
 
23
23
  assert_equal [1,2,3], StringIO.new("\000\001\000\002\000\003").each(:short).to_a
@@ -12,7 +12,7 @@ class XYZ
12
12
  end
13
13
  end
14
14
 
15
- class TestingPack < Test::Unit::TestCase
15
+ class TestingPack < Minitest::Test
16
16
 
17
17
  context "Original form" do
18
18
  should "pack like before" do
@@ -48,7 +48,7 @@ class TestingPack < Test::Unit::TestCase
48
48
  assert_equal (1<<24)-1, -1.pack(:bytes => 3).unpack(Integer, :bytes => 3, :signed => false)
49
49
  assert_equal -1, -1.pack(:bytes => 3).unpack(Integer, :bytes => 3, :signed => true)
50
50
  assert_equal 42, 42.pack('L').unpack(Integer, :bytes => 4, :endian => :native)
51
- assert_raise(ArgumentError){ 42.pack(:endian => "Geronimo")}
51
+ assert_raises(ArgumentError){ 42.pack(:endian => "Geronimo")}
52
52
  end
53
53
 
54
54
  def test_bignum
@@ -59,7 +59,7 @@ class TestingPack < Test::Unit::TestCase
59
59
  end
60
60
 
61
61
  def test_float
62
- assert_raise(ArgumentError){ Math::PI.pack(:endian => "Geronimo")}
62
+ assert_raises(ArgumentError){ Math::PI.pack(:endian => "Geronimo")}
63
63
  assert_equal Math::PI, Math::PI.pack(:precision => :double, :endian => :native).unpack(Float, :precision => :double, :endian => :native)
64
64
  # Issue #1
65
65
  assert_equal Math::PI.pack(:precision => :double), Math::PI.pack('G')
@@ -76,17 +76,23 @@ class TestingPack < Test::Unit::TestCase
76
76
  assert_equal "!", io.read
77
77
  end
78
78
 
79
+ def test_io_read_nil
80
+ # library was failing to call read_without_packing when invoked with nil.
81
+ io = StringIO.new("should read(nil)")
82
+ assert_equal "should read(nil)", io.read(nil)
83
+ end
84
+
79
85
  should "do basic type checking" do
80
- assert_raise(TypeError) {"".unpack(42, :short)}
86
+ assert_raises(TypeError) {"".unpack(42, :short)}
81
87
  end
82
88
 
83
89
  context "Reading beyond the eof" do
84
90
  should "raises an EOFError when reading" do
85
91
  ["", "x"].each do |s|
86
92
  io = StringIO.new(s)
87
- assert_raise(EOFError) {io.read(:double)}
88
- assert_raise(EOFError) {io.read(:short)}
89
- assert_raise(EOFError) {io.read(String, :bytes => 4)}
93
+ assert_raises(EOFError) {io.read(:double)}
94
+ assert_raises(EOFError) {io.read(:short)}
95
+ assert_raises(EOFError) {io.read(String, :bytes => 4)}
90
96
  end
91
97
  end
92
98
 
@@ -119,7 +125,7 @@ class TestingPack < Test::Unit::TestCase
119
125
 
120
126
  should "be accessible only from that class and descendants" do
121
127
  assert_equal "Hello", "World".pack(:specific_writer)
122
- assert_raise RuntimeError do
128
+ assert_raises RuntimeError do
123
129
  6.pack(:specific_writer)
124
130
  end
125
131
  end
@@ -1,8 +1,8 @@
1
1
  require 'rubygems'
2
- require 'test/unit'
2
+ require 'minitest/autorun'
3
3
  require 'shoulda'
4
4
  require 'mocha'
5
5
  require File.dirname(__FILE__)+'/../lib/packable'
6
6
 
7
- class Test::Unit::TestCase
8
- end
7
+ class Minitest::Test
8
+ end
metadata CHANGED
@@ -1,27 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.6
4
+ version: 1.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marc-André Lafortune
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-11 00:00:00.000000000 Z
11
+ date: 2016-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backports
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: shoulda
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: mocha
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
25
67
  - !ruby/object:Gem::Version
26
68
  version: '0'
27
69
  description: If you need to do read and write binary data, there is of course <Array::pack
@@ -33,7 +75,7 @@ executables: []
33
75
  extensions: []
34
76
  extra_rdoc_files: []
35
77
  files:
36
- - .gitignore
78
+ - ".gitignore"
37
79
  - CHANGELOG.rdoc
38
80
  - Gemfile
39
81
  - LICENSE.txt
@@ -63,17 +105,17 @@ require_paths:
63
105
  - lib
64
106
  required_ruby_version: !ruby/object:Gem::Requirement
65
107
  requirements:
66
- - - '>='
108
+ - - ">="
67
109
  - !ruby/object:Gem::Version
68
110
  version: '0'
69
111
  required_rubygems_version: !ruby/object:Gem::Requirement
70
112
  requirements:
71
- - - '>='
113
+ - - ">="
72
114
  - !ruby/object:Gem::Version
73
115
  version: '0'
74
116
  requirements: []
75
117
  rubyforge_project:
76
- rubygems_version: 2.0.3
118
+ rubygems_version: 2.2.2
77
119
  signing_key:
78
120
  specification_version: 4
79
121
  summary: Extensive packing and unpacking capabilities