Sha256: 6ed1ed5d5b33cd92be01179804dfe52d09aea907f0a86d3bfc71a3d8fd15a486

Contents?: true

Size: 1.44 KB

Versions: 34

Compression:

Stored size: 1.44 KB

Contents

require 'spec_helper'

RSpec.describe 'Core Extensions' do
  describe Hash do
    describe '#stringify_keys' do
      it 'converts keys into strings' do
        expect({ :key1 => 'value1', 'key2' => 'value2' }.stringify_keys).to eq('key1' => 'value1', 'key2' => 'value2')
      end
    end

    describe '#symbolize_keys' do
      it 'converts keys into symbols' do
        expect({ :key1 => 'value1', 'key2' => 'value2' }.symbolize_keys).to eq(:key1 => 'value1', key2: 'value2')
      end
    end

    describe '#deep_symbolize_keys' do
      it 'converts keys into symbols' do
        expect({ :key1 => 'value1',
                 'key2' => 'value2',
                 'key3' => {
                   'key31' => { 'key311' => 'value311' },
                   'key32' => 'value32' } }.deep_symbolize_keys).to eq({ :key1 => 'value1',
                                                                         :key2 => 'value2',
                                                                         :key3 => { :key31 =>
                                                                                    { :key311 => 'value311' },
                                                                                      :key32 => 'value32' } })
      end
    end
  end

  describe String do
    describe '#constantize' do
      class HelloWorld; end
      it 'returns a class from a string' do
        expect('HelloWorld'.constantize).to eq HelloWorld
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
shoryuken-3.2.3 spec/shoryuken/core_ext_spec.rb
shoryuken-3.2.2 spec/shoryuken/core_ext_spec.rb
shoryuken-3.2.1 spec/shoryuken/core_ext_spec.rb
shoryuken-3.2.0 spec/shoryuken/core_ext_spec.rb
shoryuken-3.1.12 spec/shoryuken/core_ext_spec.rb
shoryuken-3.1.11 spec/shoryuken/core_ext_spec.rb
shoryuken-3.1.10 spec/shoryuken/core_ext_spec.rb
shoryuken-3.1.9 spec/shoryuken/core_ext_spec.rb
shoryuken-3.1.8 spec/shoryuken/core_ext_spec.rb
shoryuken-3.1.7 spec/shoryuken/core_ext_spec.rb
shoryuken-3.1.6 spec/shoryuken/core_ext_spec.rb
shoryuken-3.1.5 spec/shoryuken/core_ext_spec.rb
shoryuken-3.1.4 spec/shoryuken/core_ext_spec.rb
shoryuken-3.1.3 spec/shoryuken/core_ext_spec.rb
shoryuken-3.1.2 spec/shoryuken/core_ext_spec.rb
shoryuken-3.1.1 spec/shoryuken/core_ext_spec.rb
shoryuken-3.1.0 spec/shoryuken/core_ext_spec.rb
shoryuken-3.0.11 spec/shoryuken/core_ext_spec.rb
shoryuken-3.0.10 spec/shoryuken/core_ext_spec.rb
shoryuken-3.0.9 spec/shoryuken/core_ext_spec.rb