smalruby-editor 0.1.5 → 0.1.6
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/.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
|