smalruby-editor 0.3.1-x86-mingw32 → 0.3.2-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/views/main_menu_view.js.coffee.erb +2 -2
 - data/app/assets/javascripts/views/signin_modal_view.js.coffee.erb +8 -2
 - data/app/models/preference.rb +59 -46
 - data/app/models/user.rb +5 -3
 - data/app/views/editor/_signin_modal.html.haml +3 -4
 - data/lib/smalruby_editor/version.rb +1 -1
 - data/spec/acceptance/standalone/run.feature +24 -15
 - data/spec/acceptance/standalone/signin.feature +30 -0
 - data/spec/spec_helper.rb +4 -1
 - data/spec/steps/when_steps.rb +6 -0
 - metadata +5 -5
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 52bf90174126ee050a68d71bf206c2e35e1d41fa
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: e1a8974103b7dce6f5169551ea5e462096782b2b
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 3ec2928e060d718c6773e7b288c8c99a5ffb9d298d022f269fc3060074b0099429e343fc656f8441c0d34b6d36bff210224a74c62657c7c3ca1a3788e0c0da26
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: ed12abdb50a229c3a26602ed82f42b95562c96dd99ba27eccb39d9d736451f8da01da5e9cc1d5d933299b2e7393d264771e8cf6ca841d911df44a3265a3f40a7
         
     | 
| 
         @@ -127,7 +127,7 @@ Smalruby.MainMenuView = Backbone.View.extend 
     | 
|
| 
       127 
127 
     | 
    
         
             
                          msg = "#{errorInfo.row}#{<%= bm('.common_lines') %>}"
         
     | 
| 
       128 
128 
     | 
    
         
             
                          if errorInfo.column > 0
         
     | 
| 
       129 
129 
     | 
    
         
             
                            msg += "#{<%= bm('.common_comma') %>}#{errorInfo.column}#{<%= bm('.common_letters') %>}"
         
     | 
| 
       130 
     | 
    
         
            -
                          window.errorMessage(msg + ": #{errorInfo.message}")
         
     | 
| 
      
 130 
     | 
    
         
            +
                          window.errorMessage(msg + ": #{_.escape(errorInfo.message)}")
         
     | 
| 
       131 
131 
     | 
    
         
             
                      $.Deferred().reject().promise()
         
     | 
| 
       132 
132 
     | 
    
         
             
                  .then ->
         
     | 
| 
       133 
133 
     | 
    
         
             
                    xmlSourceCode.save2()
         
     | 
| 
         @@ -142,7 +142,7 @@ Smalruby.MainMenuView = Backbone.View.extend 
     | 
|
| 
       142 
142 
     | 
    
         
             
                          msg = "#{errorInfo.row}#{<%= bm('.common_lines') %>}"
         
     | 
| 
       143 
143 
     | 
    
         
             
                          if errorInfo.column > 0
         
     | 
| 
       144 
144 
     | 
    
         
             
                            msg += "#{<%= bm('.common_comma') %>}#{errorInfo.column}#{<%= bm('.common_letters') %>}"
         
     | 
| 
       145 
     | 
    
         
            -
                          errorMessage(msg + ": #{errorInfo.message}")
         
     | 
| 
      
 145 
     | 
    
         
            +
                          errorMessage(msg + ": #{_.escape(errorInfo.message)}")
         
     | 
| 
       146 
146 
     | 
    
         
             
                      $.Deferred().reject().promise()
         
     | 
| 
       147 
147 
     | 
    
         
             
                  .then(@unblockUI, @unblockUI)
         
     | 
| 
       148 
148 
     | 
    
         
             
                  .fail ->
         
     | 
| 
         @@ -17,8 +17,14 @@ Smalruby.SigninModalView = Backbone.View.extend 
     | 
|
| 
       17 
17 
     | 
    
         
             
              render: ->
         
     | 
| 
       18 
18 
     | 
    
         
             
                @$el.find('#signin-modal-username')
         
     | 
| 
       19 
19 
     | 
    
         
             
                  .val($('#username-label').text())
         
     | 
