smalruby-editor 0.0.9-x86-mingw32 → 0.0.10-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/application.js +1 -1
 - data/app/assets/javascripts/editor.js.coffee.erb +1 -1
 - data/app/views/editor/index.html.erb +2 -2
 - data/lib/smalruby_editor/version.rb +1 -1
 - data/public/assets/{application-13c48477888bb9c50ee5d1ba2193890f.js → application-a50281f6a3e2eef79882cacb6d107c26.js} +2 -2
 - data/public/assets/{application-13c48477888bb9c50ee5d1ba2193890f.js.gz → application-a50281f6a3e2eef79882cacb6d107c26.js.gz} +0 -0
 - data/public/assets/manifest-3bcabf5c85a81c33c1c52b6bf869bb16.json +1 -1
 - data/spec/acceptance/standalone/check.feature +28 -0
 - data/spec/acceptance/text_editor/check.feature +4 -2
 - data/spec/steps/text_editor_steps.rb +11 -0
 - metadata +6 -4
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 227967b79529c780ac51de668f8a4dd982376611
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 4e00ecaa6e1c0e9f890fb33abce0339d38fd750c
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 532d04589149e09a656e342a6b4584e3f0f900ebc70b98a8e5219e1bbfcbdb4b7500bcd1d15666f3356e2eaabbfb771540ceb294edb17dd6c0a99b6823882283
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: fa0733b78b50d186afd1801cf9af3f86cef0f4aff43f132ba2221b80c14c5af7782e4f02119554dd07dec15cd64c12c6e027090b7bd0ab529aa44fb0f5881af3
         
     | 
| 
         @@ -5,13 +5,13 @@ 
     | 
|
| 
       5 
5 
     | 
    
         
             
                </ul>
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
                <%= form_tag(source_codes_load_path, id: "file-form", class: "navbar-form pull-right", method: "post", multipart: true) do %>
         
     | 
| 
      
 8 
     | 
    
         
            +
                  <button id="load-button" class="btn btn-primary">ロード</button>
         
     | 
| 
      
 9 
     | 
    
         
            +
                  <input id="load-file" type="file" name="source_code[file]" style="display: none">
         
     | 
| 
       8 
10 
     | 
    
         
             
                  <input id="filename" type="text" class="span4" placeholder="プログラムの名前を入れてね(例:01.rb)">
         
     | 
| 
       9 
11 
     | 
    
         
             
                  <button id="save-button" type="button" class="btn btn-primary">セーブ</button>
         
     | 
| 
       10 
12 
     | 
    
         
             
                  <% unless Rails.env == 'standalone' %>
         
     | 
| 
       11 
13 
     | 
    
         
             
                  <%= link_to '', source_codes_download_path, id: 'download-link', style: 'display: none', 'data-method' => 'delete' %>
         
     | 
| 
       12 
14 
     | 
    
         
             
                  <% end %>
         
     | 
| 
       13 
     | 
    
         
            -
                  <button id="load-button" class="btn btn-primary">ロード</button>
         
     | 
| 
       14 
     | 
    
         
            -
                  <input id="load-file" type="file" name="source_code[file]" style="display: none">
         
     | 
| 
       15 
15 
     | 
    
         
             
                <% end %>
         
     | 
| 
       16 
16 
     | 
    
         
             
              </div>
         
     | 
| 
       17 
17 
     | 
    
         
             
            </div>
         
     | 
| 
         @@ -828,7 +828,7 @@ 
     | 
|
| 
       828 
828 
     | 
    
         
             
                            });
         
     | 
| 
       829 
829 
     | 
    
         
             
                        })();
         
     | 
| 
       830 
830 
     | 
    
         | 
