smalruby-editor 0.1.19-x86-mingw32 → 0.1.20-x86-mingw32

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.

Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/application.js +1 -1
  3. data/app/assets/javascripts/blocks/control.js.coffee.erb +14 -4
  4. data/app/assets/javascripts/blocks/events.js.coffee.erb +1 -1
  5. data/app/assets/javascripts/blocks/hardware.js.coffee.erb +24 -18
  6. data/app/assets/javascripts/blocks/looks.js.coffee.erb +1 -1
  7. data/app/assets/javascripts/blocks/motion.js.coffee.erb +1 -1
  8. data/app/assets/javascripts/blocks/operators.js.coffee.erb +1 -1
  9. data/app/assets/javascripts/blocks/sensing.js.coffee.erb +1 -1
  10. data/app/assets/javascripts/blocks/sound.js.coffee.erb +1 -1
  11. data/app/assets/javascripts/fix_blockly.js +12 -0
  12. data/app/assets/javascripts/generators/ruby.js.coffee.erb +1 -1
  13. data/app/assets/javascripts/smalruby.js.coffee +12 -0
  14. data/app/assets/javascripts/views/main_menu_view.js.coffee +5 -1
  15. data/app/assets/javascripts/views/reset_modal_view.js.coffee +11 -0
  16. data/app/assets/stylesheets/toolbox.css.scss.erb +29 -19
  17. data/app/controllers/source_codes_controller.rb +26 -20
  18. data/app/helpers/application_helper.rb +3 -0
  19. data/app/models/concerns/ruby_to_block/block/motion_turn_xy.rb +2 -1
  20. data/app/views/editor/_block_tab.html.haml +0 -1
  21. data/app/views/editor/_character_modal.html.haml +1 -1
  22. data/app/views/editor/_load_modal.html.haml +1 -1
  23. data/app/views/editor/_reset_modal.html.haml +15 -0
  24. data/app/views/editor/_signin_modal.html.haml +1 -1
  25. data/app/views/editor/_toolbox.html.haml +264 -257
  26. data/app/views/editor/index.html.haml +4 -2
  27. data/lib/smalruby_editor/version.rb +3 -3
  28. data/public/assets/{application-acf953339e4b5c31b5d6060375b13a44.js → application-c8991557a0789ac1bc9220f409e7f1c1.js} +175 -110
  29. data/public/assets/{application-acf953339e4b5c31b5d6060375b13a44.js.gz → application-c8991557a0789ac1bc9220f409e7f1c1.js.gz} +0 -0
  30. data/public/assets/{application-e9d089df8f23954c49647ab7af8481dc.css → application-d4fe6c0f970efe8eab9267fd08718d96.css} +182 -104
  31. data/public/assets/application-d4fe6c0f970efe8eab9267fd08718d96.css.gz +0 -0
  32. data/public/assets/manifest-332a5a1668194028b55103e0ea45c054.json +1 -1
  33. data/smalruby-editor.gemspec +1 -1
  34. data/spec/acceptance/base.feature +59 -0
  35. data/spec/acceptance/block_mode/blocks/control/await.feature +49 -2
  36. data/spec/acceptance/block_mode/blocks/control/await_until.feature +67 -6
  37. data/spec/acceptance/block_mode/blocks/control/break.feature +0 -3
  38. data/spec/acceptance/block_mode/blocks/control/next.feature +0 -3
  39. data/spec/acceptance/block_mode/blocks/control/redo.feature +0 -3
  40. data/spec/acceptance/standalone/signin.feature +12 -10
  41. data/spec/steps/base_steps.rb +13 -0
  42. data/spec/steps/global_variable.rb +11 -0
  43. metadata +10 -8
  44. data/public/assets/application-e9d089df8f23954c49647ab7af8481dc.css.gz +0 -0
