Sha256: 3bb1c00261c52f5839fce922af5d12d97f9bb42e787afc20927253a231a6f549

Contents?: true

Size: 1.28 KB

Versions: 24

Compression:

Stored size: 1.28 KB

Contents

require 'spec_helper'
require 'cxxproject'
require 'cxxproject/ext/rake_listener.rb'
require 'cxxproject/utils/cleanup'

describe Rake::Task do

  before(:each) do
    Cxxproject::Utils.cleanup_rake
  end
  after(:each) do
    Cxxproject::Utils.cleanup_rake
  end


 it "should call a listener for prerequisites and execute" do
    task "mypre"
    t = task "test" => "mypre"

    l = mock
    Rake::add_listener(l)

    l.should_receive(:before_execute).with('mypre')
    l.should_receive(:after_execute).with('mypre')
    l.should_receive(:before_prerequisites).with('mypre')
    l.should_receive(:after_prerequisites).with('mypre')
    l.should_receive(:before_prerequisites).with('test')
    l.should_receive(:after_prerequisites).with('test')
    l.should_receive(:before_execute).with('test')
    l.should_receive(:after_execute).with('test')
    t.invoke

    Rake::remove_listener(l)

    t.invoke
  end

  class DummyListener
    def calls
      @calls ||= []
    end
    def after_execute(name)
      c = calls
      c << name
    end
  end

  it "should work with only half implemented rake-listener" do
    task "mypre"
    t = task "test" => "mypre"
    l = DummyListener.new
    Rake::add_listener(l)
    t.invoke
    Rake::remove_listener(l)
    l.calls.should eq(['mypre', 'test'])
  end

end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
cxxproject-0.6.29 spec/rake_listener_ext_spec.rb
cxxproject-0.6.28 spec/rake_listener_ext_spec.rb
cxxproject-0.6.27 spec/rake_listener_ext_spec.rb
cxxproject-0.6.26 spec/rake_listener_ext_spec.rb
cxxproject-0.6.25 spec/rake_listener_ext_spec.rb
cxxproject-0.6.24 spec/rake_listener_ext_spec.rb
cxxproject-0.6.23 spec/rake_listener_ext_spec.rb
cxxproject-0.6.21 spec/rake_listener_ext_spec.rb
cxxproject-0.6.18 spec/rake_listener_ext_spec.rb
cxxproject-0.6.17 spec/rake_listener_ext_spec.rb
cxxproject-0.6.14 spec/rake_listener_ext_spec.rb
cxxproject-0.6.12 spec/rake_listener_ext_spec.rb
cxxproject-0.6.13 spec/rake_listener_ext_spec.rb
cxxproject-0.6.11 spec/rake_listener_ext_spec.rb
cxxproject-0.6.10 spec/rake_listener_ext_spec.rb
cxxproject-0.6.9 spec/rake_listener_ext_spec.rb
cxxproject-0.6.6 spec/rake_listener_ext_spec.rb
cxxproject-0.6.5 spec/rake_listener_ext_spec.rb
cxxproject-0.6.4 spec/rake_listener_ext_spec.rb
cxxproject-0.6.2 spec/rake_listener_ext_spec.rb