Class: RubyIndexer::MethodTest

Inherits:
TestCase
  • Object
show all
Defined in:
lib/ruby_indexer/test/method_test.rb

Instance Method Summary collapse

Methods inherited from TestCase

#setup

Instance Method Details

#test_ignores_attributes_invoked_on_constantObject



142
143
144
145
146
147
148
149
150
151
# File 'lib/ruby_indexer/test/method_test.rb', line 142

def test_ignores_attributes_invoked_on_constant
  index("    class Foo\n    end\n\n    Foo.attr_reader :bar\n  RUBY\n\n  assert_no_entry(\"bar\")\nend\n")

#test_keeps_track_of_attributesObject



123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# File 'lib/ruby_indexer/test/method_test.rb', line 123

def test_keeps_track_of_attributes
  index("    class Foo\n      # Hello there\n      attr_reader :bar, :other\n      attr_writer :baz\n      attr_accessor :qux\n    end\n  RUBY\n\n  assert_entry(\"bar\", Entry::Accessor, \"/fake/path/foo.rb:2-15:2-18\")\n  assert_equal(\"Hello there\", @index[\"bar\"].first.comments.join(\"\\n\"))\n  assert_entry(\"other\", Entry::Accessor, \"/fake/path/foo.rb:2-21:2-26\")\n  assert_equal(\"Hello there\", @index[\"other\"].first.comments.join(\"\\n\"))\n  assert_entry(\"baz=\", Entry::Accessor, \"/fake/path/foo.rb:3-15:3-18\")\n  assert_entry(\"qux\", Entry::Accessor, \"/fake/path/foo.rb:4-17:4-20\")\n  assert_entry(\"qux=\", Entry::Accessor, \"/fake/path/foo.rb:4-17:4-20\")\nend\n")

#test_keeps_track_of_method_ownerObject



109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/ruby_indexer/test/method_test.rb', line 109

def test_keeps_track_of_method_owner
  index("    class Foo\n      def bar\n      end\n    end\n  RUBY\n\n  entry = T.must(@index[\"bar\"].first)\n  owner_name = T.must(entry.owner).name\n\n  assert_equal(\"Foo\", owner_name)\nend\n")

#test_method_with_destructed_parametersObject



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/ruby_indexer/test/method_test.rb', line 57

def test_method_with_destructed_parameters
  index("    class Foo\n      def bar((a, (b, )))\n      end\n    end\n  RUBY\n\n  assert_entry(\"bar\", Entry::InstanceMethod, \"/fake/path/foo.rb:1-2:2-5\")\n  entry = T.must(@index[\"bar\"].first)\n  assert_equal(1, entry.parameters.length)\n  parameter = entry.parameters.first\n  assert_equal(:\"(a, (b, ))\", parameter.name)\n  assert_instance_of(Entry::RequiredParameter, parameter)\nend\n")

#test_method_with_keyword_parametersObject



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/ruby_indexer/test/method_test.rb', line 89

def test_method_with_keyword_parameters
  index("    class Foo\n      def bar(a:, b: 123)\n      end\n    end\n  RUBY\n\n  assert_entry(\"bar\", Entry::InstanceMethod, \"/fake/path/foo.rb:1-2:2-5\")\n  entry = T.must(@index[\"bar\"].first)\n  assert_equal(2, entry.parameters.length)\n  a, b = entry.parameters\n\n  assert_equal(:a, a.name)\n  assert_instance_of(Entry::KeywordParameter, a)\n\n  assert_equal(:b, b.name)\n  assert_instance_of(Entry::OptionalKeywordParameter, b)\nend\n")

#test_method_with_no_parametersObject



8
9
10
11
12
13
14
15
16
17
# File 'lib/ruby_indexer/test/method_test.rb', line 8

def test_method_with_no_parameters
  index("    class Foo\n      def bar\n      end\n    end\n  RUBY\n\n  assert_entry(\"bar\", Entry::InstanceMethod, \"/fake/path/foo.rb:1-2:2-5\")\nend\n")

#test_method_with_optional_parametersObject



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/ruby_indexer/test/method_test.rb', line 73

def test_method_with_optional_parameters
  index("    class Foo\n      def bar(a = 123)\n      end\n    end\n  RUBY\n\n  assert_entry(\"bar\", Entry::InstanceMethod, \"/fake/path/foo.rb:1-2:2-5\")\n  entry = T.must(@index[\"bar\"].first)\n  assert_equal(1, entry.parameters.length)\n  parameter = entry.parameters.first\n  assert_equal(:a, parameter.name)\n  assert_instance_of(Entry::OptionalParameter, parameter)\nend\n")

#test_method_with_parametersObject



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/ruby_indexer/test/method_test.rb', line 41

def test_method_with_parameters
  index("    class Foo\n      def bar(a)\n      end\n    end\n  RUBY\n\n  assert_entry(\"bar\", Entry::InstanceMethod, \"/fake/path/foo.rb:1-2:2-5\")\n  entry = T.must(@index[\"bar\"].first)\n  assert_equal(1, entry.parameters.length)\n  parameter = entry.parameters.first\n  assert_equal(:a, parameter.name)\n  assert_instance_of(Entry::RequiredParameter, parameter)\nend\n")

#test_singleton_method_using_other_receiver_is_not_indexedObject



30
31
32
33
34
35
36
37
38
39
# File 'lib/ruby_indexer/test/method_test.rb', line 30

def test_singleton_method_using_other_receiver_is_not_indexed
  index("    class Foo\n      def String.bar\n      end\n    end\n  RUBY\n\n  assert_no_entry(\"bar\")\nend\n")

#test_singleton_method_using_self_receiverObject



19
20
21
22
23
24
25
26
27
28
# File 'lib/ruby_indexer/test/method_test.rb', line 19

def test_singleton_method_using_self_receiver
  index("    class Foo\n      def self.bar\n      end\n    end\n  RUBY\n\n  assert_entry(\"bar\", Entry::SingletonMethod, \"/fake/path/foo.rb:1-2:2-5\")\nend\n")