test/unit/sprout_test.rb in sprout-1.1.7.pre vs test/unit/sprout_test.rb in sprout-1.1.10.pre

- old
+ new

@@ -1,198 +1,198 @@ -require 'test_helper' - -class SproutTest < Test::Unit::TestCase - include Sprout::TestHelper - - context "The Sprout::TestHelper" do - - context "find_fixtures" do - - setup do - @from = File.join(fixtures, 'sprout_test_case', 'test', 'other') - @expected_fixtures = File.join(fixtures, 'sprout_test_case', 'test', 'fixtures') - FileUtils.makedirs @from - end - - teardown do - remove_file File.join(fixtures, 'sprout_test_case') - end - - should "find_fixtures within a test folder" do - result = find_fixtures @from - assert_equal @expected_fixtures, result - end - - should "throw if reaches system root" do - assert_raises Sprout::Errors::UsageError do - find_fixtures File.dirname(File.dirname(File.dirname(__FILE__))) - end - end - end - - end - - context "Errors" do - include Sprout::Errors - - [ - ArchiveUnpackerError, - DestinationExistsError, - ExecutionError, - ExecutableRegistrationError, - MissingExecutableError, - ProcessRunnerError, - SproutError, - ExecutableError, - UnknownArchiveType, - UsageError, - VersionRequirementNotMetError - ].each do |error| - - should "be available to instantiate a #{error.to_s}" do - error.new - end - end - end - - context "cache" do - setup do - @library = File.join(fixtures, 'sprout') - end - - should "find library from system" do - user = Sprout::System::OSXSystem.new - user.stubs(:library).returns @library - Sprout.stubs(:current_system).returns user - - expected_cache = File.join(@library, 'Sprouts', Sprout::VERSION::MAJOR_MINOR, 'cache') - assert_equal expected_cache, Sprout.cache - end - - should "find library for unix system" do - user = Sprout::System::UnixSystem.new - user.stubs(:library).returns @library - Sprout.stubs(:current_system).returns user - - expected_cache = File.join(@library, '.sprouts', Sprout::VERSION::MAJOR_MINOR, 'cache') - assert_equal expected_cache, Sprout.cache - end - end - - context "A new sprout test case" do - - should "be able to work as a particular user but then revert when done" do - original_class = Sprout.current_system.class - - block_called = false - - systems = [ - Sprout::System::VistaSystem, - Sprout::System::WinNixSystem, - Sprout::System::WinSystem, - Sprout::System::JavaSystem, - Sprout::System::OSXSystem, - Sprout::System::UnixSystem - ] - incr = 0 - - as_each_system do |sys| - block_called = true - assert_equal systems[incr], Sprout.current_system.class, "Requests for the current system should yield a UNIX system" - incr += 1 - end - - assert_equal original_class, Sprout.current_system.class - assert block_called, "Ensure the block was yielded to..." - end - end - - context "Executables" do - - context "with a sandboxed load path" do - - setup do - path = File.join fixtures, "executable", "flex3sdk_gem" - $:.unshift path - end - - teardown do - $:.shift - end - - should "find requested executables" do - path = Sprout::Executable.load(:mxmlc, 'flex3sdk', '>= 3.0.0').path - assert_not_nil path - end - end - - context "with a stubbed load path" do - - setup do - Sprout::Executable.stubs(:require_ruby_package).returns true - @path = 'test/fixtures/process_runner/chmod_script.sh' - end - - should "work when registered with different gem names" do - register_executable :mxmlc, 'flex3sdk', '1.0.pre', @path - register_executable :mxmlc, 'flex4sdk', '1.0.pre', @path - end - - should "work when registered with different exe names" do - register_executable :mxmlc, 'flex3sdk', '1.0.pre', @path - register_executable :compc, 'flex3sdk', '1.0.pre', @path - end - - context "that are registered" do - should "work the first time" do - register_executable :mxmlc, 'flex3sdk', '1.0.pre', @path - end - - context "and then requested" do - setup do - register_executable :mxmlc, 'flex3sdk', '1.0.pre', @path - end - - should "succeed if the executable is available and no version specified" do - assert_equal @path, Sprout::Executable.load(:mxmlc, 'flex3sdk').path - end - - should "succeed if version requirement is met" do - assert_equal @path, Sprout::Executable.load(:mxmlc, 'flex3sdk', '>= 1.0.pre').path - end - - should "fail if version requirement is not met" do - assert_raises Sprout::Errors::LoadError do - Sprout::Executable.load :mxmlc, 'flex3sdk', '>= 1.1.0' - end - end - - end - end - - context "that are not registered" do - should "fail when requested" do - assert_raises Sprout::Errors::LoadError do - Sprout::Executable.load :mxmlc, 'flex3sdk' - end - end - end - - end - end - - private - - def register_executable name, pkg_name, pkg_version, path, platform=:universal - exe = OpenStruct.new({ - :name => name, - :path => path, - :pkg_name => pkg_name, - :pkg_version => pkg_version, - :platform => platform - }) - Sprout::Executable.register exe - end - -end - - +require 'test_helper' + +class SproutTest < Test::Unit::TestCase + include Sprout::TestHelper + + context "The Sprout::TestHelper" do + + context "find_fixtures" do + + setup do + @from = File.join(fixtures, 'sprout_test_case', 'test', 'other') + @expected_fixtures = File.join(fixtures, 'sprout_test_case', 'test', 'fixtures') + FileUtils.makedirs @from + end + + teardown do + remove_file File.join(fixtures, 'sprout_test_case') + end + + should "find_fixtures within a test folder" do + result = find_fixtures @from + assert_equal @expected_fixtures, result + end + + should "throw if reaches system root" do + assert_raises Sprout::Errors::UsageError do + find_fixtures File.dirname(File.dirname(File.dirname(__FILE__))) + end + end + end + + end + + context "Errors" do + include Sprout::Errors + + [ + ArchiveUnpackerError, + DestinationExistsError, + ExecutionError, + ExecutableRegistrationError, + MissingExecutableError, + ProcessRunnerError, + SproutError, + ExecutableError, + UnknownArchiveType, + UsageError, + VersionRequirementNotMetError + ].each do |error| + + should "be available to instantiate a #{error.to_s}" do + error.new + end + end + end + + context "cache" do + setup do + @library = File.join(fixtures, 'sprout') + end + + should "find library from system" do + user = Sprout::System::OSXSystem.new + user.stubs(:library).returns @library + Sprout.stubs(:current_system).returns user + + expected_cache = File.join(@library, 'Sprouts', Sprout::VERSION::MAJOR_MINOR, 'cache') + assert_equal expected_cache, Sprout.cache + end + + should "find library for unix system" do + user = Sprout::System::UnixSystem.new + user.stubs(:library).returns @library + Sprout.stubs(:current_system).returns user + + expected_cache = File.join(@library, '.sprouts', Sprout::VERSION::MAJOR_MINOR, 'cache') + assert_equal expected_cache, Sprout.cache + end + end + + context "A new sprout test case" do + + should "be able to work as a particular user but then revert when done" do + original_class = Sprout.current_system.class + + block_called = false + + systems = [ + Sprout::System::VistaSystem, + Sprout::System::WinNixSystem, + Sprout::System::WinSystem, + Sprout::System::JavaSystem, + Sprout::System::OSXSystem, + Sprout::System::UnixSystem + ] + incr = 0 + + as_each_system do |sys| + block_called = true + assert_equal systems[incr], Sprout.current_system.class, "Requests for the current system should yield a UNIX system" + incr += 1 + end + + assert_equal original_class, Sprout.current_system.class + assert block_called, "Ensure the block was yielded to..." + end + end + + context "Executables" do + + context "with a sandboxed load path" do + + setup do + path = File.join fixtures, "executable", "flex3sdk_gem" + $:.unshift path + end + + teardown do + $:.shift + end + + should "find requested executables" do + path = Sprout::Executable.load(:mxmlc, 'flex3sdk', '>= 3.0.0').path + assert_not_nil path + end + end + + context "with a stubbed load path" do + + setup do + Sprout::Executable.stubs(:require_ruby_package).returns true + @path = 'test/fixtures/process_runner/chmod_script.sh' + end + + should "work when registered with different gem names" do + register_executable :mxmlc, 'flex3sdk', '1.0.pre', @path + register_executable :mxmlc, 'flex4sdk', '1.0.pre', @path + end + + should "work when registered with different exe names" do + register_executable :mxmlc, 'flex3sdk', '1.0.pre', @path + register_executable :compc, 'flex3sdk', '1.0.pre', @path + end + + context "that are registered" do + should "work the first time" do + register_executable :mxmlc, 'flex3sdk', '1.0.pre', @path + end + + context "and then requested" do + setup do + register_executable :mxmlc, 'flex3sdk', '1.0.pre', @path + end + + should "succeed if the executable is available and no version specified" do + assert_equal @path, Sprout::Executable.load(:mxmlc, 'flex3sdk').path + end + + should "succeed if version requirement is met" do + assert_equal @path, Sprout::Executable.load(:mxmlc, 'flex3sdk', '>= 1.0.pre').path + end + + should "fail if version requirement is not met" do + assert_raises Sprout::Errors::LoadError do + Sprout::Executable.load :mxmlc, 'flex3sdk', '>= 1.1.0' + end + end + + end + end + + context "that are not registered" do + should "fail when requested" do + assert_raises Sprout::Errors::LoadError do + Sprout::Executable.load :mxmlc, 'flex3sdk' + end + end + end + + end + end + + private + + def register_executable name, pkg_name, pkg_version, path, platform=:universal + exe = OpenStruct.new({ + :name => name, + :path => path, + :pkg_name => pkg_name, + :pkg_version => pkg_version, + :platform => platform + }) + Sprout::Executable.register exe + end + +end + +