Skip to content

Commit

Permalink
Implements the StringIO#set_encoding.
Browse files Browse the repository at this point in the history
Test Script:
{{{
require 'test/unit/assertions.rb'
include Test::Unit::Assertions
require 'stringio'

str = "foo\nbar\n"
s = StringIO.new(str, "r")
t = s.set_encoding("UTF-8")
assert_equal(StringIO, t.class)
assert_equal("UTF-8", s.string.encoding.to_s)

str.freeze
s.set_encoding("euc-jp")
assert_equal("EUC-JP", s.string.encoding.to_s)

puts :ok
}}}
  • Loading branch information
Watson1978 committed Apr 7, 2011
1 parent 976f5c6 commit 9e4d11a
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions lib/stringio.rb
Expand Up @@ -678,6 +678,11 @@ def internal_encoding
nil
end

def set_encoding(enc)
@string = @string.encode(enc)
self
end

protected

# meant to be overwritten by developers
Expand Down

0 comments on commit 9e4d11a

Please sign in to comment.