smalruby-editor 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of smalruby-editor might be problematic. Click here for more details.

@@ -26,39 +26,11 @@ step ':name 画面を表示する' do |name|
26
26
  send ':name にアクセスする', name
27
27
  end
28
28
 
29
- step ':name が表示されていること' do |name|
30
- expect(page).to have_selector(name_to(name))
31
- end
32
-
33
- step ':name が表示されていないこと' do |name|
34
- expect(page).not_to have_selector(name_to(name))
35
- end
36
-
37
- step ':parent に :name が表示されていること' do |parent, name|
38
- within(name_to(parent)) do
39
- expect(page.all(name_to(name), visible: true)).not_to be_empty
40
- end
41
- end
42
-
43
- step ':parent に :name が表示されていないこと' do |parent, name|
44
- within(name_to(parent)) do
45
- expect(page.all(name_to(name), visible: true)).to be_empty
46
- end
47
- end
48
-
49
- step 'コンボボックス :name の :option_label を選択していること' do
50
- |name, option_label|
51
- expect(find(%{select[name="#{name}"] option[selected]}).text)
52
- .to eq(option_label)
53
- end
54
-
55
- step 'コンボボックス :name の :option_label を選択していないこと' do
56
- |name, option_label|
57
- expect(find(%{select[name="#{name}"] option[selected]}).text)
58
- .not_to eq(option_label)
29
+ step ':name に :value を指定する' do |name, value|
30
+ send(':name フィールドに :value を指定する', name, value)
59
31
  end
60
32
 
61
- step ':name :value を指定する' do |name, value|
33
+ step ':name フィールドに :value を指定する' do |name, value|
62
34
  fill_in(name_to(name, :id), with: value)
63
35
  end
64
36
 
@@ -70,14 +42,6 @@ step ':name のチェックを外す' do |name|
70
42
  uncheck(name)
71
43
  end
72
44
 
73
- step ':name がチェックされていること' do |name|
74
- expect(find(%{input[type="checkbox"][name="#{name}"]})).to be_checked
75
- end
76
-
77
- step ':name がチェックされていないこと' do |name|
78
- expect(find(%{input[type="checkbox"][name="#{name}"]})).not_to be_checked
79
- end
80
-
81
45
  step ':name にタブを切り替える' do |name|
82
46
  page.execute_script(<<-JS)
83
47
  $('#tabs a[href=\"#{name_to(name)}\"]').click()
@@ -118,40 +82,12 @@ step 'ダウンロードが完了するまで待つ' do
118
82
  end
119
83
  end
120
84
 
121
- step ':filename をダウンロードすること' do |filename|
122
- step 'ダウンロードが完了するまで待つ'
123
- if poltergeist?
124
- expect(page.response_headers['Content-Disposition'])
125
- .to match(/\Aattachment; filename="#{filename}"\z/)
126
- expect(page.response_headers['Content-Type'])
127
- .to eq('text/plain; charset=utf-8')
128
- elsif selenium?
129
- expect(downloads_dir.join(filename)).to be_exist
130
- end
131
- end
132
-
133
- step 'ダウンロードしないこと' do
134
- if poltergeist?
135
- expect(page.response_headers['Content-Disposition']).to be_nil
136
- elsif selenium?
137
- expect(downloads_dir).not_to be_exist
138
- end
139
- end
140
-
141
85
  step ':name にフォーカスを移す' do |name|
142
86
  page.execute_script(<<-JS)
143
87
  $('#{name_to(name)}').focus()
144
88
  JS
145
89
  end
146
90
 
147
- step ':name にフォーカスがあること' do |name|
148
- # HACK: 現在のPhantomJSでは$(':focus')は動作しない
149
- # https://github.com/netzpirat/guard-jasmine/issues/48
150
- expect(page.evaluate_script(<<-JS)).to be_true
151
- $('#{name_to(name)}').get(0) == document.activeElement
152
- JS
153
- end
154
-
155
91
  step ':filename をロードする' do |filename|
156
92
  step '"ロードボタン" にフォーカスを移す'
157
93
 
@@ -164,6 +100,26 @@ step ':filename をロードする' do |filename|
164
100
  attach_file('load-file', path)
165
101
  end
166
102
 
