Skip to content

Commit

Permalink
fix(test): fix test failures
Browse files Browse the repository at this point in the history
  • Loading branch information
s1n7ax committed Jan 9, 2024
1 parent 9df630d commit 7f2c866
Show file tree
Hide file tree
Showing 10 changed files with 133 additions and 138 deletions.
File renamed without changes.
File renamed without changes.
32 changes: 6 additions & 26 deletions tests/prepare-config.lua
Original file line number Diff line number Diff line change
Expand Up @@ -27,32 +27,12 @@ require('lazy').setup({
'nvim-lua/plenary.nvim',
lazy = false,
},
{
'nvim-java/nvim-java-test',
---@diagnostic disable-next-line: assign-type-mismatch
dir = local_plug('~/Workspace/nvim-java-test'),
lazy = false,
},
{
'nvim-java/nvim-java-core',
---@diagnostic disable-next-line: assign-type-mismatch
dir = local_plug('~/Workspace/nvim-java-core'),
lazy = false,
},
{
'nvim-java/nvim-java-dap',
---@diagnostic disable-next-line: assign-type-mismatch
dir = local_plug('~/Workspace/nvim-java-dap'),
lazy = false,
},
{
'neovim/nvim-lspconfig',
lazy = false,
},
{
'williamboman/mason.nvim',
lazy = false,
},
-- {
-- 'nvim-java/nvim-java-test',
-- ---@diagnostic disable-next-line: assign-type-mismatch
-- dir = local_plug('~/Workspace/nvim-java-test'),
-- lazy = false,
-- },
}, {
root = temp_path,
lockfile = temp_path .. '/lazy-lock.json',
Expand Down
24 changes: 13 additions & 11 deletions tests/core/effect_spec.lua → tests/react/core/effect_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ local Effect = require('react.core.effect')
local Stack = require('react.util.stack')

local core = require('react.core')
local counter = require('tests.util.counter')
local counter = require('util.counter')
local errors = require('react.core.effect-error-messages')

local create_signal = core.create_signal
Expand Down Expand Up @@ -76,7 +76,6 @@ describe('effect::', function()
assert.equal(expected_first_time, effect.first_render)
end)


effect:dispatch()

expected_first_time = false
Expand Down Expand Up @@ -150,15 +149,18 @@ describe('effect::', function()
assert.equal(0, effect.signals:length())
end)

it('effect is removed from the context if there is an error while running effect', function()
pcall(function()
assert.equal(true, Effect.context:is_empty())
it(
'effect is removed from the context if there is an error while running effect',
function()
pcall(function()
assert.equal(true, Effect.context:is_empty())

Effect:new(function()
error('throwing an error')
end):dispatch()
end)
Effect:new(function()
error('throwing an error')
end):dispatch()
end)

assert.equal(true, Effect.context:is_empty())
end)
assert.equal(true, Effect.context:is_empty())
end
)
end)
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
local Effect = require('react.core.effect')

local counter = require('tests.util.counter')
local counter = require('util.counter')
local core = require('react.core')

local create_signal = core.create_signal
Expand Down
73 changes: 37 additions & 36 deletions tests/core/signal_spec.lua → tests/react/core/signal_spec.lua
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
local Effect = require('react.core.effect')
local Signal = require('react.core.signal')

local counter = require('tests.util.counter')
local counter = require('util.counter')

