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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/application.js +1 -1
- data/app/assets/javascripts/blocks/control.js.coffee.erb +14 -4
- data/app/assets/javascripts/blocks/events.js.coffee.erb +1 -1
- data/app/assets/javascripts/blocks/hardware.js.coffee.erb +24 -18
- data/app/assets/javascripts/blocks/looks.js.coffee.erb +1 -1
- data/app/assets/javascripts/blocks/motion.js.coffee.erb +1 -1
- data/app/assets/javascripts/blocks/operators.js.coffee.erb +1 -1
- data/app/assets/javascripts/blocks/sensing.js.coffee.erb +1 -1
- data/app/assets/javascripts/blocks/sound.js.coffee.erb +1 -1
- data/app/assets/javascripts/fix_blockly.js +12 -0
- data/app/assets/javascripts/generators/ruby.js.coffee.erb +1 -1
- data/app/assets/javascripts/smalruby.js.coffee +12 -0
- data/app/assets/javascripts/views/main_menu_view.js.coffee +5 -1
- data/app/assets/javascripts/views/reset_modal_view.js.coffee +11 -0
- data/app/assets/stylesheets/toolbox.css.scss.erb +29 -19
- data/app/controllers/source_codes_controller.rb +26 -20
- data/app/helpers/application_helper.rb +3 -0
- data/app/models/concerns/ruby_to_block/block/motion_turn_xy.rb +2 -1
- data/app/views/editor/_block_tab.html.haml +0 -1
- data/app/views/editor/_character_modal.html.haml +1 -1
- data/app/views/editor/_load_modal.html.haml +1 -1
- data/app/views/editor/_reset_modal.html.haml +15 -0
- data/app/views/editor/_signin_modal.html.haml +1 -1
- data/app/views/editor/_toolbox.html.haml +264 -257
- data/app/views/editor/index.html.haml +4 -2
- data/lib/smalruby_editor/version.rb +3 -3
- data/public/assets/{application-acf953339e4b5c31b5d6060375b13a44.js → application-c8991557a0789ac1bc9220f409e7f1c1.js} +175 -110
- data/public/assets/{application-acf953339e4b5c31b5d6060375b13a44.js.gz → application-c8991557a0789ac1bc9220f409e7f1c1.js.gz} +0 -0
- data/public/assets/{application-e9d089df8f23954c49647ab7af8481dc.css → application-d4fe6c0f970efe8eab9267fd08718d96.css} +182 -104
- data/public/assets/application-d4fe6c0f970efe8eab9267fd08718d96.css.gz +0 -0
- data/public/assets/manifest-332a5a1668194028b55103e0ea45c054.json +1 -1
- data/smalruby-editor.gemspec +1 -1
- data/spec/acceptance/base.feature +59 -0
- data/spec/acceptance/block_mode/blocks/control/await.feature +49 -2
- data/spec/acceptance/block_mode/blocks/control/await_until.feature +67 -6
- data/spec/acceptance/block_mode/blocks/control/break.feature +0 -3
- data/spec/acceptance/block_mode/blocks/control/next.feature +0 -3
- data/spec/acceptance/block_mode/blocks/control/redo.feature +0 -3
- data/spec/acceptance/standalone/signin.feature +12 -10
- data/spec/steps/base_steps.rb +13 -0
- data/spec/steps/global_variable.rb +11 -0
- metadata +10 -8
- 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
|
-
|
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 => "
|
28
|
-
%
|
29
|
-
|
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
|
-
|
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
|
"""
|
@@ -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" を含むこと
|
data/spec/steps/base_steps.rb
CHANGED
@@ -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.
|
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-
|
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.
|
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.
|
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-
|
602
|
-
- public/assets/application-
|
603
|
-
- public/assets/application-
|
604
|
-
- public/assets/application-
|
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
|
Binary file
|