Sha256: f71508e198ffa0e20a76292c2ccab9d13eecdf4b179cc904fee1a826f4e07fe7

Contents?: true

Size: 840 Bytes

Versions: 3

Compression:

Stored size: 840 Bytes

Contents

require 'spec_helper'

describe AQL::Node::Call, '#aql' do
  let(:object) { described_class.new(name, arguments) }

  let(:name) { 'FOO' }

  context 'without arguments' do
    let(:arguments) { [] }

    expect_aql <<-AQL
      FOO()
    AQL
  end

  context 'with single argument' do
    let(:arguments) { [AQL::Node::Literal.build(1)] }

    expect_aql <<-AQL
      FOO(1)
    AQL
  end

  context 'with multiple arguments' do
    let(:arguments) { [AQL::Node::Literal.build(1), AQL::Node::Literal.build(2)] }

    expect_aql <<-AQL
      FOO(1, 2)
    AQL
  end

  context 'with FOR statement as argument' do
    let(:arguments) { [AQL::Node::Operation::For.new(AQL::Node::Name.new('left'), AQL::Node::Name.new('right'), AQL::Node::Name.new('body'))] }

    expect_aql <<-AQL
      FOO((FOR `left` IN `right` `body`))
    AQL
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
aql-0.0.3 spec/unit/aql/node/call/aql_spec.rb
aql-0.0.2 spec/unit/aql/node/call/aql_spec.rb
aql-0.0.1 spec/unit/aql/node/call/aql_spec.rb