add failing tests for compass relative assets

This commit is contained in:
Thomas Reynolds 2012-01-31 21:30:45 -08:00
parent 599ea94f5e
commit 251a2e0eb3
9 changed files with 55 additions and 19 deletions

View file

@ -31,6 +31,10 @@ module Middleman::Cli
:aliases => "-g", :aliases => "-g",
:default => nil, :default => nil,
:desc => 'Build a subset of the project' :desc => 'Build a subset of the project'
method_option :verbose,
:type => :boolean,
:default => false,
:desc => 'Print debug messages'
# Core build Thor command # Core build Thor command
# @return [void] # @return [void]

View file

@ -1,12 +1,21 @@
Feature: Relative Assets Feature: Relative Assets
In order easily switch between relative and absolute paths In order easily switch between relative and absolute paths
Scenario: Rendering css with the feature disabled Scenario: Previewing css with the feature disabled
Given "relative_assets" feature is "disabled" Given "relative_assets" feature is "disabled"
And the Server is running at "relative-assets-app" And the Server is running at "relative-assets-app"
When I go to "/stylesheets/relative_assets.css" When I go to "/stylesheets/relative_assets.css"
Then I should not see "url('../" Then I should not see "url('../"
And I should see "/images/blank.gif" And I should see "url('/images/blank.gif')"
Scenario: Building css with the feature disabled
Given a fixture app "relative-assets-app"
And a file named "config.rb" with:
"""
"""
Given a successfully built app at "relative-assets-app"
When I cd to "build"
Then the file "stylesheets/relative_assets.css" should contain "url('/images/blank.gif')"
Scenario: Rendering html with the feature disabled Scenario: Rendering html with the feature disabled
Given "relative_assets" feature is "disabled" Given "relative_assets" feature is "disabled"
@ -20,6 +29,16 @@ Feature: Relative Assets
When I go to "/stylesheets/relative_assets.css" When I go to "/stylesheets/relative_assets.css"
Then I should see "url('../images/blank.gif" Then I should see "url('../images/blank.gif"
Scenario: Building css with the feature enabled
Given a fixture app "relative-assets-app"
And a file named "config.rb" with:
"""
activate :relative_assets
"""
Given a successfully built app at "relative-assets-app"
When I cd to "build"
Then the file "stylesheets/relative_assets.css" should contain "url('../images/blank.gif')"
Scenario: Rendering html with the feature enabled Scenario: Rendering html with the feature enabled
Given "relative_assets" feature is "enabled" Given "relative_assets" feature is "enabled"
And the Server is running at "relative-assets-app" And the Server is running at "relative-assets-app"
@ -28,13 +47,24 @@ Feature: Relative Assets
And I should see "images/blank.gif" And I should see "images/blank.gif"
Scenario: Rendering html with a custom images_dir Scenario: Rendering html with a custom images_dir
Given "relative_assets" feature is "enabled" Given "css" feature is "enabled"
And "images_dir" is set to "img" And "images_dir" is set to "img"
And the Server is running at "relative-assets-app" And the Server is running at "relative-assets-app"
When I go to "/stylesheets/relative_assets.css" When I go to "/stylesheets/relative_assets.css"
Then I should see "url('../img/blank.gif" Then I should see "url('../img/blank.gif')"
Scenario: Rendering css with a custom images_dir Scenario: Building css with a custom images_dir
Given a fixture app "relative-assets-app"
And a file named "config.rb" with:
"""
set :images_dir, "img"
activate :relative_assets
"""
Given a successfully built app at "relative-assets-app"
When I cd to "build"
Then the file "stylesheets/relative_assets.css" should contain "url('../img/blank.gif')"
Scenario: Rendering html with a custom images_dir
Given "relative_assets" feature is "enabled" Given "relative_assets" feature is "enabled"
And "images_dir" is set to "img" And "images_dir" is set to "img"
And the Server is running at "relative-assets-app" And the Server is running at "relative-assets-app"
@ -43,8 +73,9 @@ Feature: Relative Assets
Then I should not see "/img/blank.gif" Then I should not see "/img/blank.gif"
And I should see "img/blank.gif" And I should see "img/blank.gif"
Scenario: Rendering scss with the feature enabled Scenario: Rendering scss with the feature enabled
Given "relative_assets" feature is "enabled" Given "relative_assets" feature is "enabled"
And the Server is running at "fonts-app" And the Server is running at "fonts-app"
When I go to "/stylesheets/fonts.css" When I go to "/stylesheets/fonts.css"
Then I should see "url('../fonts/StMarie" Then I should see "url('../fonts/StMarie-Thin.otf"

View file

@ -0,0 +1 @@
activate :relative_assets

View file

@ -58,14 +58,14 @@ module Middleman::CoreExtensions::Compass
end end
# Change paths when in build mode. Required for relative paths # Change paths when in build mode. Required for relative paths
configure :build do # configure :build do
::Compass.configuration do |config| # ::Compass.configuration do |config|
config.environment = :production # config.environment = :production
config.css_dir = File.join(build_dir, css_dir) # config.css_dir = File.join(build_dir, css_dir)
config.images_dir = File.join(build_dir, images_dir) # config.images_dir = File.join(build_dir, images_dir)
config.fonts_dir = File.join(build_dir, fonts_dir) # config.fonts_dir = File.join(build_dir, fonts_dir)
end # end
end # end
run_hook :compass_config, ::Compass.configuration run_hook :compass_config, ::Compass.configuration
run_hook :after_compass_config run_hook :after_compass_config

View file

@ -70,5 +70,5 @@ module Middleman::Extensions
end end
# Register the extension # Register the extension
register :cache_buster, CacheBuster # register :cache_buster, CacheBuster
end end

View file

@ -22,5 +22,5 @@ module Middleman::Extensions
end end
# Register extension # Register extension
register :minify_css, MinifyCss # register :minify_css, MinifyCss
end end

View file

@ -73,5 +73,5 @@ module Middleman::Extensions
end end
# Register extension # Register extension
register :minify_javascript, MinifyJavascript # register :minify_javascript, MinifyJavascript
end end

View file

@ -58,5 +58,5 @@ module Middleman::Extensions
end end
# Register extension # Register extension
register :relative_assets, RelativeAssets # register :relative_assets, RelativeAssets
end end

View file

@ -22,7 +22,7 @@ Gem::Specification.new do |s|
s.add_dependency("uglifier", ["~> 1.2.0"]) s.add_dependency("uglifier", ["~> 1.2.0"])
s.add_dependency("haml", ["~> 3.1.0"]) s.add_dependency("haml", ["~> 3.1.0"])
s.add_dependency("sass", ["~> 3.1.7"]) s.add_dependency("sass", ["~> 3.1.7"])
s.add_dependency("compass", ["~> 0.11.3"]) s.add_dependency("compass", ["0.12.rc.0"])
s.add_dependency("coffee-script", ["~> 2.2.0"]) s.add_dependency("coffee-script", ["~> 2.2.0"])
s.add_dependency("execjs", ["~> 1.2.7"]) s.add_dependency("execjs", ["~> 1.2.7"])
s.add_dependency("sprockets", ["~> 2.1.0"]) s.add_dependency("sprockets", ["~> 2.1.0"])