import { describe, it, expect } from 'vitest';
import { KEY_BYTES } from './keys';

describe('KEY_BYTES', () => {
  it('Esc は ESC 文字 (0x1b)', () => {
    expect(KEY_BYTES.esc).toBe('\x1b');
  });

  it('Tab は HT (0x09)', () => {
    expect(KEY_BYTES.tab).toBe('\t');
  });

  it('矢印は CSI シーケンス', () => {
    expect(KEY_BYTES['arrow-up']).toBe('\x1b[A');
    expect(KEY_BYTES['arrow-down']).toBe('\x1b[B');
    expect(KEY_BYTES['arrow-right']).toBe('\x1b[C');
    expect(KEY_BYTES['arrow-left']).toBe('\x1b[D');
  });

  it('Ctrl+C は ETX (0x03)', () => {
    expect(KEY_BYTES['ctrl-c']).toBe('\x03');
  });

  it('KEY_BYTES は 7 個のキーを持つ (paste は外部 API)', () => {
    expect(Object.keys(KEY_BYTES)).toHaveLength(7);
  });
});
