diff options
author | Luis Lavena <luislavena@gmail.com> | 2008-11-03 23:21:56 -0300 |
---|---|---|
committer | Luis Lavena <luislavena@gmail.com> | 2008-11-03 23:21:56 -0300 |
commit | 4fcf40073fe878e7d53dc7ae18cfe10c157462b9 (patch) | |
tree | e5365ff42cb2c0347c6433cd547e01cf7ef9009f /features/compile.feature | |
parent | 835b0d32735b3b0bc0c3f8ef83d8efb6bc4a0c3d (diff) | |
download | rake-compiler-4fcf40073fe878e7d53dc7ae18cfe10c157462b9.tar.gz |
Updated compile feature to match and cover required acceptance.
Thanks to David Chelimsky for the suggestions on irc.
Diffstat (limited to 'features/compile.feature')
-rw-r--r-- | features/compile.feature | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/features/compile.feature b/features/compile.feature index c7e5ae2..4934092 100644 --- a/features/compile.feature +++ b/features/compile.feature @@ -4,51 +4,50 @@ Feature: Compile C code into Ruby extensions. As a Gem developer. I want rake tasks compile source code for me. - Scenario: Compile single extension + Scenario: compile single extension Given a safe project directory And scaffold code for extension 'extension_one' And 'tmp' folder is deleted When rake task 'compile' is invoked - And rake task 'compile' succeeded - Then binary extension 'extension_one' do exist in 'lib' + Then rake task 'compile' succeeded + And binary extension 'extension_one' do exist in 'lib' And 'tmp' folder is created - Scenario: Not recompile unmodified extension + Scenario: not recompile unmodified extension Given a safe project directory And scaffold code for extension 'extension_one' - And binary extension 'extension_one' do exist in 'lib' - And intermediate files for extension 'extension_one' do exist in 'tmp' + And I've already successfully executed rake task 'compile' + And not changed any file since When rake task 'compile' is invoked - And rake task 'compile' succeeded - Then output of rake task 'compile' does not match /extension_one/ + Then rake task 'compile' succeeded + And output of rake task 'compile' do not contain /extension_one/ Scenario: recompile extension when source is modified Given a safe project directory And scaffold code for extension 'extension_one' - And binary extension 'extension_one' do exist in 'lib' - And intermediate files for extension 'extension_one' do exist in 'tmp' + And I've already successfully executed rake task 'compile' When touching 'source.c' file of extension 'extension_one' And rake task 'compile' is invoked - And rake task 'compile' succeeded - Then output of rake task 'compile' does match /extension_one/ + Then rake task 'compile' succeeded + And output of rake task 'compile' contains /extension_one/ - Scenario: Compile multiple extensions + Scenario: compile multiple extensions Given a safe project directory And scaffold code for extension 'extension_one' And scaffold code for extension 'extension_two' And 'tmp' folder is deleted When rake task 'compile' is invoked - And rake task 'compile' succeeded - Then binary extension 'extension_one' do exist in 'lib' + Then rake task 'compile' succeeded + And binary extension 'extension_one' do exist in 'lib' And binary extension 'extension_two' do exist in 'lib' And 'tmp' folder is created - Scenario: Compile one extension instead of all present + Scenario: compile one extension instead of all present Given a safe project directory And scaffold code for extension 'extension_one' And scaffold code for extension 'extension_two' When rake task 'compile:extension_one' is invoked - And rake task 'compile:extension_one' succeeded - Then output of rake task 'compile:extension_one' does not match /extension_two/ - And binary extension 'extension_one' must exist in 'lib' - And binary extension 'extension_two' must not exist in 'lib' + Then rake task 'compile:extension_one' succeeded + And output of rake task 'compile:extension_one' do not contain /extension_two/ + And binary extension 'extension_one' do exist in 'lib' + And binary extension 'extension_two' do not exist in 'lib' |