Sha256: d62b7595550970111e432da597df7b5bd21da6e641fa469ebadb7fe35bbfd402

Contents?: true

Size: 1.68 KB

Versions: 2

Compression:

Stored size: 1.68 KB

Contents

#--
# gravaty
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019  Marco Bresciani
#
# This file is part of gravaty.
#
# gravaty is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation, either version 3 of the License, or (at your
# option) any later version.
#
# gravaty is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License
# along with gravaty. If not, see <http://www.gnu.org/licenses/>.
#++

require_relative '../../test_helper'

describe Gravaty::Gravaty do
  describe 'when using a parser' do
    include Gravaty::ParsableDuckType

    before do
      I18n.load_path = Dir[File.join(
          File.dirname(__FILE__),
          '/../../../lib/gravaty/locales/', '*.yml')]
      @parser = subject
    end

    subject {Gravaty::Parsers::Rating.new}

    Gravaty::RATING_OPTIONS.each do |value|
      [[nil, ''], %W(#{value} rating=#{value.downcase})].each do |pair|
        it "shall return '#{pair[1]}' when parameter is '#{pair[0]}'" do
          subject.parse(pair[0]).must_equal pair[1]
        end
      end
    end

    it 'shall raise an exception when provided with invalid rating' do
      begin
        subject.parse('xxx').must_raise ArgumentError
      rescue ArgumentError => aErr
        aErr.wont_be_nil
        aErr.message.wont_be_nil
        aErr.message.wont_be_empty
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gravaty-9.0.1 test/gravaty/parsers/test_rating.rb
gravaty-9.0.0 test/gravaty/parsers/test_rating.rb