import 'package:clide/kernel/src/keymap/intents.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { group('parseIntentId', () { test('returns null for an unknown id', () { expect(parseIntentId('not.a.real.intent'), isNull); }); test('returns ActivateIntent for "activate"', () { expect(parseIntentId('activate'), isA()); }); test('returns DismissIntent for "dismiss"', () { expect(parseIntentId('dismiss'), isA()); }); test('returns the focus.* intents', () { expect(parseIntentId('focus.nextPanel'), isA()); expect(parseIntentId('focus.previousPanel'), isA()); }); test('returns the palette.* intents', () { expect(parseIntentId('palette.open'), isA()); expect(parseIntentId('palette.selectNext'), isA()); expect(parseIntentId('palette.selectPrevious'), isA()); expect(parseIntentId('palette.accept'), isA()); }); test('returns the quickOpen.* intents', () { expect(parseIntentId('quickOpen.open'), isA()); expect(parseIntentId('quickOpen.selectNext'), isA()); expect(parseIntentId('quickOpen.selectPrevious'), isA()); expect(parseIntentId('quickOpen.accept'), isA()); }); test('returns the findInFiles.open intent', () { expect(parseIntentId('findInFiles.open'), isA()); }); test('returns the text.scale* intents', () { expect(parseIntentId('text.scaleIncrease'), isA()); expect(parseIntentId('text.scaleDecrease'), isA()); expect(parseIntentId('text.scaleReset'), isA()); }); test('returns InvokeCommandIntent for "command:" with the id stripped', () { final intent = parseIntentId('command:theme.pick'); expect(intent, isA()); expect((intent as InvokeCommandIntent).commandId, 'theme.pick'); }); test('returns InvokeCommandIntent with an empty commandId for "command:"', () { final intent = parseIntentId('command:'); expect(intent, isA()); expect((intent as InvokeCommandIntent).commandId, ''); }); }); }