103
+ step 'ページをリロードする' do
104
+ begin
105
+ if poltergeist?
106
+ # HACK: Poltergeistではwindow.onbeforeunload によって表示されたダ
107
+ # イアログを消せないためタイムアウト時間を1秒にすることで回避し
108
+ # ている。
109
+ page.driver.timeout = 2
110
+ begin
111
+ step '"エディタ" 画面を表示する'
112
+ ensure
113
+ page.driver.timeout = 120
114
+ end
115
+ else
116
+ step '"エディタ" 画面を表示する'
117
+ end
118
+ rescue Capybara::Poltergeist::TimeoutError => e
119
+ Rails.logger.debug("#{e.class.name}: #{e.message}")
120
+ end
121
+ end
122
+
167
123
  step 'JavaScriptによるリクエストが終わるまで待つ' do
168
124
  start_time = Time.now
169
125
  until page.evaluate_script('jQuery.isReady && jQuery.active == 0') ||
@@ -185,40 +141,6 @@ step 'JavaScriptによる処理が終わるまで待つ' do
185
141
  step 'JavaScriptによるアニメーションが終わるまで待つ'
186
142
  end
187
143
 
188
- step ':name は :value であること' do |name, value|
189
- expect(page.evaluate_script(<<-JS)).to eq(value)
190
- $('#{name_to(name)}').val()
191
- JS
192
- end
193
-
194
- step ':name に :message を含むこと' do |name, message|
195
- expect(page.find(name_to(name))).to have_content(message)
196
- end
197
-
198
- step ':name に :message を含まないこと' do |name, message|
199
- expect(page.find(name_to(name))).not_to have_content(message)
200
- end
201
-
202
- step 'ページをリロードする' do
203
- begin
204
- if poltergeist?
205
- # HACK: Poltergeistではwindow.onbeforeunload によって表示されたダ
206
- # イアログを消せないためタイムアウト時間を1秒にすることで回避し
207
- # ている。
208
- page.driver.timeout = 2
209
- begin
210
- step '"エディタ" 画面を表示する'
211
- ensure
212
- page.driver.timeout = 120
213
- end
214
- else
215
- step '"エディタ" 画面を表示する'
216
- end
217
- rescue Capybara::Poltergeist::TimeoutError => e
218
- Rails.logger.debug("#{e.class.name}: #{e.message}")
219
- end
220
- end
221
-
222
144
  step '警告ダイアログの :name ボタンをクリックする' do |name|
223
145
  case name
224
146
  when 'dismiss'
@@ -232,30 +154,6 @@ step '確認ダイアログをキャンセルするようにしておく' do
232
154
  page.execute_script('window.confirmResult = false') if poltergeist?
233
155
  end
234
156
 
235
- step '確認メッセージ :message を表示すること' do |message|
236
- message.gsub!('\n', "\n")
237
- if poltergeist?
238
- actual = page.evaluate_script('window.confirmMsg')
239
- page.execute_script('window.confirmMsg = null')
240
- expect(actual).to eq(message)
241
- elsif selenium?
242
- expect(page.driver.browser.switch_to.alert.text).to eq(message)
243
- page.driver.browser.switch_to.alert.dismiss
244
- end
245
- end
246
-
247
- step '確認メッセージを表示しないこと' do
248
- if poltergeist?
249
- actual = page.evaluate_script('window.confirmMsg')
250
- page.execute_script('window.confirmMsg = null')
251
- expect(actual).to be_nil
252
- elsif selenium?
253
- expect {
254
- page.driver.browser.switch_to.alert
255
- }.to raise_exception(Selenium::WebDriver::Error::NoAlertPresentError)
256
- end
257
- end
258
-
259
157
  step '実際にはファイルをロードしないようにしておく' do
260
158
  if selenium?
261
159
  page.execute_script("$('#load-button').off('click')")
@@ -287,21 +185,6 @@ step 'ホームディレクトリに :program という内容の :filename が
287
185
  end
288
186
  end
289
187
 
290
- step 'ホームディレクトリに :filename が存在すること' do |filename|
291
- path = Pathname("~/#{filename}").expand_path
292
- expect(path).to be_exist
293
- end
294
-
295
- step 'ホームディレクトリの :filename の内容が :program であること' do |filename, program|
296
- path = Pathname("~/#{filename}").expand_path
297
- expect(path.read).to eq(program)
298
- end
299
-
300
- step 'ホームディレクトリの :filename が次の内容であること:' do |filename, program|
301
- path = Pathname("~/#{filename}").expand_path
302
- expect(path.read).to eq(program)
303
- end
304
-
305
188
  step ':directory ディレクトリに :program という内容の :filename が存在する' do
