spec/unit/tailor/lexer_spec.rb in tailor-1.2.1 vs spec/unit/tailor/lexer_spec.rb in tailor-1.3.0
- old
+ new
@@ -1,12 +1,12 @@
-require_relative '../../spec_helper'
+require 'spec_helper'
require 'tailor/lexer'
describe Tailor::Lexer do
- let!(:file_text) { "" }
+ let!(:file_text) { '' }
let(:style) { {} }
- let(:indentation_ruler) { double "IndentationSpacesRuler" }
+ let(:indentation_ruler) { double 'IndentationSpacesRuler' }
subject do
r = Tailor::Lexer.new(file_text)
r.instance_variable_set(:@buf, [])
r.stub(:log)
@@ -17,126 +17,126 @@
before do
Tailor::Lexer.any_instance.stub(:ensure_trailing_newline).
and_return(file_text)
end
- describe "#initialize" do
- context "name of file is passed in" do
- let(:file_name) { "test" }
+ describe '#initialize' do
+ context 'name of file is passed in' do
+ let(:file_name) { 'test' }
before do
- File.open(file_name, 'w') { |f| f.write "some text" }
+ File.open(file_name, 'w') { |f| f.write 'some text' }
end
- it "opens and reads the file by the name passed in" do
- file = double "File"
+ it 'opens and reads the file by the name passed in' do
+ file = double 'File'
file.should_receive(:read).and_return file_text
- File.should_receive(:open).with("test", 'r').and_return file
+ File.should_receive(:open).with('test', 'r').and_return file
Tailor::Lexer.new(file_name)
end
end
- context "text to lex is passed in" do
- let(:text) { "some text" }
+ context 'text to lex is passed in' do
+ let(:text) { 'some text' }
- it "doesn't try to open a file" do
+ it 'does not try to open a file' do
File.should_not_receive(:open)
Tailor::Lexer.new(text)
end
end
end
- describe "#on_sp" do
- context "token is a backslash then newline" do
- it "calls #notify_ignored_nl_observers" do
+ describe '#on_sp' do
+ context 'token is a backslash then newline' do
+ it 'calls #notify_ignored_nl_observers' do
subject.should_receive(:notify_ignored_nl_observers)
subject.on_sp("\\\n")
end
end
end
- describe "#current_line_of_text" do
+ describe '#current_line_of_text' do
before do
subject.instance_variable_set(:@file_text, file_text)
subject.stub(:lineno).and_return 1
end
context "@file_text is 1 line with 0 \\ns" do
let(:file_text) { "puts 'code'" }
- it "returns the line" do
+ it 'returns the line' do
subject.current_line_of_text.should == file_text
end
end
context "@file_text is 1 empty line with 0 \\ns" do
- let(:file_text) { "" }
+ let(:file_text) { '' }
- it "returns the an empty string" do
+ it 'returns the an empty string' do
subject.current_line_of_text.should == file_text
end
end
context "@file_text is 1 empty line with 1 \\n" do
let(:file_text) { "\n" }
- it "returns an empty string" do
- subject.current_line_of_text.should == ""
+ it 'returns an empty string' do
+ subject.current_line_of_text.should == ''
end
end
end
- describe "#count_trailing_newlines" do
+ describe '#count_trailing_newlines' do
context "text contains 0 trailing \\n" do
- let(:text) { "text" }
+ let(:text) { 'text' }
specify { subject.count_trailing_newlines(text).should be_zero }
end
context "text contains 1 trailing \\n" do
let(:text) { "text\n" }
specify { subject.count_trailing_newlines(text).should == 1 }
end
end
- describe "#ensure_trailing_newline" do
+ describe '#ensure_trailing_newline' do
before do
Tailor::Lexer.any_instance.unstub(:ensure_trailing_newline)
end
- context "text contains a trailing newline already" do
+ context 'text contains a trailing newline already' do
let!(:text) { "text\n" }
before do
subject.stub(:count_trailing_newlines).and_return 1
end
- it "doesn't alter the text" do
+ it 'does not alter the text' do
subject.ensure_trailing_newline(text).should == text
end
end
- context "text does not contain a trailing newline" do
- let!(:text) { "text" }
+ context 'text does not contain a trailing newline' do
+ let!(:text) { 'text' }
- it "adds a newline at the end" do
+ it 'adds a newline at the end' do
subject.ensure_trailing_newline(text).should == text + "\n"
end
end
end
-
- describe "#sub_line_ending_backslashes" do
+
+ describe '#sub_line_ending_backslashes' do
let!(:text) do
%Q{command \\
'something'}
end
-
+
before do
def subject.sub_publicly(file_text)
sub_line_ending_backslashes(file_text)
end
end
-
- it "replaces all line-ending backslashes with a comment" do
+
+ it 'replaces all line-ending backslashes with a comment' do
subject.sub_publicly(text).should == %Q{command # TAILOR REMOVED BACKSLASH
'something'}
end
end
end