From 4b3cec76b150f7a84c5f7d3a86c21e5294a770d5 Mon Sep 17 00:00:00 2001 From: Roland Walker Date: Mon, 24 Nov 2014 10:43:37 -0500 Subject: [PATCH 1/3] test for valid header line format --- test/cask/dsl_test.rb | 7 +++++++ test/support/Casks/invalid/invalid-header-format.rb | 9 +++++++++ 2 files changed, 16 insertions(+) create mode 100644 test/support/Casks/invalid/invalid-header-format.rb diff --git a/test/cask/dsl_test.rb b/test/cask/dsl_test.rb index 12fcb13342..d543ab59f4 100644 --- a/test/cask/dsl_test.rb +++ b/test/cask/dsl_test.rb @@ -33,6 +33,13 @@ describe Cask::DSL do end describe "header line" do + it "requires a valid header format" do + err = lambda { + invalid_cask = Cask.load('invalid/invalid-header-format') + }.must_raise(CaskInvalidError) + err.message.must_include 'Bad header line: parse failed' + end + it "requires a valid minimum DSL version in the header" do err = lambda { invalid_cask = Cask.load('invalid/invalid-header-version') diff --git a/test/support/Casks/invalid/invalid-header-format.rb b/test/support/Casks/invalid/invalid-header-format.rb new file mode 100644 index 0000000000..ee0aeb9251 --- /dev/null +++ b/test/support/Casks/invalid/invalid-header-format.rb @@ -0,0 +1,9 @@ +cask :v1test => => 'invalid-header-format' do + version '1.2.3' + sha256 '9203c30951f9aab41ac294bbeb1dcef7bed401ff0b353dcb34d68af32ea51853' + + url TestHelper.local_binary_url('caffeine.zip') + homepage 'http://example.com/local-caffeine' + + app 'Caffeine.app' +end From a5528c320f9dd87602f3d99ace2e8b17b7d1690e Mon Sep 17 00:00:00 2001 From: Roland Walker Date: Mon, 24 Nov 2014 10:43:58 -0500 Subject: [PATCH 2/3] test header line name against filename --- test/cask/dsl_test.rb | 8 ++++++++ .../Casks/invalid/invalid-header-name-mismatch.rb | 9 +++++++++ 2 files changed, 17 insertions(+) create mode 100644 test/support/Casks/invalid/invalid-header-name-mismatch.rb diff --git a/test/cask/dsl_test.rb b/test/cask/dsl_test.rb index d543ab59f4..8a27b8633c 100644 --- a/test/cask/dsl_test.rb +++ b/test/cask/dsl_test.rb @@ -40,6 +40,14 @@ describe Cask::DSL do err.message.must_include 'Bad header line: parse failed' end + it "requires the header name to match the file name" do + err = lambda { + invalid_cask = Cask.load('invalid/invalid-header-name-mismatch') + }.must_raise(CaskInvalidError) + err.message.must_include 'Bad header line:' + err.message.must_include 'does not match file name' + end + it "requires a valid minimum DSL version in the header" do err = lambda { invalid_cask = Cask.load('invalid/invalid-header-version') diff --git a/test/support/Casks/invalid/invalid-header-name-mismatch.rb b/test/support/Casks/invalid/invalid-header-name-mismatch.rb new file mode 100644 index 0000000000..375eb2110f --- /dev/null +++ b/test/support/Casks/invalid/invalid-header-name-mismatch.rb @@ -0,0 +1,9 @@ +cask :v1test => 'invalid-header-name-mismatch-this-text-does-not-belong' do + version '1.2.3' + sha256 '9203c30951f9aab41ac294bbeb1dcef7bed401ff0b353dcb34d68af32ea51853' + + url TestHelper.local_binary_url('caffeine.zip') + homepage 'http://example.com/local-caffeine' + + app 'Caffeine.app' +end From 2448325062acc7bac6484008fc35bb91a9d6c55c Mon Sep 17 00:00:00 2001 From: Roland Walker Date: Mon, 24 Nov 2014 10:44:08 -0500 Subject: [PATCH 3/3] consistency nit --- test/cask/dsl_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cask/dsl_test.rb b/test/cask/dsl_test.rb index 8a27b8633c..f0b3e3f382 100644 --- a/test/cask/dsl_test.rb +++ b/test/cask/dsl_test.rb @@ -52,7 +52,7 @@ describe Cask::DSL do err = lambda { invalid_cask = Cask.load('invalid/invalid-header-version') }.must_raise(CaskInvalidError) - err.message.must_include 'Bad header line' + err.message.must_include 'Bad header line:' err.message.must_include 'is less than required minimum version' end end