pngqr 0.4 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
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