Sha256: e7c17573816e014ec87885592ce0346ac14f9220d7efbf75006cdb8a6dcf9025

Contents?: true

Size: 1.62 KB

Versions: 2

Compression:

Stored size: 1.62 KB

Contents

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

module Boson
  class FileLibraryTest < Test::Unit::TestCase
    context "file library" do
      before(:each) { reset; FileLibrary.reset_file_cache }

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

      test "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

      test "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

      test "loads by basename" do
        Dir.stubs(:[]).returns(['./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

      test "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

      test "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
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
boson-0.2.3 test/file_library_test.rb
boson-0.2.2 test/file_library_test.rb