ci: some fixes
Some checks are pending
quality / changes (push) Waiting to run
quality / Lua Format Check (push) Blocked by required conditions
quality / Lua Lint Check (push) Blocked by required conditions
quality / Lua Type Check (push) Blocked by required conditions
quality / Markdown Format Check (push) Blocked by required conditions
test / Test (Neovim nightly) (push) Waiting to run
test / Test (Neovim stable) (push) Waiting to run
Some checks are pending
quality / changes (push) Waiting to run
quality / Lua Format Check (push) Blocked by required conditions
quality / Lua Lint Check (push) Blocked by required conditions
quality / Lua Type Check (push) Blocked by required conditions
quality / Markdown Format Check (push) Blocked by required conditions
test / Test (Neovim nightly) (push) Waiting to run
test / Test (Neovim stable) (push) Waiting to run
This commit is contained in:
parent
2b75843dab
commit
e816e6fb7e
3 changed files with 111 additions and 77 deletions
|
|
@ -48,10 +48,16 @@ describe('parse', function()
|
|||
assert.are.equal('Errands', meta.category)
|
||||
end)
|
||||
|
||||
it('stops at duplicate key', function()
|
||||
it('first occurrence wins for duplicate keys', function()
|
||||
local desc, meta = parse.body('Buy milk due:2026-03-15 due:2026-04-01')
|
||||
assert.are.equal('Buy milk due:2026-03-15', desc)
|
||||
assert.are.equal('2026-04-01', meta.due)
|
||||
assert.are.equal('Buy milk', desc)
|
||||
assert.are.equal('2026-03-15', meta.due)
|
||||
end)
|
||||
|
||||
it('drops identical duplicate metadata tokens', function()
|
||||
local desc, meta = parse.body('Buy milk due:tomorrow due:tomorrow')
|
||||
assert.are.equal('Buy milk', desc)
|
||||
assert.are.equal(os.date('%Y-%m-%d', os.time() + 86400), meta.due)
|
||||
end)
|
||||
|
||||
it('stops at non-meta token', function()
|
||||
|
|
@ -138,6 +144,38 @@ describe('parse', function()
|
|||
assert.are.equal('Work', meta.category)
|
||||
assert.truthy(desc:find('gl:a/b#12', 1, true))
|
||||
end)
|
||||
|
||||
it('extracts leading metadata', function()
|
||||
local desc, meta = parse.body('due:2026-03-15 Fix the bug')
|
||||
assert.are.equal('Fix the bug', desc)
|
||||
assert.are.equal('2026-03-15', meta.due)
|
||||
end)
|
||||
|
||||
it('extracts metadata from the middle', function()
|
||||
local desc, meta = parse.body('Fix due:2026-03-15 the bug')
|
||||
assert.are.equal('Fix the bug', desc)
|
||||
assert.are.equal('2026-03-15', meta.due)
|
||||
end)
|
||||
|
||||
it('extracts multiple metadata from any position', function()
|
||||
local desc, meta = parse.body('cat:Work Fix due:2026-03-15 the bug')
|
||||
assert.are.equal('Fix the bug', desc)
|
||||
assert.are.equal('2026-03-15', meta.due)
|
||||
assert.are.equal('Work', meta.category)
|
||||
end)
|
||||
|
||||
it('extracts all metadata types from mixed positions', function()
|
||||
local today = os.date('*t') --[[@as osdate]]
|
||||
local tomorrow = os.date(
|
||||
'%Y-%m-%d',
|
||||
os.time({ year = today.year, month = today.month, day = today.day + 1 })
|
||||
)
|
||||
local desc, meta = parse.body('due:tomorrow cat:Work Fix the bug +!')
|
||||
assert.are.equal('Fix the bug', desc)
|
||||
assert.are.equal(tomorrow, meta.due)
|
||||
assert.are.equal('Work', meta.category)
|
||||
assert.are.equal(1, meta.priority)
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('parse.resolve_date', function()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue