This is an automated email from the ASF dual-hosted git repository.

fokko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/avro.git


The following commit(s) were added to refs/heads/master by this push:
     new c62a8f9  AVRO-1989: Ruby schema validation should  use bytesize in 
error msg (#451)
c62a8f9 is described below

commit c62a8f9d11c85c18a9df1f28d23fe0396f7766b9
Author: Fokko Driesprong <[email protected]>
AuthorDate: Tue Feb 12 16:55:09 2019 +0100

    AVRO-1989: Ruby schema validation should  use bytesize in error msg (#451)
    
    * AVRO-1989: Ruby schema validation should use bytesize in error msg
    
    * AVRO-1989: Add a test to verify the behaviour
    
    * AVRO-1989: Add a test to verify the behaviour
---
 lang/ruby/lib/avro/schema_validator.rb  | 2 +-
 lang/ruby/test/test_schema_validator.rb | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/lang/ruby/lib/avro/schema_validator.rb 
b/lang/ruby/lib/avro/schema_validator.rb
index 28022a8..485092c 100644
--- a/lang/ruby/lib/avro/schema_validator.rb
+++ b/lang/ruby/lib/avro/schema_validator.rb
@@ -149,7 +149,7 @@ module Avro
       end
 
       def fixed_string_message(size, datum)
-        "expected fixed with size #{size}, got \"#{datum}\" with size 
#{datum.size}"
+        "expected fixed with size #{size}, got \"#{datum}\" with size 
#{datum.bytesize}"
       end
 
       def enum_message(symbols, datum)
diff --git a/lang/ruby/test/test_schema_validator.rb 
b/lang/ruby/test/test_schema_validator.rb
index c4759da..9b74d61 100644
--- a/lang/ruby/test/test_schema_validator.rb
+++ b/lang/ruby/test/test_schema_validator.rb
@@ -110,6 +110,13 @@ class TestSchema < Test::Unit::TestCase
     assert_failed_validation('at . expected fixed with size 3, got null') do
       validate_simple!(schema, nil)
     end
+
+    assert_failed_validation("at . expected fixed with size 3, got 
\"a\u2014b\" with size 5") do
+      validate!(schema, "a\u2014b")
+    end
+    assert_failed_validation("at . expected fixed with size 3, got 
\"a\u2014b\" with size 5") do
+      validate_simple!(schema, "a\u2014b")
+    end
   end
 
   def test_original_validate_nil

Reply via email to