did_you_mean 1.2.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78b9260bb8347fa60cb3077dd23f25c7ea514af2fc2673616e778e510afee84d
4
- data.tar.gz: 69961a2b8c93e69cbbbc9782de9951257b2811ba107bcf74c3cd0fbb6308194d
3
+ metadata.gz: 50bf04523f12cc4556ea28643d05f957a6ed95288d022716bbd32b325ea10feb
4
+ data.tar.gz: eeb093d01d27dae887f7ecbc5e4c530db5230743de2c7280b19f139f56e11638
5
5
  SHA512:
6
- metadata.gz: 783d8d7aa3147693008c88050c7b867104f3f669638f42f5e6d8418b193b927859294af95767edcc8cc155b01ed3adacd4fc19ae9ac4fb7604031e26f1aaaeca
7
- data.tar.gz: 5f4f128667972ce3b3c52680b760519931ff579b8232c3cf34672475d5cbe2f8b7ed346d8f8685cb2b2883c0ed775cab1b80dea79c85f749c3c1c65b1ba11d25
6
+ metadata.gz: '0941cfdae93b66e3485c0850f2763c869971a1d7cff386fe66d51739d8869155d8ae868016210a0d2935f81aa8185477c9db162029d5a754240f210a2f3b9df8'
7
+ data.tar.gz: fc53dbc6ae27025325d36084b5be82f0b462addc83a3fa7a0b0b780b6aed2b2dc5f40cc3a3ad7213eeb2a03476723f0ae36681a534d27b9991c95d5ab2197b66
@@ -1 +1 @@
1
- 2.5.1
1
+ 2.5.0
@@ -11,4 +11,5 @@ after_success:
11
11
  - bundle exec rake benchmark:memory
12
12
 
13
13
  rvm:
