1describe :syslog_reopen, shared: true do
2  platform_is_not :windows do
3    before :each do
4      Syslog.opened?.should be_false
5    end
6
7    after :each do
8      Syslog.opened?.should be_false
9    end
10
11    it "reopens the log" do
12      Syslog.open
13      lambda { Syslog.send(@method)}.should_not raise_error
14      Syslog.opened?.should be_true
15      Syslog.close
16    end
17
18    it "fails with RuntimeError if the log is closed" do
19      lambda { Syslog.send(@method)}.should raise_error(RuntimeError)
20    end
21
22    it "receives the same parameters as Syslog.open" do
23      Syslog.open
24      Syslog.send(@method, "rubyspec", 3, 8) do |s|
25        s.should == Syslog
26        s.ident.should == "rubyspec"
27        s.options.should == 3
28        s.facility.should == Syslog::LOG_USER
29        s.opened?.should be_true
30      end
31      Syslog.opened?.should be_false
32    end
33
34    it "returns the module" do
35      Syslog.open
36      Syslog.send(@method).should == Syslog
37      Syslog.close
38    end
39  end
40end
41