Sha256: ab3a9890a17a763b23d6345956505b77ad9722bc75b63442bbb07eb6a77737c4

Contents?: true

Size: 997 Bytes

Versions: 66

Compression:

Stored size: 997 Bytes

Contents

# frozen_string_literal: true

require "spec_helper"

RSpec.describe Code::Object::Function do
  #   [
  #     ["even? = (i) => { i.even? } even?(2)", "true"],
  #     ["even? = (i:) => { i.even? } even?(i: 2)", "true"],
  #     ["add = (a, b) => { a + b } add(1, 2)", "3"],
  #     ["minus = (a:, b:) => { a - b } minus(b: 1, a: 2)", "1"]
  #   ].each do |input, expected|
  #     it "#{input} == #{expected}" do
  #       expect(Code.evaluate(input)).to eq(Code.evaluate(expected))
  #     end
  #   end

  context "valid" do
    [
      "f = () => {} f",
      "f = (x) => {} f(1)"
      #      "f = (x:) => {} f(x: 1)"
    ].each do |input|
      it "#{input} is valid" do
        Code.evaluate(input)
      end
    end
  end

  context "invalid" do
    [
      "f = (x) => {} f",
      "f = (x:) => {} f(1)",
      "f = (x:) => {} f(y: 1)"
    ].each do |input|
      it "#{input} is invalid" do
        expect { Code.evaluate(input) }.to raise_error(Code::Error)
      end
    end
  end
end

Version data entries

66 entries across 66 versions & 1 rubygems

Version Path
code-ruby-1.2.5 spec/code/object/function_spec.rb
code-ruby-1.2.4 spec/code/object/function_spec.rb
code-ruby-1.2.3 spec/code/object/function_spec.rb
code-ruby-1.2.2 spec/code/object/function_spec.rb
code-ruby-1.2.1 spec/code/object/function_spec.rb
code-ruby-1.1.3 spec/code/object/function_spec.rb
code-ruby-1.1.1 spec/code/object/function_spec.rb
code-ruby-1.1.0 spec/code/object/function_spec.rb
code-ruby-1.0.0 spec/code/object/function_spec.rb
code-ruby-0.15.16 spec/code/object/function_spec.rb
code-ruby-0.15.15 spec/code/object/function_spec.rb
code-ruby-0.15.14 spec/code/object/function_spec.rb
code-ruby-0.15.13 spec/code/object/function_spec.rb
code-ruby-0.15.12 spec/code/object/function_spec.rb
code-ruby-0.15.11 spec/code/object/function_spec.rb
code-ruby-0.15.10 spec/code/object/function_spec.rb
code-ruby-0.15.9 spec/code/object/function_spec.rb
code-ruby-0.15.8 spec/code/object/function_spec.rb
code-ruby-0.15.7 spec/code/object/function_spec.rb
code-ruby-0.15.6 spec/code/object/function_spec.rb