[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