Sha256: 9ab5c389ae605685b40171e72346298eae4b6b0afc52488769a10166927bbd68
Contents?: true
Size: 1.84 KB
Versions: 7
Compression:
Stored size: 1.84 KB
Contents
# encoding: utf-8 require 'spec_helper' module Rubocop module Cop module Style describe SingleLineMethods do let(:slm) { SingleLineMethods.new } before do SingleLineMethods.config = { 'AllowIfMethodIsEmpty' => true } end it 'registers an offence for a single-line method' do inspect_source(slm, ['def some_method; body end', 'def link_to(name, url); {:name => name}; end', 'def @table.columns; super; end']) expect(slm.offences.map(&:message)).to eq( [SingleLineMethods::MSG] * 3) end it 'registers an offence for an empty method if so configured' do SingleLineMethods.config = { 'AllowIfMethodIsEmpty' => false } inspect_source(slm, ['def no_op; end', 'def self.resource_class=(klass); end', 'def @table.columns; end']) expect(slm.offences.size).to eq(3) end it 'accepts a single-line empty method if so configured' do SingleLineMethods.config = { 'AllowIfMethodIsEmpty' => true } inspect_source(slm, ['def no_op; end', 'def self.resource_class=(klass); end', 'def @table.columns; end']) expect(slm.offences).to be_empty end it 'accepts a multi-line method' do inspect_source(slm, ['def some_method', ' body', 'end']) expect(slm.offences).to be_empty end it 'does not crash on an method with a capitalized name' do inspect_source(slm, ['def NoSnakeCase', 'end']) expect(slm.offences).to be_empty end end end end end
Version data entries
7 entries across 7 versions & 2 rubygems