Sha256: 598ea38cc1d63a841f5e37a1d728004b84b5f1908c4c52efc3df5f6f3f52999a

Contents?: true

Size: 1.95 KB

Versions: 4

Compression:

Stored size: 1.95 KB

Contents

# encoding: utf-8

require 'spec_helper'

module Rubocop
  module Cop
    describe SymbolSnakeCase do
      let(:snake_case) { SymbolSnakeCase.new }

      it 'registers an offence for camel case in names' do
        inspect_source(snake_case, 'file.rb',
                       ['test = :BadIdea'])
        expect(snake_case.offences.map(&:message)).to eq(
          ['Use snake_case for symbols.'])
      end

      it 'accepts snake case in names' do
        inspect_source(snake_case, 'file.rb',
                       ['test = :good_idea'])
        expect(snake_case.offences.map(&:message)).to be_empty
      end

      it 'accepts snake case with a prefix @ in names' do
        inspect_source(snake_case, 'file.rb',
                       ['test = :@good_idea'])
        expect(snake_case.offences.map(&:message)).to be_empty
      end

      it 'accepts snake case with ? suffix' do
        inspect_source(snake_case, 'file.rb',
                       ['test = :good_idea?'])
        expect(snake_case.offences.map(&:message)).to be_empty
      end

      it 'accepts snake case with ! suffix' do
        inspect_source(snake_case, 'file.rb',
                       ['test = :good_idea!'])
        expect(snake_case.offences.map(&:message)).to be_empty
      end

      it 'accepts snake case with = suffix' do
        inspect_source(snake_case, 'file.rb',
                       ['test = :good_idea='])
        expect(snake_case.offences.map(&:message)).to be_empty
      end

      it 'accepts special cases - !, [] and **' do
        inspect_source(snake_case, 'file.rb',
                       ['test = :**',
                        'test = :!',
                        'test = :[]'])
        expect(snake_case.offences.map(&:message)).to be_empty
      end

      it 'registers an offence for SCREAMING_SNAKE_CASE' do
        inspect_source(snake_case, 'file.rb',
                       ['test = :BAD_IDEA'])
        expect(snake_case.offences.size).to eq(1)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rubocop-0.5.0 spec/rubocop/cops/symbol_snake_case_spec.rb
rubocop-0.4.6 spec/rubocop/cops/symbol_snake_case_spec.rb
rubocop-0.4.5 spec/rubocop/cops/symbol_snake_case_spec.rb
rubocop-0.4.4 spec/rubocop/cops/symbol_snake_case_spec.rb