Sha256: 2c009b1c2e54d27f33a7f82f9f078059eb9bf12c4eadc4cb8610482f2239c61e

Contents?: true

Size: 1.27 KB

Versions: 1

Compression:

Stored size: 1.27 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe TTY::Conversion::RangeConverter, '#convert' do
  let(:object) { described_class.new }

  subject(:converter) { object.convert(value) }

  context 'with empty' do
    let(:value) { '' }

    it { expect { subject }.to raise_error(TTY::InvalidArgument) }
  end

  context 'with 1' do
    let(:value) { '1' }

    it { is_expected.to eq(1..1) }
  end

  context 'with 1..10' do
    let(:value) { '1..10' }

    it { is_expected.to eq(1..10) }
  end

  context 'with 1-10' do
    let(:value) { '1-10' }

    it { is_expected.to eq(1..10) }
  end

  context 'with 1,10' do
    let(:value) { '1,10' }

    it { is_expected.to eq(1..10) }
  end

  context 'with 1...10' do
    let(:value) { '1...10'}

    it { is_expected.to eq(1...10) }
  end

  context 'with -1..10' do
    let(:value) { '-1..10' }

    it { is_expected.to eq(-1..10) }
  end

  context 'with 1..-10' do
    let(:value) { '1..-10' }

    it { is_expected.to eq(1..-10) }
  end

  context 'with a..z' do
    let(:value) { 'a..z' }

    it { is_expected.to eq('a'..'z')}
  end

  context 'with a-z' do
    let(:value) { 'a-z' }

    it { is_expected.to eq('a'..'z')}
  end

  context 'with A..Z' do
    let(:value) { 'A..Z' }

    it { is_expected.to eq('A'..'Z')}
  end
end # coerce

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tty-0.1.1 spec/tty/conversion/converter/range/convert_spec.rb