Blame specs/posix_pwd_spec.yaml

Packit 437b5e
specify posix.pwd:
Packit 437b5e
- before:
Packit 437b5e
    pwd = require "posix.pwd"
Packit 437b5e
Packit 437b5e
Packit 437b5e
- describe endpwent:
Packit 437b5e
  - before:
Packit 437b5e
      endpwent = pwd.endpwent
Packit 437b5e
Packit 437b5e
  - context with bad arguments:
Packit 437b5e
      badargs.diagnose (endpwent, "()")
Packit 437b5e
Packit 437b5e
  - it returns 'nil':
Packit 437b5e
      expect (endpwent ()).to_be (nil)
Packit 437b5e
  - it rewinds the passwd database:
Packit 437b5e
      p = pwd.getpwent ()
Packit 437b5e
      pwd.getpwent ()
Packit 437b5e
      endpwent ()
Packit 437b5e
      expect (pwd.getpwent ()).to_equal (p)
Packit 437b5e
Packit 437b5e
Packit 437b5e
- describe getpwent:
Packit 437b5e
  - before:
Packit 437b5e
      getpwent = pwd.getpwent
Packit 437b5e
Packit 437b5e
  - context with bad arguments:
Packit 437b5e
      badargs.diagnose (getpwent, "()")
Packit 437b5e
Packit 437b5e
  - it returns a PosixPasswd for an existing user:
Packit 437b5e
      expect (prototype (getpwent ())).to_be "PosixPasswd"
Packit 437b5e
  - it fetches a different user on subsequent calls:
Packit 437b5e
      p = getpwent ()
Packit 437b5e
      expect (getpwent ()).not_to_equal (p)
Packit 437b5e
  - it returns nil after the last entry was fetched:
Packit 437b5e
      p = getpwent ()
Packit 437b5e
      while (p) do
Packit 437b5e
        q = getpwent ()
Packit 437b5e
        expect (p).not_to_equal (q)
Packit 437b5e
        p = q
Packit 437b5e
      end
Packit 437b5e
      expect (p).to_be (nil)
Packit 437b5e
      pwd.endpwent ()
Packit 437b5e
Packit 437b5e
Packit 437b5e
- describe getpwnam:
Packit 437b5e
  - before:
Packit 437b5e
      getpwuid, getpwnam = posix.getpwuid, posix.getpwnam
Packit 437b5e
Packit 437b5e
  - context with bad arguments:
Packit 437b5e
      badargs.diagnose (getpwnam, "(string)")
Packit 437b5e
Packit 437b5e
  - it returns 'nil' for a non-existent user:
Packit 437b5e
      expect (getpwnam "veryunlikelyusername").to_be (nil)
Packit 437b5e
  - it returns a PosixPasswd for an existing user:
Packit 437b5e
      expect (prototype (getpwnam "root")).to_be "PosixPasswd"
Packit 437b5e
  - it fetches a passwd entry by name:
Packit 437b5e
      expect (getpwnam ("root").pw_name).to_be "root"
Packit 437b5e
      expect (getpwnam ("root").pw_uid).to_be (0)
Packit 437b5e
      expect (getpwnam ("root").pw_gid).to_be (0)
Packit 437b5e
      expect (type (getpwnam ("root").pw_dir)).to_be "string"
Packit 437b5e
      expect (type (getpwnam ("root").pw_shell)).to_be "string"
Packit 437b5e
Packit 437b5e
Packit 437b5e
- describe getpwuid:
Packit 437b5e
  - before:
Packit 437b5e
      getpwuid = posix.getpwuid
Packit 437b5e
Packit 437b5e
  - context with bad arguments:
Packit 437b5e
      badargs.diagnose (getpwuid, "(int)")
Packit 437b5e
Packit 437b5e
  - it returns a PosixPasswd for an existing user:
Packit 437b5e
      expect (prototype (getpwuid (0))).to_be "PosixPasswd"
Packit 437b5e
  - it fetches a passwd entry by gid:
Packit 437b5e
      expect (getpwuid (0).pw_name).to_be "root"
Packit 437b5e
      expect (getpwuid (0).pw_uid).to_be (0)
Packit 437b5e
      expect (getpwuid (0).pw_gid).to_be (0)
Packit 437b5e
      expect (type (getpwuid (0).pw_dir)).to_be "string"
Packit 437b5e
      expect (type (getpwuid (0).pw_shell)).to_be "string"
Packit 437b5e
Packit 437b5e
Packit 437b5e
- describe setpwent:
Packit 437b5e
  - before:
Packit 437b5e
      setpwent = pwd.setpwent
Packit 437b5e
Packit 437b5e
  - context with bad arguments:
Packit 437b5e
      badargs.diagnose (setpwent, "()")
Packit 437b5e
Packit 437b5e
  - it returns 'nil':
Packit 437b5e
      expect (setpwent ()).to_be (nil)
Packit 437b5e
  - it rewinds the passwd database:
Packit 437b5e
      p = pwd.getpwent ()
Packit 437b5e
      pwd.getpwent ()
Packit 437b5e
      setpwent ()
Packit 437b5e
      expect (pwd.getpwent ()).to_equal (p)