Sha256: 2592120186c9d8db0f936a645613299cf30566ba96cfd136a2e9d3be29d39fcd

Contents?: true

Size: 1.19 KB

Versions: 7

Compression:

Stored size: 1.19 KB

Contents

# encoding: utf-8

require 'spec_helper'

module Rubocop
  module Cop
    module Style
      describe MultilineTernaryOperator do
        let(: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
        let(: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

7 entries across 7 versions & 2 rubygems

Version Path
rubocop-0.12.0 spec/rubocop/cop/style/ternary_operator_spec.rb
rubocop-0.11.1 spec/rubocop/cop/style/ternary_operator_spec.rb
rubocop-0.11.0 spec/rubocop/cops/style/ternary_operator_spec.rb
rubocop-0.10.0 spec/rubocop/cops/style/ternary_operator_spec.rb
rubocop-0.9.1 spec/rubocop/cops/style/ternary_operator_spec.rb
sabat-rubocop-0.9.0 spec/rubocop/cops/style/ternary_operator_spec.rb
rubocop-0.9.0 spec/rubocop/cops/style/ternary_operator_spec.rb