1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe('Parsing errors') do
let(:parser) { Regexp::Parser.new }
before { parser.parse(/foo/) } # initializes ivars
it('raises UnknownTokenTypeError for unknown token types') do
expect { parser.send(:parse_token, Regexp::Token.new(:foo, :bar)) }
.to raise_error(Regexp::Parser::UnknownTokenTypeError)
end
RSpec.shared_examples 'UnknownTokenError' do |type|
it "raises for unknown tokens of type #{type}" do
expect { parser.send(:parse_token, Regexp::Token.new(type, :foo)) }
.to raise_error(Regexp::Parser::UnknownTokenError)
end
end
include_examples 'UnknownTokenError', :anchor
include_examples 'UnknownTokenError', :backref
include_examples 'UnknownTokenError', :conditional
include_examples 'UnknownTokenError', :free_space
include_examples 'UnknownTokenError', :group
include_examples 'UnknownTokenError', :meta
include_examples 'UnknownTokenError', :nonproperty
include_examples 'UnknownTokenError', :property
include_examples 'UnknownTokenError', :quantifier
include_examples 'UnknownTokenError', :set
include_examples 'UnknownTokenError', :type
end
|