Sha256: ea220a1b24d51de15d75cf854517fc5f035acfd9d44e2929a2313f842ac0b413

Contents?: true

Size: 998 Bytes

Versions: 4

Compression:

Stored size: 998 Bytes

Contents

require 'spec_helper'
require File.join %w(extend_it ensures)

using ExtendIt::Ensures if ExtendIt.config.use_refines?

describe ExtendIt::Ensures do
  describe '#ensure_symbol' do
    it 'returns self for symbols' do
      expect(:test.ensure_symbol).to eq :test
    end

    it 'returns symbolized string for strings' do
      expect('test'.ensure_symbol).to eq :test
    end

    it 'returns nil for others' do
      expect([].ensure_symbol).to be_nil
    end
  end

  describe '#ensure_symbols' do
    it 'returns flatten array of symbols for array' do
      expect([[:some, 'test'], [:of, 0, nil, 'array']].ensure_symbols)
        .to eq %i(some test of array)
    end

    it 'returns [self] for symbols' do
      expect(:test.ensure_symbols).to eq [:test]
    end

    it 'returns array with single symbolized string for strings' do
      expect('test'.ensure_symbols).to eq [:test]
    end

    it 'returns [] for non-arrays' do
      expect(true.ensure_symbols).to eq []
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
admin_it-1.0.11 spec/extend_it/ensures_spec.rb
admin_it-1.0.10 spec/extend_it/ensures_spec.rb
admin_it-1.0.9 spec/extend_it/ensures_spec.rb
admin_it-1.0.8 spec/extend_it/ensures_spec.rb