File: env.rb

package info (click to toggle)
ruby-ammeter 1.1.5-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 312 kB
  • sloc: ruby: 703; makefile: 4
file content (60 lines) | stat: -rw-r--r-- 1,682 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
require 'aruba/cucumber'

Before do
  if RUBY_VERSION == "1.9.3"
    @aruba_timeout_seconds = 60
  else
    @aruba_timeout_seconds = 30
  end
end

def aruba_path(file_or_dir, source_foldername)
  File.expand_path("../../../#{file_or_dir.sub(source_foldername,'aruba')}", __FILE__)
end

def example_app_path(file_or_dir)
  File.expand_path("../../../#{file_or_dir}", __FILE__)
end

def write_symlink(file_or_dir, source_foldername, filename=nil)
  source = example_app_path(file_or_dir)
  target = aruba_path(file_or_dir, source_foldername)
  target = File.join(File.dirname(target), filename) if filename
  system "ln -s #{source} #{target}"
end

def copy_to_aruba_from(gem_or_app_name)
  steps %Q{
    Given a directory named "spec"
  }

  rspec_version = ENV['RSPEC_VERSION']
  rspec_major_version = (rspec_version && rspec_version != 'master') ? rspec_version.scan(/\d+/).first : '3'

  Dir["tmp/#{gem_or_app_name}/*"].each do |file_or_dir|
    if !(file_or_dir =~ /\/spec$/)
      write_symlink(file_or_dir, gem_or_app_name)
    end
  end

  write_symlink("tmp/#{gem_or_app_name}/spec/spec_helper.rb", gem_or_app_name)

  if rspec_major_version == '2'
    # rspec 2.x does not create rails_helper.rb so we create a symlink to avoid cluttering tests
    write_symlink("tmp/#{gem_or_app_name}/spec/spec_helper.rb", gem_or_app_name, 'rails_helper.rb')
  elsif rspec_major_version >= '3'
    write_symlink("tmp/#{gem_or_app_name}/spec/rails_helper.rb", gem_or_app_name)
  end
end

Before '@example_app' do
  copy_to_aruba_from('example_app')
end

Before '@railties_gem' do
  copy_to_aruba_from('my_railties_gem')
end

Before '@rails_gem' do
  copy_to_aruba_from('my_rails_gem')
end