Sha256: dbf3bd0a4dc3a6bbb35d35ebb1376867e7ce966e0f7966bd9825937b74731aa4

Contents?: true

Size: 974 Bytes

Versions: 7

Compression:

Stored size: 974 Bytes

Contents

# encoding: utf-8

require 'spec_helper'

module Rubocop
  module Cop
    describe StringLiterals do
      let(:sl) { StringLiterals.new }

      it 'registers an offence for double quotes when single quotes suffice' do
        inspect_source(sl, 'file.rb', ['s = "abc"'])
        expect(sl.offences.map(&:message)).to eq(
          ["Prefer single-quoted strings when you don't need string " +
           'interpolation or special symbols.'])
      end

      it 'accepts double quotes when they are needed' do
        src = ['a = "\n"',
               'b = "#{encode_severity}:#{sprintf("%3d", line_number)}: #{m}"',
               'c = "\'"']
        inspect_source(sl, 'file.rb', src)
        expect(sl.offences.map(&:message)).to be_empty
      end

      it 'can handle double quotes within embedded expression' do
        src = ['"#{"A"}"']
        inspect_source(sl, 'file.rb', src)
        expect(sl.offences.map(&:message)).to be_empty
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rubocop-0.4.6 spec/rubocop/cops/string_literals_spec.rb
rubocop-0.4.5 spec/rubocop/cops/string_literals_spec.rb
rubocop-0.4.4 spec/rubocop/cops/string_literals_spec.rb
rubocop-0.4.3 spec/rubocop/cops/string_literals_spec.rb
rubocop-0.4.2 spec/rubocop/cops/string_literals_spec.rb
rubocop-0.4.1 spec/rubocop/cops/string_literals_spec.rb
rubocop-0.4.0 spec/rubocop/cops/string_literals_spec.rb