did_you_mean 0.9.10-java → 0.10.0-java
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 +4 -4
- data/.gitignore +4 -0
- data/.travis.yml +13 -19
- data/CHANGELOG.md +229 -0
- data/Gemfile +4 -7
- data/README.md +5 -16
- data/Rakefile +35 -33
- data/benchmark/jaro_winkler/memory_usage.rb +12 -0
- data/benchmark/jaro_winkler/speed.rb +14 -0
- data/benchmark/levenshtein/memory_usage.rb +12 -0
- data/benchmark/levenshtein/speed.rb +17 -0
- data/benchmark/memory_usage.rb +31 -0
- data/did_you_mean.gemspec +9 -2
- data/evaluation/calculator.rb +122 -0
- data/evaluation/dictionary_generator.rb +36 -0
- data/evaluation/incorrect_words.yaml +1159 -0
- data/ext/did_you_mean/extconf.rb +1 -1
- data/ext/did_you_mean/{method_missing.c → method_receiver.c} +1 -1
- data/lib/did_you_mean.rb +22 -3
- data/lib/did_you_mean/core_ext/name_error.rb +30 -22
- data/lib/did_you_mean/core_ext/no_method_error.rb +13 -2
- data/lib/did_you_mean/core_ext/rubinius.rb +16 -0
- data/lib/did_you_mean/finders.rb +48 -17
- data/lib/did_you_mean/finders/method_finder.rb +62 -0
- data/lib/did_you_mean/finders/name_error_finders.rb +8 -11
- data/lib/did_you_mean/finders/name_error_finders/class_finder.rb +77 -0
- data/lib/did_you_mean/finders/name_error_finders/name_finder.rb +18 -0
- data/lib/did_you_mean/formatter.rb +20 -0
- data/lib/did_you_mean/jaro_winkler.rb +87 -0
- data/lib/did_you_mean/test_helper.rb +1 -1
- data/lib/did_you_mean/version.rb +1 -1
- data/test/core_ext/name_error_extension_test.rb +74 -0
- data/test/{no_method_error_extension_test.rb → core_ext/no_method_error_extension_test.rb} +1 -1
- data/test/correctable/class_name_test.rb +65 -0
- data/test/correctable/method_name_test.rb +84 -0
- data/test/{null_finder_test.rb → correctable/uncorrectable_name_test.rb} +3 -7
- data/test/correctable/variable_name_test.rb +79 -0
- data/test/edit_distance/jaro_winkler_test.rb +30 -0
- data/test/test_helper.rb +2 -20
- data/test/word_collection_test.rb +76 -12
- metadata +58 -56
- data/Appraisals +0 -23
- data/gemfiles/activerecord_32.gemfile +0 -21
- data/gemfiles/activerecord_40.gemfile +0 -21
- data/gemfiles/activerecord_41.gemfile +0 -21
- data/gemfiles/activerecord_42.gemfile +0 -21
- data/gemfiles/activerecord_edge.gemfile +0 -25
- data/lib/did_you_mean/finders/name_error_finders/similar_class_finder.rb +0 -50
- data/lib/did_you_mean/finders/name_error_finders/similar_name_finder.rb +0 -61
- data/lib/did_you_mean/finders/similar_attribute_finder.rb +0 -26
- data/lib/did_you_mean/finders/similar_method_finder.rb +0 -34
- data/lib/did_you_mean/word_collection.rb +0 -30
- data/test/all_test.rb +0 -18
- data/test/name_error_extension_test.rb +0 -73
- data/test/similar_attribute_finder_test.rb +0 -17
- data/test/similar_class_finder_test.rb +0 -85
- data/test/similar_method_finder_test.rb +0 -60
- data/test/similar_name_finder_test.rb +0 -62
@@ -1,62 +0,0 @@
|
|
1
|
-
require_relative 'test_helper'
|
2
|
-
|
3
|
-
class SimilarNameFinderTest < Minitest::Test
|
4
|
-
class User
|
5
|
-
def initialize(options = {})
|
6
|
-
@email = options[:email]
|
7
|
-
end
|
8
|
-
|
9
|
-
def call_flrst_name; f1rst_name; end
|
10
|
-
def call_fr0m_module; fr0m_module; end
|
11
|
-
def first_name; end
|
12
|
-
def to_s
|
13
|
-
"#{@first_name} #{@last_name} <#{email}>"
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
module UserModule
|
18
|
-
def from_module; end
|
19
|
-
end
|
20
|
-
|
21
|
-
def setup
|
22
|
-
user = User.new.extend(UserModule)
|
23
|
-
|
24
|
-
@error_from_instance_method = assert_raises(NameError){ user.call_flrst_name }
|
25
|
-
@error_from_module_method = assert_raises(NameError){ user.call_fr0m_module }
|
26
|
-
@error_from_missing_at_sign = assert_raises(NameError){ user.to_s }
|
27
|
-
|
28
|
-
# Use begin + rescue as #assert_raises changes a scope.
|
29
|
-
@error_from_local_variable = begin
|
30
|
-
userr
|
31
|
-
rescue NameError => e
|
32
|
-
e
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_similar_words
|
37
|
-
assert_suggestion @error_from_instance_method.finder.similar_words, "first_name"
|
38
|
-
assert_suggestion @error_from_module_method.finder.similar_words, "from_module"
|
39
|
-
assert_suggestion @error_from_local_variable.finder.similar_words, "user"
|
40
|
-
assert_suggestion @error_from_missing_at_sign.finder.similar_words, "email"
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_similar_instance_methods
|
44
|
-
assert_suggestion @error_from_instance_method.finder.similar_methods, "first_name"
|
45
|
-
assert_suggestion @error_from_module_method.finder.similar_methods, "from_module"
|
46
|
-
end
|
47
|
-
|
48
|
-
def test_similar_local_variables
|
49
|
-
assert_suggestion @error_from_local_variable.finder.similar_local_variables, "user"
|
50
|
-
end
|
51
|
-
|
52
|
-
def test_similar_instance_variables
|
53
|
-
assert_suggestion @error_from_missing_at_sign.finder.similar_instance_variables, "email"
|
54
|
-
end
|
55
|
-
|
56
|
-
def test_did_you_mean?
|
57
|
-
assert_match "Did you mean? #first_name", @error_from_instance_method.did_you_mean?
|
58
|
-
assert_match "Did you mean? #from_module", @error_from_module_method.did_you_mean?
|
59
|
-
assert_match "Did you mean? user", @error_from_local_variable.did_you_mean?
|
60
|
-
assert_match "Did you mean? @email", @error_from_missing_at_sign.did_you_mean?
|
61
|
-
end
|
62
|
-
end
|