From a6c514024b3f3f68a6bab593848284b60e279a0b Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Tue, 1 Jul 2014 09:01:06 -0500 Subject: [PATCH] Flesh out linking tests --- Library/Homebrew/test/test_keg.rb | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/test/test_keg.rb b/Library/Homebrew/test/test_keg.rb index 0547e0fe74..19b9e2b906 100644 --- a/Library/Homebrew/test/test_keg.rb +++ b/Library/Homebrew/test/test_keg.rb @@ -83,6 +83,7 @@ class LinkTests < Homebrew::TestCase touch HOMEBREW_PREFIX/"bin/helloworld" @mode.overwrite = true assert_equal 3, @keg.link(@mode) + assert_predicate @keg, :linked? end def test_link_overwrite_broken_symlinks @@ -91,6 +92,7 @@ class LinkTests < Homebrew::TestCase end @mode.overwrite = true assert_equal 3, @keg.link(@mode) + assert_predicate @keg, :linked? end def test_link_overwrite_dryrun @@ -126,22 +128,42 @@ class LinkTests < Homebrew::TestCase refute_predicate HOMEBREW_PREFIX/"lib/foo/.DS_Store", :exist? end + def test_linking_creates_opt_link + refute_predicate @keg, :optlinked? + @keg.link + assert_predicate @keg, :optlinked? + end + + def test_unlinking_does_not_remove_opt_link + @keg.link + @keg.unlink + assert_predicate @keg, :optlinked? + end + def test_existing_opt_link @keg.opt_record.make_relative_symlink Pathname.new(@keg) @keg.optlink - assert_predicate @keg.opt_record, :symlink? + assert_predicate @keg, :optlinked? end def test_existing_opt_link_directory @keg.opt_record.mkpath @keg.optlink - assert_predicate @keg.opt_record, :symlink? + assert_predicate @keg, :optlinked? end def test_existing_opt_link_file @keg.opt_record.parent.mkpath @keg.opt_record.write("foo") @keg.optlink - assert_predicate @keg.opt_record, :symlink? + assert_predicate @keg, :optlinked? + end + + def test_linked_keg + refute_predicate @keg, :linked? + @keg.link + assert_predicate @keg, :linked? + @keg.unlink + refute_predicate @keg, :linked? end end