306
189
  |directory, program, filename|
307
190
  File.open(Pathname("#{directory}/#{filename}").expand_path, 'w') do |f|
@@ -309,18 +192,6 @@ step ':directory ディレクトリに :program という内容の :filename が
309
192
  end
310
193
  end
311
194
 
312
- step ':directory ディレクトリに :filename が存在すること' do
313
- |directory, filename|
314
- path = Pathname("#{directory}/#{filename}").expand_path
315
- expect(path).to be_exist
316
- end
317
-
318
- step ':directory ディレクトリの :filename の内容が :program であること' do
319
- |directory, filename, program|
320
- path = Pathname("#{directory}/#{filename}").expand_path
321
- expect(path.read).to eq(program)
322
- end
323
-
324
195
  step 'ページを表示する' do
325
196
  # no-op
326
197
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smalruby-editor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouji Takao
@@ -198,14 +198,14 @@ dependencies:
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: 0.1.6
201
+ version: 0.1.8
202
202
  type: :runtime
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: 0.1.6
208
+ version: 0.1.8
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: therubyracer
211
211
  requirement: !ruby/object:Gem::Requirement
@@ -483,8 +483,8 @@ files:
483
483
  - public/422.html
484
484
  - public/500.html
485
485
  - public/apple-touch-icon.png
486
- - public/assets/application-5253d287046c0356ed5bdf79ed312e9d.js
487
- - public/assets/application-5253d287046c0356ed5bdf79ed312e9d.js.gz
486
+ - public/assets/application-277da50b978f4a4292b83a0f2ff521e6.js
487
+ - public/assets/application-277da50b978f4a4292b83a0f2ff521e6.js.gz
488
488
  - public/assets/application-f879948b97a781e3d996535a2a0585fa.css
489
489
  - public/assets/application-f879948b97a781e3d996535a2a0585fa.css.gz
490
490
  - public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js
@@ -507,7 +507,7 @@ files:
507
507
  - public/assets/jquery-ui/ui-icons_888888_256x240-ce584ffa171c3ea9a018cf0d7bec65c8.png
508
508
  - public/assets/jquery-ui/ui-icons_cd0a0a_256x240-747e96029e8dedcabc224e5f7d1f2ede.png
509
509
  - public/assets/loading-e77296be32d066d3e29d3bf9803fa417.gif
510
- - public/assets/manifest-005ad49acadb6769ff8289e7543e777d.json
510
+ - public/assets/manifest-c9964fd12336c02e9a368ae822cc6cbe.json
511
511
  - public/assets/msg/en_us-a98cc83805d44f5f675fe6eac2c955ec.js
512
512
  - public/assets/msg/en_us-a98cc83805d44f5f675fe6eac2c955ec.js.gz
513
513
  - public/assets/msg/ja-243b0a55ef1086ef2180af94c422cb5e.js
@@ -693,12 +693,13 @@ files:
693
693
  - spec/models/concerns/ruby_to_block_spec.rb
694
694
  - spec/models/source_code_spec.rb
695
695
  - spec/spec_helper.rb
696
- - spec/steps/base_steps.rb
697
696
  - spec/steps/block_mode_steps.rb
698
697
  - spec/steps/fix_turnip.rb
699
698
  - spec/steps/global_variable.rb
700
699
  - spec/steps/standalone_steps.rb
701
700
  - spec/steps/text_editor_steps.rb
701
+ - spec/steps/then_steps.rb
702
+ - spec/steps/when_steps.rb
702
703
  - spec/support/capybara.rb
703
704
  - spec/support/env.rb
704
705
  - spec/support/feature_helper.rb
@@ -871,12 +872,13 @@ test_files:
871
872
  - spec/models/concerns/ruby_to_block_spec.rb
872
873
  - spec/models/source_code_spec.rb
873
874
  - spec/spec_helper.rb
874
- - spec/steps/base_steps.rb
875
875
  - spec/steps/block_mode_steps.rb
876
876
  - spec/steps/fix_turnip.rb
877
877
  - spec/steps/global_variable.rb
878
878
  - spec/steps/standalone_steps.rb
879
879
  - spec/steps/text_editor_steps.rb
880
+ - spec/steps/then_steps.rb
881
+ - spec/steps/when_steps.rb
880
882
  - spec/support/capybara.rb
881
883
  - spec/support/env.rb
882
884
  - spec/support/feature_helper.rb