Index: third_party/protobuf/ruby/tests/well_known_types_test.rb |
diff --git a/third_party/protobuf/ruby/tests/well_known_types_test.rb b/third_party/protobuf/ruby/tests/well_known_types_test.rb |
deleted file mode 100644 |
index 9b46632b72c34012698bf69657fc91c31939ee1e..0000000000000000000000000000000000000000 |
--- a/third_party/protobuf/ruby/tests/well_known_types_test.rb |
+++ /dev/null |
@@ -1,122 +0,0 @@ |
-#!/usr/bin/ruby |
- |
-require 'test/unit' |
-require 'google/protobuf/well_known_types' |
- |
-class TestWellKnownTypes < Test::Unit::TestCase |
- def test_timestamp |
- ts = Google::Protobuf::Timestamp.new |
- |
- assert_equal Time.at(0), ts.to_time |
- |
- ts.seconds = 12345 |
- assert_equal Time.at(12345), ts.to_time |
- assert_equal 12345, ts.to_i |
- |
- ts.from_time(Time.at(123456, 654321)) |
- assert_equal 123456, ts.seconds |
- assert_equal 654321000, ts.nanos |
- assert_equal Time.at(123456.654321), ts.to_time |
- end |
- |
- def test_duration |
- duration = Google::Protobuf::Duration.new(seconds: 123, nanos: 456) |
- assert_equal 123.000000456, duration.to_f |
- end |
- |
- def test_struct |
- struct = Google::Protobuf::Struct.new |
- |
- substruct = { |
- "subkey" => 999, |
- "subkey2" => false |
- } |
- |
- sublist = ["abc", 123, {"deepkey" => "deepval"}] |
- |
- struct["number"] = 12345 |
- struct["boolean-true"] = true |
- struct["boolean-false"] = false |
- struct["null"] = nil |
- struct["string"] = "abcdef" |
- struct["substruct"] = substruct |
- struct["sublist"] = sublist |
- |
- assert_equal 12345, struct["number"] |
- assert_equal true, struct["boolean-true"] |
- assert_equal false, struct["boolean-false"] |
- assert_equal nil, struct["null"] |
- assert_equal "abcdef", struct["string"] |
- assert_equal(Google::Protobuf::Struct.from_hash(substruct), |
- struct["substruct"]) |
- assert_equal(Google::Protobuf::ListValue.from_a(sublist), |
- struct["sublist"]) |
- |
- should_equal = { |
- "number" => 12345, |
- "boolean-true" => true, |
- "boolean-false" => false, |
- "null" => nil, |
- "string" => "abcdef", |
- "substruct" => { |
- "subkey" => 999, |
- "subkey2" => false |
- }, |
- "sublist" => ["abc", 123, {"deepkey" => "deepval"}] |
- } |
- |
- list = struct["sublist"] |
- list.is_a?(Google::Protobuf::ListValue) |
- assert_equal "abc", list[0] |
- assert_equal 123, list[1] |
- assert_equal({"deepkey" => "deepval"}, list[2].to_h) |
- |
- # to_h returns a fully-flattened Ruby structure (Hash and Array). |
- assert_equal(should_equal, struct.to_h) |
- |
- # Test that we can assign Struct and ListValue directly. |
- struct["substruct"] = Google::Protobuf::Struct.from_hash(substruct) |
- struct["sublist"] = Google::Protobuf::ListValue.from_a(sublist) |
- |
- assert_equal(should_equal, struct.to_h) |
- |
- struct["sublist"] << nil |
- should_equal["sublist"] << nil |
- |
- assert_equal(should_equal, struct.to_h) |
- assert_equal(should_equal["sublist"].length, struct["sublist"].length) |
- |
- assert_raise Google::Protobuf::UnexpectedStructType do |
- struct[123] = 5 |
- end |
- |
- assert_raise Google::Protobuf::UnexpectedStructType do |
- struct[5] = Time.new |
- end |
- |
- assert_raise Google::Protobuf::UnexpectedStructType do |
- struct[5] = [Time.new] |
- end |
- |
- assert_raise Google::Protobuf::UnexpectedStructType do |
- struct[5] = {123 => 456} |
- end |
- |
- assert_raise Google::Protobuf::UnexpectedStructType do |
- struct = Google::Protobuf::Struct.new |
- struct.fields["foo"] = Google::Protobuf::Value.new |
- # Tries to return a Ruby value for a Value class whose type |
- # hasn't been filled in. |
- struct["foo"] |
- end |
- end |
- |
- def test_any |
- any = Google::Protobuf::Any.new |
- ts = Google::Protobuf::Timestamp.new(seconds: 12345, nanos: 6789) |
- any.pack(ts) |
- |
- assert any.is(Google::Protobuf::Timestamp) |
- assert_equal ts, any.unpack(Google::Protobuf::Timestamp) |
- end |
-end |