[DRE-commits] [ruby-sprite-factory] 01/02: Merging upstream version 1.7.1.

Andrew Lee ajqlee at moszumanska.debian.org
Fri Dec 18 19:55:27 UTC 2015


This is an automated email from the git hooks/post-receive script.

ajqlee pushed a commit to branch master
in repository ruby-sprite-factory.

commit fc5875fc5647a18bf261a954169a49adc800970e
Author: Andrew Lee (李健秋) <andrew.lee at collabora.co.uk>
Date:   Wed Sep 16 00:02:19 2015 +0800

    Merging upstream version 1.7.1.
---
 README.md                                        |   2 +-
 RELEASE_NOTES.md                                 |   5 ++++
 debian/changelog                                 |   2 +-
 lib/sprite_factory.rb                            |   4 +--
 lib/sprite_factory/runner.rb                     |  15 +++++++++++-
 metadata.yml                                     |   8 ++++--
 test/images/custom/custom.css                    |   0
 test/images/custom/running.png                   | Bin
 test/images/custom/stopped.png                   | Bin
 test/images/formats/thief.png                    | Bin
 test/images/glob/excluded1.png                   | Bin
 test/images/glob/excluded2.png                   | Bin
 test/images/glob/included1.png                   | Bin
 test/images/glob/included2.png                   | Bin
 test/images/glob/included3.png                   | Bin
 test/images/hover/div.bar__img.icon--active.png  | Bin
 test/images/hover/div.bar__img.icon--focus.png   | Bin
 test/images/hover/div.bar__img.icon--hover.png   | Bin
 test/images/hover/div.bar__img.icon--link.png    | Bin
 test/images/hover/div.bar__img.icon--visited.png | Bin
 test/images/hover/div.bar__img.icon.png          | Bin
 test/images/hover/div.foo__img.icon--active.png  | Bin
 test/images/hover/div.foo__img.icon--focus.png   | Bin
 test/images/hover/div.foo__img.icon--hover.png   | Bin
 test/images/hover/div.foo__img.icon--link.png    | Bin
 test/images/hover/div.foo__img.icon--visited.png | Bin
 test/images/hover/div.foo__img.icon.png          | Bin
 test/images/irregular/irregular1.png             | Bin
 test/images/irregular/irregular2.png             | Bin
 test/images/irregular/irregular3.png             | Bin
 test/images/irregular/irregular4.png             | Bin
 test/images/irregular/irregular5.png             | Bin
 test/images/names/Odd.Period.png                 | Bin
 test/images/reference/irregular.filtered.css     |  20 +++++++++++++++
 test/images/reference/irregular.filtered.png     | Bin 0 -> 3855 bytes
 test/images/reference/regular.filtered.css       |  20 +++++++++++++++
 test/images/reference/regular.filtered.png       | Bin 0 -> 28510 bytes
 test/images/subfolders/england/amy.png           | Bin
 test/images/subfolders/england/bob.png           | Bin
 test/images/subfolders/france/bob.png            | Bin
 test/images/subfolders/usa/amy.png               | Bin
 test/images/subfolders/usa/bob.png               | Bin
 test/integration_test.rb                         |  12 +++++++++
 test/runner_test.rb                              |  30 ++++++++++++++++++++---
 test/test_case.rb                                |   2 +-
 45 files changed, 109 insertions(+), 11 deletions(-)

diff --git a/README.md b/README.md
index be4e723..3774839 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-Sprite Factory (v1.7)
+Sprite Factory (v1.7.1)
 =======================
 
 The sprite factory is a ruby library that can be used to generate
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index 1e8eee2..caef678 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -1,3 +1,8 @@
+September 9th 2015 - v1.7.1
+---------------------------
+
+ * added `exclude` option to ignore select images in source directory (courtesy of @AlexanderRD)
+
 August 15th 2015 - v1.7
 -----------------------
 
