[macruby-changes] [1403] MacRuby/branches/experimental/spec/frozen/core/string/ valid_encoding_spec.rb
source_changes at macosforge.org
source_changes at macosforge.org
Wed Apr 8 22:58:27 PDT 2009
Revision: 1403
http://trac.macosforge.org/projects/ruby/changeset/1403
Author: vincent.isambart at gmail.com
Date: 2009-04-08 22:58:22 -0700 (Wed, 08 Apr 2009)
Log Message:
-----------
first try at making a 1.9 spec
Added Paths:
-----------
MacRuby/branches/experimental/spec/frozen/core/string/valid_encoding_spec.rb
Added: MacRuby/branches/experimental/spec/frozen/core/string/valid_encoding_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/string/valid_encoding_spec.rb (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/core/string/valid_encoding_spec.rb 2009-04-09 05:58:22 UTC (rev 1403)
@@ -0,0 +1,49 @@
+# coding: UTF-8
+ruby_version_is "1.9" do
+ describe "String#valid_encoding?" do
+ it "returns true for a valid encoding" do
+ "abcdef".valid_encoding?.should be_true
+ "こんにちは".valid_encoding?.should be_true
+ "\xE3\x81\x82".valid_encoding?.should be_true # 'あ' in UTF-8
+ end
+
+ it "returns true for a valid encoding and a null character" do
+ "abc\0def".valid_encoding?.should be_true
+ "こん\0にちは".valid_encoding?.should be_true
+ "\0\xE3\x81\x82".valid_encoding?.should be_true # 'あ' in UTF-8
+ end
+
+ it "always returns true for binary encoding" do
+ 'abcdef'.force_encoding('ASCII-8BIT').valid_encoding?.should be_true
+ 'こんにちは'.force_encoding('ASCII-8BIT').valid_encoding?.should be_true
+ "\xE3\x81\x82".force_encoding('ASCII-8BIT').valid_encoding?.should be_true # 'あ' in UTF-8
+ "\xE3".force_encoding('ASCII-8BIT').valid_encoding?.should be_true
+ end
+
+ it "returns false for an invalid encoding" do
+ "\xE3".valid_encoding?.should be_false
+ "\xE3\x0\x82".valid_encoding?.should be_false
+ "\xA4\xA2".valid_encoding?.should be_false # 'あ' in EUC-JP (invalid UTF-8)
+ end
+
+ it "returns false when a valid encoding has been made invalid" do
+ str = 'こんにちは'
+ str.setbyte(0, 0)
+ str.valid_encoding?.should be_false
+
+ str = 'こんにちは'
+ str.force_encoding('EUC-JP')
+ str.valid_encoding?.should be_false
+ end
+
+ it "returns true for an invalid encoding made valid" do
+ str = "\xE3\x0\x82"
+ str.setbyte(1, 0x81)
+ str.valid_encoding?.should be_true
+
+ str = "\xA4\xA2" # 'あ' in EUC-JP
+ str.force_encoding('EUC-JP') # set the correct encoding
+ str.valid_encoding?.should be_true
+ end
+ end
+end
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090408/81d19369/attachment.html>
More information about the macruby-changes
mailing list