Sha256: 226bab963a14e1dda2bfe61c231a7c116b0206d04bab726ebe5c8816efe4404f

Contents?: true

Size: 1.02 KB

Versions: 4

Compression:

Stored size: 1.02 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe Rubocop::Cop::Style::MultilineTernaryOperator do
  subject(:cop) { described_class.new }

  it 'registers offence for a multiline ternary operator expression' do
    inspect_source(cop, ['a = cond ?',
                         '  b : c'])
    expect(cop.offences.size).to eq(1)
  end

  it 'accepts a single line ternary operator expression' do
    inspect_source(cop, ['a = cond ? b : c'])
    expect(cop.offences).to be_empty
  end
end

describe Rubocop::Cop::Style::NestedTernaryOperator do
  subject(:cop) { described_class.new }

  it 'registers an offence for a nested ternary operator expression' do
    inspect_source(cop, ['a ? (b ? b1 : b2) : a2'])
    expect(cop.offences.size).to eq(1)
  end

  it 'accepts a non-nested ternary operator within an if' do
    inspect_source(cop, ['a = if x',
                         '  cond ? b : c',
                         'else',
                         '  d',
                         'end'])
    expect(cop.offences).to be_empty
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rubocop-0.16.0 spec/rubocop/cop/style/ternary_operator_spec.rb
rubocop-0.15.0 spec/rubocop/cop/style/ternary_operator_spec.rb
rubocop-0.14.1 spec/rubocop/cop/style/ternary_operator_spec.rb
rubocop-0.14.0 spec/rubocop/cop/style/ternary_operator_spec.rb