Skip to content

Commit

Permalink
Fix require caching by using correct tuple ordering in resolve_paths (#…
Browse files Browse the repository at this point in the history
kennethloeffler authored Apr 7, 2024

Verified

This commit was signed with the committer’s verified signature.
Adam- Adam
1 parent 94ba331 commit a65ef2a
Showing 5 changed files with 30 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/lune/globals/require/context.rs
Original file line number Diff line number Diff line change
@@ -70,7 +70,7 @@ impl RequireContext {
CWD.join(&rel_path)
};

Ok((rel_path, abs_path))
Ok((abs_path, rel_path))
}

/**
1 change: 1 addition & 0 deletions src/tests.rs
Original file line number Diff line number Diff line change
@@ -95,6 +95,7 @@ create_tests! {
require_nested: "require/tests/nested",
require_parents: "require/tests/parents",
require_siblings: "require/tests/siblings",
require_state: "require/tests/state",

global_g_table: "globals/_G",
global_version: "globals/_VERSION",
14 changes: 14 additions & 0 deletions tests/require/tests/state.luau
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
-- the idea of this test is that state_module stores some state in one of its local
-- variable
local state_module = require("./state_module")

-- we confirm that without anything happening, the initial value is what we expect
assert(state_module.state == 10)

-- this second file also requires state_module and calls a function that changes the local
-- state to 11
require("./state_second")

-- with correct module caching, we should see the change done in state_secone reflected
-- here
assert(state_module.state == 11)
9 changes: 9 additions & 0 deletions tests/require/tests/state_module.luau
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
local M = {}

M.state = 10

function M.set_state(n: number)
M.state = n
end

return M
5 changes: 5 additions & 0 deletions tests/require/tests/state_second.luau
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
local state_module = require("./state_module")

state_module.set_state(11)

return {}

0 comments on commit a65ef2a

Please sign in to comment.