smalruby-editor 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

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