diff --git a/debian/changelog b/debian/changelog
index 780bcbb..b85b06c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-ruby-sprite-factory (1.7-1) UNRELEASED; urgency=medium
+ruby-sprite-factory (1.7.1-1) UNRELEASED; urgency=medium
 
   * Initial release (Closes: #797155)
 
diff --git a/lib/sprite_factory.rb b/lib/sprite_factory.rb
index 5b4e290..5e1cae8 100644
--- a/lib/sprite_factory.rb
+++ b/lib/sprite_factory.rb
@@ -2,7 +2,7 @@ module SpriteFactory
 
   #----------------------------------------------------------------------------
 
-  VERSION     = "1.7"
+  VERSION     = "1.7.1"
   SUMMARY     = "Automatic CSS sprite generator"
   DESCRIPTION = "Combines individual images from a directory into a single sprite image file and creates an appropriate CSS stylesheet"
   LIB         = File.dirname(__FILE__)
@@ -30,6 +30,7 @@ module SpriteFactory
     attr_accessor :separator
     attr_accessor :glob
     attr_accessor :sanitizer
+    attr_accessor :exclude
   end
 
   #----------------------------------------------------------------------------
@@ -85,4 +86,3 @@ module SpriteFactory
   #----------------------------------------------------------------------------
 
 end
-
diff --git a/lib/sprite_factory/runner.rb b/lib/sprite_factory/runner.rb
index 4400c53..3e6d0b9 100644
--- a/lib/sprite_factory/runner.rb
+++ b/lib/sprite_factory/runner.rb
@@ -27,6 +27,7 @@ module SpriteFactory
       @config[:separator]  ||= SpriteFactory.separator || '_'
       @config[:glob]       ||= SpriteFactory.glob      || '*'
       @config[:sanitizer]  ||= SpriteFactory.sanitizer
+      @config[:exclude]    ||= SpriteFactory.exclude   || []
     end
 
     #----------------------------------------------------------------------------
@@ -149,6 +150,14 @@ module SpriteFactory
       config[:sanitizer]
     end
 
+    def exclude
+      config[:exclude]
+    end
+
+    def exclude?(file)
+      Array(exclude).any? { |name| file.include?(name) }
+    end
+
     def custom_style_file
       File.join(input, File.basename(input) + ".#{style_name}")
     end
@@ -169,11 +178,15 @@ module SpriteFactory
       end
     end
 
+    #----------------------------------------------------------------------------
+
     def image_files
       return [] if input.nil?
       valid_extensions = library::VALID_EXTENSIONS
       expansions = Array(valid_extensions).map{|ext| File.join(input, "**", "#{config[:glob]}.#{ext}")}
-      SpriteFactory.find_files(*expansions)
+      files = SpriteFactory.find_files(*expansions)
+      files = files.reject{ |file| exclude?(file) }
+      files
     end
 
     #----------------------------------------------------------------------------
diff --git a/metadata.yml b/metadata.yml
index 105e7a9..0e31f65 100644
--- a/metadata.yml
+++ b/metadata.yml
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: sprite-factory
 version: !ruby/object:Gem::Version
-  version: '1.7'
+  version: 1.7.1
 platform: ruby
 authors:
 - Jake Gordon
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2015-08-15 00:00:00.000000000 Z
+date: 2015-09-09 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: rmagick
@@ -112,6 +112,8 @@ files:
 - test/images/reference/hover.png
 - test/images/reference/index.html
 - test/images/reference/irregular.css
+- test/images/reference/irregular.filtered.css
+- test/images/reference/irregular.filtered.png
 - test/images/reference/irregular.fixed.css
 - test/images/reference/irregular.fixed.png
 - test/images/reference/irregular.horizontal.css
@@ -131,6 +133,8 @@ files:
 - test/images/reference/regular.css
 - test/images/reference/regular.custom.css
 - test/images/reference/regular.custom.png
+- test/images/reference/regular.filtered.css
+- test/images/reference/regular.filtered.png
 - test/images/reference/regular.fixed.css
 - test/images/reference/regular.fixed.png
 - test/images/reference/regular.horizontal.css
diff --git a/test/images/custom/custom.css b/test/images/custom/custom.css
old mode 100755
new mode 100644
diff --git a/test/images/custom/running.png b/test/images/custom/running.png
old mode 100755
new mode 100644
diff --git a/test/images/custom/stopped.png b/test/images/custom/stopped.png
old mode 100755
new mode 100644
diff --git a/test/images/formats/thief.png b/test/images/formats/thief.png
old mode 100755
new mode 100644
diff --git a/test/images/glob/excluded1.png b/test/images/glob/excluded1.png
old mode 100755
new mode 100644
diff --git a/test/images/glob/excluded2.png b/test/images/glob/excluded2.png
old mode 100755
new mode 100644
diff --git a/test/images/glob/included1.png b/test/images/glob/included1.png
old mode 100755
new mode 100644
diff --git a/test/images/glob/included2.png b/test/images/glob/included2.png
old mode 100755
new mode 100644
diff --git a/test/images/glob/included3.png b/test/images/glob/included3.png
old mode 100755
new mode 100644
diff --git a/test/images/hover/div.bar__img.icon--active.png b/test/images/hover/div.bar__img.icon--active.png
old mode 100755
new mode 100644
diff --git a/test/images/hover/div.bar__img.icon--focus.png b/test/images/hover/div.bar__img.icon--focus.png
old mode 100755
new mode 100644
diff --git a/test/images/hover/div.bar__img.icon--hover.png b/test/images/hover/div.bar__img.icon--hover.png
old mode 100755
new mode 100644
diff --git a/test/images/hover/div.bar__img.icon--link.png b/test/images/hover/div.bar__img.icon--link.png
old mode 100755
new mode 100644
diff --git a/test/images/hover/div.bar__img.icon--visited.png b/test/images/hover/div.bar__img.icon--visited.png
old mode 100755
new mode 100644
diff --git a/test/images/hover/div.bar__img.icon.png b/test/images/hover/div.bar__img.icon.png
old mode 100755
new mode 100644
diff --git a/test/images/hover/div.foo__img.icon--active.png b/test/images/hover/div.foo__img.icon--active.png
old mode 100755
new mode 100644
diff --git a/test/images/hover/div.foo__img.icon--focus.png b/test/images/hover/div.foo__img.icon--focus.png
old mode 100755
new mode 100644
diff --git a/test/images/hover/div.foo__img.icon--hover.png b/test/images/hover/div.foo__img.icon--hover.png
old mode 100755
new mode 100644
diff --git a/test/images/hover/div.foo__img.icon--link.png b/test/images/hover/div.foo__img.icon--link.png
old mode 100755
new mode 100644
diff --git a/test/images/hover/div.foo__img.icon--visited.png b/test/images/hover/div.foo__img.icon--visited.png
old mode 100755
new mode 100644
diff --git a/test/images/hover/div.foo__img.icon.png b/test/images/hover/div.foo__img.icon.png
old mode 100755
new mode 100644
diff --git a/test/images/irregular/irregular1.png b/test/images/irregular/irregular1.png
old mode 100755
new mode 100644
diff --git a/test/images/irregular/irregular2.png b/test/images/irregular/irregular2.png
old mode 100755
new mode 100644
diff --git a/test/images/irregular/irregular3.png b/test/images/irregular/irregular3.png
old mode 100755
new mode 100644
diff --git a/test/images/irregular/irregular4.png b/test/images/irregular/irregular4.png
old mode 100755
new mode 100644
diff --git a/test/images/irregular/irregular5.png b/test/images/irregular/irregular5.png
old mode 100755
new mode 100644
diff --git a/test/images/names/Odd.Period.png b/test/images/names/Odd.Period.png
old mode 100755
new mode 100644
diff --git a/test/images/reference/irregular.filtered.css b/test/images/reference/irregular.filtered.css
new file mode 100644
index 0000000..4b6849c
--- /dev/null
+++ b/test/images/reference/irregular.filtered.css
@@ -0,0 +1,20 @@
+/*
+
+        Creating a sprite from following images:
+        
+        test/images/irregular/irregular2.png (16x16)
+        test/images/irregular/irregular3.png (48x48)
+        test/images/irregular/irregular4.png (34x14)
+
+        Output files:
+          test/images/irregular.filtered.png
+          test/images/irregular.filtered.css
+
+        Output size:
+          98x48
+
+
+*/
+img.filtered_irregular2 { width: 16px; height: 16px; background: url(irregular.filtered.png) 0px -16px no-repeat; }
+img.filtered_irregular3 { width: 48px; height: 48px; background: url(irregular.filtered.png) -16px 0px no-repeat; }
+img.filtered_irregular4 { width: 34px; height: 14px; background: url(irregular.filtered.png) -64px -17px no-repeat; }
diff --git a/test/images/reference/irregular.filtered.png b/test/images/reference/irregular.filtered.png
new file mode 100644
index 0000000..14c69c8
Binary files /dev/null and b/test/images/reference/irregular.filtered.png differ
diff --git a/test/images/reference/regular.filtered.css b/test/images/reference/regular.filtered.css
new file mode 100644
index 0000000..c2623c5
--- /dev/null
+++ b/test/images/reference/regular.filtered.css
@@ -0,0 +1,20 @@
+/*
+
+        Creating a sprite from following images:
+        
+        test/images/regular/regular2.PNG (64x64)
+        test/images/regular/regular3.PNG (64x64)
+        test/images/regular/regular4.PNG (64x64)
+
+        Output files:
+          test/images/regular.filtered.png
+          test/images/regular.filtered.css
+
+        Output size:
+          192x64
+
+
+*/
+img.filtered_regular2 { width: 64px; height: 64px; background: url(regular.filtered.png) 0px 0px no-repeat; }
+img.filtered_regular3 { width: 64px; height: 64px; background: url(regular.filtered.png) -64px 0px no-repeat; }
+img.filtered_regular4 { width: 64px; height: 64px; background: url(regular.filtered.png) -128px 0px no-repeat; }
diff --git a/test/images/reference/regular.filtered.png b/test/images/reference/regular.filtered.png
new file mode 100644
index 0000000..fc4c427
Binary files /dev/null and b/test/images/reference/regular.filtered.png differ
diff --git a/test/images/subfolders/england/amy.png b/test/images/subfolders/england/amy.png
old mode 100755
new mode 100644
diff --git a/test/images/subfolders/england/bob.png b/test/images/subfolders/england/bob.png
old mode 100755
new mode 100644
diff --git a/test/images/subfolders/france/bob.png b/test/images/subfolders/france/bob.png
old mode 100755
new mode 100644
diff --git a/test/images/subfolders/usa/amy.png b/test/images/subfolders/usa/amy.png
old mode 100755
new mode 100644
diff --git a/test/images/subfolders/usa/bob.png b/test/images/subfolders/usa/bob.png
old mode 100755
new mode 100644
diff --git a/test/integration_test.rb b/test/integration_test.rb
index 2fcf8dc..577c2c2 100644
--- a/test/integration_test.rb
+++ b/test/integration_test.rb
@@ -60,6 +60,12 @@ module SpriteFactory
                                      :nocomments => true)
     end
 
+    def test_generate_regular_sprite_with_exclude_array
+      integration_test(REGULAR_PATH, :output   => output_path('regular.filtered'),
+                                     :selector => 'img.filtered_',
+                                     :exclude  => ['regular1.PNG', 'regular5.PNG'])
+    end
+
     #----------------------------------------------------------------------------
 
     def test_generate_irregular_sprite
@@ -111,6 +117,12 @@ module SpriteFactory
                                        :style    => :sass)
     end
 
+    def test_generate_irregular_sprite_with_exclude_array
+      integration_test(IRREGULAR_PATH, :output   => output_path('irregular.filtered'),
+                                       :selector => 'img.filtered_',
+                                       :exclude  => ['irregular1.png', 'irregular5.png'])
+    end
+
     #----------------------------------------------------------------------------
 
     def test_generate_custom_sprite
diff --git a/test/runner_test.rb b/test/runner_test.rb
index 56be966..1a612a4 100644
--- a/test/runner_test.rb
+++ b/test/runner_test.rb
@@ -19,6 +19,7 @@ module SpriteFactory
         assert_equal(:css,                    r.style_name)
         assert_equal(:rmagick,                r.library_name)
         assert_equal(SEPARATOR,               r.separator)
+        assert_equal([],                      r.exclude)
 
         r = Runner.new(IRREGULAR_PATH)
         assert_equal(IRREGULAR_PATH,          r.input)