@@ -11,22 +11,47 @@
11
11
  """
12
12
  かつ ブロックからソースコードを生成する
13
13
 
14
+ ならば テキストエディタのプログラムは "" であること
15
+
16
+ シナリオ: キャラクターとブロックを配置する
17
+ 前提 "ブロック" タブを表示する
18
+ かつ 次のキャラクターを追加する:
19
+ | name | costumes | x | y | angle |
20
+ | car1 | car1.png | 0 | 0 | 0 |
21
+
22
+ もし 次のブロックを配置する:
23
+ """
24
+ %block{:type => "character_new", :x => "21", :y => "15"}
25
+ %field{:name => "NAME"}<
26
+ car1
27
+ %statement{:name => "DO"}
28
+ %block{:type => "control_await_until", :x => "0", :y => "0"}
29
+ """
30
+ かつ ブロックからソースコードを生成する
31
+
14
32
  ならば テキストエディタのプログラムは以下であること:
15
33
  """
16
34
  require "smalruby"
17
35
 
18
- await until true
36
+ car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
19
37
 
20
38
  """
21
39
 
22
- シナリオ: 値を設定したブロックを配置する
40
+ シナリオ: キャラクターとイベントとブロックを配置する
23
41
  前提 "ブロック" タブを表示する
42
+ かつ 次のキャラクターを追加する:
43
+ | name | costumes | x | y | angle |
44
+ | car1 | car1.png | 0 | 0 | 0 |
24
45
 
25
46
  もし 次のブロックを配置する:
26
47
  """
27
- %block{:type => "control_await_until", :x => "0", :y => "0"}
28
- %value{:name => "COND"}
29
- %block{:type => "operators_false"}
48
+ %block{:type => "character_new", :x => "21", :y => "15"}
49
+ %field{:name => "NAME"}<
50
+ car1
51
+ %statement{:name => "DO"}
52
+ %block{:type => "events_on_start"}
53
+ %statement{:name => "DO"}
54
+ %block{:type => "control_await_until", :x => "0", :y => "0"}
30
55
  """
31
56
  かつ ブロックからソースコードを生成する
32
57
 
@@ -34,6 +59,42 @@
34
59
  """
35
60
  require "smalruby"
36
61
 
37
- await until false
62
+ car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
63
+
64
+ car1.on(:start) do
65
+ await until true
66
+ end
67
+
68
+ """
69
+
70
+ シナリオ: キャラクターとイベントと値を設定したブロックを配置する
71
+ 前提 "ブロック" タブを表示する
72
+ かつ 次のキャラクターを追加する:
73
+ | name | costumes | x | y | angle |
74
+ | car1 | car1.png | 0 | 0 | 0 |
75
+
76
+ もし 次のブロックを配置する:
77
+ """
78
+ %block{:type => "character_new", :x => "21", :y => "15"}
79
+ %field{:name => "NAME"}<
80
+ car1
81
+ %statement{:name => "DO"}
82
+ %block{:type => "events_on_start"}
83
+ %statement{:name => "DO"}
84
+ %block{:type => "control_await_until", :x => "0", :y => "0"}
85
+ %value{:name => "COND"}
86
+ %block{:type => "operators_false"}
87
+ """
88
+ かつ ブロックからソースコードを生成する
89
+
90
+ ならば テキストエディタのプログラムは以下であること:
91
+ """
92
+ require "smalruby"
93
+
94
+ car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
95
+
96
+ car1.on(:start) do
97
+ await until false
98
+ end
38
99
 
39
100
  """
@@ -13,8 +13,5 @@
13
13
 
14
14
  ならば テキストエディタのプログラムは以下であること:
15
15
  """
16
- require "smalruby"
17
-
18
- break
19
16
 
20
17
  """
@@ -13,8 +13,5 @@
13
13
 
14
14
  ならば テキストエディタのプログラムは以下であること:
15
15
  """
16
- require "smalruby"
17
-
18
- next
19
16
 
20
17
  """
@@ -13,8 +13,5 @@
13
13
 
14
14
  ならば テキストエディタのプログラムは以下であること:
15
15
  """
16
- require "smalruby"
17
-
18
- redo
19
16
 
