extract-tasks-body.test.mjs
29 lines 1.1 KB
Raw
sha256:b5f647cb9c409f563d4671fe3fc05ddea01fabfed9b41fc11cb923588e1c1baf mirror: GitHub Phase A durable MCP OAuth (#270) Human minor ⚠ breaking 11 days ago
1 /**
2 * Unit tests for `extractCheckboxTasksFromBody` (shared local + hosted).
3 */
4
5 import { describe, it } from 'node:test';
6 import assert from 'node:assert/strict';
7 import { extractCheckboxTasksFromBody } from '../lib/extract-tasks.mjs';
8
9 describe('extractCheckboxTasksFromBody', () => {
10 it('parses open and done lines with path and line numbers', () => {
11 const body = 'intro\n- [ ] Open item\n - [x] Done item\n';
12 const all = extractCheckboxTasksFromBody(body, { path: 'n.md', status: 'all' });
13 assert.equal(all.length, 2);
14 assert.deepEqual(
15 all.map((t) => ({ text: t.text, line: t.line, status: t.status, path: t.path })),
16 [
17 { text: 'Open item', line: 2, status: 'open', path: 'n.md' },
18 { text: 'Done item', line: 3, status: 'done', path: 'n.md' },
19 ]
20 );
21 });
22
23 it('respects status filter', () => {
24 const body = '- [ ] A\n- [x] B\n';
25 const openOnly = extractCheckboxTasksFromBody(body, { path: 'p.md', status: 'open' });
26 assert.equal(openOnly.length, 1);
27 assert.equal(openOnly[0].text, 'A');
28 });
29 });
File History 4 commits
sha256:b5f647cb9c409f563d4671fe3fc05ddea01fabfed9b41fc11cb923588e1c1baf mirror: GitHub Phase A durable MCP OAuth (#270) Human minor 11 days ago
sha256:d8c648b20a4d53b2673c5c082ee7edfa7b2fc9b11080832da1f38807b6bf940b fix(7C-L1b): route hosted delegation proposals through cani… Human minor 31 days ago
sha256:2827ba9e7632a4b141c50caf1e8f7d77abbc3515be20e7465f2bccb0ac4edf91 fix: repair endpoint now sets has_active_subscription when … Human minor 51 days ago