| 
       20 
     | 
    
         
            -
                 
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
      
 20 
     | 
    
         
            +
                modalOptions = { backdrop: 'static' }
         
     | 
| 
      
 21 
     | 
    
         
            +
                if Smalruby.isEnabled('enabled_must_signin')
         
     | 
| 
      
 22 
     | 
    
         
            +
                  @$el.find('#signin-modal-cancel-button').hide()
         
     | 
| 
      
 23 
     | 
    
         
            +
                  modalOptions['keyboard'] = false
         
     | 
| 
      
 24 
     | 
    
         
            +
                else
         
     | 
| 
      
 25 
     | 
    
         
            +
                  @$el.find('#signin-modal-cancel-button').show()
         
     | 
| 
      
 26 
     | 
    
         
            +
                  modalOptions['keyboard'] = true
         
     | 
| 
      
 27 
     | 
    
         
            +
                @$el.modal(modalOptions)
         
     | 
| 
       22 
28 
     | 
    
         
             
                @$el.modal('show')
         
     | 
| 
       23 
29 
     | 
    
         | 
| 
       24 
30 
     | 
    
         
             
              onOk: (e) ->
         
     | 
    
        data/app/models/preference.rb
    CHANGED
    
    | 
         @@ -3,58 +3,71 @@ require "smalruby_editor" 
     | 
|
| 
       3 
3 
     | 
    
         
             
            class Preference < Settingslogic
         
     | 
| 
       4 
4 
     | 
    
         
             
              BOOLEAN_FIELD_REGEXP = /(enabled|disabled)/
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
               
     | 
| 
       7 
     | 
    
         
            -
                 
     | 
| 
       8 
     | 
    
         
            -
                   
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
      
 6 
     | 
    
         
            +
              class << self
         
     | 
| 
      
 7 
     | 
    
         
            +
                def toolbox_names
         
     | 
| 
      
 8 
     | 
    
         
            +
                  %w(
         
     | 
| 
      
 9 
     | 
    
         
            +
                    default
         
     | 
| 
      
 10 
     | 
    
         
            +
                    smalrubot_v3
         
     | 
| 
      
 11 
     | 
    
         
            +
                    smalrubot_s1
         
     | 
| 
      
 12 
     | 
    
         
            +
                  )
         
     | 
| 
      
 13 
     | 
    
         
            +
                end
         
     | 
| 
       13 
14 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
      
 15 
     | 
    
         
            +
                def toolbox_preference_names
         
     | 
| 
      
 16 
     | 
    
         
            +
                  %w(
         
     | 
| 
      
 17 
     | 
    
         
            +
                    toolbox__default__enabled_hardware_blocks
         
     | 
| 
      
 18 
     | 
    
         
            +
                    toolbox__default__enabled_smalrubot_v3_blocks
         
     | 
| 
      
 19 
     | 
    
         
            +
                    toolbox__default__enabled_smalrubot_s1_blocks
         
     | 
| 
      
 20 
     | 
    
         
            +
                  )
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
       21 
22 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
      
 23 
     | 
    
         
            +
                def general_preference_names
         
     | 
| 
      
 24 
     | 
    
         
            +
                  %w(
         
     | 
| 
      
 25 
     | 
    
         
            +
                    disabled_add_character_from_beginning
         
     | 
| 
      
 26 
     | 
    
         
            +
                    disabled_new_character
         
     | 
| 
      
 27 
     | 
    
         
            +
                    enabled_readonly_ruby_mode
         
     | 
| 
      
 28 
     | 
    
         
            +
                    hardware_port
         
     | 
| 
      
 29 
     | 
    
         
            +
                  )
         
     | 
| 
      
 30 
     | 
    
         
            +
                end
         
     | 
| 
       30 
31 
     | 
    
         | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
      
 32 
     | 
    
         
            +
                def admin_preference_names
         
     | 
| 
      
 33 
     | 
    
         
            +
                  %w(
         
     | 
| 
      
 34 
     | 
    
         
            +
                    enabled_must_signin
         
     | 
| 
      
 35 
     | 
    
         
            +
                  )
         
     | 
