From 25cced43a0737c85ec1598d74629c3cffdde1e9d Mon Sep 17 00:00:00 2001 From: Mavis Bot Date: Mon, 3 Aug 2026 19:59:57 +0000 Subject: [PATCH] fix : added ASCII fallback for Code widget gutter pipe character --- packages/widgets/src/display/Code.test.ts | 14 ++++++++++++-- packages/widgets/src/display/Code.ts | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/widgets/src/display/Code.test.ts b/packages/widgets/src/display/Code.test.ts index 76a9a5039..63df0ab19 100644 --- a/packages/widgets/src/display/Code.test.ts +++ b/packages/widgets/src/display/Code.test.ts @@ -2,8 +2,8 @@ // @termuijs/widgets — Tests for Code widget // ───────────────────────────────────────────────────── -import { describe, it, expect } from 'vitest'; -import { Screen } from '@termuijs/core'; +import { describe, it, expect, vi } from 'vitest'; +import { Screen, caps } from '@termuijs/core'; import { Code } from './Code.js'; describe('Code', () => { @@ -73,4 +73,14 @@ describe('Code', () => { expect(screen.back[0][3].char).toBe('t'); expect(screen.back[0][4].char).toBe('╮'); // topRight corner (width-1 index) }); + + it('uses ASCII pipe for gutter separator when caps.unicode is false', () => { + vi.spyOn(caps, 'unicode', 'get').mockReturnValue(false); + const code = new Code('hello'); + code.updateRect({ x: 0, y: 0, width: 12, height: 4 }); + const screen = new Screen(12, 4); + code.render(screen); + // Gutter separator should be '|' in ASCII mode, not '\u2502' + expect(screen.back[1][2].char).toBe('|'); + }); }); diff --git a/packages/widgets/src/display/Code.ts b/packages/widgets/src/display/Code.ts index 673a1067e..be4d75c81 100644 --- a/packages/widgets/src/display/Code.ts +++ b/packages/widgets/src/display/Code.ts @@ -49,7 +49,7 @@ export class Code extends Widget { screen.writeString(x, y, lineNum, { dim: true }); x += lineNumWidth; - screen.setCell(x, y, { char: '│', dim: true }); + screen.setCell(x, y, { char: caps.unicode ? '│' : '|', dim: true }); x++; screen.setCell(x, y, { char: ' ' });