sprites 0.0.1.pre3 → 0.0.1.rc1
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/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
|