| 
      
 36 
     | 
    
         
            +
                end
         
     | 
| 
       36 
37 
     | 
    
         | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
      
 38 
     | 
    
         
            +
                def whole_preference_names
         
     | 
| 
      
 39 
     | 
    
         
            +
                  ["toolbox_name"] + toolbox_preference_names +
         
     | 
| 
      
 40 
     | 
    
         
            +
                    general_preference_names + admin_preference_names
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
       41 
42 
     | 
    
         | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
      
 43 
     | 
    
         
            +
                def user_defaults
         
     | 
| 
      
 44 
     | 
    
         
            +
                  make_defaults(toolbox_preference_names +
         
     | 
| 
      
 45 
     | 
    
         
            +
                                general_preference_names)
         
     | 
| 
      
 46 
     | 
    
         
            +
                    .merge("toolbox_name" => "default")
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
                def admin_defaults
         
     | 
| 
      
 50 
     | 
    
         
            +
                  make_defaults(admin_preference_names)
         
     | 
| 
      
 51 
     | 
    
         
            +
                end
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                def make_toolbox_name_to_preference_names_hash
         
     | 
| 
      
 54 
     | 
    
         
            +
                  toolbox_preference_names.group_by { |n|
         
     | 
| 
      
 55 
     | 
    
         
            +
                    n.slice(/^toolbox__(.+?)__/, 1)
         
     | 
| 
      
 56 
     | 
    
         
            +
                  }
         
     | 
| 
      
 57 
     | 
    
         
            +
                end
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
                private
         
     | 
| 
       53 
60 
     | 
    
         | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
     | 
    
         
            -
             
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
      
 61 
     | 
    
         
            +
                def make_defaults(preference_names)
         
     | 
| 
      
 62 
     | 
    
         
            +
                  preference_names.map { |n|
         
     | 
| 
      
 63 
     | 
    
         
            +
                    case n
         
     | 
| 
      
 64 
     | 
    
         
            +
                    when BOOLEAN_FIELD_REGEXP
         
     | 
| 
      
 65 
     | 
    
         
            +
                      [n, false]
         
     | 
| 
      
 66 
     | 
    
         
            +
                    else
         
     | 
| 
      
 67 
     | 
    
         
            +
                      [n, ""]
         
     | 
| 
      
 68 
     | 
    
         
            +
                    end
         
     | 
| 
      
 69 
     | 
    
         
            +
                  }.to_h
         
     | 
| 
      
 70 
     | 
    
         
            +
                end
         
     | 
| 
       58 
71 
     | 
    
         
             
              end
         
     | 
| 
       59 
72 
     | 
    
         | 
| 
       60 
73 
     | 
    
         
             
              def initialize(hash_or_file = self.class.source, section = nil)
         
     | 
    
        data/app/models/user.rb
    CHANGED
    
    | 
         @@ -18,9 +18,11 @@ class User < ActiveRecord::Base 
     | 
|
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
              # set default preferences from SMALRUBY_HOME/config/config.yml
         
     | 
| 
       20 
20 
     | 
    
         
             
              def set_default_preferences
         
     | 
| 
       21 
     | 
    
         
            -
                self.preferences = Preference. 
     | 
| 
       22 
     | 
    
         
            -
                Preference.to_h 
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
      
 21 
     | 
    
         
            +
                self.preferences = Preference.user_defaults
         
     | 
| 
      
 22 
     | 
    
         
            +
                h = Preference.to_h
         
     | 
| 
      
 23 
     | 
    
         
            +
                (Preference.whole_preference_names -
         
     | 
| 
      
 24 
     | 
    
         
            +
                 Preference.admin_preference_names).each do |name|
         
     | 
| 
      
 25 
     | 
    
         
            +
                  preferences[name] = h[name]
         
     | 
| 
       24 
26 
     | 
    
         
             
                end
         
     | 
| 
       25 
27 
     | 
    
         
             
              end
         
     | 
| 
       26 
28 
     | 
    
         
             
            end
         
     | 
| 
         @@ -12,10 +12,9 @@ 
     | 
