cucumber-rails 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. data/HACKING.rdoc +7 -17
  2. data/History.txt +30 -0
  3. data/README.rdoc +16 -10
  4. data/Rakefile +2 -2
  5. data/VERSION +1 -1
  6. data/cucumber-rails.gemspec +12 -10
  7. data/features/rails2.feature +51 -8
  8. data/features/rails3.feature +55 -14
  9. data/features/rerun_profile.feature +38 -0
  10. data/features/step_definitions/cucumber_rails_steps.rb +23 -0
  11. data/lib/cucumber/rails/capybara_javascript_emulation.rb +2 -2
  12. data/lib/cucumber/rails/rspec.rb +3 -5
  13. data/lib/cucumber/rails/test_unit.rb +4 -6
  14. data/lib/cucumber/rails/world.rb +1 -1
  15. data/lib/cucumber/web/tableish.rb +50 -9
  16. data/lib/generators/cucumber/skeleton/skeleton_base.rb +4 -4
  17. data/rvm.yml +2 -2
  18. data/spec/cucumber/web/tableish_spec.rb +36 -6
  19. data/templates/feature/feature.erb +10 -12
  20. data/templates/feature/steps.erb +1 -1
  21. data/templates/skeleton/config/cucumber.yml.erb +4 -3
  22. data/templates/skeleton/environments/cucumber.rb.erb +1 -1
  23. data/templates/skeleton/step_definitions/capybara_steps.rb.erb +40 -23
  24. data/templates/skeleton/step_definitions/web_steps_de.rb.erb +33 -33
  25. data/templates/skeleton/step_definitions/web_steps_ja.rb.erb +139 -0
  26. data/templates/skeleton/step_definitions/web_steps_ko.rb.erb +141 -0
  27. data/templates/skeleton/step_definitions/webrat_steps.rb.erb +36 -28
  28. data/templates/skeleton/support/{_rails_each_run.rb → _rails_each_run.rb.erb} +2 -1
  29. data/templates/skeleton/support/_rails_prefork.rb.erb +2 -0
  30. data/templates/skeleton/support/paths.rb +10 -4
  31. data/templates/skeleton/support/rails.rb.erb +1 -1
  32. data/templates/skeleton/support/rails_spork.rb.erb +1 -1
  33. data/templates/skeleton/tasks/cucumber.rake.erb +6 -0
  34. metadata +11 -9
  35. data/generators/cucumber/templates/step_definitions/web_steps_ja.rb.erb +0 -136
@@ -3,134 +3,134 @@
3
3
 
4
4
  require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "paths"))
5
5
 
