rb: Ensure the specs that expect deprecation warnings actually get them [THRIFT-56]
authorKevin Clark <kclark@apache.org>
Thu, 26 Jun 2008 18:45:29 +0000 (18:45 +0000)
committerKevin Clark <kclark@apache.org>
Thu, 26 Jun 2008 18:45:29 +0000 (18:45 +0000)
Author: Kevin Ballard <kevin@rapleaf.com>

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@671985 13f79535-47bb-0310-9956-ffa450edef68

lib/rb/lib/thrift/deprecation.rb
lib/rb/spec/backwards_compatibility_spec.rb
lib/rb/spec/deprecation_spec.rb

index 6a422a8..175f0ce 100644 (file)
@@ -123,6 +123,10 @@ module Thrift::DeprecationProxy # :nodoc:
     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
index eb35a95..6c9d835 100644 (file)
@@ -5,6 +5,7 @@ require 'thrift/transport/httpclient'
 
 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],
index 4ca4ee3..77786d8 100644 (file)
@@ -14,6 +14,10 @@ shared_examples_for "deprecation" do
     Thrift.const_set :DEPRECATION, false
   end
 
+  before(:each) do
+    Thrift::DeprecationProxy.reset_deprecation_warnings
+  end
+
   def ensure_const_removed(name, &block)
     begin
       block.call