Software /
code /
prosody
File
spec/util_time_spec.lua @ 10592:9918b4b0cd58
util.array: Fix equality metamethod in Lua 5.3
Lua 5.2 only used the __eq metamethod if both operands have the same
__eq, but Lua 5.3 will pick one from either operands that has one as
long as both are tables.
This results in array() == {} and all sorts of odd behavior, including
array() == util.json.null.
<MattJ> I think [array() == {}] should have the same semantics as {} == {}
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 15 Jan 2020 21:08:01 +0100 |
parent | 9193:aba99b6539f5 |
line wrap: on
line source
describe("util.time", function () local time; setup(function () time = require "util.time"; end); describe("now()", function () it("exists", function () assert.is_function(time.now); end); it("returns a number", function () assert.is_number(time.now()); end); end); describe("monotonic()", function () it("exists", function () assert.is_function(time.monotonic); end); it("returns a number", function () assert.is_number(time.monotonic()); end); it("time goes in one direction", function () local a = time.monotonic(); local b = time.monotonic(); assert.truthy(a <= b); end); end); end);