Sha256: 6182868b6bcb43407344fb3811fbeb6290dae14677528526baa03cc05bceaf96

Contents?: true

Size: 1.47 KB

Versions: 6

Compression:

Stored size: 1.47 KB

Contents

require File.join(File.dirname(__FILE__), 'test_helper')

describe "file library" do
  before { reset; FileLibrary.reset_file_cache }
  before { Gem.stubs(:loaded_specs).returns({}) }

  it "loads" do
    load :blah, :file_string=>"module Blah; def blah; end; end"
    library_has_module('blah', 'Boson::Commands::Blah')
    command_exists?('blah')
  end

  it "in a subdirectory loads" do
    load 'site/delicious', :file_string=>"module Delicious; def blah; end; end"
    library_has_module('site/delicious', "Boson::Commands::Site::Delicious")
    command_exists?('blah')
  end

  it "in a sub subdirectory loads" do
    load 'web/site/delicious', :file_string=>"module Delicious; def blah; end; end"
    library_has_module('web/site/delicious', "Boson::Commands::Web::Site::Delicious")
    command_exists?('blah')
  end

  it "loads by basename" do
    Dir.stubs(:[]).returns([File.expand_path('./test/commands/site/github.rb')])
    load 'github', :file_string=>"module Github; def blah; end; end", :exists=>false
    library_has_module('site/github', "Boson::Commands::Site::Github")
    command_exists?('blah')
  end

  it "loads a plugin library by creating its module" do
    load(:blah, :file_string=>"def blah; end")
    library_has_module('blah', "Boson::Commands::Blah")
    command_exists?('blah', false)
  end

  it "prints error for file library with multiple modules" do
    capture_stderr { load(:blah, :file_string=>"module Doo; end; module Daa; end") }.should =~ /Can't.*config/
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
boson-more-0.3.1 test/todo/file_library_test.rb
boson-more-0.3.0 test/todo/file_library_test.rb
boson-more-0.2.2 test/todo/file_library_test.rb
boson-more-0.2.1 test/file_library_test.rb
boson-more-0.2.0 test/file_library_test.rb
boson-more-0.1.0 test/file_library_test.rb