File: multi_spec.rb

package info (click to toggle)
ruby-em-synchrony 1.0.5-3.1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 572 kB
  • sloc: ruby: 3,458; sh: 37; sql: 7; makefile: 2
file content (29 lines) | stat: -rw-r--r-- 733 bytes parent folder | download | duplicates (2)
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
require "helper/all"

describe EM::Synchrony do
  describe "Multi" do
    it "should require unique keys for each deferrable" do
      lambda do
        m = EM::Synchrony::Multi.new
        m.add :df1, EM::DefaultDeferrable.new
        m.add :df1, EM::DefaultDeferrable.new
      end.should raise_error("Duplicate Multi key")
    end

    context "when defferable succeeded before adding" do
      it "does not succeed twice" do
        multi = EM::Synchrony::Multi.new
        multi.should_receive(:succeed).once

        slow = EM::DefaultDeferrable.new
        multi.add :slow, slow

        quick = EM::DefaultDeferrable.new
        quick.succeed
        multi.add :quick, quick

        slow.succeed
      end
    end
  end
end