|
| 
       12 
12 
     | 
    
         
             
                      %input#signin-modal-username.input-large{name: "username", type: "text", placeholder: t('.username_placeholder')}
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
              .modal-footer
         
     | 
| 
       15 
     | 
    
         
            -
                -  
     | 
| 
       16 
     | 
    
         
            -
                  % 
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
                    = t('common.cancel')
         
     | 
| 
      
 15 
     | 
    
         
            +
                %button#signin-modal-cancel-button.cancel-button{class: "btn", :"data-dismiss" => "modal", :"aria-hidden" => "true"}<
         
     | 
| 
      
 16 
     | 
    
         
            +
                  %i.icon-remove
         
     | 
| 
      
 17 
     | 
    
         
            +
                  = t('common.cancel')
         
     | 
| 
       19 
18 
     | 
    
         
             
                %button#signin-modal-ok-button.ok-button{class: "btn btn-primary"}<
         
     | 
| 
       20 
19 
     | 
    
         
             
                  %i.icon-circle-blank
         
     | 
| 
       21 
20 
     | 
    
         
             
                  = t('common.login')
         
     | 
| 
         @@ -8,23 +8,32 @@ 
     | 
|
| 
       8 
8 
     | 
    
         
             
                かつ プログラムの名前に "01.rb" を指定する
         
     | 
| 
       9 
9 
     | 
    
         
             
                かつ テキストエディタに "puts Hello, World!'" を入力済みである
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
              シナリオ: 実行前にプログラムのシンタックスエラーをチェックできる
         
     | 
| 
       12 
     | 
    
         
            -
                もし "実行ボタン" をクリックする
         
     | 
| 
      
 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 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
              シナリオ: プログラム実行時に、実行したプログラムによって発生したエラーメッセージを表示できる
         
     | 
| 
      
 21 
     | 
    
         
            +
                もし テキストエディタに "raise '不具合'" を入力済みである
         
     | 
| 
      
 22 
     | 
    
         
            +
                かつ "実行ボタン" をクリックする
         
     | 
| 
       13 
23 
     | 
    
         
             
                かつ JavaScriptによるリクエストが終わるまで待つ
         
     | 
| 
       14 
24 
     | 
    
         | 
| 
       15 
25 
     | 
    
         
             
                ならば "メッセージ" に "エラー" を含むこと
         
     | 
| 
       16 
26 
     | 
    
         
             
                かつ "メッセージ" に "プログラムを実行できませんでした" を含むこと
         
     | 
| 
       17 
     | 
    
         
            -
                かつ "メッセージ" に "1 
     | 
| 
       18 
     | 
    
         
            -
                かつ "メッセージ" に "1行: unterminated string meets end of file" を含むこと
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
              シナリオ: 既存のファイルがある状態でプログラムを実行し、上書き保存をキャンセルする
         
     | 
| 
       21 
     | 
    
         
            -
                前提 ホームディレクトリに "n = 0" という内容の "01.rb" が存在する
         
     | 
| 
       22 
     | 
    
         
            -
                かつ 確認ダイアログをキャンセルするようにしておく
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
                もし "実行ボタン" をクリックする
         
     | 
| 
       25 
     | 
    
         
            -
                かつ JavaScriptによるリクエストが終わるまで待つ
         
     | 
| 
       26 
     | 
    
         
            -
                かつ JavaScriptによるリクエストが終わるまで待つ
         
     | 
| 
      
 27 
     | 
    
         
            +
                かつ "メッセージ" に "1行: in `<main>': 不具合 (RuntimeError)" を含むこと
         
     | 
| 
       27 
28 
     | 
    
         | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                 
     | 
| 
       30 
     | 
    
         
            -
                かつ  
     | 
| 
      
 29 
     | 
    
         
            +
            #  シナリオ: 既存のファイルがある状態でプログラムを実行し、上書き保存をキャンセルする
         
     | 
| 
      
 30 
     | 
    
         
            +
            #    前提 ホームディレクトリに "n = 0" という内容の "01.rb" が存在する
         
     | 
