diff options
Diffstat (limited to 'spec/ruby/core/string/codepoints_spec.rb')
| -rw-r--r-- | spec/ruby/core/string/codepoints_spec.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/ruby/core/string/codepoints_spec.rb b/spec/ruby/core/string/codepoints_spec.rb new file mode 100644 index 0000000000..12a5bf5892 --- /dev/null +++ b/spec/ruby/core/string/codepoints_spec.rb @@ -0,0 +1,18 @@ +# encoding: binary +require_relative '../../spec_helper' +require_relative 'shared/codepoints' +require_relative 'shared/each_codepoint_without_block' + +describe "String#codepoints" do + it_behaves_like :string_codepoints, :codepoints + + it "returns an Array when no block is given" do + "abc".codepoints.should == [?a.ord, ?b.ord, ?c.ord] + end + + it "raises an ArgumentError when no block is given if self has an invalid encoding" do + s = "\xDF".dup.force_encoding(Encoding::UTF_8) + s.valid_encoding?.should be_false + -> { s.codepoints }.should raise_error(ArgumentError) + end +end |
