summaryrefslogtreecommitdiff
path: root/spec/coderay_spec.rb
blob: 88c9aecede26236c6012c01f2b8e1665278ce730 (plain)
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
require File.expand_path('../spec_helper', __FILE__)

RSpec.describe CodeRay do
  describe '::VERSION' do
    it "returns the Gem's version" do
      expect(CodeRay::VERSION).to match(/\A\d\.\d\.\d?\z/)
    end
  end

  describe '.coderay_path' do
    it 'returns an absolute file path to the given code file' do
      base = File.expand_path('../..', __FILE__)
      expect(CodeRay.coderay_path('file')).to eq("#{base}/lib/coderay/file")
    end
  end

  describe '.scan' do
    let(:code) { 'puts "Hello, World!"' }
    let(:tokens) do
      [
        ['puts', :ident],
        [' ', :space],
        [:begin_group, :string],
          ['"', :delimiter],
          ['Hello, World!', :content],
          ['"', :delimiter],
        [:end_group, :string]
      ].flatten
    end

    it 'returns tokens' do
      expect(CodeRay.scan(code, :ruby).tokens).to eq(tokens)
    end
  end
end