smalruby-editor 0.1.5 → 0.1.6
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/.gitignore +2 -1
- data/.rubocop.yml +8 -0
- data/README.rdoc +3 -0
- data/app/assets/javascripts/application.js +0 -1
- data/app/assets/javascripts/models/source_code.js.coffee +5 -2
- data/app/assets/javascripts/smalruby.js.coffee +18 -11
- data/app/assets/javascripts/views/main_menu_view.js.coffee +139 -81
- data/app/controllers/source_codes_controller.rb +7 -0
- data/app/models/concerns/ruby_to_block.rb +391 -0
- data/app/models/source_code.rb +3 -2
- data/app/views/editor/demo.html.erb +1 -1
- data/app/views/editor/index.html.haml +2 -2
- data/config/routes.rb +1 -0
- data/lib/smalruby_editor/version.rb +3 -3
- data/lib/tasks/release.rake +0 -4
- data/smalruby-editor.gemspec +0 -6
- data/spec/acceptance/base.feature +119 -0
- data/spec/acceptance/block_mode/translate.feature +14 -0
- data/spec/acceptance/ruby_mode/translate.feature +65 -0
- data/spec/acceptance/standalone/run.feature +14 -1
- data/spec/controllers/source_codes_controller_spec.rb +22 -0
- data/{app/assets/demos/default.xml → spec/fixtures/files/01.rb.xml} +0 -0
- data/spec/models/concerns/ruby_to_block_spec.rb +329 -0
- data/spec/steps/base_steps.rb +230 -0
- data/spec/steps/block_mode_steps.rb +9 -1
- data/spec/steps/fix_turnip.rb +28 -0
- data/spec/steps/text_editor_steps.rb +52 -193
- metadata +19 -97
- data/app/assets/demos/rgb_led_anode.xml +0 -83
- data/app/assets/javascripts/ruby_mode.js.coffee.erb +0 -12
- data/spec/acceptance/ruby_mode/base.feature +0 -33
- data/spec/steps/ace_steps.rb +0 -77
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.6
|
5
5
|
platform: ruby
|
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-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -80,20 +80,6 @@ dependencies:
|
|
80
80
|
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 4.0.0
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: jquery-rails
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - '>='
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :runtime
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - '>='
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: turbolinks
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,20 +108,6 @@ dependencies:
|
|
122
108
|
- - ~>
|
123
109
|
- !ruby/object:Gem::Version
|
124
110
|
version: '2.0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: ace-rails-ap
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - '>='
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - '>='
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
111
|
- !ruby/object:Gem::Dependency
|
140
112
|
name: flatstrap-sass
|
141
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,20 +122,6 @@ dependencies:
|
|
150
122
|
- - '>='
|
151
123
|
- !ruby/object:Gem::Version
|
152
124
|
version: '0'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: jquery-fileupload-rails
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - '>='
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
160
|
-
type: :runtime
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - '>='
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
167
125
|
- !ruby/object:Gem::Dependency
|
168
126
|
name: shared-mime-info
|
169
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -220,48 +178,6 @@ dependencies:
|
|
220
178
|
- - '>='
|
221
179
|
- !ruby/object:Gem::Version
|
222
180
|
version: '0'
|
223
|
-
- !ruby/object:Gem::Dependency
|
224
|
-
name: jquery-ui-rails
|
225
|
-
requirement: !ruby/object:Gem::Requirement
|
226
|
-
requirements:
|
227
|
-
- - '>='
|
228
|
-
- !ruby/object:Gem::Version
|
229
|
-
version: '0'
|
230
|
-
type: :runtime
|
231
|
-
prerelease: false
|
232
|
-
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
requirements:
|
234
|
-
- - '>='
|
235
|
-
- !ruby/object:Gem::Version
|
236
|
-
version: '0'
|
237
|
-
- !ruby/object:Gem::Dependency
|
238
|
-
name: eco-source
|
239
|
-
requirement: !ruby/object:Gem::Requirement
|
240
|
-
requirements:
|
241
|
-
- - '>='
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
version: 1.1.0.rc.1
|
244
|
-
type: :runtime
|
245
|
-
prerelease: false
|
246
|
-
version_requirements: !ruby/object:Gem::Requirement
|
247
|
-
requirements:
|
248
|
-
- - '>='
|
249
|
-
- !ruby/object:Gem::Version
|
250
|
-
version: 1.1.0.rc.1
|
251
|
-
- !ruby/object:Gem::Dependency
|
252
|
-
name: backbone-on-rails
|
253
|
-
requirement: !ruby/object:Gem::Requirement
|
254
|
-
requirements:
|
255
|
-
- - '>='
|
256
|
-
- !ruby/object:Gem::Version
|
257
|
-
version: '0'
|
258
|
-
type: :runtime
|
259
|
-
prerelease: false
|
260
|
-
version_requirements: !ruby/object:Gem::Requirement
|
261
|
-
requirements:
|
262
|
-
- - '>='
|
263
|
-
- !ruby/object:Gem::Version
|
264
|
-
version: '0'
|
265
181
|
- !ruby/object:Gem::Dependency
|
266
182
|
name: smalruby
|
267
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -341,8 +257,6 @@ files:
|
|
341
257
|
- Procfile
|
342
258
|
- README.rdoc
|
343
259
|
- Rakefile
|
344
|
-
- app/assets/demos/default.xml
|
345
|
-
- app/assets/demos/rgb_led_anode.xml
|
346
260
|
- app/assets/images/.keep
|
347
261
|
- app/assets/images/favicon.ico
|
348
262
|
- app/assets/javascripts/application.js
|
@@ -369,7 +283,6 @@ files:
|
|
369
283
|
- app/assets/javascripts/models/scene.js.coffee
|
370
284
|
- app/assets/javascripts/models/source_code.js.coffee
|
371
285
|
- app/assets/javascripts/routers/.keep
|
372
|
-
- app/assets/javascripts/ruby_mode.js.coffee.erb
|
373
286
|
- app/assets/javascripts/smalruby.js.coffee
|
374
287
|
- app/assets/javascripts/views/.keep
|
375
288
|
- app/assets/javascripts/views/character_modal_view.js.coffee
|
@@ -389,6 +302,7 @@ files:
|
|
389
302
|
- app/mailers/.keep
|
390
303
|
- app/models/.keep
|
391
304
|
- app/models/concerns/.keep
|
305
|
+
- app/models/concerns/ruby_to_block.rb
|
392
306
|
- app/models/source_code.rb
|
393
307
|
- app/views/editor/_block_tab.html.haml
|
394
308
|
- app/views/editor/_character_modal.html.haml
|
@@ -426,6 +340,8 @@ files:
|
|
426
340
|
- db/migrate/20131219045113_add_filename_to_source_code.rb
|
427
341
|
- db/schema.rb
|
428
342
|
- db/seeds.rb
|
343
|
+
- demos/default.xml
|
344
|
+
- demos/rgb_led_anode.xml
|
429
345
|
- lib/assets/.keep
|
430
346
|
- lib/smalruby_editor.rb
|
431
347
|
- lib/smalruby_editor/version.rb
|
@@ -486,6 +402,7 @@ files:
|
|
486
402
|
- public/tiny.png
|
487
403
|
- public/wide.png
|
488
404
|
- smalruby-editor.gemspec
|
405
|
+
- spec/acceptance/base.feature
|
489
406
|
- spec/acceptance/block_mode/blocks/character/new.feature
|
490
407
|
- spec/acceptance/block_mode/blocks/control/await.feature
|
491
408
|
- spec/acceptance/block_mode/blocks/control/await_until.feature
|
@@ -550,16 +467,18 @@ files:
|
|
550
467
|
- spec/acceptance/block_mode/blocks/sensing/time_now.feature
|
551
468
|
- spec/acceptance/block_mode/blocks/sound/play.feature
|
552
469
|
- spec/acceptance/block_mode/demo.feature
|
470
|
+
- spec/acceptance/block_mode/translate.feature
|
553
471
|
- spec/acceptance/readme.md
|
554
|
-
- spec/acceptance/ruby_mode/base.feature
|
555
472
|
- spec/acceptance/ruby_mode/check.feature
|
556
473
|
- spec/acceptance/ruby_mode/download.feature
|
557
474
|
- spec/acceptance/ruby_mode/load.feature
|
475
|
+
- spec/acceptance/ruby_mode/translate.feature
|
558
476
|
- spec/acceptance/standalone/run.feature
|
559
477
|
- spec/acceptance/standalone/save.feature
|
560
478
|
- spec/controllers/editor_controller_spec.rb
|
561
479
|
- spec/controllers/source_codes_controller_spec.rb
|
562
480
|
- spec/fixtures/files/01.rb
|
481
|
+
- spec/fixtures/files/01.rb.xml
|
563
482
|
- spec/fixtures/files/favicon.ico
|
564
483
|
- spec/helpers/editor_helper_spec.rb
|
565
484
|
- spec/javascripts/collections/character_set_spec.coffee
|
@@ -567,9 +486,10 @@ files:
|
|
567
486
|
- spec/javascripts/models/scene_spec.coffee
|
568
487
|
- spec/javascripts/spec_helper.js
|
569
488
|
- spec/lib/smalruby_editor_spec.rb
|
489
|
+
- spec/models/concerns/ruby_to_block_spec.rb
|
570
490
|
- spec/models/source_code_spec.rb
|
571
491
|
- spec/spec_helper.rb
|
572
|
-
- spec/steps/
|
492
|
+
- spec/steps/base_steps.rb
|
573
493
|
- spec/steps/block_mode_steps.rb
|
574
494
|
- spec/steps/fix_turnip.rb
|
575
495
|
- spec/steps/global_variable.rb
|
@@ -584,11 +504,10 @@ files:
|
|
584
504
|
- vendor/assets/javascripts/blockly/msg/js/ja.js
|
585
505
|
- vendor/assets/javascripts/jquery.blockUI.js
|
586
506
|
- vendor/assets/stylesheets/.keep
|
587
|
-
- public/assets/application-0047adbc0fb7a529ef7a41b5e0e7d097.js
|
588
|
-
- public/assets/application-0047adbc0fb7a529ef7a41b5e0e7d097.js.gz
|
589
507
|
- public/assets/application-64a390efe879c386a5950515064f062d.css
|
590
508
|
- public/assets/application-64a390efe879c386a5950515064f062d.css.gz
|
591
|
-
- public/assets/
|
509
|
+
- public/assets/application-8bfffad1222d4e198f3c7ccc1cbd774f.js
|
510
|
+
- public/assets/application-8bfffad1222d4e198f3c7ccc1cbd774f.js.gz
|
592
511
|
- public/assets/favicon-a37c90b368fd8ed436cb8f9e9396465c.ico
|
593
512
|
- public/assets/jquery-ui/animated-overlay-c48c87b7a95316f4698484e3b85ee4aa.gif
|
594
513
|
- public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100-58b63faadd031ca3db096dfdffd90224.png
|
@@ -607,7 +526,6 @@ files:
|
|
607
526
|
- public/assets/loading-e8e6dd7833131c92a6c3b9c8ccc6a6ac.gif
|
608
527
|
- public/assets/manifest-332a5a1668194028b55103e0ea45c054.json
|
609
528
|
- public/assets/progressbar-82023a146fba2a0f6d925629ed2b09c5.gif
|
610
|
-
- public/assets/rgb_led_anode-91225bef2a8b97f1cefee862a0619b91.xml
|
611
529
|
homepage: https://github.com/smalruby/smalruby-editor
|
612
530
|
licenses:
|
613
531
|
- MIT
|
@@ -638,6 +556,7 @@ signing_key:
|
|
638
556
|
specification_version: 4
|
639
557
|
summary: A visual programming editor.
|
640
558
|
test_files:
|
559
|
+
- spec/acceptance/base.feature
|
641
560
|
- spec/acceptance/block_mode/blocks/character/new.feature
|
642
561
|
- spec/acceptance/block_mode/blocks/control/await.feature
|
643
562
|
- spec/acceptance/block_mode/blocks/control/await_until.feature
|
@@ -702,16 +621,18 @@ test_files:
|
|
702
621
|
- spec/acceptance/block_mode/blocks/sensing/time_now.feature
|
703
622
|
- spec/acceptance/block_mode/blocks/sound/play.feature
|
704
623
|
- spec/acceptance/block_mode/demo.feature
|
624
|
+
- spec/acceptance/block_mode/translate.feature
|
705
625
|
- spec/acceptance/readme.md
|
706
|
-
- spec/acceptance/ruby_mode/base.feature
|
707
626
|
- spec/acceptance/ruby_mode/check.feature
|
708
627
|
- spec/acceptance/ruby_mode/download.feature
|
709
628
|
- spec/acceptance/ruby_mode/load.feature
|
629
|
+
- spec/acceptance/ruby_mode/translate.feature
|
710
630
|
- spec/acceptance/standalone/run.feature
|
711
631
|
- spec/acceptance/standalone/save.feature
|
712
632
|
- spec/controllers/editor_controller_spec.rb
|
713
633
|
- spec/controllers/source_codes_controller_spec.rb
|
714
634
|
- spec/fixtures/files/01.rb
|
635
|
+
- spec/fixtures/files/01.rb.xml
|
715
636
|
- spec/fixtures/files/favicon.ico
|
716
637
|
- spec/helpers/editor_helper_spec.rb
|
717
638
|
- spec/javascripts/collections/character_set_spec.coffee
|
@@ -719,9 +640,10 @@ test_files:
|
|
719
640
|
- spec/javascripts/models/scene_spec.coffee
|
720
641
|
- spec/javascripts/spec_helper.js
|
721
642
|
- spec/lib/smalruby_editor_spec.rb
|
643
|
+
- spec/models/concerns/ruby_to_block_spec.rb
|
722
644
|
- spec/models/source_code_spec.rb
|
723
645
|
- spec/spec_helper.rb
|
724
|
-
- spec/steps/
|
646
|
+
- spec/steps/base_steps.rb
|
725
647
|
- spec/steps/block_mode_steps.rb
|
726
648
|
- spec/steps/fix_turnip.rb
|
727
649
|
- spec/steps/global_variable.rb
|
@@ -1,83 +0,0 @@
|
|
1
|
-
<xml xmlns="http://www.w3.org/1999/xhtml">
|
2
|
-
<character name="frog1" x="261" y="191" angle="0" costumes="frog1.png" />
|
3
|
-
<block type="hardware_init_hardware" x="40" y="6" />
|
4
|
-
<block type="character_new" x="45" y="50">
|
5
|
-
<field name="NAME">frog1</field>
|
6
|
-
<statement name="DO">
|
7
|
-
<block type="events_on_click">
|
8
|
-
<statement name="DO">
|
9
|
-
<block type="looks_say" inline="true">
|
10
|
-
<value name="TEXT">
|
11
|
-
<block type="text">
|
12
|
-
<field name="TEXT">ライトをぴかっとさせるでよ♪</field>
|
13
|
-
</block>
|
14
|
-
</value>
|
15
|
-
<next>
|
16
|
-
<block type="hardware_rgb_led_on">
|
17
|
-
<field name="AC">anode</field>
|
18
|
-
<field name="PIN">D3</field>
|
19
|
-
<field name="COLOUR">#3333ff</field>
|
20
|
-
<next>
|
21
|
-
<block type="control_sleep" inline="true">
|
22
|
-
<value name="SEC">
|
23
|
-
<block type="math_number">
|
24
|
-
<field name="NUM">1</field>
|
25
|
-
</block>
|
26
|
-
</value>
|
27
|
-
<next>
|
28
|
-
<block type="hardware_rgb_led_on">
|
29
|
-
<field name="AC">anode</field>
|
30
|
-
<field name="PIN">D3</field>
|
31
|
-
<field name="COLOUR">#ffff99</field>
|
32
|
-
<next>
|
33
|
-
<block type="control_sleep" inline="true">
|
34
|
-
<value name="SEC">
|
35
|
-
<block type="math_number">
|
36
|
-
<field name="NUM">1</field>
|
37
|
-
</block>
|
38
|
-
</value>
|
39
|
-
<next>
|
40
|
-
<block type="hardware_rgb_led_on">
|
41
|
-
<field name="AC">anode</field>
|
42
|
-
<field name="PIN">D3</field>
|
43
|
-
<field name="COLOUR">#ff0000</field>
|
44
|
-
<next>
|
45
|
-
<block type="control_sleep" inline="true">
|
46
|
-
<value name="SEC">
|
47
|
-
<block type="math_number">
|
48
|
-
<field name="NUM">1</field>
|
49
|
-
</block>
|
50
|
-
</value>
|
51
|
-
<next>
|
52
|
-
<block type="hardware_rgb_led_off">
|
53
|
-
<field name="AC">anode</field>
|
54
|
-
<field name="PIN">D3</field>
|
55
|
-
<next>
|
56
|
-
<block type="looks_say" inline="true">
|
57
|
-
<value name="TEXT">
|
58
|
-
<block type="text">
|
59
|
-
<field name="TEXT" />
|
60
|
-
</block>
|
61
|
-
</value>
|
62
|
-
</block>
|
63
|
-
</next>
|
64
|
-
</block>
|
65
|
-
</next>
|
66
|
-
</block>
|
67
|
-
</next>
|
68
|
-
</block>
|
69
|
-
</next>
|
70
|
-
</block>
|
71
|
-
</next>
|
72
|
-
</block>
|
73
|
-
</next>
|
74
|
-
</block>
|
75
|
-
</next>
|
76
|
-
</block>
|
77
|
-
</next>
|
78
|
-
</block>
|
79
|
-
</statement>
|
80
|
-
</block>
|
81
|
-
</statement>
|
82
|
-
</block>
|
83
|
-
</xml>
|
@@ -1,12 +0,0 @@
|
|
1
|
-
$ ->
|
2
|
-
window.textEditor = textEditor = ace.edit('text-editor')
|
3
|
-
textEditor.setTheme('ace/theme/clouds')
|
4
|
-
textEditor.setShowInvisibles(true)
|
5
|
-
textEditor.gotoLine(0, 0)
|
6
|
-
textEditor.on 'change', (e) ->
|
7
|
-
window.changed = true
|
8
|
-
|
9
|
-
session = textEditor.getSession()
|
10
|
-
session.setMode('ace/mode/ruby')
|
11
|
-
session.setTabSize(2)
|
12
|
-
session.setUseSoftTabs(true)
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
# language: ja
|
3
|
-
@javascript
|
4
|
-
機能: Base - 基本
|
5
|
-
シナリオ: トップページにアクセスしてエディタ画面を表示する
|
6
|
-
もし "トップページ" にアクセスする
|
7
|
-
|
8
|
-
ならば "ブロックタブ" が表示されていること
|
9
|
-
かつ "プログラム名の入力欄" が表示されていること
|
10
|
-
かつ "ダウンロードボタン" が表示されていること
|
11
|
-
|
12
|
-
シナリオ: エディタ画面を表示してRubyタブに切り替える
|
13
|
-
前提 "エディタ" 画面を表示する
|
14
|
-
|
15
|
-
もし "Rubyタブ" にタブを切り替える
|
16
|
-
|
17
|
-
ならば "Rubyタブ" が表示されていること
|
18
|
-
かつ "テキストエディタ" が表示されていること
|
19
|
-
かつ "プログラム名の入力欄" が表示されていること
|
20
|
-
かつ "ダウンロードボタン" が表示されていること
|
21
|
-
かつ テキストエディタにフォーカスがあること
|
22
|
-
かつ テキストエディタの 0 行目の 0 文字目にカーソルがあること
|
23
|
-
|
24
|
-
シナリオ: プログラムを入力後にページを遷移する
|
25
|
-
前提 "Ruby" タブを表示する
|
26
|
-
かつ テキストエディタに "puts 'Hello, World!'" を入力済みである
|
27
|
-
かつ プログラムの名前に "01.rb" を指定する
|
28
|
-
|
29
|
-
もし ページをリロードする
|
30
|
-
かつ 警告ダイアログの "dismiss" ボタンをクリックする
|
31
|
-
|
32
|
-
ならば テキストエディタのプログラムは "puts 'Hello, World!'" であること
|
33
|
-
かつ "プログラム名の入力欄" は "01.rb" であること
|
data/spec/steps/ace_steps.rb
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
text_editor = 'テキストエディタ'
|
4
|
-
|
5
|
-
step 'テキストエディタにフォーカスがあること' do
|
6
|
-
expect(page.evaluate_script(<<-JS)).to be_true
|
7
|
-
ace.edit('#{NAME_INFO[text_editor][:id]}').isFocused()
|
8
|
-
JS
|
9
|
-
end
|
10
|
-
|
11
|
-
step 'テキストエディタの :row 行目の :column 文字目にカーソルがあること' do |row, column|
|
12
|
-
get_cursor_position_js =
|
13
|
-
"ace.edit('#{NAME_INFO[text_editor][:id]}').getCursorPosition()"
|
14
|
-
expect(page.evaluate_script("#{get_cursor_position_js}.row")).to eq(row.to_i)
|
15
|
-
expect(page.evaluate_script("#{get_cursor_position_js}.column"))
|
16
|
-
.to eq(column.to_i)
|
17
|
-
end
|
18
|
-
|
19
|
-
step 'テキストエディタに :program を入力済みである' do |program|
|
20
|
-
send 'テキストエディタにプログラムを入力済みである:', program
|
21
|
-
end
|
22
|
-
|
23
|
-
step 'テキストエディタにプログラムを入力済みである:' do |program|
|
24
|
-
page.execute_script(<<-JS)
|
25
|
-
ace.edit('#{NAME_INFO[text_editor][:id]}')
|
26
|
-
.getSession()
|
27
|
-
.getDocument()
|
28
|
-
.setValue('#{program.gsub(/'/, "\\\\'")}')
|
29
|
-
JS
|
30
|
-
end
|
31
|
-
|
32
|
-
step 'テキストエディタに :filename を読み込むこと' do |filename|
|
33
|
-
js = <<-JS
|
34
|
-
ace.edit('#{NAME_INFO[text_editor][:id]}')
|
35
|
-
.getSession()
|
36
|
-
.getDocument()
|
37
|
-
.getValue()
|
38
|
-
JS
|
39
|
-
path = Pathname(fixture_path).join(filename)
|
40
|
-
expect(page.evaluate_script(js)).to eq(path.read)
|
41
|
-
end
|
42
|
-
|
43
|
-
step 'テキストエディタのプログラムは以下であること:' do |program|
|
44
|
-
expect(page.evaluate_script(<<-JS)).to eq(program)
|
45
|
-
ace.edit('#{NAME_INFO[text_editor][:id]}')
|
46
|
-
.getSession()
|
47
|
-
.getDocument()
|
48
|
-
.getValue()
|
49
|
-
JS
|
50
|
-
end
|
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
|
-
|
61
|
-
step 'テキストエディタのプログラムは以下を含まないこと:' do |program|
|
62
|
-
expect(page.evaluate_script(<<-JS)).not_to include(program)
|
63
|
-
ace.edit('#{NAME_INFO[text_editor][:id]}')
|
64
|
-
.getSession()
|
65
|
-
.getDocument()
|
66
|
-
.getValue()
|
67
|
-
JS
|
68
|
-
end
|
69
|
-
|
70
|
-
step 'テキストエディタのプログラムは :program であること' do |program|
|
71
|
-
expect(page.evaluate_script(<<-JS)).to eq(program)
|
72
|
-
ace.edit('#{NAME_INFO[text_editor][:id]}')
|
73
|
-
.getSession()
|
74
|
-
.getDocument()
|
75
|
-
.getValue()
|
76
|
-
JS
|
77
|
-
end
|