Sha256: aa3a9f7d527032601e361e1acc96d785c0979188c1ab9b9f1358a6972442d664
Contents?: true
Size: 1.73 KB
Versions: 4
Compression:
Stored size: 1.73 KB
Contents
# encoding: utf-8 require 'spec_helper' module Rubocop module Cop describe SingleLineMethods do let(:slm) { SingleLineMethods.new } before { SingleLineMethods.config = { 'AllowIfMethodIsEmpty' => true } } 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
Version data entries
4 entries across 4 versions & 1 rubygems