diff options
Diffstat (limited to 'Library/Homebrew/cask/test')
| -rw-r--r-- | Library/Homebrew/cask/test/cask/dsl_test.rb | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Library/Homebrew/cask/test/cask/dsl_test.rb b/Library/Homebrew/cask/test/cask/dsl_test.rb index ccf2f1a24..053eae1e1 100644 --- a/Library/Homebrew/cask/test/cask/dsl_test.rb +++ b/Library/Homebrew/cask/test/cask/dsl_test.rb @@ -122,6 +122,56 @@ describe Hbc::DSL do end end + describe "language stanza" do + it "allows multilingual casks" do + cask = lambda do + Hbc::Cask.new("cask-with-apps") do + language "zh" do + sha256 "abc123" + "zh-CN" + end + + language "en-US", default: true do + sha256 "xyz789" + "en-US" + end + + url "https://example.org/#{language}.zip" + end + end + + MacOS.stubs(languages: ["zh"]) + cask.call.language.must_equal "zh-CN" + cask.call.sha256.must_equal "abc123" + cask.call.url.to_s.must_equal "https://example.org/zh-CN.zip" + + MacOS.stubs(languages: ["zh-XX"]) + cask.call.language.must_equal "zh-CN" + cask.call.sha256.must_equal "abc123" + cask.call.url.to_s.must_equal "https://example.org/zh-CN.zip" + + MacOS.stubs(languages: ["en"]) + cask.call.language.must_equal "en-US" + cask.call.sha256.must_equal "xyz789" + cask.call.url.to_s.must_equal "https://example.org/en-US.zip" + + MacOS.stubs(languages: ["xx-XX"]) + cask.call.language.must_equal "en-US" + cask.call.sha256.must_equal "xyz789" + cask.call.url.to_s.must_equal "https://example.org/en-US.zip" + + MacOS.stubs(languages: ["xx-XX", "zh", "en"]) + cask.call.language.must_equal "zh-CN" + cask.call.sha256.must_equal "abc123" + cask.call.url.to_s.must_equal "https://example.org/zh-CN.zip" + + MacOS.stubs(languages: ["xx-XX", "en-US", "zh"]) + cask.call.language.must_equal "en-US" + cask.call.sha256.must_equal "xyz789" + cask.call.url.to_s.must_equal "https://example.org/en-US.zip" + end + end + describe "app stanza" do it "allows you to specify app stanzas" do cask = Hbc::Cask.new("cask-with-apps") do |
