Sha256: 11b653e08ed3055b36af9d86ae3aeed8088799b2dc8fe35202bd889443098215
Contents?: true
Size: 1.73 KB
Versions: 1
Compression:
Stored size: 1.73 KB
Contents
require 'spec_helper' require 'tailor/critic' require 'tailor/configuration/style' CLASS_LENGTH = {} CLASS_LENGTH['class_too_long'] = %Q{class Party include Clowns include Pizza def barrel_roll puts 'DOABARRELROLL!' end end} CLASS_LENGTH['parent_class_too_long'] = %Q{class Party class Pizza include Cheese include Yumminess end end} describe 'Detection of class length' do before do Tailor::Logger.stub(:log) FakeFS.activate! File.open(file_name, 'w') { |f| f.write contents } critic.check_file(file_name, style.to_hash) end let(:critic) do Tailor::Critic.new end let(:contents) { CLASS_LENGTH[file_name] } let(:style) do style = Tailor::Configuration::Style.new style.trailing_newlines 0, level: :off style.allow_invalid_ruby true, level: :off style.max_code_lines_in_class 5 style end context 'single class' do let(:file_name) { 'class_too_long' } specify { critic.problems[file_name].size.should be 1 } specify { critic.problems[file_name].first[:type].should == 'max_code_lines_in_class' } specify { critic.problems[file_name].first[:line].should be 1 } specify { critic.problems[file_name].first[:column].should be 0 } specify { critic.problems[file_name].first[:level].should be :error } end context 'class in a class' do let(:file_name) { 'parent_class_too_long' } specify { critic.problems[file_name].size.should be 1 } specify { critic.problems[file_name].first[:type].should == 'max_code_lines_in_class' } specify { critic.problems[file_name].first[:line].should be 1 } specify { critic.problems[file_name].first[:column].should be 0 } specify { critic.problems[file_name].first[:level].should be :error } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tailor-1.4.0 | spec/functional/vertical_spacing/class_length_spec.rb |