| 
       831 
     | 
    
         
            -
            define("ace/theme/ 
     | 
| 
      
 831 
     | 
    
         
            +
            define("ace/theme/clouds",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-clouds",t.cssText='.ace-clouds .ace_gutter {background: #ebebeb;color: #333}.ace-clouds .ace_print-margin {width: 1px;background: #e8e8e8}.ace-clouds {background-color: #FFFFFF;color: #000000}.ace-clouds .ace_cursor {color: #000000}.ace-clouds .ace_marker-layer .ace_selection {background: #BDD5FC}.ace-clouds.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;border-radius: 2px}.ace-clouds .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-clouds .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #BFBFBF}.ace-clouds .ace_marker-layer .ace_active-line {background: #FFFBD1}.ace-clouds .ace_gutter-active-line {background-color : #dcdcdc}.ace-clouds .ace_marker-layer .ace_selected-word {border: 1px solid #BDD5FC}.ace-clouds .ace_invisible {color: #BFBFBF}.ace-clouds .ace_keyword,.ace-clouds .ace_meta,.ace-clouds .ace_support.ace_constant.ace_property-value {color: #AF956F}.ace-clouds .ace_keyword.ace_operator {color: #484848}.ace-clouds .ace_keyword.ace_other.ace_unit {color: #96DC5F}.ace-clouds .ace_constant.ace_language {color: #39946A}.ace-clouds .ace_constant.ace_numeric {color: #46A609}.ace-clouds .ace_constant.ace_character.ace_entity {color: #BF78CC}.ace-clouds .ace_invalid {background-color: #FF002A}.ace-clouds .ace_fold {background-color: #AF956F;border-color: #000000}.ace-clouds .ace_storage,.ace-clouds .ace_support.ace_class,.ace-clouds .ace_support.ace_function,.ace-clouds .ace_support.ace_other,.ace-clouds .ace_support.ace_type {color: #C52727}.ace-clouds .ace_string {color: #5D90CD}.ace-clouds .ace_comment {color: #BCC8BA}.ace-clouds .ace_entity.ace_name.ace_tag,.ace-clouds .ace_entity.ace_other.ace_attribute-name {color: #606060}.ace-clouds .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
         
     | 
| 
       832 
832 
     | 
    
         
             
            ;
         
     | 
| 
       833 
833 
     | 
    
         
             
            define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/folding/coffee"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./ruby_highlight_rules").RubyHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("./folding/coffee").FoldMode,l=function(){this.HighlightRules=o,this.$outdent=new u,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/),u=t.match(/^\s*(class|def)\s.*$/),a=t.match(/.*do(\s*|\s+\|.*\|\s*)$/),f=t.match(/^\s*(if|else)\s*/);if(o||u||a||f)r+=n}return r},this.checkOutdent=function(e,t,n){return/^\s+end$/.test(t+n)||/^\s+}$/.test(t+n)||/^\s+else$/.test(t+n)},this.autoOutdent=function(e,t,n){var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new a(n,r.length-i.length,n,r.length))}}.call(l.prototype),t.Mode=l}),define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"},o=t.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},u=t.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},a=t.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"},f=t.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},l=t.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?\\b"},c=function(){var e="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many",t="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield",n="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING",r="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",i=this.$keywords=this.createKeywordMapper({keyword:t,"constant.language":n,"variable.language":r,"support.function":e,"invalid.deprecated":"debugger"},"identifier");this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment",regex:"^=begin(?:$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},o,u,a,{token:"text",regex:"::"},{token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]+"},s,f,l,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(e,t,n){var r=e[2]=="-"?"indentedHeredoc":"heredoc",i=e.split(this.splitRegex);return n.push(r,i[3]),[{type:"constant",value:i[1]},{type:"string",value:i[2]},{type:"support.class",value:i[3]},{type:"string",value:i[4]}]},regex:"(<<-?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(e,t,n){return e==n[1]?(n.shift(),n.shift(),"support.class"):"string"},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,n){return e==n[1]?(n.shift(),n.shift(),"support.class"):"string"},regex:".*$",next:"start"}]}},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"^=end(?:$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()};r.inherits(c,i),t.RubyHighlightRules=c}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)})
         
     | 
| 
       834 
834 
     | 
    
         
             
            ;
         
     | 
| 
         @@ -5102,7 +5102,7 @@ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { 
     | 
|
| 
       5102 
5102 
     | 
    
         
             
                var saving, session, textEditor;
         
     | 
| 
       5103 
5103 
     | 
    
         
             
                saving = false;
         
     | 
| 
       5104 
5104 
     | 
    
         
             
                textEditor = ace.edit('text-editor');
         
     | 
| 
       5105 
     | 
    
         
            -
                textEditor.setTheme('ace/theme/ 
     | 
| 
      
 5105 
     | 
    
         
            +
                textEditor.setTheme('ace/theme/clouds');
         
     | 
| 
       5106 
5106 
     | 
    
         
             
                textEditor.setShowInvisibles(true);
         
     | 
| 
       5107 
5107 
     | 
    
         
             
                textEditor.focus();
         
     | 
| 
       5108 
5108 
     | 
    
         
             
                textEditor.gotoLine(0, 0);
         
     | 
| 
         Binary file 
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"files":{"favicon-c7ae857bb9d06de8742ae2d337157e83.ico":{"logical_path":"favicon.ico","mtime":"2013-11-25T21:05:22+09:00","size":16398,"digest":"c7ae857bb9d06de8742ae2d337157e83"},"application-13c48477888bb9c50ee5d1ba2193890f.js":{"logical_path":"application.js","mtime":"2014-01-11T14:04:20+09:00","size":601007,"digest":"13c48477888bb9c50ee5d1ba2193890f"},"application-f51ea0e777d97f12a8ce84308f31eb57.css":{"logical_path":"application.css","mtime":"2013-12-24T10:25:38+09:00","size":104182,"digest":"f51ea0e777d97f12a8ce84308f31eb57"},"loading-e8e6dd7833131c92a6c3b9c8ccc6a6ac.gif":{"logical_path":"loading.gif","mtime":"2014-01-03T14:44:55+09:00","size":3897,"digest":"e8e6dd7833131c92a6c3b9c8ccc6a6ac"},"progressbar-82023a146fba2a0f6d925629ed2b09c5.gif":{"logical_path":"progressbar.gif","mtime":"2014-01-03T14:44:55+09:00","size":3323,"digest":"82023a146fba2a0f6d925629ed2b09c5"}},"assets":{"favicon.ico":"favicon-c7ae857bb9d06de8742ae2d337157e83.ico","application.js":"application- 
     | 
| 
      
 1 
     | 
    
         
            +
            {"files":{"favicon-c7ae857bb9d06de8742ae2d337157e83.ico":{"logical_path":"favicon.ico","mtime":"2013-11-25T21:05:22+09:00","size":16398,"digest":"c7ae857bb9d06de8742ae2d337157e83"},"application-13c48477888bb9c50ee5d1ba2193890f.js":{"logical_path":"application.js","mtime":"2014-01-11T14:04:20+09:00","size":601007,"digest":"13c48477888bb9c50ee5d1ba2193890f"},"application-f51ea0e777d97f12a8ce84308f31eb57.css":{"logical_path":"application.css","mtime":"2013-12-24T10:25:38+09:00","size":104182,"digest":"f51ea0e777d97f12a8ce84308f31eb57"},"loading-e8e6dd7833131c92a6c3b9c8ccc6a6ac.gif":{"logical_path":"loading.gif","mtime":"2014-01-03T14:44:55+09:00","size":3897,"digest":"e8e6dd7833131c92a6c3b9c8ccc6a6ac"},"progressbar-82023a146fba2a0f6d925629ed2b09c5.gif":{"logical_path":"progressbar.gif","mtime":"2014-01-03T14:44:55+09:00","size":3323,"digest":"82023a146fba2a0f6d925629ed2b09c5"},"application-a50281f6a3e2eef79882cacb6d107c26.js":{"logical_path":"application.js","mtime":"2014-01-13T17:53:01+09:00","size":600793,"digest":"a50281f6a3e2eef79882cacb6d107c26"}},"assets":{"favicon.ico":"favicon-c7ae857bb9d06de8742ae2d337157e83.ico","application.js":"application-a50281f6a3e2eef79882cacb6d107c26.js","application.css":"application-f51ea0e777d97f12a8ce84308f31eb57.css","loading.gif":"loading-e8e6dd7833131c92a6c3b9c8ccc6a6ac.gif","progressbar.gif":"progressbar-82023a146fba2a0f6d925629ed2b09c5.gif"}}
         
     | 
| 
         @@ -0,0 +1,28 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # encoding: utf-8
         
     | 
| 
      
 2 
     | 
    
         
            +
            # language: ja
         
     | 
| 
      
 3 
     | 
    
         
            +
            @javascript
         
     | 
| 
      
 4 
     | 
    
         
            +
            @standalone
         
     | 
| 
      
 5 
     | 
    
         
            +
            機能: Check - プログラムのエラーチェック(standaloneモード)
         
     | 
| 
      
 6 
     | 
    
         
            +
              シナリオ: セーブ後、プログラムにシンタックスエラーがないことをチェックできる
         
     | 
| 
      
 7 
     | 
    
         
            +
                前提 "エディタ" 画面を表示する
         
     | 
| 
      
 8 
     | 
    
         
            +
                かつ テキストエディタに "puts 'Hello, World!'" を入力済みである
         
     | 
| 
      
 9 
     | 
    
         
            +
                かつ プログラムの名前に "01.rb" を指定する
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                もし "セーブボタン" をクリックする
         
     | 
| 
      
 12 
     | 
    
         
            +
                かつ JavaScriptによるリクエストが終わるまで待つ
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                ならば "メッセージ" に "チェックしました" を含むこと
         
     | 
| 
      
 15 
     | 
    
         
            +
                かつ "メッセージ" に "ただし、プログラムを動かすとエラーが見つかるかもしれません。" を含むこと
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              シナリオ: セーブ後、プログラムにシンタックスエラーがあることをチェックできる
         
     | 
| 
      
 18 
     | 
    
         
            +
                前提 "エディタ" 画面を表示する
         
     | 
| 
      
 19 
     | 
    
         
            +
                かつ プログラムの名前に "01.rb" を指定する
         
     | 
| 
      
 20 
     | 
    
         
            +
                かつ テキストエディタに "puts Hello, World!'" を入力済みである
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                もし "セーブボタン" をクリックする
         
     | 
| 
      
 23 
     | 
    
         
            +
                かつ JavaScriptによるリクエストが終わるまで待つ
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                ならば "メッセージ" に "エラー" を含むこと
         
     | 
| 
      
 26 
     | 
    
         
            +
                かつ "メッセージ" に "1行、19文字: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '('" を含むこと
         
     | 
| 
      
 27 
     | 
    
         
            +
                かつ "メッセージ" に "1行: unterminated string meets end of file" を含むこと
         
     | 
| 
      
 28 
     | 
    
         
            +
                かつ "メッセージ" に "チェックしました" を含まないこと
         
     | 
| 
         @@ -4,8 +4,9 @@ 
     | 
|
| 
       4 
4 
     | 
    
         
             
            機能: Check - プログラムのエラーチェック
         
     | 
| 
       5 
5 
     | 
    
         
             
              シナリオ: セーブ後、プログラムにシンタックスエラーがないことをチェックできる
         
     | 
| 
       6 
6 
     | 
    
         
             
                前提 "エディタ" 画面を表示する
         
     | 
| 
       7 
     | 
    
         
            -
                かつ テキストエディタに "puts 'Hello, World!'" を入力済みである
         
     | 
| 
       8 
7 
     | 
    
         
             
                かつ プログラムの名前に "01.rb" を指定する
         
     | 
| 
      
 8 
     | 
    
         
            +
                かつ テキストエディタに "puts 'Hello, World!'" を入力済みである
         
     | 
| 
      
 9 
     | 
    
         
            +
                かつ 実際にはファイルをダウンロードしないようにしておく
         
     | 
| 
       9 
10 
     | 
    
         | 
| 
       10 
11 
     | 
    
         
             
                もし "セーブボタン" をクリックする
         
     | 
| 
       11 
12 
     | 
    
         
             
                かつ JavaScriptによるリクエストが終わるまで待つ
         
     | 
| 
         @@ -15,8 +16,9 @@ 
     | 
|
| 
       15 
16 
     | 
    
         | 
| 
       16 
17 
     | 
    
         
             
              シナリオ: セーブ後、プログラムにシンタックスエラーがあることをチェックできる
         
     | 
| 
       17 
18 
     | 
    
         
             
                前提 "エディタ" 画面を表示する
         
     | 
| 
       18 
     | 
    
         
            -
                かつ テキストエディタに "puts Hello, World!'" を入力済みである
         
     | 
| 
       19 
19 
     | 
    
         
             
                かつ プログラムの名前に "01.rb" を指定する
         
     | 
| 
      
 20 
     | 
    
         
            +
                かつ テキストエディタに "puts Hello, World!'" を入力済みである
         
     | 
| 
      
 21 
     | 
    
         
            +
                かつ 実際にはファイルをダウンロードしないようにしておく
         
     | 
| 
       20 
22 
     | 
    
         | 
| 
       21 
23 
     | 
    
         
             
                もし "セーブボタン" をクリックする
         
     | 
| 
       22 
24 
     | 
    
         
             
                かつ JavaScriptによるリクエストが終わるまで待つ
         
     | 
| 
         @@ -166,6 +166,17 @@ step '実際にはファイルをロードしないようにしておく' do 
     | 
|
| 
       166 
166 
     | 
    
         
             
              end
         
     | 
| 
       167 
167 
     | 
    
         
             
            end
         
     | 
| 
       168 
168 
     | 
    
         | 
| 
      
 169 
     | 
    
         
            +
            step '実際にはファイルをダウンロードしないようにしておく' do
         
     | 
| 
      
 170 
     | 
    
         
            +
              if poltergeist?
         
     | 
| 
      
 171 
     | 
    
         
            +
                page.execute_script(<<-JS)
         
     | 
| 
      
 172 
     | 
    
         
            +
                  $('#download-link').click(function(e) {
         
     | 
| 
      
 173 
     | 
    
         
            +
                    e.preventDefault();
         
     | 
| 
      
 174 
     | 
    
         
            +
                    return false;
         
     | 
| 
      
 175 
     | 
    
         
            +
                  })
         
     | 
| 
      
 176 
     | 
    
         
            +
                JS
         
     | 
| 
      
 177 
     | 
    
         
            +
              end
         
     | 
| 
      
 178 
     | 
    
         
            +
            end
         
     | 
| 
      
 179 
     | 
    
         
            +
             
     | 
| 
       169 
180 
     | 
    
         
             
            step 'ホームディレクトリに :program という内容の :filename が存在する' do |program, filename|
         
     | 
| 
       170 
181 
     | 
    
         
             
              File.open(Pathname("~/#{filename}").expand_path, 'w') do |f|
         
     | 
| 
       171 
182 
     | 
    
         
             
                f.write(program)
         
     | 
    
        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.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.0.10
         
     | 
| 
       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-01- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2014-01-13 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rails
         
     | 
| 
         @@ -324,6 +324,7 @@ files: 
     | 
|
| 
       324 
324 
     | 
    
         
             
            - public/robots.txt
         
     | 
| 
       325 
325 
     | 
    
         
             
            - smalruby-editor.gemspec
         
     | 
| 
       326 
326 
     | 
    
         
             
            - spec/acceptance/readme.md
         
     | 
| 
      
 327 
     | 
    
         
            +
            - spec/acceptance/standalone/check.feature
         
     | 
| 
       327 
328 
     | 
    
         
             
            - spec/acceptance/standalone/save.feature
         
     | 
| 
       328 
329 
     | 
    
         
             
            - spec/acceptance/text_editor/base.feature
         
     | 
| 
       329 
330 
     | 
    
         
             
            - spec/acceptance/text_editor/check.feature
         
     | 
| 
         @@ -346,8 +347,8 @@ files: 
     | 
|
| 
       346 
347 
     | 
    
         
             
            - spec/turnip_helper.rb
         
     | 
| 
       347 
348 
     | 
    
         
             
            - vendor/assets/javascripts/.keep
         
     | 
| 
       348 
349 
     | 
    
         
             
            - vendor/assets/stylesheets/.keep
         
     | 
| 
       349 
     | 
    
         
            -
            - public/assets/application- 
     | 
| 
       350 
     | 
    
         
            -
            - public/assets/application- 
     | 
| 
      
 350 
     | 
    
         
            +
            - public/assets/application-a50281f6a3e2eef79882cacb6d107c26.js
         
     | 
| 
      
 351 
     | 
    
         
            +
            - public/assets/application-a50281f6a3e2eef79882cacb6d107c26.js.gz
         
     | 
| 
       351 
352 
     | 
    
         
             
            - public/assets/application-f51ea0e777d97f12a8ce84308f31eb57.css
         
     | 
| 
       352 
353 
     | 
    
         
             
            - public/assets/application-f51ea0e777d97f12a8ce84308f31eb57.css.gz
         
     | 
| 
       353 
354 
     | 
    
         
             
            - public/assets/favicon-c7ae857bb9d06de8742ae2d337157e83.ico
         
     | 
| 
         @@ -385,6 +386,7 @@ specification_version: 4 
     | 
|
| 
       385 
386 
     | 
    
         
             
            summary: A visual programming editor.
         
     | 
| 
       386 
387 
     | 
    
         
             
            test_files:
         
     | 
| 
       387 
388 
     | 
    
         
             
            - spec/acceptance/readme.md
         
     | 
| 
      
 389 
     | 
    
         
            +
            - spec/acceptance/standalone/check.feature
         
     | 
| 
       388 
390 
     | 
    
         
             
            - spec/acceptance/standalone/save.feature
         
     | 
| 
       389 
391 
     | 
    
         
             
            - spec/acceptance/text_editor/base.feature
         
     | 
| 
       390 
392 
     | 
    
         
             
            - spec/acceptance/text_editor/check.feature
         
     |