Sha256: 2ed074390b243e38b6598decd5a972051d177a067cf31b3a552391c6d1f1efb2

Contents?: true

Size: 1.71 KB

Versions: 5

Compression:

Stored size: 1.71 KB

Contents

require_relative '../test_helper'

describe YoutubeDL::Options do
  before do
    @options = YoutubeDL::Options.new
  end

  it 'should symbolize option keys' do
    @options.store['key'] = "value"
    @options.symbolize_keys!
    assert @options.store == {:key => 'value'}
  end

  it 'should be able to set options with method_missing' do
    @options.test = true

    assert @options.store[:test]
  end

  it 'should be able to retrieve options with method_missing' do
    @options.store[:walrus] = 'haswalrus'

    assert @options.walrus == 'haswalrus'
  end

  it 'should be able to use brackets' do
    @options[:mtn] = :dew
    assert @options[:mtn] == :dew
  end

  it 'should be able to use a configuration block' do
    @options.configure do |c|
      c.get_operator = true
      c['get_index'] = true
    end

    assert @options.store[:get_operator], "Actual: #{@options.store[:get_operator]}"
    assert @options.store[:get_index], "Actual: #{@options.store[:get_index]}"
  end

  it 'should automatically symbolize keys' do
    @options.get_operator = true
    @options['get_index'] = true

    [:get_operator, :get_index].each do |d|
      assert @options.store.keys.include?(d), "keys not symbolizing automatically: #{d}"
    end
  end

  it 'should properly paramize keys and not values' do
    @options.some_key = "some value"

    @options.each_paramized do |key, value|
      assert_equal key, 'some-key'
      assert_equal value, 'some value'
    end
  end

  it 'should make each_paramized_key work' do # TODO: Write a better test name
    @options.some_key = "some value"

    @options.each_paramized_key do |key, paramized_key|
      assert_equal :some_key, key
      assert_equal 'some-key', paramized_key
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
youtube-dl.rb-0.0.5 test/youtube-dl/options_test.rb
youtube-dl.rb-0.0.4 test/youtube-dl/options_test.rb
youtube-dl.rb-0.0.3 test/youtube-dl/options_test.rb
youtube-dl.rb-0.0.2 test/youtube-dl/options_test.rb
youtube-dl.rb-0.0.1 test/youtube-dl/options_test.rb