Fix builder steps to properly copy configs, and add a new scenario that shows build --clean not working right when the build directory is set to a nested path. When a path is ignored, it doesn't get removed - in fact, no unused paths will get removed, this is just the easiest way to show it in a test.
This commit is contained in:
parent
4bf65e063a
commit
c5063c1e35
|
@ -3,29 +3,39 @@ Feature: Build Clean
|
|||
Given a fixture app "clean-app"
|
||||
And app "clean-app" is using config "empty"
|
||||
And a successfully built app at "clean-app"
|
||||
Then the following files should exist:
|
||||
| build/index.html |
|
||||
| build/should_be_ignored.html |
|
||||
| build/should_be_ignored2.html |
|
||||
| build/should_be_ignored3.html |
|
||||
And app "clean-app" is using config "complications"
|
||||
|
||||
Given a successfully built app at "clean-app" with flags "--clean"
|
||||
When I cd to "build"
|
||||
Then the following files should not exist:
|
||||
| should_be_ignored.html |
|
||||
| should_be_ignored2.html |
|
||||
| should_be_ignored3.html |
|
||||
And the file "index.html" should contain "Comment in layout"
|
||||
| build/should_be_ignored.html |
|
||||
| build/should_be_ignored2.html |
|
||||
| build/should_be_ignored3.html |
|
||||
And the file "build/index.html" should contain "Comment in layout"
|
||||
|
||||
Scenario: Clean an app with directory indexes
|
||||
Given a successfully built app at "clean-dir-app"
|
||||
When I cd to "build"
|
||||
Then the following files should exist:
|
||||
| about/index.html |
|
||||
|
||||
| build/about/index.html |
|
||||
Given a successfully built app at "clean-dir-app" with flags "--clean"
|
||||
When I cd to "build"
|
||||
Then the following files should exist:
|
||||
| about/index.html |
|
||||
| build/about/index.html |
|
||||
|
||||
Scenario: Clean build an app that's never been built
|
||||
Given a successfully built app at "clean-dir-app" with flags "--clean"
|
||||
When I cd to "build"
|
||||
Then the following files should exist:
|
||||
| about/index.html |
|
||||
| build/about/index.html |
|
||||
|
||||
Scenario: Clean build an app with newly ignored files and a nested output directory
|
||||
Given a built app at "clean-nested-app"
|
||||
Then a directory named "sub/dir" should exist
|
||||
Then the following files should exist:
|
||||
| sub/dir/about.html |
|
||||
When I append to "config.rb" with "ignore 'about.html'"
|
||||
Given a built app at "clean-nested-app" with flags "--clean"
|
||||
Then the following files should not exist:
|
||||
| sub/dir/about.html |
|
||||
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
activate :directory_indexes
|
||||
|
||||
|
|
3
middleman-core/fixtures/clean-nested-app/config.rb
Normal file
3
middleman-core/fixtures/clean-nested-app/config.rb
Normal file
|
@ -0,0 +1,3 @@
|
|||
set :build_dir, "sub/dir"
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
Fun times
|
|
@ -2,12 +2,16 @@ require 'fileutils'
|
|||
|
||||
Given /^app "([^\"]*)" is using config "([^\"]*)"$/ do |path, config_name|
|
||||
target = File.join(PROJECT_ROOT_PATH, "fixtures", path)
|
||||
config_path = File.join(target, "config-#{config_name}.rb")
|
||||
config_path = File.join(current_dir, "config-#{config_name}.rb")
|
||||
config_dest = File.join(current_dir, "config.rb")
|
||||
FileUtils.cp(config_path, config_dest)
|
||||
end
|
||||
|
||||
Given /^a fixture app "([^\"]*)"$/ do |path|
|
||||
# This step can be reentered from several places but we don't want
|
||||
# to keep re-copying and re-cd-ing into ever-deeper directories
|
||||
next if File.basename(current_dir) == path
|
||||
|
||||
step %Q{a directory named "#{path}"}
|
||||
|
||||
target_path = File.join(PROJECT_ROOT_PATH, "fixtures", path)
|
||||
|
|
Loading…
Reference in a new issue