# frozen_string_literal: true 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 expect(buffer).to match(/ello.*hello/) end end