File: delimiters_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 (52 lines) | stat: -rw-r--r-- 1,807 bytes parent folder | download | duplicates (2)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
require 'spec_helper'

RSpec.describe('Literal delimiter scanning') do
  include_examples 'scan', '}',
    0 => [:literal,     :literal,       '}',        0,  1]

  include_examples 'scan', '}}',
    0 => [:literal,     :literal,       '}}',       0,  2]

  include_examples 'scan', '{',
    0 => [:literal,     :literal,       '{',        0,  1]

  include_examples 'scan', '{{',
    0 => [:literal,     :literal,       '{{',       0,  2]

  include_examples 'scan', '{}',
    0 => [:literal,     :literal,       '{}',       0,  2]

  include_examples 'scan', '}{',
    0 => [:literal,     :literal,       '}{',       0,  2]

  include_examples 'scan', '}{+',
    0 => [:literal,     :literal,       '}{',       0,  2]

  include_examples 'scan', '{{var}}',
    0 => [:literal,     :literal,       '{{var}}',  0,  7]

  include_examples 'scan', 'a{1,2',
    0 => [:literal,     :literal,       'a{1,2',    0,  5]

  include_examples 'scan', '({.+})',
    0 => [:group,       :capture,       '(',        0,  1],
    1 => [:literal,     :literal,       '{',        1,  2],
    2 => [:meta,        :dot,           '.',        2,  3],
    3 => [:quantifier,  :one_or_more,   '+',        3,  4],
    4 => [:literal,     :literal,       '}',        4,  5],
    5 => [:group,       :close,         ')',        5,  6]

  include_examples 'scan', ']',
    0 => [:literal,     :literal,       ']',        0,  1]

  include_examples 'scan', ']]',
    0 => [:literal,     :literal,       ']]',       0,  2]

  include_examples 'scan', ']\[',
    0 => [:literal,     :literal,       ']',        0,  1],
    1 => [:escape,      :set_open,      '\[',       1,  3]

  include_examples 'scan', '()',
    0 => [:group,       :capture,       '(',        0,  1],
    1 => [:group,       :close,         ')',        1,  2]
end