spec/re2/match_data_spec.rb in re2-0.5.0 vs spec/re2/match_data_spec.rb in re2-0.6.0.pre
- old
+ new
@@ -66,9 +66,25 @@
it "returns nil if no such named group exists" do
md = RE2::Regexp.new('(\d+)').match("bob 123")
md["missing"].must_be_nil
md[:missing].must_be_nil
end
+
+ if String.method_defined?(:encoding)
+ it "returns UTF-8 encoded strings by default" do
+ md = RE2::Regexp.new('(?P<name>\S+)').match("bob")
+ md[0].encoding.name.must_equal("UTF-8")
+ md["name"].encoding.name.must_equal("UTF-8")
+ md[:name].encoding.name.must_equal("UTF-8")
+ end
+
+ it "returns Latin 1 strings encoding when utf-8 is false" do
+ md = RE2::Regexp.new('(?P<name>\S+)', :utf8 => false).match('bob')
+ md[0].encoding.name.must_equal("ISO-8859-1")
+ md["name"].encoding.name.must_equal("ISO-8859-1")
+ md[:name].encoding.name.must_equal("ISO-8859-1")
+ end
+ end
end
describe "#string" do
it "returns the original string to match against" do
re = RE2::Regexp.new('(\D+)').match("bob")