Add bin and edit workflow
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 9s

This commit is contained in:
2026-09-16 13:11:16 -06:00
parent c8ac4fcae5
commit 4cee170d66
17576 changed files with 895740 additions and 2 deletions
@@ -0,0 +1,152 @@
# frozen_string_literal: true
require 'spec_helper'
describe Ethon::Easy::ResponseCallbacks do
let(:easy) { Ethon::Easy.new }
[:on_complete, :on_headers, :on_body, :on_progress].each do |callback_type|
describe "##{callback_type}" do
it "responds" do
expect(easy).to respond_to("#{callback_type}")
end
context "when no block given" do
it "returns @#{callback_type}" do
expect(easy.send("#{callback_type}")).to eq([])
end
end
context "when block given" do
it "stores" do
easy.send(callback_type) { p 1 }
expect(easy.instance_variable_get("@#{callback_type}").size).to eq(1)
end
end
context "when multiple blocks given" do
it "stores" do
easy.send(callback_type) { p 1 }
easy.send(callback_type) { p 2 }
expect(easy.instance_variable_get("@#{callback_type}").size).to eq(2)
end
end
end
end
describe "#complete" do
before do
easy.on_complete {|r| String.new(r.url) }
end
it "executes blocks and passes self" do
expect(String).to receive(:new).with(easy.url)
easy.complete
end
context "when @on_complete nil" do
it "doesn't raise" do
easy.instance_variable_set(:@on_complete, nil)
expect{ easy.complete }.to_not raise_error
end
end
end
describe "#headers" do
before do
easy.on_headers {|r| String.new(r.url) }
end
it "executes blocks and passes self" do
expect(String).to receive(:new).with(easy.url)
easy.headers
end
context "when @on_headers nil" do
it "doesn't raise" do
easy.instance_variable_set(:@on_headers, nil)
expect{ easy.headers }.to_not raise_error
end
end
end
describe "#progress" do
context "when requesting for realz" do
it "executes callback" do
post = Ethon::Easy::Http::Post.new("http://localhost:3001", {:body => "bar=fu"})
post.setup(easy)
@called = false
@has_dltotal = false
@has_ultotal = false
easy.on_progress { @called = true }
easy.on_progress { |dltotal, _, _, _| @has_dltotal ||= true }
easy.on_progress { |_, _, ultotal, _| @has_ultotal ||= true }
easy.perform
expect(@called).to be true
expect(@has_dltotal).to be true
expect(@has_ultotal).to be true
end
end
context "when pretending" do
before do
@dltotal = nil
@dlnow = nil
@ultotal = nil
@ulnow = nil
easy.on_progress { |dltotal, dlnow, ultotal, ulnow| @dltotal = dltotal ; @dlnow = dlnow; @ultotal = ultotal; @ulnow = ulnow }
end
it "executes blocks and passes dltotal" do
easy.progress(1, 2, 3, 4)
expect(@dltotal).to eq(1)
end
it "executes blocks and passes dlnow" do
easy.progress(1, 2, 3, 4)
expect(@dlnow).to eq(2)
end
it "executes blocks and passes ultotal" do
easy.progress(1, 2, 3, 4)
expect(@ultotal).to eq(3)
end
it "executes blocks and passes ulnow" do
easy.progress(1, 2, 3, 4)
expect(@ulnow).to eq(4)
end
context "when @on_progress nil" do
it "doesn't raise" do
easy.instance_variable_set(:@on_progress, nil)
expect{ easy.progress(1, 2, 3, 4) }.to_not raise_error
end
end
end
end
describe "#body" do
before do
@chunk = nil
@r = nil
easy.on_body { |chunk, r| @chunk = chunk ; @r = r }
end
it "executes blocks and passes self" do
easy.body("the chunk")
expect(@r).to be(easy)
end
it "executes blocks and passes chunk" do
easy.body("the chunk")
expect(@chunk).to eq("the chunk")
end
context "when @on_body nil" do
it "doesn't raise" do
easy.instance_variable_set(:@on_body, nil)
expect{ easy.body("the chunk") }.to_not raise_error
end
end
end
end