20
17
  """
@@ -16,6 +16,7 @@
16
16
  ならば "サブメニュー" に "ログアウト" を含まないこと
17
17
 
18
18
  もし "ログインボタン" をクリックする
19
+ かつ JavaScriptによるアニメーションが終わるまで待つ
19
20
 
20
21
  ならば "ログインダイアログ" が表示されていること
21
22
 
@@ -23,8 +24,7 @@
23
24
  かつ "ログインダイアログのログインボタン" をクリックする
24
25
  かつ JavaScriptによるリクエストが終わるまで待つ
25
26
 
26
- ならば "メッセージ" に "ログインしました" を含むこと
27
- かつ "メニュー" に "1102" を含むこと
27
+ ならば "メニュー" に "1102" を含むこと
28
28
 
29
29
  もし "サブメニューボタン" をクリックする
30
30
 
@@ -33,8 +33,7 @@
33
33
  もし サブメニューの "ログアウトボタン" をクリックする
34
34
  かつ JavaScriptによるリクエストが終わるまで待つ
35
35
 
36
- ならば "メッセージ" に "ログアウトしました" を含むこと
37
- かつ "メニュー" に "ログイン" を含むこと
36
+ ならば "メニュー" に "ログイン" を含むこと
38
37
  かつ "メニュー" に "1102" を含まないこと
39
38
 
40
39
  もし "サブメニューボタン" をクリックする
@@ -44,27 +43,29 @@
44
43
  シナリオ: 名前を指定せずにログインボタンを押す
45
44
  前提 "トップページ" にアクセスする
46
45
  かつ "ログインボタン" をクリックする
46
+ かつ JavaScriptによるアニメーションが終わるまで待つ
47
47
 
48
48
  もし "ログインダイアログの名前" に "" を指定する
49
49
  かつ "ログインダイアログのログインボタン" をクリックする
50
50
  かつ JavaScriptによるリクエストが終わるまで待つ
51
51
 
52
- ならば "メッセージ" に "ログインに失敗しました" を含むこと
53
- かつ "メニュー" に "ログイン" を含むこと
52
+ ならば "メニュー" に "ログイン" を含むこと
53
+ かつ "メッセージ" に "ログインに失敗しました" を含むこと
54
54
 
55
55
  シナリオ: ログインをやめる
56
56
  前提 "トップページ" にアクセスする
57
57
  かつ "ログインボタン" をクリックする
58
+ かつ JavaScriptによるアニメーションが終わるまで待つ
58
59
  かつ "ログインダイアログの名前" に "1102" を指定する
59
60
 
60
61
  もし "ログインダイアログのやめるボタン" をクリックする
61
62
 
62
- ならば "メッセージ" に "ログインしました" を含まないこと
63
- かつ "メニュー" に "ログイン" を含むこと
63
+ ならば "メニュー" に "ログイン" を含むこと
64
64
 
65
65
  シナリオ: ログイン後にプログラムを実行する
66
66
  前提 "トップページ" にアクセスする
67
67
  かつ "ログインボタン" をクリックする
68
+ かつ JavaScriptによるアニメーションが終わるまで待つ
68
69
  かつ "ログインダイアログの名前" に "1102" を指定する
69
70
  かつ "ログインダイアログのログインボタン" をクリックする
70
71
  かつ JavaScriptによるリクエストが終わるまで待つ
@@ -78,14 +79,15 @@
78
79
  ならば "~/1102" ディレクトリに "01.rb" が存在すること
79
80
  かつ "~/1102" ディレクトリの "01.rb" の内容が "puts 'Hello, World!'" であること
80
81
 
81
- シナリオ: ログイン後、リセットする
82
+ シナリオ: ログイン後、再度トップページを表示する
82
83
  前提 "トップページ" にアクセスする
83
84
  かつ "ログインボタン" をクリックする
85
+ かつ JavaScriptによるアニメーションが終わるまで待つ
84
86
  かつ "ログインダイアログの名前" に "1102" を指定する
85
87
  かつ "ログインダイアログのログインボタン" をクリックする
86
88
  かつ JavaScriptによるリクエストが終わるまで待つ
87
89
 
88
- もし サブメニューの "リセットボタン" をクリックする
90
+ もし "トップページ" にアクセスする
89
91
 
90
92
  ならば "メニュー" に "ログイン" を含まないこと
91
93
  かつ "メニュー" に "1102" を含むこと
@@ -129,6 +129,19 @@ step 'JavaScriptによるリクエストが終わるまで待つ' do
129
129
  end
130
130
  end
131
131
 
132
+ step 'JavaScriptによるアニメーションが終わるまで待つ' do
133
+ start_time = Time.now
134
+ until page.evaluate_script('jQuery(":animated").length == 0') ||
135
+ (start_time + 5.seconds) < Time.now
136
+ sleep 1
137
+ end
138
+ sleep 1
139
+ end
140
+
141
+ step 'JavaScriptによる処理が終わるまで待つ' do
142
+ step 'JavaScriptによるアニメーションが終わるまで待つ'
143
+ end
144
+
132
145
  step ':name は :value であること' do |name, value|
133
146
  expect(page.evaluate_script(<<-JS)).to eq(value)
134
147
  $('#{NAME_INFO[name][:selector]}').val()
@@ -70,6 +70,9 @@
70
70
  'ログインダイアログ' => {
71
71
  selector: '#signin-modal',
72
72
  },
73
+ 'リセット確認ダイアログ' => {
74
+ id: 'reset-modal',
75
+ },
73
76
 
74
77
  # ログインダイアログ
75
78
  'ログインダイアログの名前' => {
@@ -81,6 +84,14 @@
81
84
  'ログインダイアログのやめるボタン' => {
82
85
  id: 'signin-modal-cancel-button',
83
86
  },
87
+
88
+ # リセット確認ダイアログ
89
+ 'リセット確認ダイアログのリセットボタン' => {
90
+ id: 'reset-modal-ok-button',
91
+ },
92
+ 'リセット確認ダイアログのやめるボタン' => {
93
+ id: 'reset-modal-cancel-button',
94
+ },
84
95
  }
85
96
 
86
97
  ::NAME_INFO.values.each do |value|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smalruby-editor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.19
4
+ version: 0.1.20
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Kouji Takao
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-13 00:00:00.000000000 Z
11
+ date: 2014-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - ~>
186
186
  - !ruby/object:Gem::Version
187
- version: 0.0.27
187
+ version: 0.0.28
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - ~>
193
193
  - !ruby/object:Gem::Version
194
- version: 0.0.27
194
+ version: 0.0.28
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: bundler
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -276,6 +276,7 @@ files:
276
276
  - app/assets/javascripts/views/character_selector_view.js.coffee
277
277
  - app/assets/javascripts/views/load_modal_view.js.coffee
278
278
  - app/assets/javascripts/views/main_menu_view.js.coffee
279
+ - app/assets/javascripts/views/reset_modal_view.js.coffee
279
280
  - app/assets/javascripts/views/signin_modal_view.js.coffee
280
281
  - app/assets/stylesheets/application.css
281
282
  - app/assets/stylesheets/editor.css.scss
@@ -366,6 +367,7 @@ files:
366
367
  - app/views/editor/_block_tab.html.haml
367
368
  - app/views/editor/_character_modal.html.haml
368
369
  - app/views/editor/_load_modal.html.haml
370
+ - app/views/editor/_reset_modal.html.haml
369
371
  - app/views/editor/_signin_modal.html.haml
370
372
  - app/views/editor/_toolbox.html.haml
371
373
  - app/views/editor/demo.html.erb
@@ -598,10 +600,10 @@ files:
598
600
  - vendor/assets/javascripts/blockly/msg/js/ja.js
599
601
  - vendor/assets/javascripts/jquery.blockUI.js
600
602
  - vendor/assets/stylesheets/.keep
601
- - public/assets/application-acf953339e4b5c31b5d6060375b13a44.js
602
- - public/assets/application-acf953339e4b5c31b5d6060375b13a44.js.gz
603
- - public/assets/application-e9d089df8f23954c49647ab7af8481dc.css
604
- - public/assets/application-e9d089df8f23954c49647ab7af8481dc.css.gz
603
+ - public/assets/application-c8991557a0789ac1bc9220f409e7f1c1.js
604
+ - public/assets/application-c8991557a0789ac1bc9220f409e7f1c1.js.gz
605
+ - public/assets/application-d4fe6c0f970efe8eab9267fd08718d96.css
606
+ - public/assets/application-d4fe6c0f970efe8eab9267fd08718d96.css.gz
605
607
  - public/assets/favicon-a37c90b368fd8ed436cb8f9e9396465c.ico
606
608
  - public/assets/jquery-ui/animated-overlay-c48c87b7a95316f4698484e3b85ee4aa.gif
607
609
  - public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100-58b63faadd031ca3db096dfdffd90224.png