109 lines
1.9 KiB
Ruby
109 lines
1.9 KiB
Ruby
require 'adamantium'
|
|
|
|
original = $VERBOSE
|
|
# Silence intentional violations made to exercise the method matcher edge cases.
|
|
# This is NOT representative for could you should write!
|
|
$VERBOSE = false
|
|
# Namespace for test application
|
|
module TestApp
|
|
module InstanceMethodTests
|
|
module WithMemoizer
|
|
include Adamantium
|
|
|
|
def bar; end; def baz; end
|
|
eval('def boz; end')
|
|
def foo; end;
|
|
memoize :foo
|
|
end
|
|
|
|
module DefinedMultipleTimes
|
|
class DifferentLines
|
|
def foo
|
|
end
|
|
|
|
def foo(_arg)
|
|
end
|
|
end
|
|
|
|
class SameLineSameScope
|
|
def foo; end; def foo(_arg); end
|
|
end
|
|
|
|
class SameLineDifferentScope
|
|
def self.foo; end; def foo(_arg); end
|
|
end
|
|
end
|
|
|
|
class InClassEval
|
|
class_eval do
|
|
def foo
|
|
end
|
|
end
|
|
end
|
|
|
|
class InModuleEval
|
|
module_eval do
|
|
def foo
|
|
end
|
|
end
|
|
end
|
|
|
|
class InInstanceEval
|
|
module_eval do
|
|
def foo
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
module SingletonMethodTests
|
|
module DefinedOnSelf
|
|
def self.foo; end
|
|
end
|
|
|
|
module DefinedOnLvar
|
|
a = self
|
|
def a.foo; end
|
|
end
|
|
|
|
module DefinedOnConstant
|
|
module InsideNamespace
|
|
def InsideNamespace.foo
|
|
end
|
|
end
|
|
|
|
module OutsideNamespace
|
|
end
|
|
|
|
def OutsideNamespace.foo
|
|
end
|
|
end
|
|
|
|
module DefinedMultipleTimes
|
|
module DifferentLines
|
|
def self.foo
|
|
end
|
|
|
|
def self.foo(_arg)
|
|
end
|
|
end
|
|
|
|
module SameLine
|
|
module SameScope
|
|
def self.foo; end; def self.foo(_arg); end
|
|
end
|
|
|
|
module DifferentScope
|
|
def self.foo; end; def DifferentScope.foo(_arg); end; def SingletonMethodTests.foo; end
|
|
end
|
|
|
|
module DifferentName
|
|
def self.foo; end; def self.bar(_arg); end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
require 'test_app/literal'
|
|
$VERBOSE = original
|