File: meta_spec.rb

package info (click to toggle)
ruby-regexp-parser 2.6.1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 968 kB
  • sloc: ruby: 6,396; sh: 12; makefile: 6
file content (18 lines) | stat: -rw-r--r-- 902 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require 'spec_helper'

RSpec.describe('Meta scanning') do
  include_examples 'scan', /abc??|def*+|ghi+/,
    0  => [:literal,     :literal,                 'abc',  0,  3],
    1  => [:quantifier,  :zero_or_one_reluctant,   '??',   3,  5],
    2  => [:meta,        :alternation,             '|',    5,  6],
    3  => [:literal,     :literal,                 'def',  6,  9],
    4  => [:quantifier,  :zero_or_more_possessive, '*+',   9,  11],
    5  => [:meta,        :alternation,             '|',    11, 12]

  include_examples 'scan', /(a\|b)|(c|d)\|(e[|]f)/,
    2  => [:escape,      :alternation,             '\|',   2,  4],
    5  => [:meta,        :alternation,             '|',    6,  7],
    8  => [:meta,        :alternation,             '|',    9,  10],
    11 => [:escape,      :alternation,             '\|',   12, 14],
    15 => [:literal,     :literal,                 '|',    17, 18]
end