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
|
require File.expand_path('../../../spec_helper', __FILE__)
require 'etc'
platform_is :windows do
describe "Etc.getpwuid" do
it "returns nil" do
Etc.getpwuid(1).should == nil
Etc.getpwuid(nil).should == nil
Etc.getpwuid('nil').should == nil
end
end
end
platform_is_not :windows do
describe "Etc.getpwuid" do
before :all do
@pw = Etc.getpwuid(`id -u`.strip.to_i)
end
ruby_version_is "" ... "1.9" do
it "returns a Struct::Passwd struct instance for the given user" do
@pw.is_a?(Struct::Passwd).should == true
end
end
ruby_version_is "1.9" do
it "returns a Etc::Passwd struct instance for the given user" do
@pw.is_a?(Etc::Passwd).should == true
end
it "uses Process.uid as the default value for the argument" do
pw = Etc.getpwuid
pw.should == @pw
end
end
it "only accepts integers as argument" do
lambda {
Etc.getpwuid("foo")
Etc.getpwuid(nil)
}.should raise_error(TypeError)
end
end
end
|