summaryrefslogtreecommitdiff
path: root/features/step_definitions
diff options
context:
space:
mode:
authorLuis Lavena <luislavena@gmail.com>2008-11-25 15:15:49 -0200
committerLuis Lavena <luislavena@gmail.com>2008-11-25 15:15:49 -0200
commit7509287b98c0aed61b7bedfa4adcc1a3302d5493 (patch)
tree5e7bc295c1714f4d661228c43edab9b8180c0e85 /features/step_definitions
parent58713f2b396435e1d48aa2e7fbd8b684feb0ef58 (diff)
downloadrake-compiler-7509287b98c0aed61b7bedfa4adcc1a3302d5493.tar.gz
Updated Features (forgot to commit)
Allowed packaging of gems with different platforms than CURRENT opens the door for cross compilation. Splitted some steps and some pending stuff from file generators. TODO: move everything out of global namaspace!
Diffstat (limited to 'features/step_definitions')
-rw-r--r--features/step_definitions/compilation.rb5
-rw-r--r--features/step_definitions/gem.rb28
2 files changed, 25 insertions, 8 deletions
diff --git a/features/step_definitions/compilation.rb b/features/step_definitions/compilation.rb
index 3cc00fb..9d04688 100644
--- a/features/step_definitions/compilation.rb
+++ b/features/step_definitions/compilation.rb
@@ -3,6 +3,11 @@ Given /^a extension named '(.*)'$/ do |extension_name|
generate_source_code_for extension_name
end
+Given /^a extension '(.*)' with forced platform '(.*)'$/ do |extension_name, forced_platform|
+ generate_extension_task_for extension_name, forced_platform
+ generate_source_code_for extension_name
+end
+
Given /^not changed any file since$/ do
# don't do anything, that's the purpose of this step!
end
diff --git a/features/step_definitions/gem.rb b/features/step_definitions/gem.rb
index a8e2181..20644fb 100644
--- a/features/step_definitions/gem.rb
+++ b/features/step_definitions/gem.rb
@@ -2,12 +2,24 @@ Given /^a gem named '(.*)'$/ do |gem_name|
generate_gem_task gem_name
end
-Then /^(ruby|binary) gem for '(.*)' version '(.*)' do exist in '(.*)'$/ do |type, gem_name, version, folder|
- if type == 'ruby' then
- gem_file = "#{folder}/#{gem_name}-#{version}.gem"
- else
- platform = Gem::Platform.local.to_s
- gem_file = "#{folder}/#{gem_name}-#{version}-#{platform}.gem"
- end
- File.exist?(gem_file).should be_true
+Then /^ruby gem for '(.*)' version '(.*)' do exist in '(.*)'$/ do |name, version, folder|
+ File.exist?(gem_file(folder, name, version)).should be_true
+end
+
+Then /^binary gem for '(.*)' version '(.*)' do exist in '(.*)'$/ do |name, version, folder|
+ File.exist?(gem_file_platform(folder, name, version)).should be_true
+end
+
+Then /^a gem for '(.*)' version '(.*)' platform '(.*)' do exist in '(.*)'$/ do |name, version, platform, folder|
+ File.exist?(gem_file_platform(folder, name, version, platform)).should be_true
+end
+
+def gem_file(folder, name, version)
+ "#{folder}/#{name}-#{version}.gem"
+end
+
+def gem_file_platform(folder, name, version, platform = nil)
+ file = "#{folder}/#{name}-#{version}"
+ file << "-" << (platform || Gem::Platform.local.to_s)
+ file << ".gem"
end