endlessruby 0.0.1
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.
- data/.gemtest +0 -0
- data/History.txt +4 -0
- data/Manifest.txt +30 -0
- data/README.rdoc +53 -0
- data/Rakefile +11 -0
- data/bin/endlessruby +5 -0
- data/lib/endlessruby/extensions.rb +75 -0
- data/lib/endlessruby/main.rb +124 -0
- data/lib/endlessruby.rb +243 -0
- data/spec/blank_line_spec.rb +24 -0
- data/spec/build_self_spec.rb +52 -0
- data/spec/comment_spec.rb +64 -0
- data/spec/concrete_examples/case_1_simply_test_case.er +28 -0
- data/spec/concrete_examples/case_1_simply_test_case.rb +28 -0
- data/spec/concrete_examples_spec.rb +53 -0
- data/spec/endlessruby_spec.rb +10 -0
- data/spec/here_document_spec.rb +60 -0
- data/spec/require_spec.rb +29 -0
- data/spec/semicolon_spec.rb +17 -0
- data/spec/simply_spec.rb +589 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +40 -0
- data/spec/test_data/er_omission.er +6 -0
- data/spec/test_data/file.er +6 -0
- data/spec/test_data/rb_omission.rb +8 -0
- data/spec/test_data/ruby_script.rb +8 -0
- data/src/endlessruby/extensions.er +62 -0
- data/src/endlessruby/main.er +97 -0
- data/src/endlessruby.er +213 -0
- data/src/er.er +5 -0
- data/tasks/rspec.rake +11 -0
- data/test/test_helpers.rb +12 -0
- data/test/test_require.rb +31 -0
- data/test/test_simply.rb +173 -0
- data/test/test_use_end_case.rb +81 -0
- metadata +149 -0
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            ROOT = File.dirname(File.dirname(File.expand_path(__FILE__)))
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require "test/unit"
         | 
| 4 | 
            +
            require "#{ROOT}/lib/EndlessRuby"
         | 
| 5 | 
            +
            class TestEndlessRuby < Test::Unit::TestCase
         | 
| 6 | 
            +
              
         | 
| 7 | 
            +
              include EndlessRuby
         | 
| 8 | 
            +
              
         | 
| 9 | 
            +
              def setup
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
              def er2rb_right_output? want_output, input
         | 
| 13 | 
            +
                assert_equal want_output, ER2RB(input)
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
              def test_ereval
         | 
| 17 | 
            +
                assert_equal "hello", ereval(<<ER)
         | 
| 18 | 
            +
            "hello"
         | 
| 19 | 
            +
            ER
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
            require "#{ROOT}/test/test_helpers"
         | 
| 25 | 
            +
            require "#{ROOT}/test/test_simply"
         | 
| 26 | 
            +
            require "#{ROOT}/test/test_require"
         | 
| 27 | 
            +
            require "#{ROOT}/test/test_use_end_case"
         | 
| 28 | 
            +
             | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            ROOT = File.dirname(File.dirname(File.expand_path(__FILE__)))
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require "test/unit"
         | 
| 4 | 
            +
            require "#{ROOT}/lib/EndlessRuby"
         | 
| 5 | 
            +
            class TestEndlessRuby < Test::Unit::TestCase
         | 
| 6 | 
            +
              
         | 
| 7 | 
            +
              include EndlessRuby
         | 
| 8 | 
            +
              
         | 
| 9 | 
            +
              def setup
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
              def er2rb_right_output? want_output, input
         | 
| 13 | 
            +
                assert_equal want_output, ER2RB(input)
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
              def test_ereval
         | 
| 17 | 
            +
                assert_equal "hello", ereval(<<ER)
         | 
| 18 | 
            +
            "hello"
         | 
| 19 | 
            +
            ER
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
            require "#{ROOT}/test/test_helpers"
         | 
| 25 | 
            +
            require "#{ROOT}/test/test_simply"
         | 
| 26 | 
            +
            require "#{ROOT}/test/test_require"
         | 
| 27 | 
            +
            require "#{ROOT}/test/test_use_end_case"
         | 
| 28 | 
            +
             | 
| @@ -0,0 +1,53 @@ | |
| 1 | 
            +
            require File.dirname(__FILE__) + '/spec_helper.rb'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe "concrete examples" do
         | 
| 4 | 
            +
             | 
| 5 | 
            +
              spec = File.dirname(__FILE__)
         | 
| 6 | 
            +
              examples = %w[
         | 
| 7 | 
            +
                concrete_examples/case_1_simply_test_case
         | 
| 8 | 
            +
              ]
         | 
| 9 | 
            +
             | 
| 10 | 
            +
              examples.each do |_case|
         | 
| 11 | 
            +
                begin
         | 
| 12 | 
            +
                  er = open File.join(spec, "#{_case}.er")
         | 
| 13 | 
            +
                  rb = open File.join(spec, "#{_case}.rb")
         | 
| 14 | 
            +
                  rb_s = ERSpecHelper.chomp rb.read
         | 
| 15 | 
            +
                  er_s = er.read
         | 
| 16 | 
            +
                  it "must can compile #{_case}.er to #{_case}.rb" do
         | 
| 17 | 
            +
                    ER2RB(er_s).should == rb_s
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
                ensure
         | 
| 20 | 
            +
                  er.close
         | 
| 21 | 
            +
                  rb.close
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            describe "discover bugs from concrete examples" do
         | 
| 28 | 
            +
             | 
| 29 | 
            +
              it "the bug reappear when that contains spaces for the next end from the last breaking indentation" do
         | 
| 30 | 
            +
              ER2RB(<<DEFINE).should ==
         | 
| 31 | 
            +
            class TestEndlessRuby < Test::Unit::TestCase
         | 
| 32 | 
            +
              
         | 
| 33 | 
            +
              include EndlessRuby
         | 
| 34 | 
            +
              
         | 
| 35 | 
            +
              def setup
         | 
| 36 | 
            +
              end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            end
         | 
| 39 | 
            +
            DEFINE
         | 
| 40 | 
            +
              <<DEFINE.chomp!
         | 
| 41 | 
            +
            class TestEndlessRuby < Test::Unit::TestCase
         | 
| 42 | 
            +
              
         | 
| 43 | 
            +
              include EndlessRuby
         | 
| 44 | 
            +
              
         | 
| 45 | 
            +
              def setup
         | 
| 46 | 
            +
              end
         | 
| 47 | 
            +
             | 
| 48 | 
            +
            end
         | 
| 49 | 
            +
            DEFINE
         | 
| 50 | 
            +
             | 
| 51 | 
            +
              end
         | 
| 52 | 
            +
             | 
| 53 | 
            +
            end
         | 
| @@ -0,0 +1,10 @@ | |
| 1 | 
            +
            require File.dirname(__FILE__) + '/spec_helper.rb'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require "simply_spec"
         | 
| 4 | 
            +
            require "comment_spec"
         | 
| 5 | 
            +
            require "blank_line_spec"
         | 
| 6 | 
            +
            require "here_document_spec"
         | 
| 7 | 
            +
            require "require_spec"
         | 
| 8 | 
            +
            require "build_self_spec"
         | 
| 9 | 
            +
            require "concrete_examples_spec"
         | 
| 10 | 
            +
            require "semicolon_spec"
         | 
| @@ -0,0 +1,60 @@ | |
| 1 | 
            +
            require File.dirname(__FILE__) + '/spec_helper.rb'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe "here document case" do
         | 
| 4 | 
            +
             | 
| 5 | 
            +
              it "CASE 1" do
         | 
| 6 | 
            +
                ER2RB(<<DEFINE).should == 
         | 
| 7 | 
            +
            def method
         | 
| 8 | 
            +
              src = <<SRC
         | 
| 9 | 
            +
            hello world
         | 
| 10 | 
            +
            SRC
         | 
| 11 | 
            +
            DEFINE
         | 
| 12 | 
            +
              <<DEFINE.chomp!
         | 
| 13 | 
            +
            def method
         | 
| 14 | 
            +
              src = <<SRC
         | 
| 15 | 
            +
            hello world
         | 
| 16 | 
            +
            SRC
         | 