| 
      
 31 
     | 
    
         
            +
            #    かつ 確認ダイアログをキャンセルするようにしておく
         
     | 
| 
      
 32 
     | 
    
         
            +
            #
         
     | 
| 
      
 33 
     | 
    
         
            +
            #    もし "実行ボタン" をクリックする
         
     | 
| 
      
 34 
     | 
    
         
            +
            #    かつ JavaScriptによるリクエストが終わるまで待つ
         
     | 
| 
      
 35 
     | 
    
         
            +
            #    かつ JavaScriptによるリクエストが終わるまで待つ
         
     | 
| 
      
 36 
     | 
    
         
            +
            #
         
     | 
| 
      
 37 
     | 
    
         
            +
            #    ならば 確認メッセージ "前に01.rbという名前でセーブしているけど本当にセーブしますか?\nセーブすると前に作成したプログラムは消えてしまうよ!" を表示すること
         
     | 
| 
      
 38 
     | 
    
         
            +
            #    かつ "メッセージ" に "プログラムの実行をキャンセルしました" を含むこと
         
     | 
| 
      
 39 
     | 
    
         
            +
            #    かつ ホームディレクトリの "01.rb" の内容が "n = 0" であること
         
     | 
| 
         @@ -94,3 +94,33 @@ 
     | 
|
| 
       94 
94 
     | 
    
         
             
                もし "サブメニューボタン" をクリックする
         
     | 
| 
       95 
95 
     | 
    
         | 
| 
       96 
96 
     | 
    
         
             
                ならば "サブメニュー" に "ログアウト" を含むこと
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
              シナリオ: enabled_must_signinが有効な状態で、いったんログインしてからリロードするとログイン状態を維持できるのですが、その状態でログアウトしたときに表示されるログイン画面をESCキーや「やめる」ボタンでキャンセルできないこと
         
     | 
| 
      
 99 
     | 
    
         
            +
                前提 次のRubyのスクリプトを実行する:
         
     | 
| 
      
 100 
     | 
    
         
            +
                  """
         
     | 
| 
      
 101 
     | 
    
         
            +
                  Preference["enabled_must_signin"] = true
         
     | 
| 
      
 102 
     | 
    
         
            +
                  """
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
                もし "/" にアクセスする
         
     | 
| 
      
 105 
     | 
    
         
            +
                かつ JavaScriptによる処理が終わるまで待つ
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
      
 107 
     | 
    
         
            +
                ならば "#signin-modal" が表示されていること
         
     | 
| 
      
 108 
     | 
    
         
            +
                かつ "#signin-modal-cancel-button" が表示されていないこと
         
     | 
| 
      
 109 
     | 
    
         
            +
             
     | 
| 
      
 110 
     | 
    
         
            +
                ならば "#signin-modal" が表示されていること
         
     | 
| 
      
 111 
     | 
    
         
            +
             
     | 
| 
      
 112 
     | 
    
         
            +
                もし "signin-modal-username" に "1102" を指定する
         
     | 
| 
      
 113 
     | 
    
         
            +
                かつ "signin-modal-ok-button" をクリックする
         
     | 
| 
      
 114 
     | 
    
         
            +
                かつ JavaScriptによる処理が終わるまで待つ
         
     | 
| 
      
 115 
     | 
    
         
            +
             
     | 
| 
      
 116 
     | 
    
         
            +
                ならば "#signin-modal" が表示されていないこと
         
     | 
| 
      
 117 
     | 
    
         
            +
             
     | 
| 
      
 118 
     | 
    
         
            +
                もし ページをリロードする
         
     | 
| 
      
 119 
     | 
    
         
            +
             
     | 
| 
      
 120 
     | 
    
         
            +
                ならば "#main-menu" に "ログイン" を含まないこと
         
     | 
| 
      
 121 
     | 
    
         
            +
                かつ "#main-menu" に "1102" を含むこと
         
     | 
| 
      
 122 
     | 
    
         
            +
             
     | 
| 
      
 123 
     | 
    
         
            +
                もし ログアウトする
         
     | 
| 
      
 124 
     | 
    
         
            +
             
     | 
