diff options
author | Louise Crow <louise.crow@gmail.com> | 2013-07-25 17:14:17 +0100 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2013-07-25 17:14:17 +0100 |
commit | 1c9b3a8a4a441287cd607bb753661710f16a083a (patch) | |
tree | c7d49955979bb264e11243caa20084723351031a /spec/models | |
parent | deee20780a19de705d21984ce19e8d0ecf42a701 (diff) |
Prevent erroneous internal error messages with multibyte characters under ruby 1.8 by using mb_chars for length comparison - it counts multibyte characters.
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/incoming_message_spec.rb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/spec/models/incoming_message_spec.rb b/spec/models/incoming_message_spec.rb index 3c924dcb3..ff6a8e34e 100644 --- a/spec/models/incoming_message_spec.rb +++ b/spec/models/incoming_message_spec.rb @@ -328,7 +328,18 @@ describe IncomingMessage, " when censoring data" do data.should == "His email was x\000x\000x\000@\000x\000x\000x\000.\000x\000x\000x\000, indeed" end - + it 'should handle multibyte characters correctly', :focus => true do + orig_data = 'á' + data = orig_data.dup + @regex_censor_rule = CensorRule.new() + @regex_censor_rule.text = 'á' + @regex_censor_rule.regexp = true + @regex_censor_rule.replacement = 'cat' + @regex_censor_rule.last_edit_editor = 'unknown' + @regex_censor_rule.last_edit_comment = 'none' + @im.info_request.censor_rules << @regex_censor_rule + lambda{ @im.binary_mask_stuff!(data, "text/plain") }.should_not raise_error + end def pdf_replacement_test(use_ghostscript_compression) config = MySociety::Config.load_default() |