Sha256: d97c61f6996be3899f5bd1645392e5feb6b77defb7bdab8c5142502742571bdf

Contents?: true

Size: 1.98 KB

Versions: 3

Compression:

Stored size: 1.98 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')

describe Roodi::Checks::MethodNameCheck do

  before(:each) do
    @roodi = Roodi::Core::ParseTreeRunner.new(Roodi::Checks::MethodNameCheck.new)
  end

  describe '#evaluate' do

    it 'should accept method names with underscores' do
      content = <<-END
        def good_method_name
        end
      END
      @roodi.check_content(content)

      @roodi.errors.should be_empty
    end

    it 'should accept method names with numbers' do
      content = <<-END
        def good_method_1_name
        end
      END
      @roodi.check_content(content)

      @roodi.errors.should be_empty
    end

    it 'should accept method names ending with a question mark' do
      content = <<-END
        def good_method_name?
        end
      END
      @roodi.check_content(content)

      @roodi.errors.should be_empty
    end

    it 'should accept method names ending with an exclamation mark' do
      content = <<-END
        def good_method_name!
        end
      END
      @roodi.check_content(content)

      @roodi.errors.should be_empty
    end

    it 'should accept method names ending an equals sign' do
      content = <<-END
        def good_method_name=
        end
      END
      @roodi.check_content(content)

      @roodi.errors.should be_empty
    end

    ['<<', '>>', '==', '=', '<', '<=', '>', '>=', '[]', '[]='].each do |each|

      it "should accept #{each} as a method name" do
        content = <<-END
          def #{each}
          end
        END
        @roodi.check_content(content)

        @roodi.errors.should be_empty
      end

    end

  end

  it 'should accept camel cased method names' do
    content = <<-END
      def badMethodName
      end
    END
    @roodi.check_content(content)
    errors = @roodi.errors

    errors.should_not be_empty
    errors[0].info.should        == { :method => :badMethodName }
    errors[0].filename.should    == 'dummy-file.rb'
    errors[0].line_number.should == 1
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
marcoow-roodi-1.3.2 spec/roodi/checks/method_name_check_spec.rb
marcoow-roodi-1.3.4 spec/roodi/checks/method_name_check_spec.rb
marcoow-roodi-1.3.5 spec/roodi/checks/method_name_check_spec.rb