| 
      
 125 
     | 
    
         
            +
                ならば "#signin-modal" が表示されていること
         
     | 
| 
      
 126 
     | 
    
         
            +
                かつ "#signin-modal-cancel-button" が表示されていないこと
         
     | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | 
         @@ -101,7 +101,10 @@ RSpec.configure do |config| 
     | 
|
| 
       101 
101 
     | 
    
         
             
              config.include FeatureHelper, type: :feature
         
     | 
| 
       102 
102 
     | 
    
         | 
| 
       103 
103 
     | 
    
         
             
              config.before(:all) do
         
     | 
| 
       104 
     | 
    
         
            -
                Preference. 
     | 
| 
      
 104 
     | 
    
         
            +
                Preference.user_defaults.each do |key, value|
         
     | 
| 
      
 105 
     | 
    
         
            +
                  Preference[key] = value
         
     | 
| 
      
 106 
     | 
    
         
            +
                end
         
     | 
| 
      
 107 
     | 
    
         
            +
                Preference.admin_defaults.each do |key, value|
         
     | 
| 
       105 
108 
     | 
    
         
             
                  Preference[key] = value
         
     | 
| 
       106 
109 
     | 
    
         
             
                end
         
     | 
| 
       107 
110 
     | 
    
         
             
                Preference["disabled_add_character_from_beginning"] = true
         
     | 
    
        data/spec/steps/when_steps.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.3. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.3.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: 2015-05- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2015-05-21 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rails
         
     | 
| 
         @@ -469,8 +469,8 @@ files: 
     | 
|
| 
       469 
469 
     | 
    
         
             
            - public/422.html
         
     | 
| 
       470 
470 
     | 
    
         
             
            - public/500.html
         
     | 
| 
       471 
471 
     | 
    
         
             
            - public/apple-touch-icon.png
         
     | 
| 
       472 
     | 
    
         
            -
            - public/assets/application- 
     | 
| 
       473 
     | 
    
         
            -
            - public/assets/application- 
     | 
| 
      
 472 
     | 
    
         
            +
            - public/assets/application-d994c5cb05da6b9c674f86f27d48f991.js
         
     | 
| 
      
 473 
     | 
    
         
            +
            - public/assets/application-d994c5cb05da6b9c674f86f27d48f991.js.gz
         
     | 
| 
       474 
474 
     | 
    
         
             
            - public/assets/application-f879948b97a781e3d996535a2a0585fa.css
         
     | 
| 
       475 
475 
     | 
    
         
             
            - public/assets/application-f879948b97a781e3d996535a2a0585fa.css.gz
         
     | 
| 
       476 
476 
     | 
    
         
             
            - public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js
         
     | 
| 
         @@ -493,7 +493,7 @@ files: 
     | 
|
| 
       493 
493 
     | 
    
         
             
            - public/assets/jquery-ui/ui-icons_888888_256x240-ce584ffa171c3ea9a018cf0d7bec65c8.png
         
     | 
| 
       494 
494 
     | 
    
         
             
            - public/assets/jquery-ui/ui-icons_cd0a0a_256x240-747e96029e8dedcabc224e5f7d1f2ede.png
         
     | 
| 
       495 
495 
     | 
    
         
             
            - public/assets/loading-e77296be32d066d3e29d3bf9803fa417.gif
         
     | 
| 
       496 
     | 
    
         
            -
            - public/assets/manifest- 
     | 
| 
      
 496 
     | 
    
         
            +
            - public/assets/manifest-09b9c583b55684372f2cf9fa635e4e2e.json
         
     | 
| 
       497 
497 
     | 
    
         
             
            - public/assets/msg/en_us-a98cc83805d44f5f675fe6eac2c955ec.js
         
     | 
| 
       498 
498 
     | 
    
         
             
            - public/assets/msg/en_us-a98cc83805d44f5f675fe6eac2c955ec.js.gz
         
     | 
| 
       499 
499 
     | 
    
         
             
            - public/assets/msg/ja-243b0a55ef1086ef2180af94c422cb5e.js
         
     |