You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Fix list continuation to use content indent (not marker indent)
- Support variable-length numbered list markers (1., 10., 100., etc.)
- Allow flexible continuation spacing (1+ spaces, but not 4+ which is code)
- Preserve multi-paragraph list formatting (blank lines within list items)
- Track list context across blank lines for proper paragraph unwrapping
- Add comprehensive test cases for all scenarios
Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com>
Copy file name to clipboardExpand all lines: src/test/github/folderRepositoryManager.test.ts
+104Lines changed: 104 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -230,4 +230,108 @@ describe('titleAndBodyFrom', function () {
230
230
assert.strictEqual(result?.title,'title');
231
231
assert.strictEqual(result?.body,'* This is a list item with two lines that have a line break between them\n * This is a nested list item that also has two lines that should have been merged');
232
232
});
233
+
234
+
it('handles basic numeric list continuation',asyncfunction(){
235
+
constmessage=Promise.resolve('title\n\n1. Basic numeric list\n continuation.\n Third line');
236
+
237
+
constresult=awaittitleAndBodyFrom(message);
238
+
assert.strictEqual(result?.title,'title');
239
+
assert.strictEqual(result?.body,'1. Basic numeric list continuation. Third line');
240
+
});
241
+
242
+
it('handles additional spaces OK for continuation',asyncfunction(){
243
+
constmessage=Promise.resolve('title\n\n2. Additional spaces are\n OK for a continuation (unless it\'s 4 spaces which would be a code block).\n Third line');
244
+
245
+
constresult=awaittitleAndBodyFrom(message);
246
+
assert.strictEqual(result?.title,'title');
247
+
assert.strictEqual(result?.body,'2. Additional spaces are OK for a continuation (unless it\'s 4 spaces which would be a code block). Third line');
248
+
});
249
+
250
+
it('handles asterisk list with extra spaces',asyncfunction(){
251
+
constmessage=Promise.resolve('title\n\n* Additional spaces are\n OK for a continuation (unless it\'s 4 spaces which would be a code block).\n Third line');
252
+
253
+
constresult=awaittitleAndBodyFrom(message);
254
+
assert.strictEqual(result?.title,'title');
255
+
assert.strictEqual(result?.body,'* Additional spaces are OK for a continuation (unless it\'s 4 spaces which would be a code block). Third line');
constmessage=Promise.resolve('title\n\n* Outer item\n\n Second paragraph of outer\n with continuation\n * Inner item\n\n Second paragraph of inner\n with continuation');
332
+
333
+
constresult=awaittitleAndBodyFrom(message);
334
+
assert.strictEqual(result?.title,'title');
335
+
assert.strictEqual(result?.body,'* Outer item\n\n Second paragraph of outer with continuation\n * Inner item\n\n Second paragraph of inner with continuation');
0 commit comments