sandwich 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
@@ -14,6 +14,10 @@ Then /^show me the source for #{q}$/ do |selector|
14
14
  puts locate(selector).html
15
15
  end
16
16
 
17
+ Then /^show me the source for ([^\"]+)$/ do |selector|
18
+ puts locate(selector_for(selector)).html
19
+ end
20
+
17
21
  Then /^show me the page text$/ do
18
22
  IO.popen("html2text", "w+") do |io|
19
23
  io.puts response.body
@@ -1,6 +1,5 @@
1
1
  require 'sandwich/ext/string'
2
2
  require 'sandwich/cucumber/world'
3
- require 'sandwich/regexps'
4
3
 
5
4
  Given /^(an?|the|\d+) (.+) exists?$/ do |total, what|
6
5
  class_for(what).tap do |model|
@@ -9,13 +8,22 @@ Given /^(an?|the|\d+) (.+) exists?$/ do |total, what|
9
8
  end
10
9
 
11
10
  Transform /(an?|\d+) (.+) #{q}$/ do |total, what, value|
12
- model = class_for(what)
13
- r = total.times.map { model.make(model.default_attribute => value) }
11
+ model = attr = nil
12
+
13
+ begin
14
+ model = class_for(what)
15
+ attr = model.default_attribute
16
+ rescue NameError
17
+ what, attr = *what.split(/(?:with|in)/).map(&:strip)
18
+ model = class_for(what)
19
+ end
20
+
21
+ r = total.times.map { model.make(attr => value) }
14
22
 
15
23
  r.length == 1 ? r.first : r
16
24
  end
17
25
 
18
- Transform /the (.+) (?:with|in) (.+) #{q}$/ do |what, attr, value|
26
+ Transform /the (.+) #{q}$/ do |what, attr, value|
19
27
  class_for(what).find(:first, :conditions => {attr => value})
20
28
  end
21
29
 
@@ -28,6 +36,10 @@ Given /^(.+) belonging to (.+)$/ do |child, parent|
28
36
  child.send("#{parent.class.name.underscore}=", parent)
29
37
  end
30
38
 
39
+ Given /^(a .+ with .+)$/ do |obj|
40
+ # la la la la
41
+ end
42
+
31
43
  Given /^(.+) has (.+)$/ do |parent, child|
32
44
  parent.send(child.class.name.underscore.pluralize) << child
33
45
  end
@@ -1,5 +1,3 @@
1
- require 'sandwich/regexps'
2
-
3
1
  When /^I fill in the #{q} row, #{q} column in (.+?) with #{q}$/ do |row, column, path, value|
4
2
  selector = xpath(selector_for(path))
5
3
  _, column_index = page.all(:xpath, "#{selector}//th").each_with_index.find { |e, i| e.text == column }
@@ -1,5 +1,3 @@
1
- require 'sandwich/regexps'
2
-
3
1
  Then /^I should see "([^\"]*)" within (.+)$/ do |text, selector|
4
2
  page.should have_xpath(xpath(selector_for(selector)), :text => text)
5
3
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{sandwich}
8
- s.version = "0.0.4"
8
+ s.version = "0.0.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["David Leal"]
12
- s.date = %q{2010-04-18}
12
+ s.date = %q{2010-04-19}
13
13
  s.description = %q{Yup, cucumber helpers}
14
14
  s.email = %q{david@thedigitalants.com}
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 4
9
- version: 0.0.4
8
+ - 5
9
+ version: 0.0.5
10
10
  platform: ruby
11
11
  authors:
12
12
  - David Leal
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-04-18 00:00:00 +01:00
17
+ date: 2010-04-19 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency