From 87299af22547093a4efb9c4a5e06b55bb51f9ff7 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Wed, 21 Sep 2016 21:56:59 +0200 Subject: [PATCH] Add test for `language` stanza. --- Library/Homebrew/cask/test/cask/dsl_test.rb | 33 +++++++++++++++++++++ Library/Homebrew/os/mac.rb | 6 +++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/cask/test/cask/dsl_test.rb b/Library/Homebrew/cask/test/cask/dsl_test.rb index ccf2f1a248..96095ed70b 100644 --- a/Library/Homebrew/cask/test/cask/dsl_test.rb +++ b/Library/Homebrew/cask/test/cask/dsl_test.rb @@ -122,6 +122,39 @@ describe Hbc::DSL do end end + describe "language stanza" do + after(:each) do + ENV["HOMEBREW_LANGUAGES"] = nil + end + + it "allows multilingual casks" do + cask = lambda { + Hbc::Cask.new("cask-with-apps") do + language "FIRST_LANGUAGE" do + :first + end + + language %r{SECOND_LANGUAGE} do + :second + end + + language :default do + :default + end + end + } + + ENV["HOMEBREW_LANGUAGES"] = "FIRST_LANGUAGE" + cask.call.language.must_equal :first + + ENV["HOMEBREW_LANGUAGES"] = "SECOND_LANGUAGE" + cask.call.language.must_equal :second + + ENV["HOMEBREW_LANGUAGES"] = "THIRD_LANGUAGE" + cask.call.language.must_equal :default + end + end + describe "app stanza" do it "allows you to specify app stanzas" do cask = Hbc::Cask.new("cask-with-apps") do diff --git a/Library/Homebrew/os/mac.rb b/Library/Homebrew/os/mac.rb index 566f409930..854d39174c 100644 --- a/Library/Homebrew/os/mac.rb +++ b/Library/Homebrew/os/mac.rb @@ -42,7 +42,11 @@ module OS end def languages - @languages ||= Utils.popen_read("defaults", "read", ".GlobalPreferences", "AppleLanguages").scan(/[^ \n"(),]+/) + if ENV["HOMEBREW_LANGUAGES"] + ENV["HOMEBREW_LANGUAGES"].split(",") + else + @languages ||= Utils.popen_read("defaults", "read", ".GlobalPreferences", "AppleLanguages").scan(/[^ \n"(),]+/) + end end def language