Sha256: 64b07ec8161d18bf5877c18bcedd580dde4b9151a4a168bfec6dca2b49ec7b92

Contents?: true

Size: 787 Bytes

Versions: 1

Compression:

Stored size: 787 Bytes

Contents

RSpec.describe Regexp, "#random_example" do
  def self.random_example_matches(*regexps)
    regexps.each do |regexp|
      it "random example for /#{regexp.source}/" do
        random_example = regexp.random_example

        expect(random_example).to be_a String # Not an Array!
        expect(random_example).to match(Regexp.new("\\A(?:#{regexp.source})\\z", regexp.options))
      end
    end
  end

  context "smoke tests" do
    # Just a few "smoke tests", to ensure the basic method isn't broken.
    # Testing of the RegexpExamples::Parser class is all covered by Regexp#examples test already.
    random_example_matches(
      /\w{10}/,
      /(we(need(to(go(deeper)?)?)?)?) \1/,
      /case insensitive/i,
      /front seat|back seat/, # Which seat will I take??
    )
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
regexp-examples-1.1.0 spec/regexp-random_example_spec.rb