summaryrefslogtreecommitdiff
path: root/spec/ruby/shared/sizedqueue/max.rb
blob: ea10d24be03b2098438a2dda0d08479c3e329fb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
describe :sizedqueue_max, shared: true do
  it "returns the size of the queue" do
    q = @object.call(5)
    q.max.should == 5
  end
end

describe :sizedqueue_max=, shared: true do
  it "sets the size of the queue" do
    q = @object.call(5)
    q.max.should == 5
    q.max = 10
    q.max.should == 10
  end

  it "does not remove items already in the queue beyond the maximum" do
    q = @object.call(5)
    q.enq 1
    q.enq 2
    q.enq 3
    q.max = 2
    (q.size > q.max).should be_true
    q.deq.should == 1
    q.deq.should == 2
    q.deq.should == 3
  end

  it "raises a TypeError when given a non-numeric value" do
    q = @object.call(5)
    -> { q.max = "foo" }.should raise_error(TypeError)
    -> { q.max = Object.new }.should raise_error(TypeError)
  end

  it "raises an argument error when set to zero" do
    q = @object.call(5)
    q.max.should == 5
    -> { q.max = 0 }.should raise_error(ArgumentError)
    q.max.should == 5
  end

  it "raises an argument error when set to a negative number" do
    q = @object.call(5)
    q.max.should == 5
    -> { q.max = -1 }.should raise_error(ArgumentError)
    q.max.should == 5
  end
end
a2'>[rubygems/rubygems] Diagnose when OpenSSL can't be loaded.Edouard CHIN https://github.com/rubygems/rubygems/commit/e6aa8aabcd 2025-04-22[rubygems/rubygems] Add the `bundle doctor subcommand` skeleton:Edouard CHIN - The command can either be run using: 1. `bundle doctor --ssl` 2. `bundle doctor ssl` The later is most useful when you need to specify custom ssl options (such as the verify mode or the TLS version when running the diagnostic). The implementation will follow in the next commits. https://github.com/rubygems/rubygems/commit/993d12874c 2025-04-22[rubygems/rubygems] Import the SSL Check script:Edouard CHIN - Copy/pasted from https://github.com/rubygems/ruby-ssl-check. The next commits will break it down for easier reviewing. https://github.com/rubygems/rubygems/commit/aa643a11b1 2025-01-30Removed executables of bundled gemsHiroshi SHIBATA 2024-10-18[ruby/syntax_suggest] A gem executable should not use require_relativeBenoit Daloze Otherwise it makes incorrect assumption about RubyGems layout. https://github.com/ruby/syntax_suggest/commit/04585d820d 2024-10-17[ruby/syntax_suggest] Fallback to load syntax_suggest/api when failing to ↵Hiroshi SHIBATA load with require_relative. https://github.com/ruby/syntax_suggest/commit/b782897560 2023-12-07[rubygems/rubygems] Use modern hashes consistentlyDavid Rodríguez https://github.com/rubygems/rubygems/commit/bb66253f2c 2023-11-13[rubygems/rubygems] Drop support for Ruby 2.6 and Ruby 2.7 in BundlerDavid Rodríguez https://github.com/rubygems/rubygems/commit/93619c97ff