THRIFT-352. rb: Implicit enums should be valid values
authorKevin Clark <kclark@apache.org>
Wed, 4 Mar 2009 21:42:46 +0000 (21:42 +0000)
committerKevin Clark <kclark@apache.org>
Wed, 4 Mar 2009 21:42:46 +0000 (21:42 +0000)
Author: Gary Tsang

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

compiler/cpp/src/generate/t_rb_generator.cc
test/rb/generation/test_enum.rb [new file with mode: 0644]

index da9544f..169b807 100644 (file)
@@ -303,10 +303,8 @@ void t_rb_generator::generate_enum(t_enum* tenum) {
   bool first = true;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
     // Populate the set
-    if ((*c_iter)->has_value()){
-      first ? first = false: f_types_ << ", ";
-      f_types_ << capitalize((*c_iter)->get_name());
-    }          
+    first ? first = false: f_types_ << ", ";
+    f_types_ << capitalize((*c_iter)->get_name());
   }
   f_types_ << "]).freeze" << endl;
 
diff --git a/test/rb/generation/test_enum.rb b/test/rb/generation/test_enum.rb
new file mode 100644 (file)
index 0000000..75ed42b
--- /dev/null
@@ -0,0 +1,9 @@
+require File.join(File.dirname(__FILE__), '../test_helper')
+require 'ThriftTest'
+
+class TestEnumGeneration < Test::Unit::TestCase
+  include Thrift::Test
+  def test_enum_valid_values
+    assert_equal(Numberz::VALID_VALUES, Set.new([Numberz::ONE, Numberz::TWO, Numberz::THREE, Numberz::FIVE, Numberz::SIX, Numberz::EIGHT]))
+  end
+end
\ No newline at end of file