Sha256: 418f75339507d6acddf719b18c4f9735f8ed0727a2449ba9217b4e6610194b92

Contents?: true

Size: 1.2 KB

Versions: 2

Compression:

Stored size: 1.2 KB

Contents

# encoding: utf-8

require 'spec_helper'

module Rubocop
  module Cop
    module Style
      describe MultilineTernaryOperator do
        subject(:op) { MultilineTernaryOperator.new }

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

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

      describe NestedTernaryOperator do
        subject(:op) { NestedTernaryOperator.new }

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

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rubocop-0.13.1 spec/rubocop/cop/style/ternary_operator_spec.rb
rubocop-0.13.0 spec/rubocop/cop/style/ternary_operator_spec.rb