Sha256: 33b0adffeb0c5939c35f7ef3ca2c5e1fa3533cf3c9aa59dff4a0e06ac4d937fe

Contents?: true

Size: 950 Bytes

Versions: 8

Compression:

Stored size: 950 Bytes

Contents

# frozen_string_literal: true

require_relative '../../spec_helper'
require_relative '../../../lib/dendroid/lexical/token_position'
require_relative '../../../lib/dendroid/lexical/token'

describe Dendroid::Lexical::Token do
  let(:ex_source) { 'else' }
  let(:ex_pos) { Dendroid::Lexical::TokenPosition.new(2, 5) }
  let(:ex_terminal) { 'ELSE' }
  subject { described_class.new(ex_source, ex_pos, ex_terminal) }

  context 'Initialization:' do
    it 'is initialized with a text, position and symbol name' do
      expect { described_class.new(ex_source, ex_pos, ex_terminal) }.not_to raise_error
    end

    it 'knows its source text' do
      expect(subject.source).to eq(ex_source)
    end

    it 'knows its position' do
      expect(subject.position).to eq(ex_pos)
      expect(subject.pos_to_s).to eq('2:5')
    end

    it 'knows the terminal name' do
      expect(subject.terminal).to eq(ex_terminal)
    end
  end # context
end # describe

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dendroid-0.2.02 spec/dendroid/lexical/token_spec.rb
dendroid-0.2.01 spec/dendroid/lexical/token_spec.rb
dendroid-0.2.00 spec/dendroid/lexical/token_spec.rb
dendroid-0.1.00 spec/dendroid/lexical/token_spec.rb
dendroid-0.0.12 spec/dendroid/lexical/token_spec.rb
dendroid-0.0.11 spec/dendroid/lexical/token_spec.rb
dendroid-0.0.10 spec/dendroid/lexical/token_spec.rb
dendroid-0.0.9 spec/dendroid/lexical/token_spec.rb