rb: Ensure the specs that expect deprecation warnings actually get them [THRIFT-56]

Author: Kevin Ballard <kevin@rapleaf.com>


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@671985 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/rb/lib/thrift/deprecation.rb b/lib/rb/lib/thrift/deprecation.rb
index 6a422a8..175f0ce 100644
--- a/lib/rb/lib/thrift/deprecation.rb
+++ b/lib/rb/lib/thrift/deprecation.rb
@@ -123,6 +123,10 @@
     dir = File.dirname(__FILE__)
     stack.find { |frame| frame[0,dir.size] != dir }
   end
+  def self.reset_deprecation_warnings
+    CLASS_MAPPING.each { |k,v| v[2] = false }
+    MODULE_MAPPING.each { |k,v| v[2] = false }
+  end
 end
 
 module Kernel
diff --git a/lib/rb/spec/backwards_compatibility_spec.rb b/lib/rb/spec/backwards_compatibility_spec.rb
index eb35a95..6c9d835 100644
--- a/lib/rb/spec/backwards_compatibility_spec.rb
+++ b/lib/rb/spec/backwards_compatibility_spec.rb
@@ -5,6 +5,7 @@
 
 context "Backwards compatibility" do
   specify "old class names should map to new classes" do
+    Thrift::DeprecationProxy.reset_deprecation_warnings
     # use an Array because a Hash will call #hash and trigger deprecation warnings
     klasses = [
       [:module, :ThriftClient,               Thrift::Client],
diff --git a/lib/rb/spec/deprecation_spec.rb b/lib/rb/spec/deprecation_spec.rb
index 4ca4ee3..77786d8 100644
--- a/lib/rb/spec/deprecation_spec.rb
+++ b/lib/rb/spec/deprecation_spec.rb
@@ -14,6 +14,10 @@
     Thrift.const_set :DEPRECATION, false
   end
 
+  before(:each) do
+    Thrift::DeprecationProxy.reset_deprecation_warnings
+  end
+
   def ensure_const_removed(name, &block)
     begin
       block.call