smalruby-editor 0.1.1-x86-mingw32 → 0.1.2-x86-mingw32
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.
- checksums.yaml +4 -4
- data/app/assets/demos/default.xml +1 -1
- data/app/assets/javascripts/application.js +1 -0
- data/app/assets/javascripts/blocks/blockly.js.coffee.erb +1 -1
- data/app/assets/javascripts/blocks/events.js.coffee.erb +2 -3
- data/app/assets/javascripts/blocks/field_character.js.coffee.erb +108 -0
- data/app/assets/javascripts/blocks/hardware.js.coffee.erb +35 -2
- data/app/assets/javascripts/blocks/motion.js.coffee.erb +4 -4
- data/app/assets/javascripts/blocks/operators.js.coffee.erb +27 -29
- data/app/assets/javascripts/blocks/sensing.js.coffee.erb +4 -6
- data/app/assets/javascripts/generators/ruby.js.coffee.erb +21 -19
- data/app/assets/javascripts/models/character.js.coffee +21 -0
- data/app/assets/javascripts/views/character_modal_view.js.coffee +24 -3
- data/app/views/editor/_character_modal.html.haml +1 -1
- data/app/views/editor/_toolbox.html.haml +7 -3
- data/lib/smalruby_editor/version.rb +1 -1
- data/public/assets/{application-0c2ae32cd8822cec7ba6e445e2501010.js → application-735e172a0df828da16d22f5d3c26671f.js} +294 -59
- data/public/assets/{application-0c2ae32cd8822cec7ba6e445e2501010.js.gz → application-735e172a0df828da16d22f5d3c26671f.js.gz} +0 -0
- data/public/assets/{default-7f438ebd7f8ab6ef65c5b9744786e57f.xml → default-5d1886100d7c8961e9962bbc4bb0c714.xml} +1 -1
- data/public/assets/manifest-1f254fa92a71ba4faad0f99136daeed8.json +1 -1
- data/spec/acceptance/block_mode/blocks/hardware/servo_set_position.feature +104 -0
- data/spec/acceptance/block_mode/blocks/operators/and_or.feature +61 -0
- data/spec/acceptance/block_mode/blocks/operators/four_arithmetic_and_compares.feature +85 -0
- data/spec/acceptance/block_mode/blocks/operators/index_of.feature +60 -0
- data/spec/acceptance/block_mode/blocks/operators/length.feature +52 -0
- data/spec/acceptance/block_mode/blocks/operators/math_method.feature +109 -0
- data/spec/acceptance/block_mode/blocks/operators/negate.feature +47 -0
- data/spec/acceptance/block_mode/blocks/operators/rand.feature +60 -0
- data/spec/acceptance/block_mode/blocks/operators/round.feature +52 -0
- data/spec/acceptance/block_mode/blocks/operators/true_false.feature +36 -0
- data/spec/acceptance/block_mode/blocks/ruby/expression.feature +36 -0
- data/spec/acceptance/block_mode/blocks/ruby/p.feature +34 -0
- data/spec/acceptance/block_mode/blocks/ruby/statement_comment.feature +25 -0
- data/spec/javascripts/models/character_spec.coffee +44 -5
- data/spec/steps/ace_steps.rb +9 -0
- data/spec/steps/block_mode_steps.rb +14 -0
- data/spec/steps/fix_turnip.rb +35 -0
- data/spec/steps/text_editor_steps.rb +1 -0
- data/spec/teaspoon_env.rb +1 -1
- data/spec/turnip_helper.rb +1 -0
- metadata +34 -5
@@ -0,0 +1,52 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# language: ja
|
3
|
+
@javascript
|
4
|
+
機能: operators_round - 「変数:( )を丸める」ブロック
|
5
|
+
背景:
|
6
|
+
前提 "ブロック" タブを表示する
|
7
|
+
|
8
|
+
シナリオ: ブロックのみ配置する
|
9
|
+
もし 次のブロックを配置する:
|
10
|
+
"""
|
11
|
+
%block{:type => "operators_round", :x => "0", :y => "0"}
|
12
|
+
"""
|
13
|
+
かつ ブロックからソースコードを生成する
|
14
|
+
|
15
|
+
ならば テキストエディタのプログラムは以下を含むこと:
|
16
|
+
"""
|
17
|
+
0.round
|
18
|
+
"""
|
19
|
+
|
20
|
+
シナリオ: 値を設定したブロックを配置する
|
21
|
+
もし 次のブロックを配置する:
|
22
|
+
"""
|
23
|
+
%block{:type => "operators_round", :x => "0", :y => "0"}
|
24
|
+
%value{:name => "A"}
|
25
|
+
%block{:type => "math_number"}
|
26
|
+
%field{:name => "NUM"}<
|
27
|
+
0.5
|
28
|
+
"""
|
29
|
+
かつ ブロックからソースコードを生成する
|
30
|
+
|
31
|
+
ならば テキストエディタのプログラムは以下を含むこと:
|
32
|
+
"""
|
33
|
+
0.5.round
|
34
|
+
"""
|
35
|
+
|
36
|
+
シナリオ: 文と値を設定したブロックを配置する
|
37
|
+
もし 次のブロックを配置する:
|
38
|
+
"""
|
39
|
+
%block{:type => "ruby_p", :x => "0", :y => "0", :inline => "true"}
|
40
|
+
%value{:name => "ARG"}
|
41
|
+
%block{:type => "operators_round"}
|
42
|
+
%value{:name => "A"}
|
43
|
+
%block{:type => "math_number"}
|
44
|
+
%field{:name => "NUM"}<
|
45
|
+
0.5
|
46
|
+
"""
|
47
|
+
かつ ブロックからソースコードを生成する
|
48
|
+
|
49
|
+
ならば テキストエディタのプログラムは以下を含むこと:
|
50
|
+
"""
|
51
|
+
p(0.5.round)
|
52
|
+
"""
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# language: ja
|
3
|
+
@javascript
|
4
|
+
機能: operators_{true,false} - 「条件:{真,偽}」ブロック
|
5
|
+
背景:
|
6
|
+
前提 "ブロック" タブを表示する
|
7
|
+
|
8
|
+
シナリオテンプレート: ブロックを配置する
|
9
|
+
もし 次のブロック("operators_<ブロック名のサフィックス>")を配置する:
|
10
|
+
"""
|
11
|
+
%block{:type => "operators_<ブロック名のサフィックス>", :x => "0", :y => "0", :inline => "true"}
|
12
|
+
"""
|
13
|
+
かつ ブロックからソースコードを生成する
|
14
|
+
|
15
|
+
ならば テキストエディタのプログラムは以下を含むこと:
|
16
|
+
"""
|
17
|
+
<Ruby>
|
18
|
+
"""
|
19
|
+
|
20
|
+
もし 次のブロック("operators_<ブロック名のサフィックス>")を配置する:
|
21
|
+
"""
|
22
|
+
%block{:type => "ruby_p", :x => "0", :y => "0", :inline => "true"}
|
23
|
+
%value{:name => "ARG"}
|
24
|
+
%block{:type => "operators_<ブロック名のサフィックス>"}
|
25
|
+
"""
|
26
|
+
かつ ブロックからソースコードを生成する
|
27
|
+
|
28
|
+
ならば テキストエディタのプログラムは以下を含むこと:
|
29
|
+
"""
|
30
|
+
p(<Ruby>)
|
31
|
+
"""
|
32
|
+
|
33
|
+
例:
|
34
|
+
| ブロック名のサフィックス | Ruby |
|
35
|
+
| true | true |
|
36
|
+
| false | false |
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# language: ja
|
3
|
+
@javascript
|
4
|
+
機能: ruby_expression - 「式」ブロック
|
5
|
+
背景:
|
6
|
+
前提 "ブロック" タブを表示する
|
7
|
+
|
8
|
+
シナリオ: ブロックのみ配置する
|
9
|
+
もし 次のブロック("ruby_expression")を配置する:
|
10
|
+
"""
|
11
|
+
%block{:type => "ruby_expression", :x => "0", :y => "0", :inline => "true"}
|
12
|
+
%field{:name => "EXP"}<
|
13
|
+
stage1 = Stage.new(color: "white")
|
14
|
+
"""
|
15
|
+
かつ ブロックからソースコードを生成する
|
16
|
+
|
17
|
+
ならば テキストエディタのプログラムは以下を含むこと:
|
18
|
+
"""
|
19
|
+
(stage1 = Stage.new(color: "white"))
|
20
|
+
"""
|
21
|
+
|
22
|
+
シナリオ: 文とブロックを配置する
|
23
|
+
もし 次のブロック("ruby_expression")を配置する:
|
24
|
+
"""
|
25
|
+
%block{:type => "ruby_p", :x => "0", :y => "0", :inline => "true"}
|
26
|
+
%value{:name => "ARG"}
|
27
|
+
%block{:type => "ruby_expression", :x => "0", :y => "0", :inline => "true"}
|
28
|
+
%field{:name => "EXP"}<
|
29
|
+
stage1 = Stage.new(color: "white")
|
30
|
+
"""
|
31
|
+
かつ ブロックからソースコードを生成する
|
32
|
+
|
33
|
+
ならば テキストエディタのプログラムは以下を含むこと:
|
34
|
+
"""
|
35
|
+
p((stage1 = Stage.new(color: "white")))
|
36
|
+
"""
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# language: ja
|
3
|
+
@javascript
|
4
|
+
機能: ruby_p - 「p」ブロック
|
5
|
+
背景:
|
6
|
+
前提 "ブロック" タブを表示する
|
7
|
+
|
8
|
+
シナリオ: ブロックのみ配置する
|
9
|
+
もし 次のブロック("ruby_p")を配置する:
|
10
|
+
"""
|
11
|
+
%block{:type => "ruby_p", :x => "0", :y => "0", :inline => "true"}
|
12
|
+
"""
|
13
|
+
かつ ブロックからソースコードを生成する
|
14
|
+
|
15
|
+
ならば テキストエディタのプログラムは以下を含むこと:
|
16
|
+
"""
|
17
|
+
p("")
|
18
|
+
"""
|
19
|
+
|
20
|
+
シナリオ: 式を設定したブロックを配置する
|
21
|
+
もし 次のブロック("ruby_p")を配置する:
|
22
|
+
"""
|
23
|
+
%block{:type => "ruby_p", :x => "0", :y => "0", :inline => "true"}
|
24
|
+
%value{:name => "ARG"}
|
25
|
+
%block{:type => "text"}
|
26
|
+
%field{:name => "TEXT"}<
|
27
|
+
こんにちは
|
28
|
+
"""
|
29
|
+
かつ ブロックからソースコードを生成する
|
30
|
+
|
31
|
+
ならば テキストエディタのプログラムは以下を含むこと:
|
32
|
+
"""
|
33
|
+
p("こんにちは")
|
34
|
+
"""
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# language: ja
|
3
|
+
@javascript
|
4
|
+
機能: ruby_{statement,comment} - 「{文,コメント}」ブロック
|
5
|
+
背景:
|
6
|
+
前提 "ブロック" タブを表示する
|
7
|
+
|
8
|
+
シナリオテンプレート: ブロックのみ配置する
|
9
|
+
もし 次のブロック("ruby_<ブロック名のサフィックス>")を配置する:
|
10
|
+
"""
|
11
|
+
%block{:type => "ruby_<ブロック名のサフィックス>", :x => "0", :y => "0", :inline => "true"}
|
12
|
+
%field{:name => "<フィールド名>"}<
|
13
|
+
stage1 = Stage.new(color: "white")
|
14
|
+
"""
|
15
|
+
かつ ブロックからソースコードを生成する
|
16
|
+
|
17
|
+
ならば テキストエディタのプログラムは以下を含むこと:
|
18
|
+
"""
|
19
|
+
<Ruby>
|
20
|
+
"""
|
21
|
+
|
22
|
+
例:
|
23
|
+
| ブロック名のサフィックス | フィールド名 | Ruby |
|
24
|
+
| statement | STATEMENT | stage1 = Stage.new(color: "white") |
|
25
|
+
| comment | COMMENT | # stage1 = Stage.new(color: "white") |
|
@@ -43,6 +43,45 @@ describe 'Smalruby.Character', ->
|
|
43
43
|
it 'costumesが指定したものになる', ->
|
44
44
|
expect(_.isEqual(self.get('costumes'), ['car1.png', 'car2.png'])).to.be(true)
|
45
45
|
|
46
|
+
describe '#validate', ->
|
47
|
+
it 'nameは指定しなければいけない', ->
|
48
|
+
self.set({ name: '' })
|
49
|
+
expect(self.isValid()).to.not.be.ok()
|
50
|
+
self.set({ name: null })
|
51
|
+
expect(self.isValid()).to.not.be.ok()
|
52
|
+
self.set({ name: undefined })
|
53
|
+
expect(self.isValid()).to.not.be.ok()
|
54
|
+
|
55
|
+
describe 'nameはRubyの変数名として正しくなければいけない', ->
|
56
|
+
invalidNames = [
|
57
|
+
'1'
|
58
|
+
'CONSTANT'
|
59
|
+
'-abc'
|
60
|
+
'[1, 2, 3]'
|
61
|
+
'{ a: 1, b: 2}'
|
62
|
+
':symbol'
|
63
|
+
'abc{'
|
64
|
+
'abc['
|
65
|
+
'abc:def'
|
66
|
+
]
|
67
|
+
for name in invalidNames
|
68
|
+
do (name) ->
|
69
|
+
it "#{name}は不正であること", ->
|
70
|
+
self.set({ name: name })
|
71
|
+
expect(self.isValid()).to.not.be.ok()
|
72
|
+
|
73
|
+
invalidNames = [
|
74
|
+
'one'
|
75
|
+
'constant'
|
76
|
+
'o1e'
|
77
|
+
'あいうえお'
|
78
|
+
]
|
79
|
+
for name in invalidNames
|
80
|
+
do (name) ->
|
81
|
+
it "#{name}は正しいこと", ->
|
82
|
+
self.set({ name: name })
|
83
|
+
expect(self.isValid()).to.be.ok()
|
84
|
+
|
46
85
|
describe '#namePrefix', ->
|
47
86
|
it 'car', ->
|
48
87
|
expect(self.namePrefix()).to.equal('car')
|
@@ -90,7 +129,7 @@ describe 'Smalruby.Character', ->
|
|
90
129
|
|
91
130
|
it '任意のオブジェクトと結びつきusingプロパティをtrueにできること', ->
|
92
131
|
self.link(linkObject)
|
93
|
-
expect(self.get('using')).to.be.ok
|
132
|
+
expect(self.get('using')).to.be.ok()
|
94
133
|
|
95
134
|
it '自分自身を返すこと', ->
|
96
135
|
expect(self.link(linkObject)).to.be(self)
|
@@ -108,15 +147,15 @@ describe 'Smalruby.Character', ->
|
|
108
147
|
|
109
148
|
it '任意のオブジェクトとの結びつきを解除してusingプロパティをfalseにできること', ->
|
110
149
|
self.unlink(o) for o in linkedObjects
|
111
|
-
expect(self.get('using')).to.not.be.ok
|
150
|
+
expect(self.get('using')).to.not.be.ok()
|
112
151
|
|
113
152
|
it 'すべてのオブジェクトとの結びつきを解除するまではusingプロパティがtrueのままであること', ->
|
114
153
|
self.unlink(linkedObjects[0])
|
115
|
-
expect(self.get('using')).to.be.ok
|
154
|
+
expect(self.get('using')).to.be.ok()
|
116
155
|
self.unlink(linkedObjects[1])
|
117
|
-
expect(self.get('using')).to.be.ok
|
156
|
+
expect(self.get('using')).to.be.ok()
|
118
157
|
self.unlink(linkedObjects[2])
|
119
|
-
expect(self.get('using')).to.not.be.ok
|
158
|
+
expect(self.get('using')).to.not.be.ok()
|
120
159
|
|
121
160
|
it '解除済みのオブジェクトを指定しても例外が発生しないこと', ->
|
122
161
|
self.unlink(linkedObjects[0])
|
data/spec/steps/ace_steps.rb
CHANGED
@@ -49,6 +49,15 @@ step 'テキストエディタのプログラムは以下であること:' do |p
|
|
49
49
|
JS
|
50
50
|
end
|
51
51
|
|
52
|
+
step 'テキストエディタのプログラムは以下を含むこと:' do |program|
|
53
|
+
expect(page.evaluate_script(<<-JS)).to include(program)
|
54
|
+
ace.edit('#{NAME_INFO[text_editor][:id]}')
|
55
|
+
.getSession()
|
56
|
+
.getDocument()
|
57
|
+
.getValue()
|
58
|
+
JS
|
59
|
+
end
|
60
|
+
|
52
61
|
step 'テキストエディタのプログラムは :program であること' do |program|
|
53
62
|
expect(page.evaluate_script(<<-JS)).to eq(program)
|
54
63
|
ace.edit('#{NAME_INFO[text_editor][:id]}')
|
@@ -13,11 +13,25 @@ step '次のブロックを配置する:' do |haml|
|
|
13
13
|
JS
|
14
14
|
end
|
15
15
|
|
16
|
+
step '次のブロック(:comment)を配置する:' do |_, haml|
|
17
|
+
haml = %(%xml{:xmlns => "http://www.w3.org/1999/xhtml"}\n) +
|
18
|
+
haml.lines.map { |s| " #{s}" }.join
|
19
|
+
engine = Haml::Engine.new(haml)
|
20
|
+
xml = engine.render
|
21
|
+
page.execute_script(<<-JS)
|
22
|
+
do {
|
23
|
+
var dom = Blockly.Xml.textToDom('#{escape_javascript(xml)}');
|
24
|
+
Blockly.Xml.domToWorkspace(Blockly.mainWorkspace, dom);
|
25
|
+
} while (false);
|
26
|
+
JS
|
27
|
+
end
|
28
|
+
|
16
29
|
step 'すべてのブロックをクリアする' do
|
17
30
|
page.execute_script('Blockly.mainWorkspace.clear()')
|
18
31
|
end
|
19
32
|
|
20
33
|
step 'ブロックからソースコードを生成する' do
|
34
|
+
step '"ブロックタブ" にタブを切り替える'
|
21
35
|
step '"Rubyタブ" にタブを切り替える'
|
22
36
|
end
|
23
37
|
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Doc Stringsに含まれるシナリオアウトラインのプレースホルダを置き換える
|
3
|
+
# ためのモンキーパッチ。turnip-1.1.0で動作確認済み。
|
4
|
+
# rubocop:disable all
|
5
|
+
class Turnip::Builder
|
6
|
+
class ScenarioOutline
|
7
|
+
def to_scenarios(examples)
|
8
|
+
rows = examples.rows.map(&:cells)
|
9
|
+
headers = rows.shift
|
10
|
+
rows.map do |row|
|
11
|
+
Scenario.new(@raw).tap do |scenario|
|
12
|
+
scenario.steps = steps.map do |step|
|
13
|
+
new_description = substitute(step.description, headers, row)
|
14
|
+
new_extra_args = step.extra_args.map do |ea|
|
15
|
+
if ea.instance_of?(Turnip::Table)
|
16
|
+
Turnip::Table.new(ea.map {|t_row| t_row.map {|t_col| substitute(t_col, headers, row) } })
|
17
|
+
else
|
18
|
+
substitute_only_matched(ea, headers, row)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
Step.new(new_description, new_extra_args, step.line)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def substitute_only_matched(text, headers, row)
|
30
|
+
text.gsub(/<([^<>]*)>/) { |s|
|
31
|
+
(res = Hash[headers.zip(row)][$1]) ? res : s
|
32
|
+
}
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/spec/teaspoon_env.rb
CHANGED
@@ -22,7 +22,7 @@ Teaspoon.setup do |config|
|
|
22
22
|
#config.server = nil # defaults to Rack::Server
|
23
23
|
|
24
24
|
# Behaviors
|
25
|
-
|
25
|
+
config.server_timeout = 120 # timeout for starting the server
|
26
26
|
# defaults to any open port unless specified
|
27
27
|
#config.server_port = nil
|
28
28
|
#config.fail_fast = true # abort after the first failing suite
|
data/spec/turnip_helper.rb
CHANGED
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.2
|
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-02-
|
11
|
+
date: 2014-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -339,6 +339,7 @@ files:
|
|
339
339
|
- app/assets/javascripts/blocks/data.js.coffee.erb
|
340
340
|
- app/assets/javascripts/blocks/etc.js.coffee.erb
|
341
341
|
- app/assets/javascripts/blocks/events.js.coffee.erb
|
342
|
+
- app/assets/javascripts/blocks/field_character.js.coffee.erb
|
342
343
|
- app/assets/javascripts/blocks/hardware.js.coffee.erb
|
343
344
|
- app/assets/javascripts/blocks/looks.js.coffee.erb
|
344
345
|
- app/assets/javascripts/blocks/motion.js.coffee.erb
|
@@ -495,6 +496,7 @@ files:
|
|
495
496
|
- spec/acceptance/block_mode/blocks/hardware/rgb_led_off.feature
|
496
497
|
- spec/acceptance/block_mode/blocks/hardware/rgb_led_on.feature
|
497
498
|
- spec/acceptance/block_mode/blocks/hardware/sensor_value.feature
|
499
|
+
- spec/acceptance/block_mode/blocks/hardware/servo_set_position.feature
|
498
500
|
- spec/acceptance/block_mode/blocks/looks/hide.feature
|
499
501
|
- spec/acceptance/block_mode/blocks/looks/say.feature
|
500
502
|
- spec/acceptance/block_mode/blocks/looks/show.feature
|
@@ -514,6 +516,18 @@ files:
|
|
514
516
|
- spec/acceptance/block_mode/blocks/motion/set_y.feature
|
515
517
|
- spec/acceptance/block_mode/blocks/motion/turn.feature
|
516
518
|
- spec/acceptance/block_mode/blocks/motion/turn_if_reach_wall.feature
|
519
|
+
- spec/acceptance/block_mode/blocks/operators/and_or.feature
|
520
|
+
- spec/acceptance/block_mode/blocks/operators/four_arithmetic_and_compares.feature
|
521
|
+
- spec/acceptance/block_mode/blocks/operators/index_of.feature
|
522
|
+
- spec/acceptance/block_mode/blocks/operators/length.feature
|
523
|
+
- spec/acceptance/block_mode/blocks/operators/math_method.feature
|
524
|
+
- spec/acceptance/block_mode/blocks/operators/negate.feature
|
525
|
+
- spec/acceptance/block_mode/blocks/operators/rand.feature
|
526
|
+
- spec/acceptance/block_mode/blocks/operators/round.feature
|
527
|
+
- spec/acceptance/block_mode/blocks/operators/true_false.feature
|
528
|
+
- spec/acceptance/block_mode/blocks/ruby/expression.feature
|
529
|
+
- spec/acceptance/block_mode/blocks/ruby/p.feature
|
530
|
+
- spec/acceptance/block_mode/blocks/ruby/statement_comment.feature
|
517
531
|
- spec/acceptance/block_mode/blocks/sensing/character_property.feature
|
518
532
|
- spec/acceptance/block_mode/blocks/sensing/hit.feature
|
519
533
|
- spec/acceptance/block_mode/blocks/sensing/input_key_push_or_down.feature
|
@@ -544,6 +558,7 @@ files:
|
|
544
558
|
- spec/spec_helper.rb
|
545
559
|
- spec/steps/ace_steps.rb
|
546
560
|
- spec/steps/block_mode_steps.rb
|
561
|
+
- spec/steps/fix_turnip.rb
|
547
562
|
- spec/steps/global_variable.rb
|
548
563
|
- spec/steps/text_editor_steps.rb
|
549
564
|
- spec/support/capybara.rb
|
@@ -556,11 +571,11 @@ files:
|
|
556
571
|
- vendor/assets/javascripts/blockly/msg/js/ja.js
|
557
572
|
- vendor/assets/javascripts/jquery.blockUI.js
|
558
573
|
- vendor/assets/stylesheets/.keep
|
559
|
-
- public/assets/application-0c2ae32cd8822cec7ba6e445e2501010.js
|
560
|
-
- public/assets/application-0c2ae32cd8822cec7ba6e445e2501010.js.gz
|
561
574
|
- public/assets/application-0e1a6c238c0cc501b29746e5db35b5a1.css
|
562
575
|
- public/assets/application-0e1a6c238c0cc501b29746e5db35b5a1.css.gz
|
563
|
-
- public/assets/
|
576
|
+
- public/assets/application-735e172a0df828da16d22f5d3c26671f.js
|
577
|
+
- public/assets/application-735e172a0df828da16d22f5d3c26671f.js.gz
|
578
|
+
- public/assets/default-5d1886100d7c8961e9962bbc4bb0c714.xml
|
564
579
|
- public/assets/favicon-a37c90b368fd8ed436cb8f9e9396465c.ico
|
565
580
|
- public/assets/jquery-ui/animated-overlay-c48c87b7a95316f4698484e3b85ee4aa.gif
|
566
581
|
- public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100-58b63faadd031ca3db096dfdffd90224.png
|
@@ -633,6 +648,7 @@ test_files:
|
|
633
648
|
- spec/acceptance/block_mode/blocks/hardware/rgb_led_off.feature
|
634
649
|
- spec/acceptance/block_mode/blocks/hardware/rgb_led_on.feature
|
635
650
|
- spec/acceptance/block_mode/blocks/hardware/sensor_value.feature
|
651
|
+
- spec/acceptance/block_mode/blocks/hardware/servo_set_position.feature
|
636
652
|
- spec/acceptance/block_mode/blocks/looks/hide.feature
|
637
653
|
- spec/acceptance/block_mode/blocks/looks/say.feature
|
638
654
|
- spec/acceptance/block_mode/blocks/looks/show.feature
|
@@ -652,6 +668,18 @@ test_files:
|
|
652
668
|
- spec/acceptance/block_mode/blocks/motion/set_y.feature
|
653
669
|
- spec/acceptance/block_mode/blocks/motion/turn.feature
|
654
670
|
- spec/acceptance/block_mode/blocks/motion/turn_if_reach_wall.feature
|
671
|
+
- spec/acceptance/block_mode/blocks/operators/and_or.feature
|
672
|
+
- spec/acceptance/block_mode/blocks/operators/four_arithmetic_and_compares.feature
|
673
|
+
- spec/acceptance/block_mode/blocks/operators/index_of.feature
|
674
|
+
- spec/acceptance/block_mode/blocks/operators/length.feature
|
675
|
+
- spec/acceptance/block_mode/blocks/operators/math_method.feature
|
676
|
+
- spec/acceptance/block_mode/blocks/operators/negate.feature
|
677
|
+
- spec/acceptance/block_mode/blocks/operators/rand.feature
|
678
|
+
- spec/acceptance/block_mode/blocks/operators/round.feature
|
679
|
+
- spec/acceptance/block_mode/blocks/operators/true_false.feature
|
680
|
+
- spec/acceptance/block_mode/blocks/ruby/expression.feature
|
681
|
+
- spec/acceptance/block_mode/blocks/ruby/p.feature
|
682
|
+
- spec/acceptance/block_mode/blocks/ruby/statement_comment.feature
|
655
683
|
- spec/acceptance/block_mode/blocks/sensing/character_property.feature
|
656
684
|
- spec/acceptance/block_mode/blocks/sensing/hit.feature
|
657
685
|
- spec/acceptance/block_mode/blocks/sensing/input_key_push_or_down.feature
|
@@ -682,6 +710,7 @@ test_files:
|
|
682
710
|
- spec/spec_helper.rb
|
683
711
|
- spec/steps/ace_steps.rb
|
684
712
|
- spec/steps/block_mode_steps.rb
|
713
|
+
- spec/steps/fix_turnip.rb
|
685
714
|
- spec/steps/global_variable.rb
|
686
715
|
- spec/steps/text_editor_steps.rb
|
687
716
|
- spec/support/capybara.rb
|