require 'spec_helper' require_dependency "freedom_patches/safe_buffer" describe ActiveSupport::SafeBuffer do it "can cope with encoding weirdness" do buffer = ActiveSupport::SafeBuffer.new buffer << "\330".force_encoding("ASCII-8BIT") buffer.force_encoding "ASCII-8BIT" buffer << "hello\330\271" buffer << "hello#{254.chr}".force_encoding("ASCII-8BIT").freeze # we pay a cost for force encoding, the h gets dropped buffer.should =~ /ello.*hello/ end end