6
- Given /^(?:|ich )bin auf (.+)$/ do |page_name|
6
+ Angenommen /^(?:|ich )bin auf (.+)$/ do |page_name|
7
7
  Given %{I am on #{page_name}}
8
8
  end
9
9
 
10
- When /^(?:|ich )auf (.+) gehe$/ do |page_name|
10
+ Wenn /^(?:|ich )auf (.+) gehe$/ do |page_name|
11
11
  When %{I go to #{page_name}}
12
12
  end
13
13
 
14
- When /^(?:|ich )auf "([^\"]*)" drücke$/ do |button|
14
+ Wenn /^(?:|ich )auf "([^\"]*)" drücke$/ do |button|
15
15
  When %{I press "#{button}"}
16
16
  end
17
17
 
18
- When /^(?:|ich )auf "([^\"]*)" klicke$/ do |link|
18
+ Wenn /^(?:|ich )auf "([^\"]*)" klicke$/ do |link|
19
19
  When %{I follow "#{link}"}
20
20
  end
21
21
 
22
- When /^(?:|ich )auf "([^\"]*)" innerhalb "([^\"]*)" klicke$/ do |link, parent|
22
+ Wenn /^(?:|ich )auf "([^\"]*)" innerhalb "([^\"]*)" klicke$/ do |link, parent|
23
23
  When %{I follow "#{link}" within "#{parent}"}
24
24
  end
25
25
 
26
- When /^(?:|ich )"([^\"]*)" mit "([^\"]*)" ausfülle$/ do |field, value|
26
+ Wenn /^(?:|ich )"([^\"]*)" mit "([^\"]*)" ausfülle$/ do |field, value|
27
27
  When %{I fill in "#{field}" with "#{value}"}
28
28
  end
29
29
 
30
- When /^(?:|ich )"([^\"]*)" in "([^\"]*)" eingebe$/ do |value, field|
30
+ Wenn /^(?:|ich )"([^\"]*)" in "([^\"]*)" eingebe$/ do |value, field|
31
31
  When %{I fill in "#{value}" for "#{field}"}
32
32
  end
33
33
 
34
- When /^(?:|ich )folgendes eingebe:$/ do |fields|
34
+ Wenn /^(?:|ich )folgendes eingebe:$/ do |fields|
35
35
  When %{I fill in the following:}, fields
36
36
  end
37
37
 
38
- When /^(?:|ich )"([^\"]*)" in "([^\"]*)" auswähle$/ do |value, field|
38
+ Wenn /^(?:|ich )"([^\"]*)" in "([^\"]*)" auswähle$/ do |value, field|
39
39
  When %{I select "#{value}" from "#{field}"}
40
40
  end
41
41
 
42
- When /^(?:|ich )"([^\"]*)" als Datum und Uhrzeit auswähle$/ do |time|
42
+ Wenn /^(?:|ich )"([^\"]*)" als Datum und Uhrzeit auswähle$/ do |time|
43
43
  When %{I select "#{time}" as the date and time}
44
44
  end
45
45
 
46
- When /^(?:|ich )"([^\"]*)" als "([^\"]*)" Datum und Uhrzeit auswähle$/ do |datetime, datetime_label|
46
+ Wenn /^(?:|ich )"([^\"]*)" als "([^\"]*)" Datum und Uhrzeit auswähle$/ do |datetime, datetime_label|
47
47
  When %{I select "#{datetime}" as the "#{datetime_label}" date and time}
48
48
  end
49
49
 
50
- When /^(?:|ich )"([^\"]*)" als Uhrzeit auswähle$/ do |time|
50
+ Wenn /^(?:|ich )"([^\"]*)" als Uhrzeit auswähle$/ do |time|
51
51
  When %{I select "#{time}" as the time}
52
52
  end
53
53
 
54
- When /^(?:|ich )"([^\"]*)" als "([^\"]*)" Uhrzeit auswähle$/ do |time, time_label|
54
+ Wenn /^(?:|ich )"([^\"]*)" als "([^\"]*)" Uhrzeit auswähle$/ do |time, time_label|
55
55
  When %{I select "#{time}" as the "#{time_label}" time}
56
56
  end
57
57
 
58
- When /^(?:|ich )"([^\"]*)" als Datum auswähle$/ do |date|
58
+ Wenn /^(?:|ich )"([^\"]*)" als Datum auswähle$/ do |date|
59
59
  When %{I select "#{date}" as the date}
60
60
  end
61
61
 
62
- When /^(?:|ich )"([^\"]*)" als "([^\"]*)" Datum auswähle$/ do |date, date_label|
62
+ Wenn /^(?:|ich )"([^\"]*)" als "([^\"]*)" Datum auswähle$/ do |date, date_label|
63
63
  When %{I select "#{date}" as the "#{date_label}" date}
64
64
  end
65
65
 
66
- When /^(?:|ich )"([^\"]*)" anhake$/ do |field|
66
+ Wenn /^(?:|ich )"([^\"]*)" anhake$/ do |field|
67
67
  When %{I check "#{field}"}
68
68
  end
69
69
 
70
- When /^(?:|ich )"([^\"]*)" abhake$/ do |field|
70
+ Wenn /^(?:|ich )"([^\"]*)" abhake$/ do |field|
71
71
  When %{I uncheck "#{field}"}
72
72
  end
73
73
 
74
- When /^(?:|ich )"([^\"]*)" auswähle$/ do |field|
74
+ Wenn /^(?:|ich )"([^\"]*)" auswähle$/ do |field|
75
75
  When %{I choose "#{field}"}
76
76
  end
77
77
 
78
- When /^(?:|ich )die Datei "([^\"]*)" als "([^\"]*)" anhänge$/ do |path, field|
78
+ Wenn /^(?:|ich )die Datei "([^\"]*)" als "([^\"]*)" anhänge$/ do |path, field|
79
79
  When %{I attach the file "#{path}" to "#{field}"}
80
80
  end
81
81
 
82
- Then /^(?:|ich sollte |sollte (?:|ich )?)"([^\"]*)" sehen$/ do |text|
82
+ Dann /^(?:|ich sollte |sollte (?:|ich )?)"([^\"]*)" sehen$/ do |text|
83
83
  Then %{I should see "#{text}"}
84
84
  end
85
85
 
86
- Then /^(?:|ich sollte |sollte (?:|ich )?)"([^\"]*)" innerhalb "([^\"]*)" sehen$/ do |text, selector|
86
+ Dann /^(?:|ich sollte |sollte (?:|ich )?)"([^\"]*)" innerhalb "([^\"]*)" sehen$/ do |text, selector|
87
87
  Then %{I should see "#{text}" within "#{selector}"}
88
88
  end
89
89
 
90
- Then /^(?:|ich sollte |sollte (?:|ich )?)\/([^\/]*)\/ sehen$/ do |regexp|
90
+ Dann /^(?:|ich sollte |sollte (?:|ich )?)\/([^\/]*)\/ sehen$/ do |regexp|
91
91
  Then %{I should see /#{regexp}/}
92
92
  end
93
93
 
94
- Then /^(?:|ich sollte |sollte (?:|ich )?)\/([^\/]*)\/ innerhalb "([^\"]*)" sehen$/ do |regexp, selector|
94
+ Dann /^(?:|ich sollte |sollte (?:|ich )?)\/([^\/]*)\/ innerhalb "([^\"]*)" sehen$/ do |regexp, selector|
95
95
  Then %{I should see /#{regexp}/ within "#{selector}"}
96
96
  end
97
97
 
98
- Then /^(?:|ich sollte |sollte (?:|ich )?)nicht "([^\"]*)" sehen$/ do |text|
98
+ Dann /^(?:|ich sollte |sollte (?:|ich )?)nicht "([^\"]*)" sehen$/ do |text|
99
99
  Then %{I should not see "#{text}"}
100
100
  end
101
101
 
102
- Then /^(?:|ich sollte |sollte (?:|ich )?)nicht "([^\"]*)" innerhalb "([^\"]*)" sehen$/ do |text, selector|
102
+ Dann /^(?:|ich sollte |sollte (?:|ich )?)nicht "([^\"]*)" innerhalb "([^\"]*)" sehen$/ do |text, selector|
103
103
  Then %{I should not see "#{text}" within "#{selector}"}
104
104
  end
105
105
 
106
- Then /^(?:|ich sollte |sollte (?:|ich )?)nicht \/([^\/]*)\/ sehen$/ do |regexp|
106
+ Dann /^(?:|ich sollte |sollte (?:|ich )?)nicht \/([^\/]*)\/ sehen$/ do |regexp|
107
107
  Then %{I should not see /#{regexp}/}
108
108
  end
109
109
 
110
- Then /^(?:|ich sollte |sollte (?:|ich )?)nicht \/([^\/]*)\/ innerhalb "([^\"]*)" sehen$/ do |regexp, selector|
110
+ Dann /^(?:|ich sollte |sollte (?:|ich )?)nicht \/([^\/]*)\/ innerhalb "([^\"]*)" sehen$/ do |regexp, selector|
111
111
  Then %{I should not see /#{regexp}/ within "#{selector}"}
112
112
  end
113
113
 
114
- Then /^sollte das "([^\"]*)" Feld "([^\"]*)" enthalten$/ do |field, value|
114
+ Dann /^sollte das "([^\"]*)" Feld "([^\"]*)" enthalten$/ do |field, value|
115
115
  Then %{the "#{field}" field should contain "#{value}"}
116
116
  end
117
117
 
118
- Then /^sollte das "([^\"]*)" Feld nicht "([^\"]*)" enthalten$/ do |field, value|
118
+ Dann /^sollte das "([^\"]*)" Feld nicht "([^\"]*)" enthalten$/ do |field, value|
119
119
  Then %{the "#{field}" field should not contain "#{value}"}
120
120
  end
121
121
 
122
- Then /^sollte die "([^\"]*)" Checkbox angehakt sein$/ do |label|
122
+ Dann /^sollte die "([^\"]*)" Checkbox angehakt sein$/ do |label|
123
123
  Then %{the "#{label}" checkbox should be checked}
124
124
  end
125
125
 
126
- Then /^sollte die "([^\"]*)" Checkbox nicht angehakt sein$/ do |label|
126
+ Dann /^sollte die "([^\"]*)" Checkbox nicht angehakt sein$/ do |label|
127
127
  Then %{the "#{label}" checkbox should not be checked}
128
128
  end
129
129
 
130
- Then /^(?:|ich sollte |sollte (?:|ich )?)auf (.+) sein$/ do |page_name|
130
+ Dann /^(?:|ich sollte |sollte (?:|ich )?)auf (.+) sein$/ do |page_name|
131
131
  Then %{I should be on #{page_name}}
132
132
  end
133
133
 
134
- Then /^zeig mir die Seite$/ do
134
+ Dann /^zeig mir die Seite$/ do
135
135
  Then %{show me the page}
136
136
  end
@@ -0,0 +1,139 @@
1
+ # encoding: utf-8
2
+ <%= embed_file('support/edit_warning.txt') %>
3
+
4
+ require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "paths"))
5
+
6
+ 前提 /^"([^\"]*)"ページを表示している$/ do |page_name|
7
+ Given %{I am on #{page_name}}
8
+ end
9
+
10
+ もし /^"([^\"]*)"ページを表示する$/ do |page_name|
11
+ When %{I go to #{page_name}}
12
+ end
13
+
14
+ もし /^"([^\"]*)"ボタンをクリックする$/ do |button|
15
+ When %{I press "#{button}"}
16
+ end
17
+
18
+ もし /^"([^\"]*)"リンクをクリックする$/ do |link|
19
+ When %{I follow "#{link}"}
20
+ end
21
+
22
+ もし /^"([^\"]*)"の"([^\"]*)"リンクをクリックする$/ do |parent, link|
23
+ When %{I follow "#{link}" within "#{parent}"}
24
+ end
25
+
26
+ もし /^"([^\"]*)"に"([^\"]*)"と入力する$/ do |field, value|
27
+ When %{I fill in "#{field}" with "#{value}"}
28
+ end
29
+
30
+ # less difference to %{I fill in "#{value}" for "#{field}"} with above in Japanese.
31
+
32
+ もし /^以下の項目を入力する:$/ do |fields|
33
+ When %{I fill in the following:}, fields
34
+ end
35
+
36
+ もし /^"([^\"]*)"から"([^\"]*)"を選択する$/ do |field, value|
37
+ When %{I select "#{value}" from "#{field}"}
38
+ end
39
+
40
+ もし /^日時として"([^\"]*)"を選択する$/ do |time|
41
+ When %{I select "#{time}" as the date and time}
42
+ end
43
+
44
+ もし /^"([^\"]*)"の日時として"([^\"]*)"を選択する$/ do |datetime_label, datetime|
45
+ When %{I select "#{datetime}" as the "#{datetime_label}" date and time}
46
+ end
47
+
48
+ もし /^時間として"([^\"]*)"を選択する$/ do |time|
49
+ When %{I select "#{time}" as the time}
50
+ end
51
+
52
+ もし /^"([^\"]*)"の時間として"([^\"]*)"を選択する$/ do |time_label, time|
53
+ When %{I select "#{time}" as the "#{time_label}" time}
54
+ end
55
+
56
+ もし /^日付として"([^\"]*)"を選択する$/ do |date|
57
+ When %{I select "#{date}" as the date}
58
+ end
59
+
60
+ もし /^"([^\"]*)"の日付として"([^\"]*)"を選択する$/ do |date_label, date|
61
+ When %{I select "#{date}" as the "#{date_label}" date}
62
+ end
63
+
64
+ もし /^"([^\"]*)"をチェックする$/ do |field|
65
+ When %{I check "#{field}"}
66
+ end
67
+
68
+ もし /^"([^\"]*)"のチェックを外す$/ do |field|
69
+ When %{I uncheck "#{field}"}
70
+ end
71
+
72
+ もし /^"([^\"]*)"を選択する$/ do |field|
73
+ When %{I choose "#{field}"}
74
+ end
75
+
76
+ もし /^"([^\"]*)"としてファイル"([^\"]*)"を選択する$/ do |field, path|
77
+ When %{I attach the file "#{path}" to "#{field}"}
78
+ end
79
+
80
+ ならば /^"([^\"]*)"と表示されていること$/ do |text|
81
+ Then %{I should see "#{text}"}
82
+ end
83
+
84
+ ならば /^"([^\"]*)"に"([^\"]*)"と表示されていること$/ do |selector, text|
85
+ Then %{I should see "#{text}" within "#{selector}"}
86
+ end
87
+
88
+ ならば /^\/([^\/]*)\/と表示されていること$/ do |regexp|
89
+ Then %{I should see /#{regexp}/}
90
+ end
91
+
92
+ ならば /^"([^\"]*)"に\/([^\/]*)\/と表示されていること$/ do |selector, regexp|
93
+ Then %{I should see \/#{regexp}\/ within "#{selector}"}
94
+ end
95
+
96
+ ならば /^"([^\"]*)"と表示されていないこと$/ do |text|
97
+ Then %{I should not see "#{text}"}
98
+ end
99
+
100
+ ならば /^"([^\"]*)"に"([^\"]*)"と表示されていないこと$/ do |selector, text|
101
+ Then %{I should not see "#{text}" within "#{selector}"}
102
+ end
103
+
104
+ ならば /^\/([^\/]*)\/と表示されていないこと$/ do |regexp|
105
+ Then %{I should not see /#{regexp}/}
106
+ end
107
+
108
+ ならば /^"([^\"]*)"に\/([^\/]*)\/と表示されていないこと$/ do |selector, regexp|
109
+ Then %{I should not see \/#{regexp}\/ within "#{selector}"}
110
+ end
111
+
112
+ ならば /^入力項目"([^\"]*)"に"([^\"]*)"と表示されていること$/ do |field, value|
113
+ Then %{the "#{field}" field should contain "#{value}"}
114
+ end
115
+
116
+ ならば /^入力項目"([^\"]*)"に"([^\"]*)"と表示されていないこと$/ do |field, value|
117
+ Then %{the "#{field}" field should not contain "#{value}"}
118
+ end
119
+
120
+ ならば /^"([^\"]*)"がチェックされていること$/ do |label|
121
+ Then %{the "#{label}" checkbox should be checked}
122
+ end
123
+
124
+ ならば /^"([^\"]*)"がチェックされていないこと$/ do |label|
125
+ Then %{the "#{label}" checkbox should not be checked}
126
+ end
127
+
128
+ ならば /^"([^\"]*)"ページを表示していること$/ do |page_name|
129
+ Then %{I should be on #{page_name}}
130
+ end
131
+
132
+ show_me_the_page = lambda { Then %{show me the page} }
133
+
134
+ ならば /^ページを表示する$/, &show_me_the_page
135
+ ならば /^画面を目視$/, &show_me_the_page
136
+
137
+ # backword-compat for old japanese translation.
138
+ ならば /^デバッグ(?:のため)?$/, &show_me_the_page
139
+
@@ -0,0 +1,141 @@
1
+ # encoding: utf-8
2
+ <%= embed_file('support/edit_warning.txt') %>
3
+
4
+ require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "paths"))
5
+
6
+ 조건 /^(.+)페이지에 있습니다$/ do |page_name|
7
+ Given %{I am on #{page_name}}
8
+ end
9
+
10
+ 만일 /^(.+)페이지로 갑니다$/ do |page_name|
11
+ When %{I go to #{page_name}}
12
+ end
13
+
14
+ 만일 /^"([^\"]*)"버튼을 누릅니다$/ do |button|
15
+ When %{I press "#{button}"}
16
+ end
17
+
18
+ 만일 /^"([^\"]*)"링크를 클릭합니다$/ do |link|
19
+ When %{I follow "#{link}"}
20
+ end
21
+
22
+ 만일 /^"([^\"]*)"안에 있는 "([^\"]*)"링크를 클릭합니다$/ do |parent, link|
23
+ When %{I follow "#{link}" within "#{parent}"}
24
+ end
25
+
26
+ 만일 /^"([^\"]*)"에 "([^\"]*)"라고 적습니다$/ do |field, value|
27
+ When %{I fill in "#{field}" with "#{value}"}
28
+ end
29
+
30
+ 만일 /^"([^\"]*)"라고 "([^\"]*)"에 적습니다$/ do |value, field|
31
+ When %{I fill in "#{value}" for "#{field}"}
32
+ end
33
+
34
+ 만일 /^아레의 목록을 입력합니다$/ do |fields|
35
+ When %{I fill in the following:}, fields
36
+ end
37
+
38
+ 만일 /^"([^\"]*)"를 "([^\"]*)"으로 합니다$/ do |field, value|
39
+ When %{I select "#{value}" from "#{field}"}
40
+ end
41
+
42
+ 만일 /^날짜와 시간를 "([^\"]*)"으로 합니다$/ do |time|
43
+ When %{I select "#{time}" as the date and time}
44
+ end
45
+
46
+ 만일 /^"([^\"]*)"의 날짜와 시간을 "([^\"]*)"으로 합니다$/ do |datetime_label, datetime|
47
+ When %{I select "#{datetime}" as the "#{datetime_label}" date and time}
48
+ end
49
+
50
+ 만일 /^시간을 "([^\"]*)"으로 합니다$/ do |time|
51
+ When %{I select "#{time}" as the time}
52
+ end
53
+
54
+ 만일 /^"([^\"]*)"의 시간을 "([^\"]*)"으로 합니다$/ do |time_label, time|
55
+ When %{I select "#{time}" as the "#{time_label}" time}
56
+ end
57
+
58
+ 만일 /^날짜를 "([^\"]*)"으로 합니다$/ do |date|
59
+ When %{I select "#{date}" as the date}
60
+ end
61
+
62
+ 만일 /^"([^\"]*)"의 날짜를 "([^\"]*)"으로 합니다$/ do |date_label, date|
63
+ When %{I select "#{date}" as the "#{date_label}" date}
64
+ end
65
+
66
+ 만일 /^"([^\"]*)"를 체크합니다$/ do |field|
67
+ When %{I check "#{field}"}
68
+ end
69
+
70
+ 만일 /^"([^\"]*)"의 체크를 해제합니다$/ do |field|
71
+ When %{I uncheck "#{field}"}
72
+ end
73
+
74
+ 만일 /^"([^\"]*)"를 고릅니다$/ do |field|
75
+ When %{I choose "#{field}"}
76
+ end
77
+
78
+ 만일 /^"([^\"]*)"에 "([^\"]*)"파일을 첨부합니다$/ do |field, path|
79
+ When %{I attach the file "#{path}" to "#{field}"}
80
+ end
81
+
82
+ 그러면 /^"([^\"]*)"가 보여야 합니다$/ do |text|
83
+ Then %{I should see "#{text}"}
84
+ end
85
+
86
+ 그러면 /^"([^\"]*)"안에 "([^\"]*)"가 보여야 합니다$/ do |selector, text|
87
+ Then %{I should see "#{text}" within "#{selector}"}
88
+ end
89
+
90
+ 그러면 /^\/([^\/]*)\/가 보여야 합니다$/ do |regexp|
91
+ Then %{I should see /#{regexp}/}
92
+ end
93
+
94
+ 그러면 /^"([^\"]*)"안에 \/([^\/]*)\/가 보여야 합니다$/ do |selector, regexp|
95
+ Then %{I should see /#{regexp}/ within "#{selector}"}
96
+ end
97
+
98
+ 그러면 /^"([^\"]*)"가 보이면 안됩니다$/ do |text|
99
+ Then %{I should not see "#{text}"}
100
+ end
101
+
102
+ 그러면 /^"([^\"]*)"안에 "([^\"]*)"가 보이면 안됩니다$/ do |selector, text|
103
+ Then %{I should not see "#{text}" within "#{selector}"}
104
+ end
105
+
106
+ 그러면 /^\/([^\/]*)\/가 보이면 안됩니다$/ do |regexp|
107
+ Then %{I should not see /#{regexp}/}
108
+ end
109
+
110
+ 그러면 /^"([^\"]*)"안에 \/([^\/]*)\/가 보이면 안됩니다$/ do |selector, regexp|
111
+ Then %{I should not see /#{regexp}/ within "#{selector}"}
112
+ end
113
+
114
+ 그러면 /^"([^\"]*)"는 "([^\"]*)"이어야 합니다$/ do |field, value|
115
+ Then %{the "#{field}" field should contain "#{value}"}
116
+ end
117
+
118
+ 그러면 /^"([^\"]*)"는 "([^\"]*)"이면 안됩니다$/ do |field, value|
119
+ Then %{the "#{field}" field should not contain "#{value}"}
120
+ end
121
+
122
+ 그러면 /^"([^\"]*)"는 체크되어 있어야 합니다$/ do |label|
123
+ Then %{the "#{label}" checkbox should be checked}
124
+ end
125
+
126
+ 그러면 /^"([^\"]*)"는 체크되어 있으면 안됩니다$/ do |label|
127
+ Then %{the "#{label}" checkbox should not be checked}
128
+ end
129
+
130
+ 그러면 /^(.+)에 있어야 합니다$/ do |page_name|
131
+ Then %{I should be on #{page_name}}
132
+ end
133
+
134
+ 그러면 /^다음 쿼리들이 나와야합니다:$/ do |expected_pairs|
135
+ Then %{I should have the following query string:}
136
+ end
137
+
138
+ 그러면 /^페이지를 엽니다$/ do
139
+ Then %{show me the page}
140
+ end
141
+
@@ -1,6 +1,7 @@
1
1
  <%= embed_file('support/edit_warning.txt') %>
2
2
 
3
3
  require 'uri'
4
+ require 'cgi'
4
5
  require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "paths"))
5
6
 
6
7
  # Commonly used webrat steps
@@ -135,7 +136,7 @@ When /^(?:|I )attach the file "([^\"]*)" to "([^\"]*)"$/ do |path, field|
135
136
  end
136
137
 
137
138
  Then /^(?:|I )should see "([^\"]*)"$/ do |text|
138
- if defined?(Spec::Rails::Matchers)
139
+ if response.respond_to? :should
139
140
  response.should contain(text)
140
141
  else
141
142
  assert_contain text
@@ -144,7 +145,7 @@ end
144
145
 
145
146
  Then /^(?:|I )should see "([^\"]*)" within "([^\"]*)"$/ do |text, selector|
146
147
  within(selector) do |content|
147
- if defined?(Spec::Rails::Matchers)
148
+ if content.respond_to? :should
148
149
  content.should contain(text)
149
150
  else
150
151
  hc = Webrat::Matchers::HasContent.new(text)
@@ -155,7 +156,7 @@ end
155
156
 
156
157
  Then /^(?:|I )should see \/([^\/]*)\/$/ do |regexp|
157
158
  regexp = Regexp.new(regexp)
158
- if defined?(Spec::Rails::Matchers)
159
+ if response.respond_to? :should
159
160
  response.should contain(regexp)
160
161
  else
161
162
  assert_match(regexp, response_body)
@@ -165,7 +166,7 @@ end
165
166
  Then /^(?:|I )should see \/([^\/]*)\/ within "([^\"]*)"$/ do |regexp, selector|
166
167
  within(selector) do |content|
167
168
  regexp = Regexp.new(regexp)
168
- if defined?(Spec::Rails::Matchers)
169
+ if content.respond_to? :should
169
170
  content.should contain(regexp)
170
171
  else
171
172
  assert_match(regexp, content)
@@ -174,7 +175,7 @@ Then /^(?:|I )should see \/([^\/]*)\/ within "([^\"]*)"$/ do |regexp, selector|
174
175
  end
175
176
 
176
177
  Then /^(?:|I )should not see "([^\"]*)"$/ do |text|
177
- if defined?(Spec::Rails::Matchers)
178
+ if response.respond_to? :should_not
178
179
  response.should_not contain(text)
179
180
  else
180
181
  assert_not_contain(text)
@@ -183,7 +184,7 @@ end
183
184
 
184
185
  Then /^(?:|I )should not see "([^\"]*)" within "([^\"]*)"$/ do |text, selector|
185
186
  within(selector) do |content|
186
- if defined?(Spec::Rails::Matchers)
187
+ if content.respond_to? :should_not
187
188
  content.should_not contain(text)
188
189
  else
189
190
  hc = Webrat::Matchers::HasContent.new(text)
@@ -194,7 +195,7 @@ end
194
195
 
195
196
  Then /^(?:|I )should not see \/([^\/]*)\/$/ do |regexp|
196
197
  regexp = Regexp.new(regexp)
197
- if defined?(Spec::Rails::Matchers)
198
+ if response.respond_to? :should_not
198
199
  response.should_not contain(regexp)
199
200
  else
200
201
  assert_not_contain(regexp)
@@ -204,7 +205,7 @@ end
204
205
  Then /^(?:|I )should not see \/([^\/]*)\/ within "([^\"]*)"$/ do |regexp, selector|
205
206
  within(selector) do |content|
206
207
  regexp = Regexp.new(regexp)
207
- if defined?(Spec::Rails::Matchers)
208
+ if content.respond_to? :should_not
208
209
  content.should_not contain(regexp)
209
210
  else
210
211
  assert_no_match(regexp, content)
@@ -213,50 +214,57 @@ Then /^(?:|I )should not see \/([^\/]*)\/ within "([^\"]*)"$/ do |regexp, select
213
214
  end
214
215
 
215
216
  Then /^the "([^\"]*)" field should contain "([^\"]*)"$/ do |field, value|
216
- if defined?(Spec::Rails::Matchers)
217
- field_labeled(field).value.should =~ /#{value}/
217
+ field_value = field_labeled(field).value
218
+ if field_value.respond_to? :should
219
+ field_value.should =~ /#{value}/
218
220
  else
219
- assert_match(/#{value}/, field_labeled(field).value)
221
+ assert_match(/#{value}/, field_value)
220
222
  end
221
223
  end
222
224
 
223
225
  Then /^the "([^\"]*)" field should not contain "([^\"]*)"$/ do |field, value|
224
- if defined?(Spec::Rails::Matchers)
225
- field_labeled(field).value.should_not =~ /#{value}/
226
+ field_value = field_labeled(field).value
227
+ if field_value.respond_to? :should_not
228
+ field_value.should_not =~ /#{value}/
226
229
  else
227
- assert_no_match(/#{value}/, field_labeled(field).value)
230
+ assert_no_match(/#{value}/, field_value)
228
231
  end
229
232
  end
230
233
 
231
234
  Then /^the "([^\"]*)" checkbox should be checked$/ do |label|
232
- if defined?(Spec::Rails::Matchers)
233
- field_labeled(label).should be_checked
235
+ field = field_labeled(label)
236
+ if field.respond_to? :should
237
+ field.should be_checked
234
238
  else
235
- assert field_labeled(label).checked?
239
+ assert field.checked?
236
240
  end
237
241
  end
238
242
 
239
243
  Then /^the "([^\"]*)" checkbox should not be checked$/ do |label|
240
- if defined?(Spec::Rails::Matchers)
241
- field_labeled(label).should_not be_checked
244
+ field = field_labeled(label)
245
+ if field.respond_to? :should_not
246
+ field.should_not be_checked
242
247
  else
243
- assert !field_labeled(label).checked?
248
+ assert !field.checked?
244
249
  end
245
250
  end
246
251
 
247
252
  Then /^(?:|I )should be on (.+)$/ do |page_name|
248
- if defined?(Spec::Rails::Matchers)
249
- URI.parse(current_url).path.should == path_to(page_name)
253
+ current_path = URI.parse(current_url).path
254
+ if current_path.respond_to? :should
255
+ current_path.should == path_to(page_name)
250
256
  else
251
- assert_equal path_to(page_name), URI.parse(current_url).path
257
+ assert_equal path_to(page_name), current_path
252
258
  end
253
259
  end
254
260
 
255
261
  Then /^(?:|I )should have the following query string:$/ do |expected_pairs|
256
- actual_params = CGI.parse(URI.parse(current_url).query)
257
- expected_params = Hash[expected_pairs.rows_hash.map{|k,v| [k,[v]]}]
258
-
259
- if defined?(Spec::Rails::Matchers)
262
+ query = URI.parse(current_url).query
263
+ actual_params = query ? CGI.parse(query) : {}
264
+ expected_params = {}
265
+ expected_pairs.rows_hash.each_pair{|k,v| expected_params[k] = v.split(',')}
266
+
267
+ if actual_params.respond_to? :should
260
268
  actual_params.should == expected_params
261
269
  else
262
270
  assert_equal expected_params, actual_params
@@ -265,4 +273,4 @@ end
265
273
 
266
274
  Then /^show me the page$/ do
267
275
  save_and_open_page
268
- end
276
+ end