| 17 | 
            +
            end
         | 
| 18 | 
            +
            DEFINE
         | 
| 19 | 
            +
              end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
              it "CASE 2" do
         | 
| 22 | 
            +
                ER2RB(<<DEFINE).should == 
         | 
| 23 | 
            +
            def method
         | 
| 24 | 
            +
              src = <<-SRC
         | 
| 25 | 
            +
            hello world
         | 
| 26 | 
            +
              SRC
         | 
| 27 | 
            +
            def method2
         | 
| 28 | 
            +
              pass
         | 
| 29 | 
            +
            DEFINE
         | 
| 30 | 
            +
              <<DEFINE.chomp!
         | 
| 31 | 
            +
            def method
         | 
| 32 | 
            +
              src = <<-SRC
         | 
| 33 | 
            +
            hello world
         | 
| 34 | 
            +
              SRC
         | 
| 35 | 
            +
            end
         | 
| 36 | 
            +
            def method2
         | 
| 37 | 
            +
              pass
         | 
| 38 | 
            +
            end
         | 
| 39 | 
            +
            DEFINE
         | 
| 40 | 
            +
              end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
              it "CASE 3" do
         | 
| 43 | 
            +
                ER2RB(<<DEFINE).should == 
         | 
| 44 | 
            +
            def method
         | 
| 45 | 
            +
              src = <<SRC
         | 
| 46 | 
            +
            hello world
         | 
| 47 | 
            +
              SRC
         | 
| 48 | 
            +
            SRC
         | 
| 49 | 
            +
            DEFINE
         | 
| 50 | 
            +
              <<DEFINE.chomp!
         | 
| 51 | 
            +
            def method
         | 
| 52 | 
            +
              src = <<SRC
         | 
| 53 | 
            +
            hello world
         | 
| 54 | 
            +
              SRC
         | 
| 55 | 
            +
            SRC
         | 
| 56 | 
            +
            end
         | 
| 57 | 
            +
            DEFINE
         | 
| 58 | 
            +
              end
         | 
| 59 | 
            +
             | 
| 60 | 
            +
            end
         | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            require File.dirname(__FILE__) + '/spec_helper.rb'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe "require" do
         | 
| 4 | 
            +
             | 
| 5 | 
            +
              it "require the file" do
         | 
| 6 | 
            +
                require 'test_data/file.er'
         | 
| 7 | 
            +
                $test_data.should == "file"
         | 
| 8 | 
            +
                TestData.test_data.should == "file"
         | 
| 9 | 
            +
              end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
              it "require the 'er' omission file" do
         | 
| 12 | 
            +
                require 'test_data/er_omission'
         | 
| 13 | 
            +
                $test_data.should == "er omission"
         | 
| 14 | 
            +
                TestData.test_data.should == "er omission"
         | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
              it "require the ruby script 'rb' omission" do
         | 
| 18 | 
            +
                require 'test_data/rb_omission'
         | 
| 19 | 
            +
                $test_data.should == "rb omission"
         | 
| 20 | 
            +
                TestData.test_data.should == "rb omission"
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              it "require the ruby script" do
         | 
| 24 | 
            +
                require 'test_data/ruby_script.rb'
         | 
| 25 | 
            +
                $test_data.should == "ruby script"
         | 
| 26 | 
            +
                TestData.test_data.should == "ruby script"
         | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            end
         | 
| @@ -0,0 +1,17 @@ | |
| 1 | 
            +
            require File.dirname(__FILE__) + '/spec_helper.rb'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe "split with semicolon lines is inner lines" do
         | 
| 4 | 
            +
             | 
| 5 | 
            +
              it "example" do
         | 
| 6 | 
            +
                ER2RB(<<DEFINE).should == 
         | 
| 7 | 
            +
            def method; statements; end
         | 
| 8 | 
            +
            DEFINE
         | 
| 9 | 
            +
              <<DEFINE.chomp!
         | 
| 10 | 
            +
            def method
         | 
| 11 | 
            +
              statements
         | 
| 12 | 
            +
            end
         | 
| 13 | 
            +
            DEFINE
         | 
| 14 | 
            +
             | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            end
         |