import assert from 'node:assert/strict';
import test from 'node:test';
import { parseConfig } from '../src/config.js';

test('default config enables bounded visual observation and actions', () => {
  const config = parseConfig({});
  assert.equal(config.backend, 'auto');
  assert.equal(config.x11.display, null);
  assert.equal(config.observe.enabled, true);
  assert.equal(config.observe.maxImageBytes, 12 * 1024 * 1024);
  assert.equal(config.action.enabled, true);
  assert.equal(config.action.maxTextBytes, 64 * 1024);
  assert.equal(config.action.maxScrollSteps, 100);
});

test('config accepts Wayland and rejects unsupported backend labels', () => {
  assert.equal(parseConfig({ backend: 'wayland' }).backend, 'wayland');
  assert.throws(() => parseConfig({ backend: 'unsupported' }), /Invalid option/);
});
