free_mutant/test_app/lib/test_app.rb
2018-11-06 11:06:04 -08:00

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