@@ -30,6 +31,7 @@ module SpriteFactory
         assert_equal(:css,                    r.style_name)
         assert_equal(:rmagick,                r.library_name)
         assert_equal(SEPARATOR,               r.separator)
+        assert_equal([],                      r.exclude)
 
         r = Runner.new(IRREGULAR_PATH, :separator => '.')
         assert_equal(IRREGULAR_PATH,          r.input)
@@ -52,6 +54,19 @@ module SpriteFactory
         assert_equal(:css,                    r.style_name)
         assert_equal(:rmagick,                r.library_name)
         assert_equal(SEPARATOR,               r.separator)
+        assert_equal([],                      r.exclude)
+
+        r = Runner.new(REGULAR_PATH, :exclude => ['foo.png']) 
+        assert_equal(REGULAR_PATH,            r.input)
+        assert_equal(REGULAR_PATH,            r.output)
+        assert_equal(REGULAR_PATH + ".png",   r.output_image_file)
+        assert_equal(REGULAR_PATH + ".css",   r.output_style_file)
+        assert_equal(REGULAR,                 r.image_files)
+        assert_equal(:horizontal,             r.layout_name)
+        assert_equal(:css,                    r.style_name)
+        assert_equal(:rmagick,                r.library_name)
+        assert_equal(SEPARATOR,               r.separator)
+        assert_equal(['foo.png'],             r.exclude)
 
         r = Runner.new(REGULAR_PATH, :output_image => "foo.png", :output_style => "bar.css.sass.erb")
         assert_equal(REGULAR_PATH,            r.input)
