diff options
| author | AnastasiaSulyagina | 2016-08-18 22:11:42 +0300 |
|---|---|---|
| committer | AnastasiaSulyagina | 2016-08-19 14:50:14 +0300 |
| commit | e81f4ab7deeb40308f240be5ea00091fc8786d7a (patch) | |
| tree | b5418f9149de71c0f05f90cb2b39ab47f46e27b4 /Library/Homebrew/cask/spec/support | |
| parent | 5c7c9de669025bbe4cad9829be39c5cf3b31ad25 (diff) | |
| download | brew-e81f4ab7deeb40308f240be5ea00091fc8786d7a.tar.bz2 | |
init
Diffstat (limited to 'Library/Homebrew/cask/spec/support')
36 files changed, 258 insertions, 0 deletions
diff --git a/Library/Homebrew/cask/spec/support/Casks/.rubocop.yml b/Library/Homebrew/cask/spec/support/Casks/.rubocop.yml new file mode 120000 index 000000000..ee5c2b948 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/.rubocop.yml @@ -0,0 +1 @@ +../../../Casks/.rubocop.yml
\ No newline at end of file diff --git a/Library/Homebrew/cask/spec/support/Casks/appcast-checkpoint-sha256-for-empty-string.rb b/Library/Homebrew/cask/spec/support/Casks/appcast-checkpoint-sha256-for-empty-string.rb new file mode 100644 index 000000000..f40f244f2 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/appcast-checkpoint-sha256-for-empty-string.rb @@ -0,0 +1,4 @@ +test_cask 'appcast-checkpoint-sha256-for-empty-string' do + appcast 'http://localhost/appcast.xml', + checkpoint: 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/appcast-invalid-checkpoint.rb b/Library/Homebrew/cask/spec/support/Casks/appcast-invalid-checkpoint.rb new file mode 100644 index 000000000..e182c2389 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/appcast-invalid-checkpoint.rb @@ -0,0 +1,4 @@ +test_cask 'appcast-invalid-checkpoint' do + appcast 'http://localhost/appcast.xml', + checkpoint: 'not a valid shasum' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/appcast-missing-checkpoint.rb b/Library/Homebrew/cask/spec/support/Casks/appcast-missing-checkpoint.rb new file mode 100644 index 000000000..5ab2c0665 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/appcast-missing-checkpoint.rb @@ -0,0 +1,3 @@ +test_cask 'appcast-missing-checkpoint' do + appcast 'http://localhost/appcast.xml' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/appcast-valid-checkpoint.rb b/Library/Homebrew/cask/spec/support/Casks/appcast-valid-checkpoint.rb new file mode 100644 index 000000000..96d7edbba --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/appcast-valid-checkpoint.rb @@ -0,0 +1,4 @@ +test_cask 'appcast-valid-checkpoint' do + appcast 'http://localhost/appcast.xml', + checkpoint: 'd5b2dfbef7ea28c25f7a77cd7fa14d013d82b626db1d82e00e25822464ba19e2' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/booby-trap.rb b/Library/Homebrew/cask/spec/support/Casks/booby-trap.rb new file mode 100644 index 000000000..21bd97952 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/booby-trap.rb @@ -0,0 +1,8 @@ +cask 'booby-trap' do + version '0.0.7' + + url do + # to be lazily evaluated + fail 'Boom' + end +end diff --git a/Library/Homebrew/cask/spec/support/Casks/generic-artifact-absolute-target.rb b/Library/Homebrew/cask/spec/support/Casks/generic-artifact-absolute-target.rb new file mode 100644 index 000000000..475fb055f --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/generic-artifact-absolute-target.rb @@ -0,0 +1,3 @@ +test_cask 'generic-artifact-absolute-target' do + artifact 'Caffeine.app', target: "#{Hbc.appdir}/Caffeine.app" +end diff --git a/Library/Homebrew/cask/spec/support/Casks/generic-artifact-no-target.rb b/Library/Homebrew/cask/spec/support/Casks/generic-artifact-no-target.rb new file mode 100644 index 000000000..f7657dbb5 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/generic-artifact-no-target.rb @@ -0,0 +1,3 @@ +test_cask 'generic-artifact-no-target' do + artifact 'Caffeine.app' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/generic-artifact-relative-target.rb b/Library/Homebrew/cask/spec/support/Casks/generic-artifact-relative-target.rb new file mode 100644 index 000000000..f97441751 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/generic-artifact-relative-target.rb @@ -0,0 +1,3 @@ +test_cask 'generic-artifact-relative-target' do + artifact 'Caffeine.app', target: 'Caffeine.app' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/invalid-sha256.rb b/Library/Homebrew/cask/spec/support/Casks/invalid-sha256.rb new file mode 100644 index 000000000..aac00f495 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/invalid-sha256.rb @@ -0,0 +1,4 @@ +test_cask 'invalid-sha256' do + version '1.2.3' + sha256 'not a valid shasum' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/missing-homepage.rb b/Library/Homebrew/cask/spec/support/Casks/missing-homepage.rb new file mode 100644 index 000000000..ff924541d --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/missing-homepage.rb @@ -0,0 +1,5 @@ +test_cask 'missing-homepage' do + version '1.2.3' + + url 'http://localhost/something.dmg' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/missing-license.rb b/Library/Homebrew/cask/spec/support/Casks/missing-license.rb new file mode 100644 index 000000000..30f3791c7 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/missing-license.rb @@ -0,0 +1,5 @@ +test_cask 'missing-license' do + version '1.2.3' + + url 'http://localhost/something.dmg' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/missing-name.rb b/Library/Homebrew/cask/spec/support/Casks/missing-name.rb new file mode 100644 index 000000000..a5265b379 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/missing-name.rb @@ -0,0 +1,5 @@ +test_cask 'missing-name' do + version '1.2.3' + + url 'http://localhost/something.dmg' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/missing-sha256.rb b/Library/Homebrew/cask/spec/support/Casks/missing-sha256.rb new file mode 100644 index 000000000..7f8027907 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/missing-sha256.rb @@ -0,0 +1,5 @@ +test_cask 'missing-sha256' do + version '1.2.3' + + url 'http://localhost/something.dmg' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/missing-url.rb b/Library/Homebrew/cask/spec/support/Casks/missing-url.rb new file mode 100644 index 000000000..1b3e76b9c --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/missing-url.rb @@ -0,0 +1,5 @@ +test_cask 'missing-url' do + version '1.2.3' + + homepage 'http://example.com' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/missing-version.rb b/Library/Homebrew/cask/spec/support/Casks/missing-version.rb new file mode 100644 index 000000000..da2160bce --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/missing-version.rb @@ -0,0 +1,4 @@ +test_cask 'missing-version' do + url 'http://localhost/something.dmg' + homepage 'http://example.com' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/osdn-correct-url-format.rb b/Library/Homebrew/cask/spec/support/Casks/osdn-correct-url-format.rb new file mode 100644 index 000000000..da6ff0fcd --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/osdn-correct-url-format.rb @@ -0,0 +1,6 @@ +test_cask 'osdn-correct-url-format' do + version '1.2.3' + + url 'http://user.dl.osdn.jp/something/id/Something-1.2.3.dmg' + homepage 'http://osdn.jp/projects/something/' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/osdn-incorrect-url-format.rb b/Library/Homebrew/cask/spec/support/Casks/osdn-incorrect-url-format.rb new file mode 100644 index 000000000..8400159a1 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/osdn-incorrect-url-format.rb @@ -0,0 +1,6 @@ +test_cask 'osdn-incorrect-url-format' do + version '1.2.3' + + url 'http://osdn.jp/projects/something/files/Something-1.2.3.dmg/download' + homepage 'http://osdn.jp/projects/something/' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/sha256-for-empty-string.rb b/Library/Homebrew/cask/spec/support/Casks/sha256-for-empty-string.rb new file mode 100644 index 000000000..b97764071 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/sha256-for-empty-string.rb @@ -0,0 +1,4 @@ +test_cask 'sha256-for-empty-string' do + version '1.2.3' + sha256 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/sourceforge-correct-url-format.rb b/Library/Homebrew/cask/spec/support/Casks/sourceforge-correct-url-format.rb new file mode 100644 index 000000000..41ef73500 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/sourceforge-correct-url-format.rb @@ -0,0 +1,6 @@ +test_cask 'sourceforge-correct-url-format' do + version '1.2.3' + + url 'https://downloads.sourceforge.net/something/Something-1.2.3.dmg' + homepage 'https://sourceforge.net/projects/something/' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/sourceforge-incorrect-url-format.rb b/Library/Homebrew/cask/spec/support/Casks/sourceforge-incorrect-url-format.rb new file mode 100644 index 000000000..27b5490b7 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/sourceforge-incorrect-url-format.rb @@ -0,0 +1,6 @@ +test_cask 'sourceforge-incorrect-url-format' do + version '1.2.3' + + url 'http://sourceforge.net/projects/something/files/Something-1.2.3.dmg/download' + homepage 'http://sourceforge.net/projects/something/' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/sourceforge-version-latest-correct-url-format.rb b/Library/Homebrew/cask/spec/support/Casks/sourceforge-version-latest-correct-url-format.rb new file mode 100644 index 000000000..d9546c5e1 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/sourceforge-version-latest-correct-url-format.rb @@ -0,0 +1,6 @@ +test_cask 'sourceforge-version-latest-correct-url-format' do + version :latest + + url 'https://sourceforge.net/projects/something/files/latest/download' + homepage 'https://sourceforge.net/projects/something/' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/version-latest-string.rb b/Library/Homebrew/cask/spec/support/Casks/version-latest-string.rb new file mode 100644 index 000000000..3b4723f45 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/version-latest-string.rb @@ -0,0 +1,4 @@ +test_cask 'version-latest-string' do + version 'latest' + sha256 :no_check +end diff --git a/Library/Homebrew/cask/spec/support/Casks/version-latest-with-checksum.rb b/Library/Homebrew/cask/spec/support/Casks/version-latest-with-checksum.rb new file mode 100644 index 000000000..8dbca1a69 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/version-latest-with-checksum.rb @@ -0,0 +1,4 @@ +test_cask 'version-latest-with-checksum' do + version :latest + sha256 '9203c30951f9aab41ac294bbeb1dcef7bed401ff0b353dcb34d68af32ea51853' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/with-binary.rb b/Library/Homebrew/cask/spec/support/Casks/with-binary.rb new file mode 100644 index 000000000..a06787125 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/with-binary.rb @@ -0,0 +1,10 @@ +test_cask 'with-binary' do + version '1.2.3' + sha256 'd5b2dfbef7ea28c25f7a77cd7fa14d013d82b626db1d82e00e25822464ba19e2' + + url FileHelper.local_binary_url('AppWithBinary.zip') + homepage 'http://example.com/with-binary' + + app 'App.app' + binary 'binary' +end diff --git a/Library/Homebrew/cask/spec/support/Casks/with-embedded-binary.rb b/Library/Homebrew/cask/spec/support/Casks/with-embedded-binary.rb new file mode 100644 index 000000000..796f28c78 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/Casks/with-embedded-binary.rb @@ -0,0 +1,10 @@ +test_cask 'with-embedded-binary' do + version '1.2.3' + sha256 'fe052d3e77d92676775fd916ddb8942e72a565b844ea7f6d055474c99bb4e47b' + + url FileHelper.local_binary_url('AppWithEmbeddedBinary.zip') + homepage 'http://example.com/with-binary' + + app 'App.app' + binary "#{appdir}/App.app/Contents/MacOS/App/binary" +end diff --git a/Library/Homebrew/cask/spec/support/audit_matchers.rb b/Library/Homebrew/cask/spec/support/audit_matchers.rb new file mode 100644 index 000000000..fc1e0e876 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/audit_matchers.rb @@ -0,0 +1,39 @@ +module AuditMatchers + extend RSpec::Matchers::DSL + + matcher :pass do + match do |audit| + !audit.errors? && !audit.warnings? + end + end + + matcher :fail do + match(&:errors?) + end + + matcher :warn do + match do |audit| + audit.warnings? && !audit.errors? + end + end + + matcher :fail_with do |error_msg| + match do |audit| + include_msg?(audit.errors, error_msg) + end + end + + matcher :warn_with do |warning_msg| + match do |audit| + include_msg?(audit.warnings, warning_msg) + end + end + + def include_msg?(messages, msg) + if msg.is_a?(Regexp) + Array(messages).any? { |m| m =~ msg } + else + Array(messages).include?(msg) + end + end +end diff --git a/Library/Homebrew/cask/spec/support/binaries/AppWithBinary.zip b/Library/Homebrew/cask/spec/support/binaries/AppWithBinary.zip Binary files differnew file mode 100644 index 000000000..4a5b318ba --- /dev/null +++ b/Library/Homebrew/cask/spec/support/binaries/AppWithBinary.zip diff --git a/Library/Homebrew/cask/spec/support/binaries/AppWithEmbeddedBinary.zip b/Library/Homebrew/cask/spec/support/binaries/AppWithEmbeddedBinary.zip Binary files differnew file mode 100644 index 000000000..7c708038c --- /dev/null +++ b/Library/Homebrew/cask/spec/support/binaries/AppWithEmbeddedBinary.zip diff --git a/Library/Homebrew/cask/spec/support/env_helper.rb b/Library/Homebrew/cask/spec/support/env_helper.rb new file mode 100644 index 000000000..0a302ef45 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/env_helper.rb @@ -0,0 +1,16 @@ +module EnvHelper + class << self + def with_env_var(key, val) + was_defined = ENV.key? "key" + old_value = ENV["key"] + ENV[key] = val + yield + ensure + if was_defined + ENV[key] = old_value + else + ENV.delete(key) + end + end + end +end diff --git a/Library/Homebrew/cask/spec/support/expectations_hash_helper.rb b/Library/Homebrew/cask/spec/support/expectations_hash_helper.rb new file mode 100644 index 000000000..8d386767d --- /dev/null +++ b/Library/Homebrew/cask/spec/support/expectations_hash_helper.rb @@ -0,0 +1,10 @@ +module ExpectationsHashHelper + shared_examples "expectations hash" do |input_name, expectations| + expectations.each do |input_value, expected_output| + context "when #{input_name} is #{input_value.inspect}" do + let(input_name.to_sym) { input_value } + it { should == expected_output } + end + end + end +end diff --git a/Library/Homebrew/cask/spec/support/file_helper.rb b/Library/Homebrew/cask/spec/support/file_helper.rb new file mode 100644 index 000000000..8eb78f759 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/file_helper.rb @@ -0,0 +1,16 @@ +module FileHelper + class << self + def local_binary_path(name) + File.expand_path(File.join(File.dirname(__FILE__), "binaries", name)) + end + + def local_binary_url(name) + "file://" + local_binary_path(name) + end + + def valid_alias?(candidate) + return false unless candidate.symlink? + candidate.readlink.exist? + end + end +end diff --git a/Library/Homebrew/cask/spec/support/install_helper.rb b/Library/Homebrew/cask/spec/support/install_helper.rb new file mode 100644 index 000000000..c8023c66b --- /dev/null +++ b/Library/Homebrew/cask/spec/support/install_helper.rb @@ -0,0 +1,10 @@ +module InstallHelper + class << self + def install_without_artifacts(cask) + Hbc::Installer.new(cask).tap do |i| + i.download + i.extract_primary_container + end + end + end +end diff --git a/Library/Homebrew/cask/spec/support/kernel_at_exit_hacks.rb b/Library/Homebrew/cask/spec/support/kernel_at_exit_hacks.rb new file mode 100644 index 000000000..b5c84869b --- /dev/null +++ b/Library/Homebrew/cask/spec/support/kernel_at_exit_hacks.rb @@ -0,0 +1,13 @@ +module Kernel + alias real_at_exit at_exit + + def at_exit(&block) + real_at_exit(&block) unless ENV["DISABLE_AT_EXIT"] + end + + def with_disabled_at_exit + ENV["DISABLE_AT_EXIT"] = "1" + yield + ENV.delete("DISABLE_AT_EXIT") + end +end diff --git a/Library/Homebrew/cask/spec/support/sha256_helper.rb b/Library/Homebrew/cask/spec/support/sha256_helper.rb new file mode 100644 index 000000000..14f2a2519 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/sha256_helper.rb @@ -0,0 +1,8 @@ +require"digest" + +module Sha256Helper + def random_sha256 + seed = "--#{rand(10_000)}--#{Time.now}--" + Digest::SHA2.hexdigest(seed) + end +end diff --git a/Library/Homebrew/cask/spec/support/shutup_helper.rb b/Library/Homebrew/cask/spec/support/shutup_helper.rb new file mode 100644 index 000000000..98dde01a6 --- /dev/null +++ b/Library/Homebrew/cask/spec/support/shutup_helper.rb @@ -0,0 +1,18 @@ +module ShutupHelper + def shutup + if ENV.key?("VERBOSE_TESTS") + yield + else + begin + tmperr = $stderr.clone + tmpout = $stdout.clone + $stderr.reopen "/dev/null", "w" + $stdout.reopen "/dev/null", "w" + yield + ensure + $stderr.reopen tmperr + $stdout.reopen tmpout + end + end + end +end |
