Files
clide/test/builtin/default_layout/widget_test.dart
T
jpmschweitzerandClaude Opus 4.6 46329700d5 dissolve app/ into repo root (D-056)
Single Flutter package at the repo root. All code, tests, assets,
and platform directories moved from app/ to root. Package renamed
from clide_app to clide — all imports rewritten. Merged pubspec
combines core (ffi) and app (flutter, yaml, xterm) dependencies.
Makefile simplified: no APP_PRESENT conditionals, no cd, no daemon
lifecycle. 317 tests pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:37:20 +02:00

53 lines
1.9 KiB
Dart

import 'package:clide/builtin/default_layout/default_layout.dart';
import 'package:clide/extension/extension.dart';
import 'package:clide/kernel/kernel.dart';
import 'package:flutter_test/flutter_test.dart';
import '../../helpers/kernel_fixture.dart';
void main() {
group('DefaultLayoutExtension', () {
late KernelFixture f;
setUp(() async => f = await KernelFixture.create());
tearDown(() async => f.dispose());
test('activates and applies the classic preset', () async {
f.services.extensions.register(DefaultLayoutExtension());
await f.services.extensions.activateAll();
expect(
f.services.arrangement.positionOf(Slots.sidebar), SlotPosition.left);
expect(f.services.arrangement.sizeOf(Slots.sidebar), 240);
expect(f.services.arrangement.positionOf(Slots.workspace),
SlotPosition.center);
expect(f.services.arrangement.positionOf(Slots.statusbar),
SlotPosition.bottom);
});
test('contributes a layout.reset command', () async {
f.services.extensions.register(DefaultLayoutExtension());
await f.services.extensions.activateAll();
final reset = f.services.commands.get('layout.reset');
expect(reset, isNotNull);
});
test('layout.reset re-applies the preset', () async {
f.services.extensions.register(DefaultLayoutExtension());
await f.services.extensions.activateAll();
f.services.arrangement.setSize(Slots.sidebar, 300);
expect(f.services.arrangement.sizeOf(Slots.sidebar), 300);
final resp = await f.services.commands.execute('layout.reset');
expect(resp.ok, true);
expect(f.services.arrangement.sizeOf(Slots.sidebar), 240);
});
test('declares a layout preset contribution', () {
final ext = DefaultLayoutExtension();
expect(
ext.contributions.whereType<LayoutPresetContribution>(),
hasLength(1),
);
});
});
}