@@ -63,6 +78,7 @@ module SpriteFactory
         assert_equal(:css,                    r.style_name)
         assert_equal(:rmagick,                r.library_name)
         assert_equal(SEPARATOR,               r.separator)
+        assert_equal([],                      r.exclude)
 
         r = Runner.new(REGULAR_PATH, :layout => :vertical, :library => :chunkypng, :style => :sass)
         assert_equal(REGULAR_PATH,            r.input)
@@ -74,9 +90,8 @@ module SpriteFactory
         assert_equal(:sass,                   r.style_name)
         assert_equal(:chunkypng,              r.library_name)
         assert_equal(SEPARATOR,               r.separator)
-
-      end
-    
+        assert_equal([],                      r.exclude)        
+      end    
     end
 
     #----------------------------------------------------------------------------
@@ -202,6 +217,15 @@ module SpriteFactory
 
     #----------------------------------------------------------------------------
 
+    def test_images_are_filtered_correctly
+      Runner.publicize_methods do
+        expected = REGULAR_INFO.map{ |i| i[:filename] }
+        excluded = expected.pop(2)
+        actual = Runner.new(REGULAR_PATH, :exclude => excluded).image_files
+        assert_equal(expected, actual)
+      end
+    end
+
     def test_images_are_sorted_in_classname_order
       Runner.publicize_methods do
         expected = [
diff --git a/test/test_case.rb b/test/test_case.rb
index 87f265b..fcd18a3 100644
--- a/test/test_case.rb
+++ b/test/test_case.rb
@@ -107,7 +107,7 @@ module SpriteFactory
       actual_image   = Magick::Image.read(actual)[0]
       expected_image = Magick::Image.read(expected)[0]
       img, val       = expected_image.compare_channel(actual_image, Magick::MeanAbsoluteErrorMetric)
-      assert_equal(0.0, val, "generated image does not match pregenerated reference:\n actual:   #{actual}\n expected: #{expected}")
+      assert_in_delta(0.0, val, 1e-7, "generated image does not match pregenerated reference:\n actual:   #{actual}\n expected: #{expected}\n expected: #{expected}")
     end
 
     def assert_reference_style(name)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/ruby-sprite-factory.git



More information about the Pkg-ruby-extras-commits mailing list