support Ruby 1.9
# File lib/rwebspec/using_pages.rb, line 5
5: def self.extended(kclass)
6: caller_file = caller[1]
7: if caller_file && caller_file =~ /^(.*):\d+.*$/
8: file = $1
9: dir = File.expand_path(File.dirname(file))
10: kclass.const_set "TestFileDir", dir
11: end
12: end
Example
pages :all pages :login_page, :payment_page pages :login_page, :payment_page, :page_dir => "c:/tmp"
# File lib/rwebspec/using_pages.rb, line 18
18: def pages(*args)
19: return if args.nil? or args.empty?
20:
21: test_file_dir = class_eval{ self::TestFileDir }
22: default_page_dir = File.join(test_file_dir, "pages")
23: #puts "debug: default_page_dir :#{default_page_dir}}"
24: page_dir = default_page_dir
25:
26: page_files = []
27: args.each do |x|
28: if x.class == Hash && x[:page_dir]
29: page_dir = x[:page_dir]
30: else
31: page_files << x
32: end
33: end
34:
35: if page_files.size == 1 && page_files[0] == :all
36: Dir[File.expand_path(page_dir)+ "/*_page.rb"].each { |page_file|
37: load page_file
38: }
39: return
40: end
41:
42: page_files.each do |page|
43: page_file = File.join(page_dir, page.to_s)
44: load page_file
45: end
46: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.