Sha256: fa215f201d53c156d82e36745d4803b3222ae0bc1fc28260e8954c21a8ba3170

Contents?: true

Size: 895 Bytes

Versions: 4

Compression:

Stored size: 895 Bytes

Contents

RSpec.describe "Kernel#args_to_ivars" do

  it "should set the given positional arguments to instance variables" do

    def test_method(a, b, c)
      args_to_ivars binding, :a, :c
    end

    test_method(1, "two", :three)

    expect(@a).to eq 1
    expect(@b).to be_nil
    expect(@c).to eq :three
    expect(@d).to be_nil

  end

  it "should set the given keyword arguments to instance variables" do

    def test_method(a:, b:, c:)
      args_to_ivars binding, :a, :c
    end

    test_method(a: 1, b: "two", c: :three)

    expect(@a).to eq 1
    expect(@b).to be_nil
    expect(@c).to eq :three
    expect(@d).to be_nil

  end

  it "should set the given local variables to instance variables" do

    a = 1
    b = "two"
    c = :three

    args_to_ivars binding, :a, :c

    expect(@a).to eq 1
    expect(@b).to be_nil
    expect(@c).to eq :three
    expect(@d).to be_nil

  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
eitil-1.2.4 spec/eitil_core/argument_helpers/args_to_ivars_spec.rb
eitil-1.2.3 spec/eitil_core/argument_helpers/args_to_ivars_spec.rb
eitil-1.2.2 spec/eitil_core/argument_helpers/args_to_ivars_spec.rb
eitil-1.2.1 spec/eitil_core/argument_helpers/args_to_ivars_spec.rb