From fbc72a0c2fe16a93b18ce8facdc9b66e7183f75d Mon Sep 17 00:00:00 2001 From: William Boman Date: Sat, 10 Dec 2022 19:55:41 +0100 Subject: feat(functional): add some more functions (#755) --- tests/mason-core/functional/table_spec.lua | 43 ++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'tests/mason-core/functional/table_spec.lua') diff --git a/tests/mason-core/functional/table_spec.lua b/tests/mason-core/functional/table_spec.lua index c897b5ca..357f7120 100644 --- a/tests/mason-core/functional/table_spec.lua +++ b/tests/mason-core/functional/table_spec.lua @@ -68,4 +68,47 @@ describe("functional: table", function() } ) end) + + it("should evolve table", function() + assert.same( + { + non_existent = nil, + firstname = "JOHN", + lastname = "DOE", + age = 42, + }, + _.evolve({ + non_existent = _.always "hello", + firstname = _.to_upper, + lastname = _.to_upper, + age = _.add(2), + }, { + firstname = "John", + lastname = "Doe", + age = 40, + }) + ) + end) + + it("should merge left", function() + assert.same( + { + firstname = "John", + lastname = "Doe", + }, + _.merge_left({ + firstname = "John", + }, { + firstname = "Jane", + lastname = "Doe", + }) + ) + end) + + it("should dissoc keys", function() + assert.same({ + a = "a", + c = "c", + }, _.dissoc("b", { a = "a", b = "b", c = "c" })) + end) end) -- cgit v1.2.3-70-g09d2