mojo_magick 0.4.2 → 0.4.3

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/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm --create use ruby-1.9.2-p318@mojo_magick
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source :rubygems
2
+ gem 'rake'
@@ -0,0 +1,17 @@
1
+ require 'rubygems'
2
+
3
+ task 'default' => :test
4
+
5
+ desc "Default: run tests"
6
+ task :test do
7
+ require 'rake/runtest'
8
+ files = Dir.glob(File.join(File.dirname(__FILE__), 'test/*_test.rb'))
9
+ files.each do |f|
10
+ Rake.run_tests f
11
+ end
12
+ end
13
+
14
+ task :build do
15
+ `rm mojo_magick-*.gem`
16
+ puts `gem build mojo_magick.gemspec`
17
+ end
@@ -101,11 +101,11 @@ module MojoMagick
101
101
  def MojoMagick::resize(source_file, dest_file, options)
102
102
  retval = nil
103
103
  scale_options = []
104
- scale_options << '">"' unless options[:shrink_only].nil?
105
- scale_options << '"<"' unless options[:expand_only].nil?
106
- scale_options << '"!"' unless options[:absolute_aspect].nil?
107
- scale_options << '"^"' unless options[:fill].nil?
108
- scale_options = scale_options.join(' ')
104
+ scale_options << ">" unless options[:shrink_only].nil?
105
+ scale_options << "<" unless options[:expand_only].nil?
106
+ scale_options << "!" unless options[:absolute_aspect].nil?
107
+ scale_options << "^" unless options[:fill].nil?
108
+ scale_options = scale_options.join
109
109
 
110
110
  extras = []
111
111
  if !options[:width].nil? && !options[:height].nil?
@@ -119,7 +119,7 @@ module MojoMagick
119
119
  extras << "-gravity Center"
120
120
  extras << "-extent #{geometry}"
121
121
  end
122
- retval = raw_command("convert", "\"#{source_file}\" -resize #{geometry}#{scale_options} #{extras.join(' ')} \"#{dest_file}\"")
122
+ retval = raw_command("convert", "\"#{source_file}\" -resize \"#{geometry}#{scale_options}\" #{extras.join(' ')} \"#{dest_file}\"")
123
123
  dest_file
124
124
  end
125
125
 
@@ -1,3 +1,3 @@
1
1
  module MojoMagick
2
- VERSION = '0.4.2'
2
+ VERSION = '0.4.3'
3
3
  end
@@ -18,66 +18,96 @@ class MojoMagickTest < Test::Unit::TestCase
18
18
  Dir::glob(File::join(@fixtures_path, '*')).each do |file|
19
19
  FileUtils::cp(file, @working_path) if File::file?(file)
20
20
  end
21
+ @test_image = File::join(@working_path, '5742.jpg')
22
+
21
23
  end
22
24
 
23
- def test_image_management
25
+ def test_get_image_size
24
26
  reset_images
25
- test_image = File::join(@working_path, '5742.jpg')
26
- orig_image_size = File::size(test_image)
27
- retval = MojoMagick::get_image_size(test_image)
28
- assert_equal orig_image_size, File::size(test_image)
27
+ orig_image_size = File::size(@test_image)
28
+ retval = MojoMagick::get_image_size(@test_image)
29
+ assert_equal orig_image_size, File::size(@test_image)
29
30
  assert_equal 500, retval[:height]
30
31
  assert_equal 333, retval[:width]
32
+ end
31
33
 
34
+ def test_image_resize
32
35
  # test basic resizing
36
+ reset_images
37
+ orig_image_size = File::size(@test_image)
33
38
  size_test_temp = Tempfile::new('mojo_test')
34
39
  size_test = size_test_temp.path
35
- retval = MojoMagick::resize(test_image, size_test, {:width=>100, :height=>100})
40
+ retval = MojoMagick::resize(@test_image, size_test, {:width=>100, :height=>100})
36
41
  assert_equal size_test, retval
37
- assert_equal orig_image_size, File::size(test_image)
42
+ assert_equal orig_image_size, File::size(@test_image)
38
43
  assert_equal retval, size_test
39
44
  new_dimensions = MojoMagick::get_image_size(size_test)
40
45
  assert_equal 100, new_dimensions[:height]
41
46
  assert_equal 67, new_dimensions[:width]
42
47
 
43
48
  # we should be able to resize image right over itself