describe('signal::', function()
it('correctly sets initial value', function()
Expand Down Expand Up @@ -79,25 +79,28 @@ describe('signal::', function()
end):dispatch()
end)

it('effect is registered only once when same signal is used multiple times', function()
Effect:new(function()
local signal = Signal:new(10)
it(
'effect is registered only once when same signal is used multiple times',
function()
Effect:new(function()
local signal = Signal:new(10)

signal:read()
signal:read()
signal:read()
signal:read()
signal:read()
signal:read()

assert.equal(1, signal.publisher:length())
end):dispatch()
assert.equal(1, signal.publisher:length())
end):dispatch()

local signal = Signal:new(10)
Effect:new(function()
signal:read()
signal:read()
signal:read()
end):dispatch()
assert.equal(1, signal.publisher:length())
end)
local signal = Signal:new(10)
Effect:new(function()
signal:read()
signal:read()
signal:read()
end):dispatch()
assert.equal(1, signal.publisher:length())
end
)

it('re-render the effect on write', function()
local count, get_count = counter()
Expand Down Expand Up @@ -144,29 +147,27 @@ describe('signal::', function()
assert.equal(0, signal.publisher:length())
end)

it('signal returns the initially created signal on re-render',
function()
local signal_1, signal_2, signal_3
it('signal returns the initially created signal on re-render', function()
local signal_1, signal_2, signal_3

Effect:new(function()
signal_1 = Signal:new(10)
signal_2 = Signal:new(20)
signal_3 = Signal:new(30)
end):dispatch()
Effect:new(function()
signal_1 = Signal:new(10)
signal_2 = Signal:new(20)
signal_3 = Signal:new(30)
end):dispatch()

assert.same(10, signal_1:get_value())
assert.same(20, signal_2:get_value())
assert.same(30, signal_3:get_value())
assert.same(10, signal_1:get_value())
assert.same(20, signal_2:get_value())
assert.same(30, signal_3:get_value())

signal_1:write(signal_1:get_value() + 1)
signal_2:write(signal_2:get_value() + 1)
signal_3:write(signal_3:get_value() + 1)
signal_1:write(signal_1:get_value() + 1)
signal_2:write(signal_2:get_value() + 1)
signal_3:write(signal_3:get_value() + 1)

assert.same(11, signal_1:get_value())
assert.same(21, signal_2:get_value())
assert.same(31, signal_3:get_value())
end
)
assert.same(11, signal_1:get_value())
assert.same(21, signal_2:get_value())
assert.same(31, signal_3:get_value())
end)

it('after unsubscribe, effect should be removed from signal', function()
local signal_1 = Signal:new(10)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,30 @@ local helper = require('react.stores.dict.helper')
local List = require('react.util.list')
local Set = require('react.util.set')
local Effect = require('react.core.effect')
local utils = require('tests.util.map')

local utils = require('util.map')

describe('store::', function()
describe('dict::', function()
local get_init_pub_map = function()
return { key = 'root', effects = Set:new(),
children = { a = { key = 'a', effects = Set:new(),
children = { b = { key = 'b', effects = Set:new(),
children = { c = { key = 'c', effects = Set:new(), children = {} } } } } } } }
return {
key = 'root',
effects = Set:new(),
children = {
a = {
key = 'a',
effects = Set:new(),
children = {
b = {
key = 'b',
effects = Set:new(),
children = {
c = { key = 'c', effects = Set:new(), children = {} },
},
},
},
},
},
}
end

local pub_map = nil
Expand Down Expand Up @@ -53,7 +67,10 @@ describe('store::', function()
helper.publisher_path_traversal(pub_map, List:new({ 'a', 'b', 'c' }))

for _, key in ipairs({ 'a', 'b', 'c' }) do
assert.same({ 'children', 'effects', 'key' }, utils.get_keys(curr_pub_node))
assert.same(
{ 'children', 'effects', 'key' },
utils.get_keys(curr_pub_node)
)
assert.same({ key }, utils.get_keys(curr_pub_node.children))
assert.equal(curr_pub_node.effects:length(), 0)

Expand All @@ -64,8 +81,14 @@ describe('store::', function()
it('current path appends key to parent path', function()
local parent_path = List:new({ 'a', 'b', 'c' })

assert.same(List:new({ 'a', 'b', 'c', 'd' }), helper.get_curr_path_by_key(parent_path, 'd'))
assert.not_equal(List:new({ 'a', 'b', 'c', 'd' }), helper.get_curr_path_by_key(parent_path, 'd'))
assert.same(
List:new({ 'a', 'b', 'c', 'd' }),
helper.get_curr_path_by_key(parent_path, 'd')
)
assert.not_equal(
List:new({ 'a', 'b', 'c', 'd' }),
helper.get_curr_path_by_key(parent_path, 'd')
)
end)

it('on store change, removes relevant children nodes', function()
Expand All @@ -84,7 +107,10 @@ describe('store::', function()
-- 3rd level
pub_map = get_init_pub_map()

assert.same({ 'c' }, utils.get_keys(pub_map.children.a.children.b.children))
assert.same(
{ 'c' },
utils.get_keys(pub_map.children.a.children.b.children)
)
helper.dispatch_and_remove_children(pub_map.children.a.children.b)
assert.same({}, utils.get_keys(pub_map.children.a.children.b.children))
end)
Expand Down Expand Up @@ -113,7 +139,9 @@ describe('store::', function()
assert.same({ 0, 0, 0 }, effect_values)

effect_values = init_data_set()
helper.dispatch_and_remove_children(pub_map.children.a.children.b.children.c)
helper.dispatch_and_remove_children(
pub_map.children.a.children.b.children.c
)
assert.same({ 0, 0, 1 }, effect_values)

effect_values = init_data_set()
Expand All @@ -125,34 +153,39 @@ describe('store::', function()
assert.same({ 1, 1, 1 }, effect_values)
end)

it('on store change, store does not dispatch previously removed effects', function()
local init_data_set = function()
pub_map = get_init_pub_map()
it(
'on store change, store does not dispatch previously removed effects',
function()
local init_data_set = function()
pub_map = get_init_pub_map()

local effects = {}
local effect_values = { 0, 0, 0 }
local effects = {}
local effect_values = { 0, 0, 0 }

for i = 1, 3 do
effects[i] = Effect:new(function()
effect_values[i] = effect_values[i] + 1
end)
end
for i = 1, 3 do
effects[i] = Effect:new(function()
effect_values[i] = effect_values[i] + 1
end)
end

pub_map.children.a.effects:add(effects[1])
pub_map.children.a.children.b.effects:add(effects[2])
pub_map.children.a.children.b.children.c.effects:add(effects[3])
pub_map.children.a.effects:add(effects[1])
pub_map.children.a.children.b.effects:add(effects[2])
pub_map.children.a.children.b.children.c.effects:add(effects[3])

return effect_values
end
return effect_values
end

local effect_values = init_data_set()
local effect_values = init_data_set()

helper.dispatch_and_remove_children(pub_map.children.a.children.b.children.c)
helper.dispatch_and_remove_children(pub_map.children.a.children.b)
helper.dispatch_and_remove_children(pub_map.children.a)
helper.dispatch_and_remove_children(
pub_map.children.a.children.b.children.c
)
helper.dispatch_and_remove_children(pub_map.children.a.children.b)
helper.dispatch_and_remove_children(pub_map.children.a)

assert.same({ 1, 2, 2 }, effect_values)
end)
assert.same({ 1, 2, 2 }, effect_values)
end
)
end)
end)
end)
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
local core = require('react.core')
local create_dict = require('react.stores.dict')
local counter = require('tests.util.counter')
local counter = require('util.counter')

local create_effect = core.create_effect

Expand All @@ -14,13 +14,13 @@ describe('stores::', function()
basic_info = {
name = 's1n7ax',
age = 30,
address = 'Colombo, Sri Lanka'
address = 'Colombo, Sri Lanka',
},
employee_info = {
id = '0000000001',
designation = 'Full Stack Developer'
}
}
designation = 'Full Stack Developer',
},
},
}
end)

Expand All @@ -45,10 +45,7 @@ describe('stores::', function()
it('path traversal should return the correct value', function()
local store = create_dict(init_value)

assert.equal(
init_value.user_info,
getmetatable(store.user_info).value
)
assert.equal(init_value.user_info, getmetatable(store.user_info).value)
assert.equal(
init_value.user_info.basic_info,
getmetatable(store.user_info.basic_info).value
Expand Down Expand Up @@ -89,7 +86,10 @@ describe('stores::', function()
end)

assert.equal(1, get_count())
assert.equal(init_value.user_info.basic_info, getmetatable(curr_basic_info).value)
assert.equal(
init_value.user_info.basic_info,
getmetatable(curr_basic_info).value
)

store.user_info.basic_info = 'changed'
assert.equal(2, get_count())
Expand Down
Empty file removed tests/stores/dict/dict_spec.lua
Empty file.
Loading

0 comments on commit 7f2c866

Please sign in to comment.