A helper function for capturing the output of a pipe.
This commit is contained in:
parent
a847004811
commit
149978b4c9
@ -191,3 +191,27 @@ Feature: Command Line
|
||||
When I run: compass grid-img 50x24 assets/wide_grid.png
|
||||
Then a directory assets is not created
|
||||
And a png file assets/wide_grid.png is not created
|
||||
|
||||
Scenario: Generate a compass configuration file
|
||||
When I run: compass config config/compass.rb --sass-dir sass --css-dir assets/css
|
||||
Then a configuration file config/compass.rb is created
|
||||
And the following configuration properties are set in config/compass.rb:
|
||||
| property | value |
|
||||
| sass_dir | sass |
|
||||
| css_dir | assets/css |
|
||||
|
||||
Scenario: Validate the generated CSS
|
||||
Given I am using the existing project in test/fixtures/stylesheets/compass
|
||||
When I run: compass validate
|
||||
Then my css is validated
|
||||
And I am informed that it is not, because IE6 hacks suck.
|
||||
|
||||
Scenario: Get stats for my project
|
||||
Given I am using the existing project in test/fixtures/stylesheets/compass
|
||||
When I run: compass stats
|
||||
Then I am told statistics for each file:
|
||||
| filename | lines | mixins | selectors | properties |
|
||||
| src/screen.sass | 22 | 1 | 134 | 1,320 |
|
||||
| src/print.sass | 22 | 1 | 134 | 1,320 |
|
||||
| src/ie.sass | 22 | 1 | 134 | 1,320 |
|
||||
|
||||
|
@ -164,3 +164,20 @@ Then /^the list of commands should describe the ([^ ]+) command$/ do |command|
|
||||
@last_result.should =~ /^\s+\* #{command}\s+- [A-Z].+$/
|
||||
end
|
||||
|
||||
Then /^the following configuration properties are set in config\/compass\.rb:$/ do |table|
|
||||
# table is a Cucumber::Ast::Table
|
||||
pending
|
||||
end
|
||||
|
||||
Then /^my css is validated$/ do
|
||||
pending
|
||||
end
|
||||
|
||||
Then /^I am informed that it is not, because IE6 hacks suck\.$/ do
|
||||
pending
|
||||
end
|
||||
|
||||
Then /^I am told statistics for each file:$/ do |table|
|
||||
# table is a Cucumber::Ast::Table
|
||||
pending
|
||||
end
|
||||
|
@ -15,5 +15,22 @@ module Compass
|
||||
ensure
|
||||
$stderr = real_stderr
|
||||
end
|
||||
|
||||
def capture_pipe(io, options = {})
|
||||
options[:wait] = 0.25
|
||||
options[:timeout] = 1.0
|
||||
output = ""
|
||||
eof_at = nil
|
||||
while !eof_at || (Time.now - eof_at < options[:wait])
|
||||
if io.eof?
|
||||
eof_at ||= Time.now
|
||||
sleep 0.1
|
||||
else
|
||||
eof_at = nil
|
||||
timeout(options[:timeout]) { output << io.readpartial(1024) }
|
||||
end
|
||||
end
|
||||
output
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user