Sha256: 4244bcc512c877df07972746e36bc5b6294edc7844676abbb573846494ff1571

Contents?: true

Size: 763 Bytes

Versions: 5

Compression:

Stored size: 763 Bytes

Contents

require 'spec_helper'

fixture = Class.new do
  def single
    yield 1
    yield 2
  end

  def multiple
    yield 1, 2
    yield 3, 4
  end
end

describe "The yield call" do
  before :each do
    ScratchPad.record []
    @y = fixture.new
  end

  describe "taking a single argument" do
    it "can yield to a lambda with return" do
      lambda = -> i {
        ScratchPad << i
        return
      }
      @y.single(&lambda)
      ScratchPad.recorded.should == [1, 2]
    end
  end

  describe "taking multiple arguments" do
    it "can yield to a lambda with return" do
      lambda = -> i, j {
        ScratchPad << i
        ScratchPad << j
        return
      }
      @y.multiple(&lambda)
      ScratchPad.recorded.should == [1, 2, 3, 4]
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
opal-1.8.3.rc1 spec/opal/language/yield_spec.rb
opal-1.8.2 spec/opal/language/yield_spec.rb
opal-1.8.1 spec/opal/language/yield_spec.rb
opal-1.8.0 spec/opal/language/yield_spec.rb
opal-1.8.0.beta1 spec/opal/language/yield_spec.rb