sprites 0.0.1.pre3 → 0.0.1.rc1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +18 -0
- data/features/step_definitions/common_steps.rb +1 -1
- data/lib/sprites/application.rb +21 -5
- data/lib/sprites/autoload.rb +1 -0
- data/lib/sprites/autoloader.rb +16 -0
- data/lib/sprites/configuration.rb +8 -17
- data/lib/sprites/rails/autoload.rb +13 -0
- data/lib/sprites/rails/sprites.rake +0 -8
- data/lib/sprites/rails.rb +18 -2
- data/lib/sprites/sprite.rb +44 -72
- data/lib/sprites/sprite_generators/chunky_png_generator.rb +6 -3
- data/lib/sprites/sprite_piece.rb +2 -2
- data/lib/sprites/sprite_pieces.rb +11 -13
- data/lib/sprites/sprites.rb +12 -26
- data/lib/sprites/stylesheet.rb +6 -2
- data/lib/sprites/test/sprite_generator_tester.rb +4 -3
- data/lib/sprites/version.rb +1 -1
- data/lib/sprites.rb +15 -6
- data/spec/fixtures/project1/config/sprites.rb +142 -142
- data/spec/fixtures/project1/public/images/sprite_images/foo/bar.png +0 -0
- data/spec/fixtures/project2/public/images/sprite_images/bas/bar.png +0 -0
- data/spec/fixtures/project2/public/images/sprite_images/bas/bas.png +0 -0
- data/spec/fixtures/project2/public/images/sprite_images/bas/bkgd_main_copy.png +0 -0
- data/spec/fixtures/project2/public/images/sprite_images/bas/foo.png +0 -0
- data/spec/fixtures/project2/public/images/sprite_images/bas/fubar.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/bas/bar.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/bas/bas.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/bas/bkgd_main_copy.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/bas/foo.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/bas/fubar.png +0 -0
- data/spec/fixtures/rails_project1/config/application.rb +3 -0
- data/spec/fixtures/rails_project1/config/environment.rb +2 -1
- data/spec/fixtures/rails_project1/config/sprites.rb +90 -142
- data/spec/fixtures/rails_project2/Rakefile +5 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/bas/bar.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/bas/bas.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/bas/bkgd_main_copy.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/bas/foo.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/bas/fubar.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-black-default-28.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-black-default-cap-28.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-black-default-cap-long.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-black-default.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-black-onclick-28.png +0 -0
- data/spec/fixtures/{rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-red-default-cap.png → rails_project2/app/assets/images/sprite_images/buttons/btn-black-onclick-cap-28.png} +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-black-onclick-cap-long.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-black-onclick.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-black-rollover-28.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-black-rollover-cap-28.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-black-rollover-cap-long.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-black-rollover.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-blackarrow-default.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-blackarrow-onclick.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-blackarrow-rollover.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-blue-default-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-blue-default-drop.png +0 -0
- data/spec/fixtures/{rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-white-rollover-cap.png → rails_project2/app/assets/images/sprite_images/buttons/btn-blue-default-edge.png} +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-blue-default.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-blue-onclick-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-blue-onclick-drop.png +0 -0
- data/spec/fixtures/{rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-white-onclick-cap.png → rails_project2/app/assets/images/sprite_images/buttons/btn-blue-onclick-edge.png} +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-blue-onclick.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-blue-rollover-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-blue-rollover-drop.png +0 -0
- data/spec/fixtures/{rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-white-default-cap.png → rails_project2/app/assets/images/sprite_images/buttons/btn-blue-rollover-edge.png} +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-blue-rollover.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-green-default-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-green-default-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-green-default-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-green-default.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-green-onclick-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-green-onclick-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-green-onclick-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-green-onclick.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-green-rollover-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-green-rollover-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-green-rollover-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-green-rollover.png +0 -0
- data/spec/fixtures/{rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-green-default-cap.png → rails_project2/app/assets/images/sprite_images/buttons/btn-red-default-cap.png} +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-red-default-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-red-default-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-red-default.png +0 -0
- data/spec/fixtures/{rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-green-onclick-cap.png → rails_project2/app/assets/images/sprite_images/buttons/btn-red-onclick-cap.png} +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-red-onclick-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-red-onclick-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-red-onclick.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-red-rollover-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-red-rollover-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-red-rollover-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-red-rollover.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-trans-default-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-trans-default-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-trans-default-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-trans-default.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-trans-onclick-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-trans-onclick-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-trans-onclick-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-trans-onclick.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-trans-rollover-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-trans-rollover-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-trans-rollover-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-trans-rollover.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-white-default-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-white-default-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-white-default-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-white-default.png +0 -0
- data/spec/fixtures/{rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-blue-rollover.png → rails_project2/app/assets/images/sprite_images/buttons/btn-white-onclick-cap.png} +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-white-onclick-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-white-onclick-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-white-onclick.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-white-rollover-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-white-rollover-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-white-rollover-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-white-rollover.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-yellow-default-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-yellow-default-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-yellow-default-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-yellow-default.png +0 -0
- data/spec/fixtures/{rails_project1/app/assets/images/sprite_images/buttons/dark_background → rails_project2/app/assets/images/sprite_images/buttons}/btn-yellow-onclick-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-yellow-onclick-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-yellow-onclick-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-yellow-onclick.png +0 -0
- data/spec/fixtures/{rails_project1/app/assets/images/sprite_images/buttons/dark_background → rails_project2/app/assets/images/sprite_images/buttons}/btn-yellow-rollover-cap.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-yellow-rollover-drop.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-yellow-rollover-edge.png +0 -0
- data/spec/fixtures/rails_project2/app/assets/images/sprite_images/buttons/btn-yellow-rollover.png +0 -0
- data/spec/fixtures/rails_project2/config/application.rb +61 -0
- data/spec/fixtures/rails_project2/config/boot.rb +6 -0
- data/spec/fixtures/rails_project2/config/environment.rb +7 -0
- data/spec/fixtures/rails_project2/config/sprites.rb +93 -0
- data/spec/fixtures/rails_project2/log/test.log +0 -0
- data/spec/integration/rails/rails_spec.rb +9 -1
- data/spec/lib/sprites/application_spec.rb +2 -12
- data/spec/lib/sprites/autoloader_spec.rb +21 -0
- data/spec/lib/sprites/configuration_spec.rb +7 -4
- data/spec/lib/sprites/sprite_generators/chunky_png_generator_spec.rb +4 -3
- data/spec/lib/sprites/sprite_piece_spec.rb +30 -6
- data/spec/lib/sprites/sprite_pieces_spec.rb +9 -7
- data/spec/lib/sprites/sprite_spec.rb +10 -64
- data/spec/lib/sprites/sprites_spec.rb +16 -16
- data/spec/lib/sprites/stylesheet_spec.rb +4 -5
- data/spec/lib/sprites/test/sprite_generator_tester_spec.rb +3 -3
- data/spec/lib/sprites_spec.rb +1 -1
- data/spec/spec_helper.rb +2 -1
- data/spec/support/sprites_helper.rb +142 -142
- metadata +229 -117
- data/lib/sprites/rails/railtie.rb +0 -10
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-black-default-28.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-black-default-cap-28.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-black-onclick-28.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-black-onclick-cap-28.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-black-rollover-28.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-black-rollover-cap-28.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-blue-default-cap.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-blue-default.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-blue-onclick-cap.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-blue-onclick.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-blue-rollover-cap.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-green-default-drop.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-green-default-edge.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-green-default.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-green-onclick-drop.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-green-onclick-edge.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-green-onclick.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-green-rollover-cap.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-green-rollover-drop.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-green-rollover-edge.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-green-rollover.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-red-default.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-red-onclick-cap.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-red-onclick.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-red-rollover-cap.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-red-rollover.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-trans-default-cap.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-trans-default-drop.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-trans-default-edge.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-trans-default.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-trans-onclick-cap.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-trans-onclick-drop.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-trans-onclick-edge.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-trans-onclick.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-trans-rollover-cap.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-trans-rollover-drop.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-trans-rollover-edge.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-trans-rollover.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-white-default.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-white-onclick.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-white-rollover.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-yellow-default-cap.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-yellow-default.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-yellow-onclick.png +0 -0
- data/spec/fixtures/rails_project1/app/assets/images/sprite_images/buttons/dark_background/btn-yellow-rollover.png +0 -0
@@ -0,0 +1,61 @@
|
|
1
|
+
require File.expand_path('../boot', __FILE__)
|
2
|
+
|
3
|
+
# Pick the frameworks you want:
|
4
|
+
require "active_record/railtie"
|
5
|
+
require "action_controller/railtie"
|
6
|
+
# require "action_mailer/railtie"
|
7
|
+
# require "active_resource/railtie"
|
8
|
+
require "sprockets/railtie"
|
9
|
+
require 'sprites/rails'
|
10
|
+
require 'sprites/rails/autoload'
|
11
|
+
|
12
|
+
if defined?(Bundler)
|
13
|
+
# If you precompile assets before deploying to production, use this line
|
14
|
+
Bundler.require(*Rails.groups(:assets => %w(development test)))
|
15
|
+
# If you want your assets lazily compiled in production, use this line
|
16
|
+
# Bundler.require(:default, :assets, Rails.env)
|
17
|
+
end
|
18
|
+
|
19
|
+
module SpritesRailsTestApp
|
20
|
+
class Application < Rails::Application
|
21
|
+
config.root = File.expand_path('../..', __FILE__)
|
22
|
+
config.cache_classes = false
|
23
|
+
|
24
|
+
# Settings in config/environments/* take precedence over those specified here.
|
25
|
+
# Application configuration should go into files in config/initializers
|
26
|
+
# -- all .rb files in that directory are automatically loaded.
|
27
|
+
|
28
|
+
# Custom directories with classes and modules you want to be autoloadable.
|
29
|
+
# config.autoload_paths += %W(#{config.root}/lib)
|
30
|
+
|
31
|
+
# Only load the plugins named here, in the order given (default is alphabetical).
|
32
|
+
# :all can be used as a placeholder for all plugins not explicitly named.
|
33
|
+
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
|
34
|
+
|
35
|
+
# Activate observers that should always be running.
|
36
|
+
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
|
37
|
+
|
38
|
+
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
39
|
+
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
40
|
+
# config.time_zone = 'Central Time (US & Canada)'
|
41
|
+
|
42
|
+
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
43
|
+
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
44
|
+
# config.i18n.default_locale = :de
|
45
|
+
|
46
|
+
# Configure the default encoding used in templates for Ruby 1.9.
|
47
|
+
config.encoding = "utf-8"
|
48
|
+
|
49
|
+
# Configure sensitive parameters which will be filtered from the log file.
|
50
|
+
config.filter_parameters += [:password, :password_confirmation]
|
51
|
+
|
52
|
+
# Enable the asset pipeline
|
53
|
+
config.assets.enabled = true
|
54
|
+
|
55
|
+
# Version of your assets, change this if you want to expire all your assets
|
56
|
+
config.assets.version = '1.0'
|
57
|
+
config.active_support.deprecation = :log
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
SpritesRailsTestApp::Application.load_tasks
|
@@ -0,0 +1,93 @@
|
|
1
|
+
Sprites.application.define do
|
2
|
+
sprite :bas
|
3
|
+
|
4
|
+
sprite :buttons, :path => "buttons.png", :stylesheet_path => "buttons.css", :auto_define => false do
|
5
|
+
sprite_piece 'buttons/btn-black-default-28.png', 'a.black.wf_button > span, button.black.wf_submit span'
|
6
|
+
sprite_piece 'buttons/btn-black-default-cap-28.png', 'a.black.wf_button, button.black.wf_submit', :x => 'right'
|
7
|
+
sprite_piece 'buttons/btn-black-rollover-28.png', 'a.black.wf_button:hover > span, button.black.wf_submit:hover span'
|
8
|
+
sprite_piece 'buttons/btn-black-rollover-cap-28.png', 'a.black.wf_button:hover, button.black.wf_submit:hover', :x => 'right'
|
9
|
+
sprite_piece 'buttons/btn-black-onclick-28.png', 'a.black.wf_button:active > span, button.black.wf_submit:active span, a.black.wf_button.active span'
|
10
|
+
sprite_piece 'buttons/btn-black-onclick-cap-28.png', 'a.black.wf_button:active, button.black.wf_submit:active, a.black.wf_button.active', :x => 'right'
|
11
|
+
sprite_piece 'buttons/btn-green-default.png', 'a.green.wf_button > span, button.green.wf_submit span'
|
12
|
+
sprite_piece 'buttons/btn-green-default-cap.png', 'a.green.wf_button, button.green.wf_submit', :x => 'right'
|
13
|
+
sprite_piece 'buttons/btn-green-rollover.png', 'a.green.wf_button:hover > span, button.green.wf_submit:hover span'
|
14
|
+
sprite_piece 'buttons/btn-green-rollover-cap.png', 'a.green.wf_button:hover, button.green.wf_submit:hover', :x => 'right'
|
15
|
+
sprite_piece 'buttons/btn-green-onclick.png', 'a.green.wf_button:active > span, button.green.wf_submit:active span'
|
16
|
+
sprite_piece 'buttons/btn-green-onclick-cap.png', 'a.green.wf_button:active, button.green.wf_submit:active', :x => 'right'
|
17
|
+
sprite_piece 'buttons/btn-green-default-edge.png', 'a.right_edge.green.wf_button, button.right_edge.green.wf_submit', :x => 'right'
|
18
|
+
sprite_piece 'buttons/btn-green-rollover-edge.png', 'a.right_edge.green.wf_button:hover button.right_edge.green.wf_submit:hover', :x => 'right'
|
19
|
+
sprite_piece 'buttons/btn-green-onclick-edge.png', 'a.right_edge.green.wf_button:active, button.right_edge.green.wf_submit:active', :x => 'right'
|
20
|
+
sprite_piece 'buttons/btn-green-default-drop.png', 'a.green.wf_menu_button'
|
21
|
+
sprite_piece 'buttons/btn-green-rollover-drop.png', 'a.green.wf_menu_button:hover'
|
22
|
+
sprite_piece 'buttons/btn-green-onclick-drop.png', 'a.green.wf_menu_button:active'
|
23
|
+
sprite_piece 'buttons/btn-black-default.png', 'a.tall.black.wf_button > span, button.tall.black.wf_submit span'
|
24
|
+
sprite_piece 'buttons/btn-black-default-cap-long.png', 'a.tall.black.wf_button, button.tall.black.wf_submit, a.black.back_arrow.wf_button', :x => 'right'
|
25
|
+
sprite_piece 'buttons/btn-black-rollover.png', 'a.tall.black.wf_button:hover > span, button.tall.black.wf_submit:hover span'
|
26
|
+
sprite_piece 'buttons/btn-black-rollover-cap-long.png', 'a.tall.black.wf_button:hover, button.tall.black.wf_submit:hover, a.black.back_arrow.wf_button:hover', :x => 'right'
|
27
|
+
sprite_piece 'buttons/btn-black-onclick.png', 'a.tall.black.wf_button:active > span, button.tall.black.wf_submit:active span, a.black.tall.wf_button.active span'
|
28
|
+
sprite_piece 'buttons/btn-black-onclick-cap-long.png', 'a.tall.black.wf_button:active, button.tall.black.wf_submit:active, a.black.back_arrow.wf_button:active, a.black.tall.wf_button.active', :x => 'right'
|
29
|
+
sprite_piece 'buttons/btn-red-default.png', 'a.red.wf_button > span, button.red.wf_submit span'
|
30
|
+
sprite_piece 'buttons/btn-red-default-cap.png', 'a.red.wf_button, button.red.wf_submit', :x => 'right'
|
31
|
+
sprite_piece 'buttons/btn-red-rollover.png', 'a.red.wf_button:hover > span, button.red.wf_submit:hover span'
|
32
|
+
sprite_piece 'buttons/btn-red-rollover-cap.png', 'a.red.wf_button:hover, button.red.wf_submit:hover', :x => 'right'
|
33
|
+
sprite_piece 'buttons/btn-red-onclick.png', 'a.red.wf_button:active > span, button.red.wf_submit:active span'
|
34
|
+
sprite_piece 'buttons/btn-red-onclick-cap.png', 'a.red.wf_button:active, button.red.wf_submit:active', :x => 'right'
|
35
|
+
sprite_piece 'buttons/btn-yellow-default.png', 'a.yellow.wf_button > span, button.yellow.wf_submit span'
|
36
|
+
sprite_piece 'buttons/btn-yellow-default-cap.png', 'a.yellow.wf_button, button.yellow.wf_submit', :x => 'right'
|
37
|
+
sprite_piece 'buttons/btn-yellow-rollover.png', 'a.yellow.wf_button:hover > span, button.yellow.wf_submit:hover span'
|
38
|
+
sprite_piece 'buttons/btn-yellow-rollover-cap.png', 'a.yellow.wf_button:hover, button.yellow.wf_submit:hover', :x => 'right'
|
39
|
+
sprite_piece 'buttons/btn-yellow-onclick.png', 'a.yellow.wf_button:active > span, button.yellow.wf_submit:active span'
|
40
|
+
sprite_piece 'buttons/btn-yellow-onclick-cap.png', 'a.yellow.wf_button:active, button.yellow.wf_submit:active', :x => 'right'
|
41
|
+
sprite_piece 'buttons/btn-white-default.png', 'a.white.wf_button > span, button.white.wf_submit span'
|
42
|
+
sprite_piece 'buttons/btn-white-default-cap.png', 'a.white.wf_button, button.white.wf_submit', :x => 'right'
|
43
|
+
sprite_piece 'buttons/btn-white-rollover.png', 'a.white.wf_button:hover > span, button.white.wf_submit:hover span'
|
44
|
+
sprite_piece 'buttons/btn-white-rollover-cap.png', 'a.white.wf_button:hover, button.white.wf_submit:hover', :x => 'right'
|
45
|
+
sprite_piece 'buttons/btn-white-onclick.png', 'a.white.wf_button:active > span, button.white.wf_submit:active span'
|
46
|
+
sprite_piece 'buttons/btn-white-onclick-cap.png', 'a.white.wf_button:active, button.white.wf_submit:active', :x => 'right'
|
47
|
+
sprite_piece 'buttons/btn-trans-default.png', 'a.trans.wf_button > span, button.trans.wf_submit span'
|
48
|
+
sprite_piece 'buttons/btn-trans-default-cap.png', 'a.trans.wf_button, button.trans.wf_submit', :x => 'right'
|
49
|
+
sprite_piece 'buttons/btn-trans-rollover.png', 'a.trans.wf_button:hover > span, button.trans.wf_submit:hover span'
|
50
|
+
sprite_piece 'buttons/btn-trans-rollover-cap.png', 'a.trans.wf_button:hover, button.trans.wf_submit:hover', :x => 'right'
|
51
|
+
sprite_piece 'buttons/btn-trans-onclick.png', 'a.trans.wf_button:active > span, button.trans.wf_submit:active span'
|
52
|
+
sprite_piece 'buttons/btn-trans-onclick-cap.png', 'a.trans.wf_button:active, button.trans.wf_submit:active', :x => 'right'
|
53
|
+
sprite_piece 'buttons/btn-blue-default.png', 'a.blue.wf_button > span, button.blue.wf_submit span'
|
54
|
+
sprite_piece 'buttons/btn-blue-default-cap.png', 'a.blue.wf_button, button.blue.wf_submit', :x => 'right'
|
55
|
+
sprite_piece 'buttons/btn-blue-rollover.png', 'a.blue.wf_button:hover > span, button.blue.wf_submit:hover span'
|
56
|
+
sprite_piece 'buttons/btn-blue-rollover-cap.png', 'a.blue.wf_button:hover, button.blue.wf_submit:hover', :x => 'right'
|
57
|
+
sprite_piece 'buttons/btn-blue-onclick.png', 'a.blue.wf_button:active > span, button.blue.wf_submit:active span'
|
58
|
+
sprite_piece 'buttons/btn-blue-onclick-cap.png', 'a.blue.wf_button:active, button.blue.wf_submit:active', :x => 'right'
|
59
|
+
sprite_piece 'buttons/btn-red-default-edge.png', 'a.right_edge.red.wf_button, button.right_edge.red.wf_submit', :x => 'right'
|
60
|
+
sprite_piece 'buttons/btn-red-rollover-edge.png', 'a.right_edge.red.wf_button:hover, button.right_edge.red.wf_submit:hover', :x => 'right'
|
61
|
+
sprite_piece 'buttons/btn-red-onclick-edge.png', 'a.right_edge.red.wf_button:active, button.right_edge.red.wf_submit:active', :x => 'right'
|
62
|
+
sprite_piece 'buttons/btn-red-default-drop.png', 'a.red.wf_menu_button'
|
63
|
+
sprite_piece 'buttons/btn-red-rollover-drop.png', 'a.red.wf_menu_button:hover'
|
64
|
+
sprite_piece 'buttons/btn-red-onclick-drop.png', 'a.red.wf_menu_button:active'
|
65
|
+
sprite_piece 'buttons/btn-yellow-default-edge.png', 'a.right_edge.yellow.wf_button, button.right_edge.yellow.wf_submit', :x => 'right'
|
66
|
+
sprite_piece 'buttons/btn-yellow-rollover-edge.png', 'a.right_edge.yellow.wf_button:hover, button.right_edge.yellow.wf_submit:hover', :x => 'right'
|
67
|
+
sprite_piece 'buttons/btn-yellow-onclick-edge.png', 'a.right_edge.yellow.wf_button:active, button.right_edge.yellow.wf_submit:active', :x => 'right'
|
68
|
+
sprite_piece 'buttons/btn-yellow-default-drop.png', 'a.yellow.wf_menu_button'
|
69
|
+
sprite_piece 'buttons/btn-yellow-rollover-drop.png', 'a.yellow.wf_menu_button:hover'
|
70
|
+
sprite_piece 'buttons/btn-yellow-onclick-drop.png', 'a.yellow.wf_menu_button:active'
|
71
|
+
sprite_piece 'buttons/btn-blue-default-edge.png', 'a.right_edge.blue.wf_button, button.right_edge.blue.wf_submit', :x => 'right'
|
72
|
+
sprite_piece 'buttons/btn-blue-rollover-edge.png', 'a.right_edge.blue.wf_button:hover, button.right_edge.blue.wf_submit:hover', :x => 'right'
|
73
|
+
sprite_piece 'buttons/btn-blue-onclick-edge.png', 'a.right_edge.blue.wf_button:active, button.right_edge.blue.wf_submit:active', :x => 'right'
|
74
|
+
sprite_piece 'buttons/btn-blue-default-drop.png', 'a.blue.wf_menu_button'
|
75
|
+
sprite_piece 'buttons/btn-blue-rollover-drop.png', 'a.blue.wf_menu_button:hover'
|
76
|
+
sprite_piece 'buttons/btn-blue-onclick-drop.png', 'a.blue.wf_menu_button:active'
|
77
|
+
sprite_piece 'buttons/btn-white-default-edge.png', 'a.right_edge.white.wf_button, button.right_edge.white.wf_submit', :x => 'right'
|
78
|
+
sprite_piece 'buttons/btn-white-rollover-edge.png', 'a.right_edge.white.wf_button:hover, button.right_edge.white.wf_submit:hover', :x => 'right'
|
79
|
+
sprite_piece 'buttons/btn-white-onclick-edge.png', 'a.right_edge.white.wf_button:active, button.right_edge.white.wf_submit:active', :x => 'right'
|
80
|
+
sprite_piece 'buttons/btn-white-default-drop.png', 'a.white.wf_menu_button'
|
81
|
+
sprite_piece 'buttons/btn-white-rollover-drop.png', 'a.white.wf_menu_button:hover'
|
82
|
+
sprite_piece 'buttons/btn-white-onclick-drop.png', 'a.white.wf_menu_button:active'
|
83
|
+
sprite_piece 'buttons/btn-trans-default-edge.png', 'a.right_edge.trans.wf_button, button.right_edge.trans.wf_submit', :x => 'right'
|
84
|
+
sprite_piece 'buttons/btn-trans-rollover-edge.png', 'a.right_edge.trans.wf_button:hover, button.right_edge.trans.wf_submit:hover', :x => 'right'
|
85
|
+
sprite_piece 'buttons/btn-trans-onclick-edge.png', 'a.right_edge.trans.wf_button:active, button.right_edge.trans.wf_submit:active', :x => 'right'
|
86
|
+
sprite_piece 'buttons/btn-trans-default-drop.png', 'a.trans.wf_menu_button'
|
87
|
+
sprite_piece 'buttons/btn-trans-rollover-drop.png', 'a.trans.wf_menu_button:hover'
|
88
|
+
sprite_piece 'buttons/btn-trans-onclick-drop.png', 'a.trans.wf_menu_button:active'
|
89
|
+
sprite_piece 'buttons/btn-blackarrow-default.png', 'a.black.back_arrow.wf_button > span'
|
90
|
+
sprite_piece 'buttons/btn-blackarrow-rollover.png', 'a.black.back_arrow.wf_button:hover > span'
|
91
|
+
sprite_piece 'buttons/btn-blackarrow-onclick.png', 'a.black.back_arrow.wf_button:active > span'
|
92
|
+
end
|
93
|
+
end
|
File without changes
|
@@ -1,8 +1,10 @@
|
|
1
1
|
ENV['RAILS_ENV'] ||= 'test'
|
2
|
+
require 'rake'
|
2
3
|
require 'spec_helper'
|
3
4
|
require 'rails/all'
|
4
|
-
require 'fixtures/rails_project1/config/
|
5
|
+
require 'fixtures/rails_project1/config/application'
|
5
6
|
require 'rspec-rails'
|
7
|
+
require 'sprites/test/sprite_generator_tester'
|
6
8
|
|
7
9
|
describe "When creating sprites and stylesheets in a rails app" do
|
8
10
|
it 'should create the sprites when rake is executed' do
|
@@ -13,5 +15,11 @@ describe "When creating sprites and stylesheets in a rails app" do
|
|
13
15
|
|
14
16
|
FileUtils.rm Sprite.sprite_full_path(Sprites.configuration, Sprites.application.sprites[:buttons])
|
15
17
|
FileUtils.rm Stylesheet.stylesheet_full_path(Sprites.configuration, Sprites.application.sprites[:buttons].stylesheet)
|
18
|
+
|
19
|
+
tester = SpriteGeneratorTester.new(Sprites.application.sprites[:bas], Sprites.configuration)
|
20
|
+
tester.should be_accurate
|
21
|
+
|
22
|
+
FileUtils.rm Sprite.sprite_full_path(Sprites.configuration, Sprites.application.sprites[:bas])
|
23
|
+
FileUtils.rm Stylesheet.stylesheet_full_path(Sprites.configuration, Sprites.application.sprites[:bas].stylesheet)
|
16
24
|
end
|
17
25
|
end
|
@@ -11,7 +11,7 @@ describe Application do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
it 'should allow access to the api when defining a sprite with a symbol' do
|
14
|
-
@app.sprite(:foo)
|
14
|
+
@app.sprite(:foo)
|
15
15
|
|
16
16
|
@app.sprites[:foo].should be_a(Sprite)
|
17
17
|
@app.sprites[:foo].name.should be(:foo)
|
@@ -20,17 +20,7 @@ describe Application do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'should allow access to the api when defining a sprite with a hash' do
|
23
|
-
@app.sprite('sprites/foo.png' => 'sprites/foo.css')
|
24
|
-
@app.sprites[:foo].should be_a(Sprite)
|
25
|
-
@app.sprites[:foo].name.should be(:foo)
|
26
|
-
@app.sprites[:foo].path.to_s.should == "sprites/foo.png"
|
27
|
-
@app.sprites[:foo].stylesheet_path.should == "sprites/foo.css"
|
28
|
-
end
|
29
|
-
|
30
|
-
|
31
|
-
it 'should allow access to the api when defining a sprite with a string' do
|
32
|
-
@app.sprite('sprites/foo.png') {}
|
33
|
-
|
23
|
+
@app.sprite(:foo, :path => 'sprites/foo.png', :stylesheet_path => 'sprites/foo.css')
|
34
24
|
@app.sprites[:foo].should be_a(Sprite)
|
35
25
|
@app.sprites[:foo].name.should be(:foo)
|
36
26
|
@app.sprites[:foo].path.to_s.should == "sprites/foo.png"
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'sprites/autoloader'
|
3
|
+
|
4
|
+
describe Autoloader do
|
5
|
+
it 'should autoload sprites' do
|
6
|
+
Sprites.configure do
|
7
|
+
config.sprite_pieces_path = File.join(GEM_ROOT, 'spec/fixtures/rails_project1/app/assets/images/sprite_images')
|
8
|
+
end
|
9
|
+
|
10
|
+
Sprites.application.sprites[:buttons].should be_nil
|
11
|
+
Sprites.application.sprites[:bas].should be_nil
|
12
|
+
|
13
|
+
Sprites::Autoloader.new.autoload
|
14
|
+
|
15
|
+
Sprites.application.sprites[:buttons].should_not be_nil
|
16
|
+
Sprites.application.sprites[:bas].should_not be_nil
|
17
|
+
|
18
|
+
Sprites.application.sprites[:buttons].sprite_pieces.count.should == 87
|
19
|
+
Sprites.application.sprites[:bas].sprite_pieces.count.should == 5
|
20
|
+
end
|
21
|
+
end
|
@@ -12,7 +12,8 @@ describe Configuration do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'should accept an override' do
|
15
|
-
config.sprites_path
|
15
|
+
config.sprites_path = 'foo'
|
16
|
+
config.sprites_path.should == 'foo'
|
16
17
|
end
|
17
18
|
end
|
18
19
|
|
@@ -22,7 +23,8 @@ describe Configuration do
|
|
22
23
|
end
|
23
24
|
|
24
25
|
it 'should accept an override' do
|
25
|
-
config.sprite_stylesheets_path
|
26
|
+
config.sprite_stylesheets_path = 'foo'
|
27
|
+
config.sprite_stylesheets_path.should == 'foo'
|
26
28
|
end
|
27
29
|
end
|
28
30
|
|
@@ -32,7 +34,8 @@ describe Configuration do
|
|
32
34
|
end
|
33
35
|
|
34
36
|
it 'should accept an override' do
|
35
|
-
config.sprite_pieces_path
|
37
|
+
config.sprite_pieces_path = 'foo'
|
38
|
+
config.sprite_pieces_path.should == 'foo'
|
36
39
|
end
|
37
40
|
end
|
38
41
|
|
@@ -44,7 +47,7 @@ describe Configuration do
|
|
44
47
|
Configuration::FIELDS.each do |field|
|
45
48
|
it "should be configured if the #{field} has changed" do
|
46
49
|
config = Configuration.new
|
47
|
-
config.send(field, 'foo')
|
50
|
+
config.send(:"#{field}=", 'foo')
|
48
51
|
config.should be_configured
|
49
52
|
end
|
50
53
|
end
|
@@ -1,11 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
+
require 'sprites/test/sprite_generator_tester'
|
2
3
|
|
3
4
|
describe ChunkyPngGenerator do
|
4
5
|
it 'should generate a sprite and a stylesheet' do
|
5
6
|
Sprites.configure do
|
6
|
-
sprites_path 'tmp/images/sprites/foo2'
|
7
|
-
sprite_stylesheets_path 'tmp/images/stylesheets/foo2'
|
8
|
-
sprite_pieces_path File.join(
|
7
|
+
config.sprites_path = 'tmp/images/sprites/foo2/sprites'
|
8
|
+
config.sprite_stylesheets_path = 'tmp/images/stylesheets/foo2/sprites'
|
9
|
+
config.sprite_pieces_path = File.join(GEM_ROOT, 'spec/fixtures/known_good/sprite_images')
|
9
10
|
end
|
10
11
|
|
11
12
|
define_buttons_sprite
|
@@ -1,10 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
+
require 'sprites/sprite_piece'
|
2
3
|
|
3
4
|
describe SpritePiece do
|
4
5
|
context 'self.sprite_piece_full_path' do
|
5
6
|
it 'should return the full sprite piece path' do
|
6
7
|
config = Configuration.new
|
7
|
-
config.sprite_pieces_path
|
8
|
+
config.sprite_pieces_path = 'tmp/images/sprite_images'
|
8
9
|
|
9
10
|
sprite_piece = SpritePiece.new('foo/bar.png')
|
10
11
|
|
@@ -15,15 +16,15 @@ describe SpritePiece do
|
|
15
16
|
context '#css' do
|
16
17
|
it 'should return the css for the sprite piece' do
|
17
18
|
config = Configuration.new
|
18
|
-
config.sprites_path
|
19
|
+
config.sprites_path = 'tmp/images/sprites'
|
19
20
|
|
20
|
-
sprite = Sprite.new(:foo).
|
21
|
-
sprite_piece 'foo/bar.png'
|
21
|
+
sprite = Sprite.new(:foo).configure do
|
22
|
+
sprite_piece 'foo/bar.png', '.foo'
|
22
23
|
end
|
23
24
|
|
24
25
|
sprite_piece = sprite.sprite_pieces['foo/bar.png']
|
25
|
-
sprite_piece.
|
26
|
-
sprite_piece.
|
26
|
+
sprite_piece.left = 0
|
27
|
+
sprite_piece.top = 345
|
27
28
|
sprite_piece.width = 40
|
28
29
|
sprite_piece.height = 50
|
29
30
|
|
@@ -38,4 +39,27 @@ describe SpritePiece do
|
|
38
39
|
CSS
|
39
40
|
end
|
40
41
|
end
|
42
|
+
|
43
|
+
context 'when overriding the default x and y background-position settings' do
|
44
|
+
it 'should allow you to override the x setting' do
|
45
|
+
config = Configuration.new
|
46
|
+
config.sprites_path ='tmp/images/sprites'
|
47
|
+
config.sprite_stylesheets_path = 'tmp/stylesheets/sprites'
|
48
|
+
config.sprite_pieces_path = 'spec/fixtures/project1/public/images/sprite_images'
|
49
|
+
|
50
|
+
sprite = Sprite.new(:foo).configure do
|
51
|
+
sprite_piece 'foo/bar.png', '.foo', :x => 'right'
|
52
|
+
end
|
53
|
+
sprite_piece = sprite.sprite_pieces['foo/bar.png']
|
54
|
+
|
55
|
+
generator = ChunkyPngGenerator.new(config)
|
56
|
+
sprites = Sprites::Sprites.new(config)
|
57
|
+
sprites.add(sprite)
|
58
|
+
|
59
|
+
generator.generate(sprites)
|
60
|
+
|
61
|
+
sprite_piece.x.should == 'right'
|
62
|
+
sprite_piece.css(config, sprite).should include('right')
|
63
|
+
end
|
64
|
+
end
|
41
65
|
end
|
@@ -6,20 +6,22 @@ describe SpritePieces do
|
|
6
6
|
before do
|
7
7
|
@sprite_pieces = SpritePieces.new
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
sprite_pieces = [
|
10
|
+
['foo.png', 'foo.css'],
|
11
|
+
['bar.png', 'bar.css'],
|
12
|
+
['bas.png', 'bas.css']
|
13
13
|
]
|
14
14
|
|
15
|
-
@sprite_piece_definitions
|
16
|
-
|
15
|
+
@sprite_piece_definitions = sprite_pieces.map(&:clone)
|
16
|
+
|
17
|
+
sprite_pieces.each do |sp|
|
18
|
+
@sprite_pieces.add(*sp)
|
17
19
|
end
|
18
20
|
end
|
19
21
|
|
20
22
|
context '#map' do
|
21
23
|
it 'should allow access to the @sprite_pieces OrderedHash values and allow them to be mapped' do
|
22
|
-
@sprite_pieces.map {|sp|
|
24
|
+
@sprite_pieces.map {|sp| [sp.path, sp.selector] }.should == @sprite_piece_definitions
|
23
25
|
end
|
24
26
|
end
|
25
27
|
|
@@ -14,77 +14,23 @@ describe Sprite do
|
|
14
14
|
|
15
15
|
context '#path' do
|
16
16
|
it 'should retrieve the path' do
|
17
|
-
@sprite.define(:foo) {}
|
18
17
|
@sprite.path.to_s.should == "foo.png"
|
19
18
|
end
|
20
19
|
end
|
21
20
|
|
22
|
-
context "#define", "a method to further initialize the Sprite, e.g. with spite pieces" do
|
23
|
-
shared_examples "a sprite definition with no options" do
|
24
|
-
it 'the options should be a hash' do
|
25
|
-
@sprite.instance_variable_get(:@options).should be_a(Hash)
|
26
|
-
end
|
27
|
-
|
28
|
-
it 'should set the path' do
|
29
|
-
@sprite.path.should be_a(Pathname)
|
30
|
-
@sprite.path.to_s.should == 'sprites/foo.png'
|
31
|
-
end
|
32
|
-
|
33
|
-
it 'should set the create the Stylesheet' do
|
34
|
-
@sprite.stylesheet.should be_a(Stylesheet)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
context 'when defining with a symbol and no options' do
|
39
|
-
before do
|
40
|
-
@sprite.define(:foo) {}
|
41
|
-
end
|
42
|
-
|
43
|
-
it 'the options should be a hash' do
|
44
|
-
@sprite.instance_variable_get(:@options).should be_a(Hash)
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'should set the path' do
|
48
|
-
@sprite.path.should be_a(Pathname)
|
49
|
-
@sprite.path.to_s.should == 'foo.png'
|
50
|
-
end
|
51
|
-
|
52
|
-
it 'should set the create the Stylesheet' do
|
53
|
-
@sprite.stylesheet.should be_a(Stylesheet)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
context 'when defining with hash but no extra options' do
|
58
|
-
before do
|
59
|
-
@sprite.define('sprites/foo.png' => 'stylesheets/sprites/foo.css') {}
|
60
|
-
end
|
61
|
-
|
62
|
-
it_behaves_like("a sprite definition with no options")
|
63
|
-
end
|
64
|
-
|
65
|
-
context 'when defining with a string and no options' do
|
66
|
-
before do
|
67
|
-
@sprite.define('sprites/foo.png') {}
|
68
|
-
end
|
69
|
-
|
70
|
-
it_behaves_like("a sprite definition with no options")
|
71
|
-
end
|
72
|
-
|
73
|
-
end
|
74
|
-
|
75
21
|
context "#sprite_piece" do
|
76
22
|
it 'should respond_to sprite_piece' do
|
77
23
|
Sprite.new(:foo).should respond_to(:sprite_piece)
|
78
24
|
end
|
79
25
|
|
80
|
-
it 'should return a Sprites::
|
26
|
+
it 'should return a Sprites::SpritePieces' do
|
81
27
|
sprite = Sprite.new(:foo)
|
82
|
-
sprite.sprite_piece('sprite_images/foo.png'
|
28
|
+
sprite.sprite_piece('sprite_images/foo.png', '.foo').should be_a(SpritePieces)
|
83
29
|
end
|
84
30
|
|
85
31
|
it 'should add a sprite piece to the collection' do
|
86
32
|
sprite = Sprite.new(:foo)
|
87
|
-
sprite.sprite_piece('sprite_images/foo.png'
|
33
|
+
sprite.sprite_piece('sprite_images/foo.png', '.foo')
|
88
34
|
sprite.sprite_pieces.should_not be_empty
|
89
35
|
sprite.sprite_pieces.count.should be(1)
|
90
36
|
sprite.sprite_pieces['sprite_images/foo.png'].selector.should == '.foo'
|
@@ -99,25 +45,25 @@ describe Sprite do
|
|
99
45
|
|
100
46
|
context '#stylesheet' do
|
101
47
|
it 'should return a Stylesheet' do
|
102
|
-
@sprite.define(:foo) {}
|
103
48
|
@sprite.stylesheet.should be_a(Stylesheet)
|
104
49
|
end
|
105
50
|
end
|
106
51
|
|
107
52
|
context '#stylesheet_path' do
|
108
53
|
it 'should return the stylesheet path' do
|
109
|
-
@sprite.define(:foo) {}
|
110
54
|
@sprite.stylesheet_path.to_s.should == 'foo.css'
|
111
55
|
end
|
112
56
|
end
|
113
57
|
|
114
|
-
context '#orientation' do
|
58
|
+
context '#orientation=' do
|
115
59
|
it 'should set the orientation' do
|
116
|
-
@sprite.orientation
|
60
|
+
@sprite.orientation = Sprite::Orientations::HORIZONTAL
|
117
61
|
@sprite.orientation.should be(Sprite::Orientations::HORIZONTAL)
|
118
62
|
end
|
63
|
+
end
|
119
64
|
|
120
|
-
|
65
|
+
context '#orientation' do
|
66
|
+
it 'should return the default orientation' do
|
121
67
|
@sprite.orientation.should be(Sprite::Orientations::VERTICAL)
|
122
68
|
end
|
123
69
|
end
|
@@ -125,7 +71,7 @@ describe Sprite do
|
|
125
71
|
context "self.sprite_full_path(configuration, sprite)" do
|
126
72
|
it 'should return the sprite full path' do
|
127
73
|
config = Configuration.new
|
128
|
-
config.sprites_path
|
74
|
+
config.sprites_path = 'tmp/images/sprites'
|
129
75
|
|
130
76
|
sprite = Sprite.new(:foo)
|
131
77
|
|
@@ -136,7 +82,7 @@ describe Sprite do
|
|
136
82
|
context 'self.sprite_css_path(configuration, sprite)' do
|
137
83
|
it 'should return the path for use in the url in the background style attribute' do
|
138
84
|
config = Configuration.new
|
139
|
-
config.sprites_path
|
85
|
+
config.sprites_path = 'tmp/images/sprites'
|
140
86
|
|
141
87
|
sprite = Sprite.new(:foo)
|
142
88
|
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Sprites do
|
4
4
|
before do
|
5
|
-
@sprites = Sprites::Sprites.new
|
5
|
+
@sprites = Sprites::Sprites.new(::Sprites.configuration)
|
6
6
|
end
|
7
7
|
|
8
8
|
context 'initialize' do
|
@@ -14,21 +14,7 @@ describe Sprites do
|
|
14
14
|
context '#add' do
|
15
15
|
context 'with the sprite identified by a symbol' do
|
16
16
|
it 'should add a sprite to the collection' do
|
17
|
-
@sprites.add(:foo)
|
18
|
-
@sprites[:foo].should be_a(Sprite)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
context 'with the sprite identified by a string--the path to the sprite image' do
|
23
|
-
it 'should add a sprite to the collection' do
|
24
|
-
@sprites.add('images/sprites/foo.png') {}
|
25
|
-
@sprites[:foo].should be_a(Sprite)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
context 'with the sprite identified by a hash--the mapping between the sprite image file and its stylesheet' do
|
30
|
-
it 'should add a sprite to the collection' do
|
31
|
-
@sprites.add('images/sprites/foo.png' => 'stylesheets/sprites/foo.css') {}
|
17
|
+
@sprites.add(:foo)
|
32
18
|
@sprites[:foo].should be_a(Sprite)
|
33
19
|
end
|
34
20
|
end
|
@@ -38,6 +24,20 @@ describe Sprites do
|
|
38
24
|
@sprites.add(sprite)
|
39
25
|
@sprites[:foo].should be(sprite)
|
40
26
|
end
|
27
|
+
|
28
|
+
it 'should add a sprite defined by only a symbol by using directory conventions and filenames for classes' do
|
29
|
+
config = Configuration.new
|
30
|
+
config.configure do
|
31
|
+
config.sprites_path = File.join(GEM_ROOT, 'spec/fixtures/project2/public/images/sprites')
|
32
|
+
config.sprite_stylesheets_path = File.join(GEM_ROOT, 'spec/fixtures/project2/public/stylesheets/sprites')
|
33
|
+
config.sprite_pieces_path = File.join(GEM_ROOT, 'spec/fixtures/project2/public/images/sprite_images')
|
34
|
+
end
|
35
|
+
|
36
|
+
sprites = Sprites::Sprites.new(config)
|
37
|
+
sprites.add(:bas)
|
38
|
+
sprites[:bas].sprite_pieces.count.should be(5)
|
39
|
+
sprites[:bas].sprite_pieces.all.map(&:css_selector).should == %w(.bar .bas .bkgd_main_copy .foo .fubar)
|
40
|
+
end
|
41
41
|
end
|
42
42
|
|
43
43
|
context '#clear' do
|
@@ -5,10 +5,9 @@ describe Stylesheet do
|
|
5
5
|
context "self.sprite_full_path(configuration, sprite)" do
|
6
6
|
it 'should return the stylesheet full path' do
|
7
7
|
config = Configuration.new
|
8
|
-
config.sprite_stylesheets_path
|
9
|
-
sprite = Sprite.new(:foo)
|
10
|
-
stylesheet = Stylesheet.new(
|
11
|
-
|
8
|
+
config.sprite_stylesheets_path = 'tmp/stylesheets/sprites'
|
9
|
+
sprite = Sprite.new(:foo, config)
|
10
|
+
stylesheet = Stylesheet.new(sprite)
|
12
11
|
Stylesheet.stylesheet_full_path(config, stylesheet).should == 'tmp/stylesheets/sprites/foo.css'
|
13
12
|
end
|
14
13
|
end
|
@@ -16,7 +15,7 @@ describe Stylesheet do
|
|
16
15
|
context '#sprite_pieces, #sprite_pieces=' do
|
17
16
|
it 'should allow access to and setting of sprite_pieces' do
|
18
17
|
sprite = Sprite.new(:foo)
|
19
|
-
stylesheet = Stylesheet.new(
|
18
|
+
stylesheet = Stylesheet.new(sprite)
|
20
19
|
sprite_pieces = SpritePieces.new
|
21
20
|
stylesheet.sprite_pieces = sprite_pieces
|
22
21
|
stylesheet.sprite_pieces.should be(sprite_pieces)
|
@@ -5,9 +5,9 @@ describe SpriteGeneratorTester do
|
|
5
5
|
describe "#test_generator" do
|
6
6
|
it 'should return 0 for known good sprite' do
|
7
7
|
Sprites.configure do
|
8
|
-
sprites_path 'spec/fixtures/known_good/sprites'
|
9
|
-
sprite_stylesheets_path 'spec/fixtures/known_good/stylesheets'
|
10
|
-
sprite_pieces_path 'spec/fixtures/known_good/sprite_images'
|
8
|
+
config.sprites_path = 'spec/fixtures/known_good/sprites'
|
9
|
+
config.sprite_stylesheets_path = 'spec/fixtures/known_good/stylesheets'
|
10
|
+
config.sprite_pieces_path = 'spec/fixtures/known_good/sprite_images'
|
11
11
|
end
|
12
12
|
define_buttons_sprite
|
13
13
|
tester = SpriteGeneratorTester.new(Sprites.application.sprites[:buttons], Sprites.configuration)
|
data/spec/lib/sprites_spec.rb
CHANGED
@@ -10,7 +10,7 @@ describe Sprites do
|
|
10
10
|
context 'self.configure' do
|
11
11
|
it 'should congfigure the application' do
|
12
12
|
Sprites.configure do
|
13
|
-
sprites_path 'public/sprites'
|
13
|
+
config.sprites_path = 'public/sprites'
|
14
14
|
end
|
15
15
|
|
16
16
|
Sprites.configuration.sprites_path.should == 'public/sprites'
|
data/spec/spec_helper.rb
CHANGED
@@ -3,10 +3,11 @@ require 'sprites'
|
|
3
3
|
|
4
4
|
include Sprites
|
5
5
|
|
6
|
-
|
6
|
+
GEM_ROOT = Pathname(File.expand_path('../..', __FILE__))
|
7
7
|
|
8
8
|
Dir['spec/support/*.rb'].each {|support_file| load support_file}
|
9
9
|
|
10
10
|
RSpec.configure do |config|
|
11
11
|
config.include SpritesHelper
|
12
|
+
config.after { ::Sprites.application.sprites.clear }
|
12
13
|
end
|