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