14
- - 2.5.1
14
+ - 2.5.3
15
+ - ruby-head
@@ -1,8 +1,33 @@
1
+ ## [v1.2.1](https://github.com/yuki24/did_you_mean/tree/v1.2.1)
2
+
3
+ _<sup>released at 2018-04-03 04:44:47 UTC</sup>_
4
+
5
+ #### Bug Fixes
6
+
7
+ - Fixed a bug where DYM suggests the same class name in the error message ([#102](https://github.com/yuki24/did_you_mean/issues/102), [@schneems](https://github.com/schneems))
8
+ - Fixed a bug where the deprecated `DidYouMean::Formatter` has been removed unexpectedly ([#103](https://github.com/yuki24/did_you_mean/issues/103), [<tt>4b5ba32</tt>](https://github.com/yuki24/did_you_mean/commit/4b5ba3215975df1dd8e9c7eacffcf02abfffa92e))
9
+
10
+ #### Other Changes
11
+
12
+ - Non-production code that has a non-commercial lisence has been removed from gem releases ([#105](https://github.com/yuki24/did_you_mean/issues/105), [@jbotelho2-bb](https://github.com/jbotelho2-bb))
13
+
14
+ ## [v1.2.0](https://github.com/yuki24/did_you_mean/tree/v1.2.0)
15
+
16
+ _<sup>released at 2018-01-02 20:49:35 UTC</sup>_
17
+
18
+ **This version&nbsp;1.2.0&nbsp;only has support for Ruby 2.5.0 and later as it uses new features that are only available in 2.5. All future patch releases under&nbsp;1.2.\*&nbsp;will only be compatible with Ruby 2.5.0 and later as well. Versions earlier than&nbsp;1.1.\*&nbsp;will still be maintained until Ruby 2.4 is deprecated. Any other versions below&nbsp;1.0&nbsp;will no longer be maintained.**
19
+
20
+ #### New features
21
+
22
+ - The `KeyError` name suggestion feature has been promoted to a stable feature and is available by default ([<tt>acf5945</tt>](https://github.com/yuki24/did_you_mean/commit/acf59450dfb67eefae9b465ccc8029af46ae7dd0),&nbsp;[https://bugs.ruby-lang.org/issues/12063](https://bugs.ruby-lang.org/issues/12063))
23
+ - Now suggests `true`, `false` or `nil` if a NameError occurs because of a typo in these names ([#94](https://github.com/yuki24/did_you_mean/pull/94), [@styd](https://github.com/styd))
24
+ - New Formatter API: This provides a clean way to customize DidYouMean’s formatter without overriding the default formatter. Please refer to [the built-in verbose formatter](https://github.com/yuki24/did_you_mean/blob/671cdff/lib/did_you_mean/verbose.rb) for how to use it
25
+
1
26
  ## [v1.1.2](https://github.com/yuki24/did_you_mean/tree/v1.1.2)
2
27
 
3
28
  _<sup>released at 2017-09-24 07:28:48 UTC</sup>_
4
29
 
5
- **This version is compatible with Ruby 2.4 and older**
30
+ **This version is only compatible with Ruby 2.4 and later.**
6
31
 
7
32
  #### Bug Fixes
8
33
 
@@ -18,7 +43,7 @@ _<sup>released at 2017-09-24 07:24:02 UTC</sup>_
18
43
 
19
44
  _<sup>released at 2016-12-19 23:19:06 UTC</sup>_
20
45
 
21
- The version `1.1.0` only has support for Ruby 2.4.0 and later. Also, all patch releasess under `1.1.*` will only be compatible with Ruby 2.4.0 and later as well. Versions under `1.0.*` will still be maintained until Ruby 2.3 is deprecated. Any other versions below `1.0` will no longer be maintained.
46
+ The version `1.1.0` only has support for Ruby 2.4.0 and later. Also, all patch releases under `1.1.*` will only be compatible with Ruby 2.4.0 and later as well. Versions under `1.0.*` will still be maintained until Ruby 2.3 is deprecated. Any other versions below `1.0` will no longer be maintained.
22
47
 
23
48
  #### New Features
24
49
 
@@ -102,7 +127,7 @@ _<sup>released at 2015-12-25 05:13:04 UTC</sup>_
102
127
 
103
128
  _<sup>released at 2015-12-25 05:02:25 UTC</sup>_
104
129
 
105
- #### Internal Chagens
130
+ #### Internal Changes
106
131
 
107
132
  - No longer uses `TracePoint` API by default. fixes [#55](https://github.com/yuki24/did_you_mean/issues/55) and [#56](https://github.com/yuki24/did_you_mean/issues/56)
108
133
 
data/README.md CHANGED
@@ -108,6 +108,45 @@ OBject
108
108
  #
109
109
  ```
110
110
 
111
+ ## Disabling `did_you_mean`
112
+
113
+ Occasionally, you may want to disable the `did_you_mean` gem for e.g. debugging issues in the error object itself. You
114
+ can disable it entirely by specifying `--disable-did_you_mean` option to the `ruby` command:
115
+
116
+ ```bash
117
+ $ ruby --disable-did_you_mean -e "1.zeor?"
118
+ -e:1:in `<main>': undefined method `zeor?' for 1:Integer (NameError)
119
+ ```
120
+
121
+ When you do not have direct access to the `ruby` command (e.g. `rails console`, `irb`), you could applyoptions using the
122
+ `RUBYOPT` environment variable:
123
+
124
+ ```bash
125
+ $ RUBYOPT='--disable-did_you_mean' irb
126
+ irb:0> 1.zeor?
127
+ # => NoMethodError (undefined method `zeor?' for 1:Integer)
128
+ ```
129
+
130
+ ### Getting the original error message
131
+
132
+ Sometimes, you do not want to disable the gem entirely, but need to get the original error message without suggestions
133
+ (e.g. testing). In this case, you could use the `#original_message` method on the error object:
134
+
135
+ ```ruby
136
+ no_method_error = begin
137
+ 1.zeor?
138
+ rescue NoMethodError => error
139
+ error
140
+ end
141
+
142
+ no_method_error.message
143
+ # => NoMethodError (undefined method `zeor?' for 1:Integer)
144
+ # Did you mean? zero?
145
+
146
+ no_method_error.original_message
147
+ # => NoMethodError (undefined method `zeor?' for 1:Integer)
148
+ ```
149
+
111
150
  ## Contributing
112
151
 
113
152
  1. Fork it (http://github.com/yuki24/did_you_mean/fork)
@@ -9,29 +9,83 @@ require 'did_you_mean/spell_checkers/null_checker'
9
9
 
10
10
  require "did_you_mean/formatters/plain_formatter"
11
11
 
12
+ # The +DidYouMean+ gem adds functionality to suggest possible method/class
13
+ # names upon errors such as +NameError+ and +NoMethodError+. In Ruby 2.3 or
14
+ # later, it is automatically activated during startup.
15
+ #
16
+ # @example
17
+ #
18
+ # methosd
19
+ # # => NameError: undefined local variable or method `methosd' for main:Object
20
+ # # Did you mean? methods
21
+ # # method
22
+ #
23
+ # OBject
24
+ # # => NameError: uninitialized constant OBject
25
+ # # Did you mean? Object
26
+ #
27
+ # @full_name = "Yuki Nishijima"
28
+ # first_name, last_name = full_name.split(" ")
29
+ # # => NameError: undefined local variable or method `full_name' for main:Object
30
+ # # Did you mean? @full_name
31
+ #
32
+ # @@full_name = "Yuki Nishijima"
33
+ # @@full_anme
34
+ # # => NameError: uninitialized class variable @@full_anme in Object
35
+ # # Did you mean? @@full_name
36
+ #
37
+ # full_name = "Yuki Nishijima"
38
+ # full_name.starts_with?("Y")
39
+ # # => NoMethodError: undefined method `starts_with?' for "Yuki Nishijima":String
40
+ # # Did you mean? start_with?
41
+ #
42
+ # hash = {foo: 1, bar: 2, baz: 3}
43
+ # hash.fetch(:fooo)
44
+ # # => KeyError: key not found: :fooo
45
+ # # Did you mean? :foo
46
+ #
47
+ #
48
+ # == Disabling +did_you_mean+
49
+ #
50
+ # Occasionally, you may want to disable the +did_you_mean+ gem for e.g.
51
+ # debugging issues in the error object itself. You can disable it entirely by
52
+ # specifying +--disable-did_you_mean+ option to the +ruby+ command:
53
+ #
54
+ # $ ruby --disable-did_you_mean -e "1.zeor?"
55
+ # -e:1:in `<main>': undefined method `zeor?' for 1:Integer (NameError)
56
+ #
57
+ # When you do not have direct access to the +ruby+ command (e.g.
58
+ # +rails console+, +irb+), you could applyoptions using the +RUBYOPT+
59
+ # environment variable:
60
+ #
61
+ # $ RUBYOPT='--disable-did_you_mean' irb
62
+ # irb:0> 1.zeor?
63
+ # # => NoMethodError (undefined method `zeor?' for 1:Integer)
64
+ #
65
+ #
66
+ # == Getting the original error message
67
+ #
68
+ # Sometimes, you do not want to disable the gem entirely, but need to get the
69
+ # original error message without suggestions (e.g. testing). In this case, you
70
+ # could use the +#original_message+ method on the error object:
71
+ #
72
+ # no_method_error = begin
73
+ # 1.zeor?
74
+ # rescue NoMethodError => error
75
+ # error
76
+ # end
77
+ #
78
+ # no_method_error.message
79
+ # # => NoMethodError (undefined method `zeor?' for 1:Integer)
80
+ # # Did you mean? zero?
81
+ #
82
+ # no_method_error.original_message
83
+ # # => NoMethodError (undefined method `zeor?' for 1:Integer)
84
+ #
12
85
  module DidYouMean
13
- class DeprecatedIgnoredCallers < Array
14
- %i(
15
- +
16
- <<
17
- []=
18
- insert
19
- unshift
20
- push
21
- ).each do |method_name|
22
- eval <<-RUBY, nil, __FILE__, __LINE__ + 1
23
- def #{method_name}(*)
24
- warn "IGNORED_CALLERS has been deprecated and has no effect."
25
-
26
- super
27
- end
28
- RUBY
29
- end
30
- end
31
-
32
- IGNORED_CALLERS = DeprecatedIgnoredCallers.new
33
-
86
+ # Map of error types and spell checker objects.
34
87
  SPELL_CHECKERS = Hash.new(NullChecker)
88
+
35
89
  SPELL_CHECKERS.merge!({
36
90
  "NameError" => NameErrorCheckers,
37
91
  "NoMethodError" => MethodNameChecker,
@@ -41,29 +95,15 @@ module DidYouMean
41
95
  NameError.prepend DidYouMean::Correctable
42
96
  KeyError.prepend DidYouMean::Correctable
43
97
 
98
+ # Returns the currenctly set formatter. By default, it is set to +DidYouMean::Formatter+.
44
99
  def self.formatter
45
100
  @@formatter
46
101
  end
47
102
 
103
+ # Updates the primary formatter used to format the suggestions.
48
104
  def self.formatter=(formatter)
49
105
  @@formatter = formatter
50
106
  end
51
107
 
52
108
  self.formatter = PlainFormatter.new
53
-
54
- # Deprecated formatter
55
- class Formatter #:nodoc:
56
- def initialize(corrections = [])
57
- @corrections = corrections
58
- end
59
-
60
- def to_s
61
- return "" if @corrections.empty?
62
-
63
- output = "\nDid you mean? ".dup
64
- output << @corrections.join("\n ")
65
- end
66
- end
67
-
68
- deprecate_constant :Formatter
69
109
  end
@@ -1,7 +1,31 @@
1
1
  # frozen-string-literal: true
2
2
 
3
3
  module DidYouMean
4
+ # The +DidYouMean::PlainFormatter+ is the basic, default formatter for the
5
+ # gem. The formatter responds to the +message_for+ method and it returns a
6
+ # human readable string.
4
7
  class PlainFormatter
8
+
9
+ # Returns a human readable string that contains +corrections+. This
10
+ # formatter is designed to be less verbose to not take too much screen
11
+ # space while being helpful enough to the user.
12
+ #
13
+ # @example
14
+ #
15
+ # formatter = DidYouMean::PlainFormatter.new
16
+ #
17
+ # # displays suggestions in two lines with the leading empty line
18
+ # puts formatter.message_for(["methods", "method"])
19
+ #
20
+ # Did you mean? methods
21
+ # method
22
+ # # => nil
23
+ #
24
+ # # displays an empty line
25
+ # puts formatter.message_for([])
26
+ #
27
+ # # => nil
28
+ #
5
29
  def message_for(corrections)
6
30
  corrections.empty? ? "" : "\nDid you mean? #{corrections.join("\n ")}"
7
31
  end
@@ -1,7 +1,43 @@
1
1
  # frozen-string-literal: true
2
2
 
3
3
  module DidYouMean
4
+ # The +DidYouMean::VerboseFormatter+ uses extra empty lines to make the
5
+ # suggestion stand out more in the error message.
6
+ #
7
+ # In order to activate the verbose formatter,
8
+ #
9
+ # @example
10
+ #
11
+ # OBject
12
+ # # => NameError: uninitialized constant OBject
13
+ # # Did you mean? Object
14
+ #
15
+ # require 'did_you_mean/verbose'
16
+ #
17
+ # OBject
18
+ # # => NameError: uninitialized constant OBject
19
+ # #
20
+ # # Did you mean? Object
21
+ # #
22
+ #
4
23
  class VerboseFormatter
24
+
25
+ # Returns a human readable string that contains +corrections+. This
26
+ # formatter is designed to be less verbose to not take too much screen
27
+ # space while being helpful enough to the user.
28
+ #
29
+ # @example
30
+ #
31
+ # formatter = DidYouMean::PlainFormatter.new
32
+ #
33
+ # puts formatter.message_for(["methods", "method"])
34
+ #
35
+ #
36
+ # Did you mean? methods
37
+ # method
38
+ #
39
+ # # => nil
40
+ #
5
41
  def message_for(corrections)
6
42
  return "" if corrections.empty?
7
43
 
@@ -7,6 +7,35 @@ module DidYouMean
7
7
  NAMES_TO_EXCLUDE = { NilClass => nil.methods }
8
8
  NAMES_TO_EXCLUDE.default = []
9
9
 
10
+ # +MethodNameChecker::RB_RESERVED_WORDS+ is the list of reserved words in
11
+ # Ruby that take an argument. Unlike
12
+ # +VariableNameChecker::RB_RESERVED_WORDS+, those reserved words reqquires
13
+ # an argument, and a +NoMethodError+ is raised due to the presence of the
14
+ # argument.
15
+ #
16
+ # The +MethodNameChecker+ will use this list to suggest a reversed word if
17
+ # a +NoMethodError+ is raised and found closest matches.
18
+ #
19
+ # Also see +VariableNameChecker::RB_RESERVED_WORDS+.
20
+ RB_RESERVED_WORDS = %i(
21
+ alias
22
+ case
23
+ def
24
+ defined?
25
+ elsif
26
+ end
27
+ ensure
28
+ for
29
+ rescue
30
+ super
31
+ undef
32
+ unless
33
+ until
34
+ when
35
+ while
36
+ yield
37
+ )
38
+
10
39
  def initialize(exception)
11
40
  @method_name = exception.name
12
41
  @receiver = exception.receiver
@@ -14,7 +43,7 @@ module DidYouMean
14
43
  end
15
44
 
16
45
  def corrections
17
- @corrections ||= SpellChecker.new(dictionary: method_names).correct(method_name) - NAMES_TO_EXCLUDE[@receiver.class]
46
+ @corrections ||= SpellChecker.new(dictionary: RB_RESERVED_WORDS + method_names).correct(method_name) - NAMES_TO_EXCLUDE[@receiver.class]
18
47
  end
19
48
 
20
49
  def method_names
@@ -6,9 +6,61 @@ module DidYouMean
6
6
  class VariableNameChecker
7
7
  attr_reader :name, :method_names, :lvar_names, :ivar_names, :cvar_names
8
8
 
9
- NAMES_TO_EXCLUDE = { 'foo' => [:fork] }
9
+ NAMES_TO_EXCLUDE = { 'foo' => [:fork, :for] }
10
10
  NAMES_TO_EXCLUDE.default = []
11
- RB_PREDEFINED_OBJECTS = [:false, :true, :nil]
11
+
12
+ # +VariableNameChecker::RB_RESERVED_WORDS+ is the list of all reserved
13
+ # words in Ruby. They could be declared like methods are, and a typo would
14
+ # cause Ruby to raise a +NameError+ because of the way they are declared.
15
+ #
16
+ # The +:VariableNameChecker+ will use this list to suggest a reversed word
17
+ # if a +NameError+ is raised and found closest matches, excluding:
18
+ #
19
+ # * +do+
20
+ # * +if+
21
+ # * +in+
22
+ # * +or+
23
+ #
24
+ # Also see +MethodNameChecker::RB_RESERVED_WORDS+.
25
+ RB_RESERVED_WORDS = %i(
26
+ BEGIN
27
+ END
28
+ alias
29
+ and
30
+ begin
31
+ break
32
+ case
33
+ class
34
+ def
35
+ defined?
36
+ else
37
+ elsif
38
+ end
39
+ ensure
40
+ false
41
+ for
42
+ module
43
+ next
44
+ nil
45
+ not
46
+ redo
47
+ rescue
48
+ retry
49
+ return
50
+ self
51
+ super
52
+ then
53
+ true
54
+ undef
55
+ unless
56
+ until
57
+ when
58
+ while
59
+ yield
60
+ __LINE__
61
+ __FILE__
62
+ __ENCODING__
63
+ )
12
64
 
13
65
  def initialize(exception)
14
66
  @name = exception.name.to_s.tr("@", "")
@@ -23,7 +75,7 @@ module DidYouMean
23
75
 
24
76
  def corrections
25
77
  @corrections ||= SpellChecker
26
- .new(dictionary: (RB_PREDEFINED_OBJECTS + lvar_names + method_names + ivar_names + cvar_names))
78
+ .new(dictionary: (RB_RESERVED_WORDS + lvar_names + method_names + ivar_names + cvar_names))
27
79
  .correct(name) - NAMES_TO_EXCLUDE[@name]
28
80
  end
29
81
  end
@@ -1,3 +1,3 @@
1
1
  module DidYouMean
2
- VERSION = "1.2.2"
2
+ VERSION = "1.3.0"
3
3
  end
@@ -49,11 +49,3 @@ class NameErrorExtensionTest < Minitest::Test
49
49
  assert_equal "undefined method `sizee' for #<File:./tmp/.keep>", Marshal.load(Marshal.dump(error)).original_message
50
50
  end
51
51
  end
52
-
53
- class DeprecatedIgnoreCallersTest < Minitest::Test
54
- def test_ignore
55
- assert_output nil, "IGNORED_CALLERS has been deprecated and has no effect.\n" do
56
- DidYouMean::IGNORED_CALLERS << /( |`)do_not_correct_typo'/
57
- end
58
- end
59
- end
@@ -116,4 +116,11 @@ class MethodNameCheckTest < Minitest::Test
116
116
 
117
117
  assert_equal 1, error.to_s.scan(/Did you mean/).count
118
118
  end
119
+
120
+ def test_suggests_yield
121
+ error = assert_raises(NoMethodError) { yeild(1) }
122
+
123
+ assert_correction :yield, error.corrections
124
+ assert_match "Did you mean? yield", error.to_s
125
+ end
119
126
  end
@@ -69,7 +69,11 @@ class VariableNameCheckTest < Minitest::Test
69
69
  end
70
70
 
71
71
  nil_error = assert_raises(NameError) do
72
- some_var = nol
72
+ some_var = nul
73
+ end
74
+
75
+ file_error = assert_raises(NameError) do
76
+ __FIEL__
73
77
  end
74
78
 
75
79
  assert_correction :false, false_error.corrections
@@ -80,6 +84,16 @@ class VariableNameCheckTest < Minitest::Test
80
84
 
81
85
  assert_correction :nil, nil_error.corrections
82
86
  assert_match "Did you mean? nil", nil_error.to_s
87
+
88
+ assert_correction :__FILE__, file_error.corrections
89
+ assert_match "Did you mean? __FILE__", file_error.to_s
90
+ end
91
+
92
+ def test_suggests_yield
93
+ error = assert_raises(NameError) { yeild }
94
+
95
+ assert_correction :yield, error.corrections
96
+ assert_match "Did you mean? yield", error.to_s
83
97
  end
84
98
 
85
99
  def test_corrections_include_instance_variable_name
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: did_you_mean
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuki Nishijima
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-09 00:00:00.000000000 Z
11
+ date: 2018-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -92,10 +92,8 @@ files:
92
92
  - lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
93
93
  - lib/did_you_mean/spell_checkers/null_checker.rb
94
94
  - lib/did_you_mean/verbose.rb
95
- - lib/did_you_mean/verbose_formatter.rb
96
95
  - lib/did_you_mean/version.rb
97
96
  - test/core_ext/name_error_extension_test.rb
98
- - test/deprecated_formatter_test.rb
99
97
  - test/edit_distance/jaro_winkler_test.rb
100
98
  - test/experimental/initializer_name_correction_test.rb
101
99
  - test/experimental/method_name_checker_test.rb
@@ -129,13 +127,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
127
  version: '0'
130
128
  requirements: []
131
129
  rubyforge_project:
132
- rubygems_version: 2.7.6
130
+ rubygems_version: 2.7.4
133
131
  signing_key:
134
132
  specification_version: 4
135
133
  summary: '"Did you mean?" experience in Ruby'
136
134
  test_files:
137
135
  - test/core_ext/name_error_extension_test.rb
138
- - test/deprecated_formatter_test.rb
139
136
  - test/edit_distance/jaro_winkler_test.rb
140
137
  - test/experimental/initializer_name_correction_test.rb
141
138
  - test/experimental/method_name_checker_test.rb
@@ -1,7 +0,0 @@
1
- require 'did_you_mean'
2
- require 'did_you_mean/formatters/verbose_formatter'
3
-
4
- DidYouMean.formatter = DidYouMean::VerboseFormatter.new
5
-
6
- warn '`require "did_you_mean/verbose_formatter"\' has been deprecated and will be removed' \
7
- " in the next major Ruby version. Please require 'did_you_mean/verbose' instead."
@@ -1,9 +0,0 @@
1
- require 'test_helper'
2
-
3
- class DeprecatedFormatterTest < Minitest::Test
4
- def test_deprecated_formatter
5
- assert_output nil, /test\/deprecated_formatter_test.rb:6: warning: constant DidYouMean::Formatter is deprecated/ do
6
- assert_equal "\nDid you mean? does_exist", ::DidYouMean::Formatter.new(['does_exist']).to_s
7
- end
8
- end
9
- end