aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlyssa Ross2017-01-20 17:27:08 +0000
committerAlyssa Ross2017-01-24 11:25:24 +0000
commit65dde58057029d473be9175444b333525fe82850 (patch)
tree008e760295db1eb8586ab17129b460f492946138
parentb0fea9eb6c7dfc39bbd8083180a7156b9b859571 (diff)
downloadbrew-65dde58057029d473be9175444b333525fe82850.tar.bz2
tests: add some emoji tests 💯
-rw-r--r--Library/Homebrew/test/emoji_test.rb11
-rw-r--r--Library/Homebrew/test/utils_test.rb22
2 files changed, 33 insertions, 0 deletions
diff --git a/Library/Homebrew/test/emoji_test.rb b/Library/Homebrew/test/emoji_test.rb
new file mode 100644
index 000000000..ea68db8f6
--- /dev/null
+++ b/Library/Homebrew/test/emoji_test.rb
@@ -0,0 +1,11 @@
+require "testing_env"
+require "emoji"
+
+class EmojiTest < Homebrew::TestCase
+ def test_install_badge
+ assert_equal "🍺", Emoji.install_badge
+
+ ENV["HOMEBREW_INSTALL_BADGE"] = "foo"
+ assert_equal "foo", Emoji.install_badge
+ end
+end
diff --git a/Library/Homebrew/test/utils_test.rb b/Library/Homebrew/test/utils_test.rb
index 520cd4fcd..7ae5793e2 100644
--- a/Library/Homebrew/test/utils_test.rb
+++ b/Library/Homebrew/test/utils_test.rb
@@ -9,6 +9,14 @@ class UtilTests < Homebrew::TestCase
@dir = Pathname.new(mktmpdir)
end
+ # Helper for matching escape sequences.
+ def e(code)
+ /(\e\[\d+m)*\e\[#{code}m/
+ end
+
+ # Helper for matching that style is reset at the end of a string.
+ Z = /(\e\[\d+m)*\e\[0m\Z/
+
def test_ofail
shutup { ofail "foo" }
assert Homebrew.failed?
@@ -22,11 +30,25 @@ class UtilTests < Homebrew::TestCase
end
def test_pretty_installed
+ $stdout.stubs(:tty?).returns true
+ ENV.delete("HOMEBREW_NO_EMOJI")
+ assert_match(/\A#{e 1}foo #{e 32}✔#{Z}/, pretty_installed("foo"))
+
+ ENV["HOMEBREW_NO_EMOJI"] = "1"
+ assert_match(/\A#{e 1}foo \(installed\)#{Z}/, pretty_installed("foo"))
+
$stdout.stubs(:tty?).returns false
assert_equal "foo", pretty_installed("foo")
end
def test_pretty_uninstalled
+ $stdout.stubs(:tty?).returns true
+ ENV.delete("HOMEBREW_NO_EMOJI")
+ assert_match(/\A#{e 1}foo #{e 31}✘#{Z}/, pretty_uninstalled("foo"))
+
+ ENV["HOMEBREW_NO_EMOJI"] = "1"
+ assert_match(/\A#{e 1}foo \(uninstalled\)#{Z}/, pretty_uninstalled("foo"))
+
$stdout.stubs(:tty?).returns false
assert_equal "foo", pretty_uninstalled("foo")
end