Add new spec for properly initializing boolean values


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@668985 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/rb/spec/ThriftSpec.thrift b/lib/rb/spec/ThriftSpec.thrift
index f22f17d..101caff 100644
--- a/lib/rb/spec/ThriftSpec.thrift
+++ b/lib/rb/spec/ThriftSpec.thrift
@@ -12,3 +12,7 @@
   5: map<i32, map<string, double>> complex,
   6: set<i16> shorts = [5, 17, 239]
 }
+
+struct BoolStruct {
+  1: bool yesno = 1
+}
diff --git a/lib/rb/spec/gen-rb/ThriftSpec_types.rb b/lib/rb/spec/gen-rb/ThriftSpec_types.rb
index c4eab4d..f34b7bc 100644
--- a/lib/rb/spec/gen-rb/ThriftSpec_types.rb
+++ b/lib/rb/spec/gen-rb/ThriftSpec_types.rb
@@ -38,4 +38,12 @@
       }
     end
 
+    class BoolStruct
+      include Thrift::Struct
+      attr_accessor :yesno
+      FIELDS = {
+        1 => {:type => Thrift::Types::BOOL, :name => 'yesno', :default => true}
+      }
+    end
+
   end
diff --git a/lib/rb/spec/struct_spec.rb b/lib/rb/spec/struct_spec.rb
index e57d555..16c3b1f 100644
--- a/lib/rb/spec/struct_spec.rb
+++ b/lib/rb/spec/struct_spec.rb
@@ -47,6 +47,11 @@
     end
   end
 
+  it "should properly initialize boolean values" do
+    struct = BoolStruct.new(:yesno => false)
+    struct.yesno.should be_false
+  end
+
   it "should have proper == semantics" do
     Foo.new.should_not == Hello.new
     Foo.new.should == Foo.new