pngqr 0.4 → 0.5

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/CHANGELOG CHANGED
@@ -1,3 +1,5 @@
1
+ v0.5. Fix ruby 1.8 bug, test coverage
2
+
1
3
  v0.4. Auto-sizing output, border support
2
4
 
3
5
  v0.3. fix default scale=1.0 bug
data/Manifest CHANGED
@@ -3,3 +3,4 @@ Manifest
3
3
  README
4
4
  Rakefile
5
5
  lib/pngqr.rb
6
+ test/test_all.rb
@@ -18,13 +18,13 @@ class Pngqr
18
18
 
19
19
  qr = nil
20
20
  if(opthash[:size]) # user supplied size
21
- qr = RQRCode::QRCode.new(*opts, opthash)
21
+ qr = RQRCode::QRCode.new(*(opts + [opthash]))
22
22
  else
23
23
  # autosize algorithm: start at size=1 and increment until it worked
24
24
  opthash[:size] = 1
25
25
  while qr.nil?
26
26
  qr = begin
27
- RQRCode::QRCode.new(*opts, opthash)
27
+ RQRCode::QRCode.new(*(opts + [opthash]))
28
28
  rescue RQRCode::QRCodeRunTimeError => e
29
29
  opthash[:size] += 1
30
30
  raise unless e.to_s =~ /overflow/ && opthash[:size] <= 40
@@ -2,21 +2,22 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{pngqr}
5
- s.version = "0.4"
5
+ s.version = "0.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Andrew Snow"]
9
- s.date = %q{2011-03-17}
9
+ s.date = %q{2011-03-18}
10
10
  s.description = %q{Ruby Gem to generate PNG files with QR codes in them}
11
11
  s.email = %q{andrew@modulus.org}
12
12
  s.extra_rdoc_files = ["CHANGELOG", "README", "lib/pngqr.rb"]
13
- s.files = ["CHANGELOG", "Manifest", "README", "Rakefile", "lib/pngqr.rb", "pngqr.gemspec"]
13
+ s.files = ["CHANGELOG", "Manifest", "README", "Rakefile", "lib/pngqr.rb", "test/test_all.rb", "pngqr.gemspec"]
14
14
  s.homepage = %q{}
15
15
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Pngqr", "--main", "README"]
16
16
  s.require_paths = ["lib"]
17
17
  s.rubyforge_project = %q{pngqr}
18
18
  s.rubygems_version = %q{1.6.2}
19
19
  s.summary = %q{Ruby Gem to generate PNG files with QR codes in them}
20
+ s.test_files = ["test/test_all.rb"]
20
21
 
21
22
  if s.respond_to? :specification_version then
22
23
  s.specification_version = 3
@@ -0,0 +1,43 @@
1
+
2
+ require '../lib/pngqr'
3
+ require 'qrscanner'
4
+ require 'test/unit'
5
+ require 'tempfile'
6
+
7
+ class TestPngqr < Test::Unit::TestCase
8
+ def test_autosize
9
+ (0..3).each do |n|
10
+ assert_encoded_equals_decoded('x'*(10**n))
11
+ end
12
+ end
13
+
14
+ def test_static_size
15
+ assert_encoded_equals_decoded('y'*10, :size => 2)
16
+ assert_encoded_equals_decoded('y'*100, :size => 20)
17
+ assert_encoded_equals_decoded('y'*1000, :size => 40)
18
+ end
19
+
20
+ def test_scale
21
+ assert_encoded_equals_decoded('hello, world', :scale => 5)
22
+ end
23
+
24
+ def test_border
25
+ assert_encoded_equals_decoded('hello, world', :border => 5)
26
+ end
27
+
28
+
29
+ protected
30
+ def assert_encoded_equals_decoded(*opts)
31
+ begin
32
+ str = opts.first
33
+ @tempfile = Tempfile.new(self.class.to_s)
34
+ @tempfile.write(Pngqr.encode(*opts))
35
+ @tempfile.close
36
+ assert_equal str, QrScanner.decode(@tempfile.path)
37
+ ensure
38
+ @tempfile.unlink if @tempfile
39
+ end
40
+ end
41
+
42
+ end
43
+
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: pngqr
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: "0.4"
5
+ version: "0.5"
6
6
  platform: ruby
7
7
  authors:
8
8
  - Andrew Snow
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-17 00:00:00 +11:00
13
+ date: 2011-03-18 00:00:00 +11:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -51,6 +51,7 @@ files:
51
51
  - README
52
52
  - Rakefile
53
53
  - lib/pngqr.rb
54
+ - test/test_all.rb
54
55
  - pngqr.gemspec
55
56
  has_rdoc: true
56
57
  homepage: ""
@@ -85,5 +86,5 @@ rubygems_version: 1.6.2
85
86
  signing_key:
86
87
  specification_version: 3
87
88
  summary: Ruby Gem to generate PNG files with QR codes in them
88
- test_files: []
89
-
89
+ test_files:
90
+ - test/test_all.rb