Sha256: d9f823dc466e40827df75c305b8897535624c0515f94704d518a6becc5dddbdd

Contents?: true

Size: 777 Bytes

Versions: 1

Compression:

Stored size: 777 Bytes

Contents

require 'spec_helper'

RSpec.describe('Keep scanning') do
  specify('scan keep token') do
    tokens = RS.scan(/ab\Kcd/)
    result = tokens.at(1)

    expect(result[0]).to eq :keep
    expect(result[1]).to eq :mark
    expect(result[2]).to eq '\\K'
    expect(result[3]).to eq 2
    expect(result[4]).to eq 4
  end

  specify('scan keep nested') do
    tokens = RS.scan(/(a\Kb)|(c\\\Kd)ef/)

    first = tokens.at(2)
    second = tokens.at(9)

    expect(first[0]).to eq :keep
    expect(first[1]).to eq :mark
    expect(first[2]).to eq '\\K'
    expect(first[3]).to eq 2
    expect(first[4]).to eq 4

    expect(second[0]).to eq :keep
    expect(second[1]).to eq :mark
    expect(second[2]).to eq '\\K'
    expect(second[3]).to eq 11
    expect(second[4]).to eq 13
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
regexp_parser-1.5.0 spec/scanner/keep_spec.rb