RSpec.describe HTTP::Options, "headers" do
  let(:opts) { HTTP::Options.new }

  it "defaults to be empty" do
    expect(opts.headers).to be_empty
  end

  it "may be specified with with_headers" do
    opts2 = opts.with_headers("accept" => "json")
    expect(opts.headers).to be_empty
    expect(opts2.headers).to eq([%w(Accept json)])
  end

  it "accepts any object that respond to :to_hash" do
    x = Struct.new(:to_hash).new("accept" => "json")
    expect(opts.with_headers(x).headers["accept"]).to eq("json")
  end
end
