# encoding: utf-8 require 'spec_helper' describe RuboCop::Cop::Style::StringLiteralsInInterpolation, :config do subject(:cop) { described_class.new(config) } context 'configured with single quotes preferred' do let(:cop_config) { { 'EnforcedStyle' => 'single_quotes' } } it 'registers an offense for double quotes within embedded expression' do src = '"#{"A"}"' inspect_source(cop, src) expect(cop.messages) .to eq(['Prefer single-quoted strings inside interpolations.']) end it 'registers an offense for double quotes within embedded expression in ' \ 'a heredoc string' do src = ['< 'double_quotes' } } it 'registers an offense for single quotes within embedded expression' do src = %q("#{'A'}") inspect_source(cop, src) expect(cop.messages) .to eq(['Prefer double-quoted strings inside interpolations.']) end it 'registers an offense for single quotes within embedded expression in ' \ 'a heredoc string' do src = ['< 'other' } } it 'fails' do expect { inspect_source(cop, 'a = "#{"b"}"') } .to raise_error(RuntimeError) end end end