Sha256: d9ed3d8d42572b3d3eba4c8d4f7a36fd47320a9f9078074c86d89352214d4918

Contents?: true

Size: 599 Bytes

Versions: 2

Compression:

Stored size: 599 Bytes

Contents

require 'spec_helper'
require 'dentaku/ast/function'

describe Dentaku::AST::Function do
  it 'maintains a function registry' do
    expect(described_class).to respond_to(:get)
  end

  it 'raises an exception when trying to access an undefined function' do
    expect { described_class.get("flarble") }.to raise_error
  end

  it 'registers a custom function' do
    described_class.register("flarble", :string, -> { "flarble" })
    expect { described_class.get("flarble") }.not_to raise_error
    function = described_class.get("flarble").new
    expect(function.value).to eq "flarble"
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dentaku-2.0.2 spec/ast/function_spec.rb
dentaku-2.0.1 spec/ast/function_spec.rb