fastimage_resize 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.textile CHANGED
@@ -29,7 +29,7 @@ h4. Gem
29
29
 
30
30
  <pre>
31
31
  <code>
32
- sudo gem install sdsykes-fastimage_resize -s http://gems.github.com
32
+ sudo gem install fastimage_resize
33
33
  </pre>
34
34
  </code>
35
35
 
@@ -41,7 +41,7 @@ Install the gem as above, and configure it in your environment.rb file as below:
41
41
  ...
42
42
  Rails::Initializer.run do |config|
43
43
  ...
44
- config.gem "sdsykes-fastimage_resize", :lib=>"fastimage_resize"
44
+ config.gem "fastimage_resize", :lib=>"fastimage_resize"
45
45
  ...
46
46
  end
47
47
  ...
@@ -72,7 +72,7 @@ h2. Requirements
72
72
 
73
73
  <pre>
74
74
  <code>
75
- sudo gem install sdsykes-fastimage -s http://gems.github.com
75
+ sudo gem install fastimage
76
76
  </pre>
77
77
  </code>
78
78
 
data/VERSION.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
+ :patch: 2
2
3
  :major: 1
3
4
  :minor: 2
4
- :patch: 1
5
5
  :build:
@@ -55,7 +55,7 @@ class FastImage
55
55
  end
56
56
 
57
57
  def self.resize_local(file_in, file_out, w, h, jpeg_quality)
58
- fi = new(file_in, :raise_on_failure=>true, :type_only=>true)
58
+ fi = new(file_in, :raise_on_failure=>true)
59
59
  type_index = SUPPORTED_FORMATS.index(fi.type)
60
60
  raise FormatNotSupported unless type_index
61
61
  fi.resize_image(file_in, file_out, w, h, type_index, jpeg_quality)
@@ -68,14 +68,13 @@ class FastImage
68
68
  builder.add_link_flags "-lgd"
69
69
 
70
70
  builder.c <<-"END"
71
- void resize_image(char *filename_in, char *filename_out, int w, int h, int image_type, int jpeg_quality) {
71
+ VALUE resize_image(char *filename_in, char *filename_out, int w, int h, int image_type, int jpeg_quality) {
72
72
  gdImagePtr im_in, im_out;
73
73
  FILE *in, *out;
74
- int trans, trans_r, trans_g, trans_b;
75
- int x, y, f = 0;
74
+ int trans = 0, x = 0, y = 0, f = 0;
76
75
 
77
76
  in = fopen(filename_in, "rb");
78
- if (!in) return;
77
+ if (!in) return Qnil;
79
78
 
80
79
  im_out = gdImageCreateTrueColor(w, h); /* must be truecolor */
81
80
  switch(image_type) {
@@ -103,6 +102,7 @@ class FastImage
103
102
  if (!f) trans = -1; /* no transparent pixel found */
104
103
  }
105
104
  break;
105
+ default: return Qnil;
106
106
  }
107
107
 
108
108
  fclose(in);
@@ -131,6 +131,7 @@ class FastImage
131
131
  }
132
132
  gdImageDestroy(im_in);
133
133
  gdImageDestroy(im_out);
134
+ return Qnil;
134
135
  }
135
136
  END
136
137
  end
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/test/test.rb CHANGED
@@ -1 +1,68 @@
1
- # todo
1
+ require 'rubygems'
2
+
3
+ require 'test/unit'
4
+
5
+ PathHere = File.dirname(__FILE__)
6
+
7
+ require File.join(PathHere, "..", "lib", 'fastimage_resize')
8
+
9
+ require 'fakeweb'
10
+
11
+ FixturePath = File.join(PathHere, "fixtures")
12
+
13
+ GoodFixtures = {
14
+ "test.gif"=>[:gif, [17, 32]],
15
+ "test.jpg"=>[:jpeg, [882, 470]],
16
+ "test.png"=>[:png, [30, 20]]
17
+ }
18
+
19
+ BadFixtures = [
20
+ "test.bmp",
21
+ "faulty.jpg",
22
+ "test.ico"
23
+ ]
24
+
25
+ TestUrl = "http://example.nowhere/"
26
+
27
+ GoodFixtures.each do |fn, info|
28
+ FakeWeb.register_uri(:get, "#{TestUrl}#{fn}", :body => File.join(FixturePath, fn))
29
+ end
30
+ BadFixtures.each do |fn|
31
+ FakeWeb.register_uri(:get, "#{TestUrl}#{fn}", :body => File.join(FixturePath, fn))
32
+ end
33
+
34
+ class FastImageResizeTest < Test::Unit::TestCase
35
+ def test_resize_image_types
36
+ GoodFixtures.each do |fn, info|
37
+ outfile = File.join(PathHere, "fixtures", "resized_" + fn)
38
+ FastImage.resize(TestUrl + fn, outfile, info[1][0] / 3, info[1][1] / 2)
39
+ assert_equal [info[1][0] / 3, info[1][1] / 2], FastImage.size(outfile)
40
+ File.unlink outfile
41
+ end
42
+ end
43
+
44
+ def test_should_raise_for_bmp_files
45
+ fn = BadFixtures[0]
46
+ outfile = File.join(PathHere, "fixtures", "resized_" + fn)
47
+ assert_raises(FastImage::FormatNotSupported) do
48
+ FastImage.resize(TestUrl + fn, outfile, 20, 20)
49
+ end
50
+ end
51
+
52
+ def test_should_raise_for_faulty_files
53
+ fn = BadFixtures[1]
54
+ outfile = File.join(PathHere, "fixtures", "resized_" + fn)
55
+ assert_raises(FastImage::SizeNotFound) do
56
+ FastImage.resize(TestUrl + fn, outfile, 20, 20)
57
+ end
58
+ end
59
+
60
+ def test_should_raise_for_ico_files
61
+ fn = BadFixtures[2]
62
+ outfile = File.join(PathHere, "fixtures", "resized_" + fn)
63
+ assert_raises(FastImage::UnknownImageType) do
64
+ FastImage.resize(TestUrl + fn, outfile, 20, 20)
65
+ end
66
+ end
67
+
68
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastimage_resize
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Sykes
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-22 00:00:00 +02:00
12
+ date: 2010-02-16 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -47,6 +47,12 @@ files:
47
47
  - Rakefile
48
48
  - VERSION.yml
49
49
  - lib/fastimage_resize.rb
50
+ - test/fixtures/faulty.jpg
51
+ - test/fixtures/test.bmp
52
+ - test/fixtures/test.gif
53
+ - test/fixtures/test.ico
54
+ - test/fixtures/test.jpg
55
+ - test/fixtures/test.png
50
56
  - test/test.rb
51
57
  has_rdoc: true
52
58
  homepage: http://github.com/sdsykes/fastimage_resize