From f5d887a4cb7fd16c7f0b4cd573759dcf3dae3eb2 Mon Sep 17 00:00:00 2001 From: "Josep M. Bach" Date: Thu, 4 Nov 2010 19:38:40 +0100 Subject: [PATCH] Started working on message expectations --- lib/stendhal/mocks.rb | 1 + lib/stendhal/mocks/spyable.rb | 25 +++++++++++++++++++++++++ spec/stendhal/spyable_spec.rb | 20 ++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 lib/stendhal/mocks/spyable.rb create mode 100644 spec/stendhal/spyable_spec.rb diff --git a/lib/stendhal/mocks.rb b/lib/stendhal/mocks.rb index e8ea09c..4208425 100644 --- a/lib/stendhal/mocks.rb +++ b/lib/stendhal/mocks.rb @@ -1,4 +1,5 @@ require 'stendhal/mocks/test_double' +require 'stendhal/mocks/spyable' module Stendhal module Mocks diff --git a/lib/stendhal/mocks/spyable.rb b/lib/stendhal/mocks/spyable.rb new file mode 100644 index 0000000..4168a84 --- /dev/null +++ b/lib/stendhal/mocks/spyable.rb @@ -0,0 +1,25 @@ +module Stendhal + module Mocks + module Spyable + # def included(base) + # base.send(:include, InstanceMethods) + # end + + # module InstanceMethods + def spy(method) + metaclass = (class << self;self;end) + metaclass.send(:alias_method, :"__original_#{method}", method.to_sym) + metaclass.send(:undef_method, method.to_sym) + metaclass.class_eval <