44
- retval = MojoMagick::resize(test_image, test_image, {:width=>100, :height=>100})
45
- assert_equal test_image, retval
46
- assert_not_equal orig_image_size, File::size(test_image)
47
- new_dimensions = MojoMagick::get_image_size(test_image)
49
+ retval = MojoMagick::resize(@test_image, @test_image, {:width=>100, :height=>100})
50
+ assert_equal @test_image, retval
51
+ assert_not_equal orig_image_size, File::size(@test_image)
52
+ new_dimensions = MojoMagick::get_image_size(@test_image)
48
53
  assert_equal 100, new_dimensions[:height]
49
54
  assert_equal 67, new_dimensions[:width]
55
+ end
50
56
 
57
+ def test_shrink_with_big_dimensions
51
58
  # image shouldn't resize if we specify very large dimensions and specify "shrink_only"
52
59
  reset_images
53
- orig_image_size = File::size(test_image)
54
- retval = MojoMagick::shrink(test_image, test_image, {:width=>1000, :height=>1000})
55
- assert_equal test_image, retval
56
- new_dimensions = MojoMagick::get_image_size(test_image)
60
+ size_test_temp = Tempfile::new('mojo_test')
61
+ size_test = size_test_temp.path
62
+ retval = MojoMagick::shrink(@test_image, size_test, {:width=>1000, :height=>1000})
63
+ assert_equal size_test, retval
64
+ new_dimensions = MojoMagick::get_image_size(@test_image)
57
65
  assert_equal 500, new_dimensions[:height]
58
66
  assert_equal 333, new_dimensions[:width]
67
+ end
68
+
69
+ def test_shrink
70
+ reset_images
59
71
  # image should resize if we specify small dimensions and shrink_only
60
- retval = MojoMagick::shrink(test_image, test_image, {:width=>1000, :height=>100})
61
- assert_equal test_image, retval
62
- new_dimensions = MojoMagick::get_image_size(test_image)
72
+ retval = MojoMagick::shrink(@test_image, @test_image, {:width=>1000, :height=>100})
73
+ assert_equal @test_image, retval
74
+ new_dimensions = MojoMagick::get_image_size(@test_image)
63
75
  assert_equal 100, new_dimensions[:height]
64
76
  assert_equal 67, new_dimensions[:width]
77
+ end
78
+
79
+ def test_resize_with_shrink_only_options
80
+ reset_images
81
+ # image should resize if we specify small dimensions and shrink_only
82
+ retval = MojoMagick::resize(@test_image, @test_image, {:shrink_only => true, :width=>400, :height=>400})
83
+ assert_equal @test_image, retval
84
+ new_dimensions = MojoMagick::get_image_size(@test_image)
85
+ assert_equal 400, new_dimensions[:height]
86
+ assert_equal 266, new_dimensions[:width]
87
+ end
65
88
 
89
+ def test_expand_with_small_dim
66
90
  # image shouldn't resize if we specify small dimensions and expand_only
67
91
  reset_images
68
- orig_image_size = File::size(test_image)
69
- retval = MojoMagick::expand(test_image, test_image, {:width=>10, :height=>10})
70
- assert_equal test_image, retval
71
- new_dimensions = MojoMagick::get_image_size(test_image)
92
+ orig_image_size = File::size(@test_image)
93
+ retval = MojoMagick::expand(@test_image, @test_image, {:width=>10, :height=>10})
94
+ assert_equal @test_image, retval
95
+ new_dimensions = MojoMagick::get_image_size(@test_image)
72
96
  assert_equal 500, new_dimensions[:height]
73
97
  assert_equal 333, new_dimensions[:width]
98
+ end
99
+
100
+ def test_expand
101
+ reset_images
74
102
  # image should resize if we specify large dimensions and expand_only
75
- retval = MojoMagick::expand(test_image, test_image, {:width=>1000, :height=>1000})
76
- assert_equal test_image, retval
77
- new_dimensions = MojoMagick::get_image_size(test_image)
103
+ retval = MojoMagick::expand(@test_image, @test_image, {:width=>1000, :height=>1000})
104
+ assert_equal @test_image, retval
105
+ new_dimensions = MojoMagick::get_image_size(@test_image)
78
106
  assert_equal 1000, new_dimensions[:height]
79
107
  assert_equal 666, new_dimensions[:width]
108
+ end
80
109
 
110
+ def test_invalid_images
81
111
  # test bad images
82
112
  bad_image = File::join(@working_path, 'not_an_image.jpg')
83
113
  zero_image = File::join(@working_path, 'zero_byte_image.jpg')
@@ -88,20 +118,18 @@ class MojoMagickTest < Test::Unit::TestCase
88
118
 
89
119
  def test_resize_with_fill
90
120
  reset_images
91
- test_image = File::join(@working_path, '5742.jpg')
92
- orig_image_size = File::size(test_image)
93
- MojoMagick::resize(test_image, test_image, {:fill => true, :width => 100, :height => 100})
94
- dim = MojoMagick::get_image_size(test_image)
121
+ @test_image = File::join(@working_path, '5742.jpg')
122
+ MojoMagick::resize(@test_image, @test_image, {:fill => true, :width => 100, :height => 100})
123
+ dim = MojoMagick::get_image_size(@test_image)
95
124
  assert_equal 100, dim[:width]
96
125
  assert_equal 150, dim[:height]
97
126
  end
98
127
 
99
128
  def test_resize_with_fill_and_crop
100
129
  reset_images
101
- test_image = File::join(@working_path, '5742.jpg')
102
- orig_image_size = File::size(test_image)
103
- MojoMagick::resize(test_image, test_image, {:fill => true, :crop => true, :width => 150, :height => 120})
104
- dim = MojoMagick::get_image_size(test_image)
130
+ @test_image = File::join(@working_path, '5742.jpg')
131
+ MojoMagick::resize(@test_image, @test_image, {:fill => true, :crop => true, :width => 150, :height => 120})
132
+ dim = MojoMagick::get_image_size(@test_image)
105
133
  assert_equal 150, dim[:width]
106
134
  assert_equal 120, dim[:height]
107
135
  end
metadata CHANGED
@@ -1,52 +1,47 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mojo_magick
3
- version: !ruby/object:Gem::Version
4
- hash: 11
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 4
9
- - 2
10
- version: 0.4.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.3
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Steve Midgley
14
9
  - Elliot Nelson
15
10
  - Jon Rogers
16
11
  autorequire:
17
12
  bindir: bin
18
13
  cert_chain: []
19
-
20
- date: 2012-03-18 00:00:00 -07:00
21
- default_executable:
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
14
+ date: 2012-09-08 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
24
17
  name: rake
25
- prerelease: false
26
- requirement: &id001 !ruby/object:Gem::Requirement
18
+ requirement: !ruby/object:Gem::Requirement
27
19
  none: false
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- hash: 3
32
- segments:
33
- - 0
34
- version: "0"
20
+ requirements:
21
+ - - ! '>='
22
+ - !ruby/object:Gem::Version
23
+ version: '0'
35
24
  type: :development
36
- version_requirements: *id001
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ! '>='
30
+ - !ruby/object:Gem::Version
31
+ version: '0'
37
32
  description: Simple Ruby stateless module interface to imagemagick.
38
- email:
33
+ email:
39
34
  - public@misuse.org
40
35
  - j@2rye.com
41
36
  executables: []
42
-
43
37
  extensions: []
44
-
45
38
  extra_rdoc_files: []
46
-
47
- files:
39
+ files:
48
40
  - .gitignore
41
+ - .rvmrc
42
+ - Gemfile
49
43
  - README.md
44
+ - Rakefile
50
45
  - init.rb
51
46
  - lib/image_resources.rb
52
47
  - lib/mojo_magick.rb
@@ -56,41 +51,31 @@ files:
56
51
  - test/fixtures/not_an_image.jpg
57
52
  - test/fixtures/zero_byte_image.jpg
58
53
  - test/mojo_magick_test.rb
59
- has_rdoc: true
60
54
  homepage: http://github.com/bunnymatic/mojo_magick
61
55
  licenses: []
62
-
63
56
  post_install_message:
64
57
  rdoc_options: []
65
-
66
- require_paths:
58
+ require_paths:
67
59
  - lib
68
- required_ruby_version: !ruby/object:Gem::Requirement
60
+ required_ruby_version: !ruby/object:Gem::Requirement
69
61
  none: false
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- hash: 3
74
- segments:
75
- - 0
76
- version: "0"
77
- required_rubygems_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ required_rubygems_version: !ruby/object:Gem::Requirement
78
67
  none: false
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- hash: 3
83
- segments:
84
- - 0
85
- version: "0"
68
+ requirements:
69
+ - - ! '>='
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
86
72
  requirements: []
87
-
88
73
  rubyforge_project: mojo_magick
89
- rubygems_version: 1.3.7
74
+ rubygems_version: 1.8.24
90
75
  signing_key:
91
76
  specification_version: 3
92
- summary: mojo_magick-0.4.2
93
- test_files:
77
+ summary: mojo_magick-0.4.3
78
+ test_files:
94
79
  - test/fixtures/5742.jpg
95
80
  - test/fixtures/not_an_image.jpg
96
81
  - test/fixtures/zero_byte_image.jpg