Sha256: 56accbc214ce90b0492f75bb66817b69733b4a3f5af70a7a735fd0d8b9e0961d

Contents?: true

Size: 1.14 KB

Versions: 1

Compression:

Stored size: 1.14 KB

Contents

require 'guerrilla_patch/kernel.rb'

describe Kernel do
  
  it 'wraps commnon nil object idiom' do
    test_object = nil
    when_present(test_object) { |t| t }.should == ''
    test_object = 'I am here'
    when_present(test_object) { |t| t }.should == 'I am here'
  end

  it 'takes the block result and concatenates' do
    test_object = 'I am here'
    when_present(test_object) { |t| t * 2 }.should == 'I am hereI am here'
  end

  it 'behaves graceafully when no block is given' do
    test_object = "miki"
    when_present(test_object).should == test_object
  end

  it 'concatenates result to one string' do
    consists_of do |r|
      r.add "AAAAAA"
      r.add "BBBBBB"
    end.should == "AAAAAABBBBBB"
  end

  it 'concatenates result to one string taking care of nil objects' do
    test_object = nil
    consists_of do |r|
      r.always "AAAAAA"
      r.always "BBBBBB"
      r.when_present(test_object) { |to| to << "BABY"}
    end.should == "AAAAAABBBBBB"

    test_object = 'YEAH'
    consists_of do |r|
      r.add "AAAAAA"
      r.add "BBBBBB"
      r.when_present(test_object) { |to| to << "BABY"}
    end.should == "AAAAAABBBBBBYEAHBABY"
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
guerrilla_patch-2.1.0 spec/guerrilla_patch/kernel_spec.rb