smalruby-editor 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +8 -3
- data/app/assets/javascripts/msg/ja.js +1 -1
- data/app/models/source_code.rb +2 -2
- data/bin/smalruby-editor +1 -0
- data/lib/smalruby_editor/version.rb +1 -1
- data/lib/tasks/release.rake +1 -1
- data/lib/tasks/rubocop.rake +1 -1
- data/smalruby-editor.gemspec +1 -1
- data/spec/acceptance/base.feature +4 -7
- data/spec/acceptance/ruby_mode/translate.feature +1 -1
- data/spec/acceptance/standalone/run.feature +45 -12
- data/spec/acceptance/standalone/save.feature +1 -1
- data/spec/steps/block_mode_steps.rb +2 -1
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4c35e51e6019ce1f211087b69e288684b74da2d
|
4
|
+
data.tar.gz: 5eec15458d1994b5b8cfaeb260bbed36cf1486ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74902c0adfec6bf2ff61e3c4ef80d358d258a729231bc194a30506c2099fe85f0efc71a52f766233bfc5cf6d8c9c5323c401e0e22efca0dc401a2d7b453f8d93
|
7
|
+
data.tar.gz: 4e51b27b9893bd57b5fc16fe54402ddaf6c85764db4adbe9599186612bc8a8bdc05643096bc7673a8dfce4a0977c5c9f6eb8511dfef227391bf8ac6db3ad04d9
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.3.3
|
data/.travis.yml
CHANGED
@@ -3,17 +3,22 @@ language: ruby
|
|
3
3
|
cache: bundler
|
4
4
|
|
5
5
|
rvm:
|
6
|
-
- 2.
|
6
|
+
- 2.3.3
|
7
7
|
|
8
8
|
env:
|
9
9
|
AUDIODEV=null
|
10
10
|
COVERALLS='1'
|
11
11
|
|
12
12
|
before_install:
|
13
|
-
|
14
|
-
|
13
|
+
- sudo apt-get update -qq
|
14
|
+
- sudo apt-get install -qq libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev timidity libsdl-ttf2.0-dev libsdl-sge-dev fonts-horai-umefont fonts-ipafont
|
15
|
+
- gem update bundler
|
15
16
|
|
16
17
|
before_script:
|
18
|
+
- mkdir travis-phantomjs
|
19
|
+
- wget https://assets.membergetmember.co/software/phantomjs-2.1.1-linux-x86_64.tar.bz2 -O $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
|
20
|
+
- tar -xvf $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C $PWD/travis-phantomjs
|
21
|
+
- export PATH=$PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH
|
17
22
|
- cp config/database.yml.travis config/database.yml
|
18
23
|
- mysql -e 'create database myapp_test;'
|
19
24
|
|
@@ -119,7 +119,7 @@ Blockly.Msg.BLOCKS_MOTION_SELF_ANGLE = '■向き';
|
|
119
119
|
|
120
120
|
// blocks/events.js.coffee.erb
|
121
121
|
Blockly.Msg.BLOCKS_EVENTS_ON_START = '♣実行ボタンがクリックされたとき';
|
122
|
-
Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN = '♣キーボードの %1 が %2
|
122
|
+
Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN = '♣キーボードの %1 が %2 とき';
|
123
123
|
Blockly.Msg.BLOCKS_EVENTS_ON_CLICK = '♣キャラクターがクリックされたとき';
|
124
124
|
Blockly.Msg.BLOCKS_EVENTS_ON_HIT = '♣%1 にぶつかったとき';
|
125
125
|
|
data/app/models/source_code.rb
CHANGED
@@ -150,13 +150,13 @@ class SourceCode < ActiveRecord::Base
|
|
150
150
|
tempfile.close
|
151
151
|
|
152
152
|
Bundler.with_clean_env do
|
153
|
-
Open3.capture3(
|
153
|
+
Open3.capture3(*[ruby_cmd, '-c', path].map(&:to_s))
|
154
154
|
end
|
155
155
|
end
|
156
156
|
|
157
157
|
def open3_capture3_run_program(path, env)
|
158
158
|
Bundler.with_clean_env do
|
159
|
-
Open3.capture3(env,
|
159
|
+
Open3.capture3(env, *[ruby_cmd, path].map(&:to_s))
|
160
160
|
end
|
161
161
|
end
|
162
162
|
|
data/bin/smalruby-editor
CHANGED
data/lib/tasks/release.rake
CHANGED
@@ -30,7 +30,7 @@ task :release do
|
|
30
30
|
File.open('lib/smalruby_editor/version.rb', 'r+') do |f|
|
31
31
|
lines = []
|
32
32
|
while line = f.gets
|
33
|
-
line = "#{$1}
|
33
|
+
line = "#{$1}'#{next_version}'\n" if /(\s*VERSION =\s*)/.match(line)
|
34
34
|
lines << line
|
35
35
|
end
|
36
36
|
f.rewind
|
data/lib/tasks/rubocop.rake
CHANGED
data/smalruby-editor.gemspec
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
|
26
26
|
ならば 次のXMLと同等のブロックが配置されていること:
|
27
27
|
"""
|
28
|
-
<xml>
|
28
|
+
<xml xmlns="http://www.w3.org/1999/xhtml">
|
29
29
|
<block type="ruby_statement" id="1" x="0" y="0">
|
30
30
|
<field name="STATEMENT">stage1 = Stage.new(color: "white")</field>
|
31
31
|
</block>
|
@@ -42,10 +42,7 @@
|
|
42
42
|
かつ JavaScriptによるリクエストが終わるまで待つ
|
43
43
|
かつ ページをリロードする
|
44
44
|
|
45
|
-
ならば
|
46
|
-
"""
|
47
|
-
<xml></xml>
|
48
|
-
"""
|
45
|
+
ならば ブロックが配置されていないこと
|
49
46
|
かつ "プログラム名の入力欄" は "" であること
|
50
47
|
|
51
48
|
シナリオ: プログラムを変更した状態でブロックモードからRubyモードに切り替えてページを遷移する
|
@@ -64,7 +61,7 @@
|
|
64
61
|
|
65
62
|
ならば 次のXMLと同等のブロックが配置されていること:
|
66
63
|
"""
|
67
|
-
<xml>
|
64
|
+
<xml xmlns="http://www.w3.org/1999/xhtml">
|
68
65
|
<block type="ruby_statement" id="1" x="0" y="0">
|
69
66
|
<field name="STATEMENT">stage1 = Stage.new(color: "white")</field>
|
70
67
|
</block>
|
@@ -152,7 +149,7 @@
|
|
152
149
|
|
153
150
|
ならば 次のXMLと同等のブロックが配置されていること:
|
154
151
|
"""
|
155
|
-
<xml>
|
152
|
+
<xml xmlns="http://www.w3.org/1999/xhtml">
|
156
153
|
<block type="ruby_statement" id="1" x="0" y="0">
|
157
154
|
<field name="STATEMENT">stage1 = Stage.new(color: "white")</field>
|
158
155
|
</block>
|
@@ -27,7 +27,7 @@
|
|
27
27
|
|
28
28
|
ならば 次のXMLと同等のブロックが配置されていること:
|
29
29
|
"""
|
30
|
-
<xml>
|
30
|
+
<xml xmlns="http://www.w3.org/1999/xhtml">
|
31
31
|
<character x="0" y="0" name="car1" costumes="costume1:car1.png" angle="0"></character>
|
32
32
|
<block type="character_new" id="1" x="0" y="0">
|
33
33
|
<field name="NAME">car1</field>
|
@@ -5,19 +5,10 @@
|
|
5
5
|
機能: Run - プログラムの実行(standaloneモード)
|
6
6
|
背景:
|
7
7
|
前提 "Ruby" タブを表示する
|
8
|
-
かつ プログラムの名前に "01.rb" を指定する
|
9
|
-
かつ テキストエディタに "puts Hello, World!'" を入力済みである
|
10
|
-
|
11
|
-
# シナリオ: 実行前にプログラムのシンタックスエラーをチェックできる
|
12
|
-
# もし "実行ボタン" をクリックする
|
13
|
-
# かつ JavaScriptによるリクエストが終わるまで待つ
|
14
|
-
#
|
15
|
-
# ならば "メッセージ" に "エラー" を含むこと
|
16
|
-
# かつ "メッセージ" に "プログラムを実行できませんでした" を含むこと
|
17
|
-
# かつ "メッセージ" に "1行、19文字: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '('" を含むこと
|
18
|
-
# かつ "メッセージ" に "1行: unterminated string meets end of file" を含むこと
|
19
8
|
|
20
9
|
シナリオ: プログラム実行時に、実行したプログラムによって発生したエラーメッセージを表示できる
|
10
|
+
前提 プログラムの名前に "01.rb" を指定する
|
11
|
+
|
21
12
|
もし テキストエディタに "raise '不具合'" を入力済みである
|
22
13
|
かつ "実行ボタン" をクリックする
|
23
14
|
かつ JavaScriptによるリクエストが終わるまで待つ
|
@@ -26,8 +17,49 @@
|
|
26
17
|
かつ "メッセージ" に "プログラムを実行できませんでした" を含むこと
|
27
18
|
かつ "メッセージ" に "1行: in `<main>': 不具合 (RuntimeError)" を含むこと
|
28
19
|
|
20
|
+
シナリオ: ログインIDにスペースを含む場合でもプログラム実行時に、実行したプログラムによって発生したエラーメッセージを表示できる
|
21
|
+
前提 プログラムの名前に "01.rb" を指定する
|
22
|
+
かつ テキストエディタに "raise '不具合'" を入力済みである
|
23
|
+
|
24
|
+
もし "ログインボタン" をクリックする
|
25
|
+
かつ JavaScriptによるアニメーションが終わるまで待つ
|
26
|
+
かつ "ログインダイアログの名前" に "1102 name" を指定する
|
27
|
+
かつ "ログインダイアログのログインボタン" をクリックする
|
28
|
+
かつ JavaScriptによるアニメーションが終わるまで待つ
|
29
|
+
かつ "実行ボタン" をクリックする
|
30
|
+
かつ JavaScriptによるリクエストが終わるまで待つ
|
31
|
+
|
32
|
+
ならば "メッセージ" に "エラー" を含むこと
|
33
|
+
かつ "メッセージ" に "プログラムを実行できませんでした" を含むこと
|
34
|
+
かつ "メッセージ" に "1行: in `<main>': 不具合 (RuntimeError)" を含むこと
|
35
|
+
|
36
|
+
シナリオ: プログラム名にシェルのコマンドが埋め込まれていてもファイル名として扱い、実行したプログラムによって発生したエラーメッセージを表示できる
|
37
|
+
前提 テキストエディタに "raise '不具合'" を入力済みである
|
38
|
+
|
39
|
+
もし プログラムの名前に "x; echo 'foo' 1>&2" を指定する
|
40
|
+
かつ "実行ボタン" をクリックする
|
41
|
+
かつ JavaScriptによるリクエストが終わるまで待つ
|
42
|
+
|
43
|
+
ならば "メッセージ" に "エラー" を含むこと
|
44
|
+
かつ "メッセージ" に "プログラムを実行できませんでした" を含むこと
|
45
|
+
かつ "メッセージ" に "1行: in `<main>': 不具合 (RuntimeError)" を含むこと
|
46
|
+
|
47
|
+
# シナリオ: 実行前にプログラムのシンタックスエラーをチェックできる
|
48
|
+
# 前提 プログラムの名前に "01.rb" を指定する
|
49
|
+
# かつ テキストエディタに "puts Hello, World!'" を入力済みである
|
50
|
+
#
|
51
|
+
# もし "実行ボタン" をクリックする
|
52
|
+
# かつ JavaScriptによるリクエストが終わるまで待つ
|
53
|
+
#
|
54
|
+
# ならば "メッセージ" に "エラー" を含むこと
|
55
|
+
# かつ "メッセージ" に "プログラムを実行できませんでした" を含むこと
|
56
|
+
# かつ "メッセージ" に "1行、19文字: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '('" を含むこと
|
57
|
+
# かつ "メッセージ" に "1行: unterminated string meets end of file" を含むこと
|
58
|
+
|
29
59
|
# シナリオ: 既存のファイルがある状態でプログラムを実行し、上書き保存をキャンセルする
|
30
|
-
# 前提
|
60
|
+
# 前提 プログラムの名前に "01.rb" を指定する
|
61
|
+
# かつ テキストエディタに "puts Hello, World!'" を入力済みである
|
62
|
+
# かつ ホームディレクトリに "n = 0" という内容の "01.rb" が存在する
|
31
63
|
# かつ 確認ダイアログをキャンセルするようにしておく
|
32
64
|
#
|
33
65
|
# もし "実行ボタン" をクリックする
|
@@ -37,3 +69,4 @@
|
|
37
69
|
# ならば 確認メッセージ "前に01.rbという名前でセーブしているけど本当にセーブしますか?\nセーブすると前に作成したプログラムは消えてしまうよ!" を表示すること
|
38
70
|
# かつ "メッセージ" に "プログラムの実行をキャンセルしました" を含むこと
|
39
71
|
# かつ ホームディレクトリの "01.rb" の内容が "n = 0" であること
|
72
|
+
|
@@ -70,7 +70,7 @@
|
|
70
70
|
かつ ホームディレクトリに "<保存したファイルの名前>" が存在すること
|
71
71
|
かつ ホームディレクトリの "<保存したファイルの名前>" が次の内容であること:
|
72
72
|
"""
|
73
|
-
<xml>
|
73
|
+
<xml xmlns="http://www.w3.org/1999/xhtml">
|
74
74
|
<character x="300" y="200" name="car1" costumes="costume1:car4.png" angle="90"></character>
|
75
75
|
<block type="character_new" id="1" x="0" y="0">
|
76
76
|
<field name="NAME">car1</field>
|
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.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouji Takao
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -252,16 +252,16 @@ dependencies:
|
|
252
252
|
name: rake
|
253
253
|
requirement: !ruby/object:Gem::Requirement
|
254
254
|
requirements:
|
255
|
-
- - "
|
255
|
+
- - "~>"
|
256
256
|
- !ruby/object:Gem::Version
|
257
|
-
version: '
|
257
|
+
version: '10.4'
|
258
258
|
type: :development
|
259
259
|
prerelease: false
|
260
260
|
version_requirements: !ruby/object:Gem::Requirement
|
261
261
|
requirements:
|
262
|
-
- - "
|
262
|
+
- - "~>"
|
263
263
|
- !ruby/object:Gem::Version
|
264
|
-
version: '
|
264
|
+
version: '10.4'
|
265
265
|
description: The smalruby-editor is a visual programming editor that can create aRuby
|
266
266
|
script by combining individual blocks similar to Scratch. It can also enter the
|
267
267
|
program as better than Scratch.
|
@@ -515,8 +515,8 @@ files:
|
|
515
515
|
- public/apple-touch-icon.png
|
516
516
|
- public/assets/application-01ea22bf031b73863715417bd68b9cfa.css
|
517
517
|
- public/assets/application-01ea22bf031b73863715417bd68b9cfa.css.gz
|
518
|
-
- public/assets/application-
|
519
|
-
- public/assets/application-
|
518
|
+
- public/assets/application-4f6106662ee106b372720e5cc3c9a665.js
|
519
|
+
- public/assets/application-4f6106662ee106b372720e5cc3c9a665.js.gz
|
520
520
|
- public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js
|
521
521
|
- public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js.gz
|
522
522
|
- public/assets/blockly/msg/js/ja-16b694632120c3d1ace214702c6ea413.js
|
@@ -537,11 +537,11 @@ files:
|
|
537
537
|
- public/assets/jquery-ui/ui-icons_888888_256x240-ce584ffa171c3ea9a018cf0d7bec65c8.png
|
538
538
|
- public/assets/jquery-ui/ui-icons_cd0a0a_256x240-747e96029e8dedcabc224e5f7d1f2ede.png
|
539
539
|
- public/assets/loading-e77296be32d066d3e29d3bf9803fa417.gif
|
540
|
-
- public/assets/manifest-
|
540
|
+
- public/assets/manifest-6507f5dc52ad3b1aaaeed053fbd19c32.json
|
541
541
|
- public/assets/msg/en_us-e54bdd84fc120684bed3fa16e2d3d7fa.js
|
542
542
|
- public/assets/msg/en_us-e54bdd84fc120684bed3fa16e2d3d7fa.js.gz
|
543
|
-
- public/assets/msg/ja-
|
544
|
-
- public/assets/msg/ja-
|
543
|
+
- public/assets/msg/ja-5a192c88eadbc9c2650ae2a79092e8db.js
|
544
|
+
- public/assets/msg/ja-5a192c88eadbc9c2650ae2a79092e8db.js.gz
|
545
545
|
- public/assets/progressbar-ee8fb1222f286f625bbf7332844a6a0c.gif
|
546
546
|
- public/blockly/media/1x1.gif
|
547
547
|
- public/blockly/media/anon.jpeg
|
@@ -775,7 +775,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
775
775
|
version: '0'
|
776
776
|
requirements: []
|
777
777
|
rubyforge_project:
|
778
|
-
rubygems_version: 2.
|
778
|
+
rubygems_version: 2.5.2
|
779
779
|
signing_key:
|
780
780
|
specification_version: 4
|
781
781
|
summary: A visual programming editor.
|