75 lines
2.9 KiB
Lua
75 lines
2.9 KiB
Lua
describe("The peripheral library", function()
|
|
local it_modem = peripheral.getType("top") == "modem" and it or pending
|
|
|
|
describe("peripheral.isPresent", function()
|
|
it("validates arguments", function()
|
|
peripheral.isPresent("")
|
|
expect.error(peripheral.isPresent, nil):eq("bad argument #1 (expected string, got nil)")
|
|
end)
|
|
end)
|
|
|
|
describe("peripheral.getName", function()
|
|
it("validates arguments", function()
|
|
expect.error(peripheral.getName, nil):eq("bad argument #1 (expected table, got nil)")
|
|
expect.error(peripheral.getName, {}):eq("bad argument #1 (table is not a peripheral)")
|
|
end)
|
|
|
|
it_modem("can get the name of a wrapped peripheral", function()
|
|
expect(peripheral.getName(peripheral.wrap("top"))):eq("top")
|
|
end)
|
|
end)
|
|
|
|
describe("peripheral.getType", function()
|
|
it("validates arguments", function()
|
|
peripheral.getType("")
|
|
expect.error(peripheral.getType, nil):eq("bad argument #1 (expected string or table, got nil)")
|
|
expect.error(peripheral.getType, {}):eq("bad argument #1 (table is not a peripheral)")
|
|
end)
|
|
|
|
it_modem("can get the type of a peripheral by side", function()
|
|
expect(peripheral.getType("top")):eq("modem")
|
|
end)
|
|
|
|
it_modem("can get the type of a wrapped peripheral", function()
|
|
expect(peripheral.getType(peripheral.wrap("top"))):eq("modem")
|
|
end)
|
|
end)
|
|
|
|
describe("peripheral.getMethods", function()
|
|
it("validates arguments", function()
|
|
peripheral.getMethods("")
|
|
expect.error(peripheral.getMethods, nil):eq("bad argument #1 (expected string, got nil)")
|
|
end)
|
|
end)
|
|
|
|
describe("peripheral.call", function()
|
|
it("validates arguments", function()
|
|
peripheral.call("", "")
|
|
expect.error(peripheral.call, nil):eq("bad argument #1 (expected string, got nil)")
|
|
expect.error(peripheral.call, "", nil):eq("bad argument #2 (expected string, got nil)")
|
|
end)
|
|
|
|
it_modem("has the correct error location", function()
|
|
expect.error(function() peripheral.call("top", "isOpen", false) end)
|
|
:str_match("^[^:]+:%d+: bad argument #1 %(number expected, got boolean%)$")
|
|
end)
|
|
end)
|
|
|
|
describe("peripheral.wrap", function()
|
|
it("validates arguments", function()
|
|
peripheral.wrap("")
|
|
expect.error(peripheral.wrap, nil):eq("bad argument #1 (expected string, got nil)")
|
|
end)
|
|
end)
|
|
|
|
describe("peripheral.find", function()
|
|
it("validates arguments", function()
|
|
peripheral.find("")
|
|
peripheral.find("", function()
|
|
end)
|
|
expect.error(peripheral.find, nil):eq("bad argument #1 (expected string, got nil)")
|
|
expect.error(peripheral.find, "", false):eq("bad argument #2 (expected function, got boolean)")
|
|
end)
|
|
end)
|
|
end)
|