Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions missing.lua
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
-- pico8-missing-builtins v0.2.0
-- https://github.com/adamscott/pico8-missing-builtins
__setmetatable = setmetatable
__metatables = {}
function setmetatable (object, mt)
__metatables[object] = mt
return __setmetatable(object, mt)
end
-- getmetatable depends on this setmetatable implementation
function getmetatable (object)
return __metatables[object]
end

-- rawget depends on getmetatable
function rawget (tbl, index)
assert(type(tbl) == 'table', "bad argument #1 to 'rawget' "
.."(table expected, got "..type(tbl)..")")
Expand Down
49 changes: 0 additions & 49 deletions test.lua
Original file line number Diff line number Diff line change
@@ -1,54 +1,5 @@
missing = require('package_missing')

describe("missing -setmetatable-", function()
it("should set a metatable", function()
local Test_missing = {}
Test_missing.__index = Test_missing
function Test_missing:_init (name)
self.name = name
end
local Test_native = {}
Test_native.__index = Test_missing
function Test_native:_init (name)
self.name = name
end
local mt = {
__call = function (cls, ...)
local self = setmetatable({}, cls)
self:_init(...)
return self
end
}

setmetatable(Test_native, mt)
missing.setmetatable(Test_missing, mt)
assert.are.equals(
getmetatable(Test_native),
getmetatable(Test_missing)
)
assert.truthy(Test_native("native"))
assert.truthy(Test_missing("missing"))
end)
end)

describe("missing -getmetatable-", function()
it("should get a metatable", function()
local Test = {}
Test.__index = Test
local mt = {
__call = function (cls, ...)
local self = setmetatable({}, cls)
return self
end
}
missing.setmetatable(Test, mt)
assert.are.equals(
getmetatable(Test),
missing.getmetatable(Test)
)
end)
end)

describe("missing -rawget-", function()
it("should get raw value", function ()
local setValue = 125
Expand Down