| 
									
										
										
										
											2020-10-10 14:16:11 +02:00
										 |  |  | # typed: false | 
					
						
							| 
									
										
										
										
											2020-06-25 20:10:37 -04:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  | require "rubocops/deprecate_disable" | 
					
						
							| 
									
										
										
										
											2020-06-25 20:10:37 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  | describe RuboCop::Cop::FormulaAudit::DeprecateDisableReason do | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |   subject(:cop) { described_class.new } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-23 18:02:25 -08:00
										 |  |  |   context "when auditing `deprecate!`" do | 
					
						
							|  |  |  |     it "reports no offenses if `reason` is acceptable" do | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |       expect_no_offenses(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           deprecate! because: "is broken" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-23 18:02:25 -08:00
										 |  |  |     it "reports no offenses if `reason` is acceptable as a symbol" do | 
					
						
							| 
									
										
										
										
											2020-08-28 22:49:26 -04:00
										 |  |  |       expect_no_offenses(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           deprecate! because: :does_not_build | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-23 18:02:25 -08:00
										 |  |  |     it "reports no offenses if `reason` is acceptable (with `date`)" do | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |       expect_no_offenses(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           deprecate! date: "2020-08-28", because: "is broken" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-23 18:02:25 -08:00
										 |  |  |     it "reports no offenses if `reason` is acceptable as a symbol (with `date`)" do | 
					
						
							| 
									
										
										
										
											2020-08-28 22:49:26 -04:00
										 |  |  |       expect_no_offenses(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           deprecate! date: "2020-08-28", because: :does_not_build | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-23 18:02:25 -08:00
										 |  |  |     it "reports an offense if `reason` is absent" do | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |       expect_offense(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           deprecate! | 
					
						
							|  |  |  |           ^^^^^^^^^^ Add a reason for deprecation: `deprecate! because: "..."` | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-23 18:02:25 -08:00
										 |  |  |     it "reports an offense if `reason` is absent (with `date`)" do | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |       expect_offense(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           deprecate! date: "2020-08-28" | 
					
						
							|  |  |  |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Add a reason for deprecation: `deprecate! because: "..."` | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |     it "reports and corrects an offense if `reason` starts with 'it'" do | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |       expect_offense(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           deprecate! because: "it is broken" | 
					
						
							|  |  |  |                               ^^^^^^^^^^^^^^ Do not start the reason with `it` | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  |       expect_correction(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           deprecate! because: "is broken" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |     it "reports and corrects an offense if `reason` starts with 'it' (with `date`)" do | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |       expect_offense(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           deprecate! date: "2020-08-28", because: "it is broken" | 
					
						
							|  |  |  |                                                   ^^^^^^^^^^^^^^ Do not start the reason with `it` | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  |       expect_correction(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           deprecate! date: "2020-08-28", because: "is broken" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |     it "reports and corrects an offense if `reason` ends with a period" do | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |       expect_offense(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           deprecate! because: "is broken." | 
					
						
							|  |  |  |                               ^^^^^^^^^^^^ Do not end the reason with a punctuation mark | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |       expect_correction(<<~RUBY) | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |           deprecate! because: "is broken" | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |     it "reports and corrects an offense if `reason` ends with an exclamation point" do | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |       expect_offense(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |           deprecate! because: "is broken!" | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |                               ^^^^^^^^^^^^ Do not end the reason with a punctuation mark | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |       expect_correction(<<~RUBY) | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |           deprecate! because: "is broken" | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |     it "reports and corrects an offense if `reason` ends with a question mark" do | 
					
						
							|  |  |  |       expect_offense(<<~RUBY) | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |           deprecate! because: "is broken?" | 
					
						
							|  |  |  |                               ^^^^^^^^^^^^ Do not end the reason with a punctuation mark | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |       expect_correction(<<~RUBY) | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           deprecate! because: "is broken" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |     it "reports and corrects an offense if `reason` ends with a period (with `date`)" do | 
					
						
							|  |  |  |       expect_offense(<<~RUBY) | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |           deprecate! date: "2020-08-28", because: "is broken." | 
					
						
							|  |  |  |                                                   ^^^^^^^^^^^^ Do not end the reason with a punctuation mark | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |       expect_correction(<<~RUBY) | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |           deprecate! date: "2020-08-28", because: "is broken" | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-23 18:02:25 -08:00
										 |  |  |   context "when auditing `disable!`" do | 
					
						
							|  |  |  |     it "reports no offenses if `reason` is acceptable" do | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |       expect_no_offenses(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           disable! because: "is broken" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-23 18:02:25 -08:00
										 |  |  |     it "reports no offenses if `reason` is acceptable as a symbol" do | 
					
						
							| 
									
										
										
										
											2020-08-28 22:49:26 -04:00
										 |  |  |       expect_no_offenses(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           disable! because: :does_not_build | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-23 18:02:25 -08:00
										 |  |  |     it "reports no offenses if `reason` is acceptable (with `date`)" do | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |       expect_no_offenses(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           disable! date: "2020-08-28", because: "is broken" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-23 18:02:25 -08:00
										 |  |  |     it "reports no offenses if `reason` is acceptable as a symbol (with `date`)" do | 
					
						
							| 
									
										
										
										
											2020-08-28 22:49:26 -04:00
										 |  |  |       expect_no_offenses(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           disable! date: "2020-08-28", because: :does_not_build | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-23 18:02:25 -08:00
										 |  |  |     it "reports an offense if `reason` is absent" do | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |       expect_offense(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           disable! | 
					
						
							|  |  |  |           ^^^^^^^^ Add a reason for disabling: `disable! because: "..."` | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-23 18:02:25 -08:00
										 |  |  |     it "reports an offense if `reason` is absent (with `date`)" do | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |       expect_offense(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           disable! date: "2020-08-28" | 
					
						
							|  |  |  |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Add a reason for disabling: `disable! because: "..."` | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |     it "reports and corrects an offense if `reason` starts with 'it'" do | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |       expect_offense(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           disable! because: "it is broken" | 
					
						
							|  |  |  |                             ^^^^^^^^^^^^^^ Do not start the reason with `it` | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  |       expect_correction(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           disable! because: "is broken" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |     it "reports and corrects an offense if `reason` starts with 'it' (with `date`)" do | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |       expect_offense(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           disable! date: "2020-08-28", because: "it is broken" | 
					
						
							|  |  |  |                                                 ^^^^^^^^^^^^^^ Do not start the reason with `it` | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  |       expect_correction(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           disable! date: "2020-08-28", because: "is broken" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |     it "reports and corrects an offense if `reason` ends with a period" do | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |       expect_offense(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           disable! because: "is broken." | 
					
						
							|  |  |  |                             ^^^^^^^^^^^^ Do not end the reason with a punctuation mark | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |       expect_correction(<<~RUBY) | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |           disable! because: "is broken" | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |     it "reports and corrects an offense if `reason` ends with an exclamation point" do | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |       expect_offense(<<~RUBY) | 
					
						
							|  |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |           disable! because: "is broken!" | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |                             ^^^^^^^^^^^^ Do not end the reason with a punctuation mark | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |       expect_correction(<<~RUBY) | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |           disable! because: "is broken" | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |     it "reports and corrects an offense if `reason` ends with a question mark" do | 
					
						
							|  |  |  |       expect_offense(<<~RUBY) | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |           disable! because: "is broken?" | 
					
						
							|  |  |  |                             ^^^^^^^^^^^^ Do not end the reason with a punctuation mark | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |       expect_correction(<<~RUBY) | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							|  |  |  |           disable! because: "is broken" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |     it "reports and corrects an offense if `reason` ends with a period (with `date`)" do | 
					
						
							|  |  |  |       expect_offense(<<~RUBY) | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |           disable! date: "2020-08-28", because: "is broken." | 
					
						
							|  |  |  |                                                 ^^^^^^^^^^^^ Do not end the reason with a punctuation mark | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |       expect_correction(<<~RUBY) | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |         class Foo < Formula | 
					
						
							|  |  |  |           url 'https://brew.sh/foo-1.0.tgz' | 
					
						
							| 
									
										
										
										
											2021-01-12 11:14:12 +11:00
										 |  |  |           disable! date: "2020-08-28", because: "is broken" | 
					
						
							| 
									
										
										
										
											2020-08-28 22:19:10 -04:00
										 |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2020-08-28 21:56:56 -04:00
										 |  |  | end |