@neurodevs/node-tdd 0.2.5 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/launch.json +52 -57
- package/.vscode/settings.json +61 -66
- package/.vscode/tasks.json +98 -129
- package/README.md +1 -0
- package/build/.spruce/settings.json +3 -10
- package/build/__tests__/MockFetch.d.ts +18 -0
- package/build/__tests__/MockFetch.js +55 -0
- package/build/__tests__/MockFetch.js.map +1 -0
- package/build/__tests__/{impl → behavioral}/AbstractModuleTest.test.d.ts +2 -3
- package/build/__tests__/{impl → behavioral}/AbstractModuleTest.test.js +3 -12
- package/build/__tests__/behavioral/AbstractModuleTest.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/AllHooksCalledEvenIfNotDefined.test.d.ts +5 -0
- package/build/__tests__/behavioral/utilities/AllHooksCalledEvenIfNotDefined.test.js +34 -0
- package/build/__tests__/behavioral/utilities/AllHooksCalledEvenIfNotDefined.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/Assert.test.d.ts +45 -0
- package/build/__tests__/behavioral/utilities/Assert.test.js +645 -0
- package/build/__tests__/behavioral/utilities/Assert.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/InstanceParentTestCanAccessParentMethods.test.d.ts +4 -0
- package/build/__tests__/behavioral/utilities/InstanceParentTestCanAccessParentMethods.test.js +23 -0
- package/build/__tests__/behavioral/utilities/InstanceParentTestCanAccessParentMethods.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/MockFetch.test.d.ts +28 -0
- package/build/__tests__/behavioral/utilities/MockFetch.test.js +211 -0
- package/build/__tests__/behavioral/utilities/MockFetch.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/StackCleaner.test.d.ts +4 -0
- package/build/__tests__/behavioral/utilities/StackCleaner.test.js +46 -0
- package/build/__tests__/behavioral/utilities/StackCleaner.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/StaticParentTestCanAccessParentMethods.test.d.ts +7 -0
- package/build/__tests__/behavioral/utilities/StaticParentTestCanAccessParentMethods.test.js +32 -0
- package/build/__tests__/behavioral/utilities/StaticParentTestCanAccessParentMethods.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/StaticTestInheritsAbstractSpruceTestProperly.test.d.ts +4 -0
- package/build/__tests__/behavioral/utilities/StaticTestInheritsAbstractSpruceTestProperly.test.js +19 -0
- package/build/__tests__/behavioral/utilities/StaticTestInheritsAbstractSpruceTestProperly.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/Stringify.test.d.ts +5 -0
- package/build/__tests__/behavioral/utilities/Stringify.test.js +127 -0
- package/build/__tests__/behavioral/utilities/Stringify.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/TestDecoratorResolver.test.d.ts +7 -0
- package/build/__tests__/behavioral/utilities/TestDecoratorResolver.test.js +38 -0
- package/build/__tests__/behavioral/utilities/TestDecoratorResolver.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/TestOnBasic.test.d.ts +12 -0
- package/build/__tests__/behavioral/utilities/TestOnBasic.test.js +68 -0
- package/build/__tests__/behavioral/utilities/TestOnBasic.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/TestOnInstance.test.d.ts +28 -0
- package/build/__tests__/behavioral/utilities/TestOnInstance.test.js +289 -0
- package/build/__tests__/behavioral/utilities/TestOnInstance.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTest.test.d.ts +9 -0
- package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTest.test.js +118 -0
- package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTest.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTestWithHooks.test.d.ts +5 -0
- package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTestWithHooks.test.js +78 -0
- package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTestWithHooks.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/TestOnInstanceWithParentBeforeAll.test.d.ts +4 -0
- package/build/__tests__/behavioral/utilities/TestOnInstanceWithParentBeforeAll.test.js +23 -0
- package/build/__tests__/behavioral/utilities/TestOnInstanceWithParentBeforeAll.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/TestOnInstanceWithTwoLevelsOfInheritence.test.d.ts +4 -0
- package/build/__tests__/behavioral/utilities/TestOnInstanceWithTwoLevelsOfInheritence.test.js +24 -0
- package/build/__tests__/behavioral/utilities/TestOnInstanceWithTwoLevelsOfInheritence.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/TestResolver.test.d.ts +7 -0
- package/build/__tests__/behavioral/utilities/TestResolver.test.js +38 -0
- package/build/__tests__/behavioral/utilities/TestResolver.test.js.map +1 -0
- package/build/__tests__/behavioral/utilities/TestResolverOnStatic.test.d.ts +4 -0
- package/build/__tests__/behavioral/utilities/TestResolverOnStatic.test.js +20 -0
- package/build/__tests__/behavioral/utilities/TestResolverOnStatic.test.js.map +1 -0
- package/build/__tests__/behavioral/workspace/JestJsonParser.test.d.ts +18 -0
- package/build/__tests__/behavioral/workspace/JestJsonParser.test.js +267 -0
- package/build/__tests__/behavioral/workspace/JestJsonParser.test.js.map +1 -0
- package/build/__tests__/behavioral/workspace/TestReporter.test.d.ts +16 -0
- package/build/__tests__/behavioral/workspace/TestReporter.test.js +227 -0
- package/build/__tests__/behavioral/workspace/TestReporter.test.js.map +1 -0
- package/build/__tests__/behavioral/workspace/TestRunner.test.d.ts +15 -0
- package/build/__tests__/behavioral/workspace/TestRunner.test.js +99 -0
- package/build/__tests__/behavioral/workspace/TestRunner.test.js.map +1 -0
- package/build/__tests__/behavioral/workspace/Widgets.test.d.ts +13 -0
- package/build/__tests__/behavioral/workspace/Widgets.test.js +99 -0
- package/build/__tests__/behavioral/workspace/Widgets.test.js.map +1 -0
- package/build/__tests__/mock-terminal-kit.d.ts +79 -0
- package/build/__tests__/mock-terminal-kit.js +103 -0
- package/build/__tests__/mock-terminal-kit.js.map +1 -0
- package/build/__tests__/support/AbstractForInstanceTest.d.ts +4 -0
- package/build/__tests__/support/AbstractForInstanceTest.js +9 -0
- package/build/__tests__/support/AbstractForInstanceTest.js.map +1 -0
- package/build/__tests__/support/AbstractLevelOneTest.d.ts +3 -0
- package/build/__tests__/support/AbstractLevelOneTest.js +4 -0
- package/build/__tests__/support/AbstractLevelOneTest.js.map +1 -0
- package/build/__tests__/support/AbstractLevelTwoTest.d.ts +7 -0
- package/build/__tests__/support/AbstractLevelTwoTest.js +14 -0
- package/build/__tests__/support/AbstractLevelTwoTest.js.map +1 -0
- package/build/__tests__/support/AbstractStaticTest.d.ts +7 -0
- package/build/__tests__/support/AbstractStaticTest.js +14 -0
- package/build/__tests__/support/AbstractStaticTest.js.map +1 -0
- package/build/__tests__/support/AbstractTestOnInstanceTest.d.ts +22 -0
- package/build/__tests__/support/AbstractTestOnInstanceTest.js +23 -0
- package/build/__tests__/support/AbstractTestOnInstanceTest.js.map +1 -0
- package/build/__tests__/support/AbstractTestOnInstanceWithHooks.d.ts +26 -0
- package/build/__tests__/support/AbstractTestOnInstanceWithHooks.js +59 -0
- package/build/__tests__/support/AbstractTestOnInstanceWithHooks.js.map +1 -0
- package/build/__tests__/support/jest.setup.d.ts +1 -0
- package/build/__tests__/support/jest.setup.js +4 -0
- package/build/__tests__/support/jest.setup.js.map +1 -0
- package/build/__tests__/support/onTestFileResult.d.ts +244 -0
- package/build/__tests__/support/onTestFileResult.js +980 -0
- package/build/__tests__/support/onTestFileResult.js.map +1 -0
- package/build/impl/AbstractModuleTest.d.ts +18 -4
- package/build/impl/AbstractModuleTest.js +47 -9
- package/build/impl/AbstractModuleTest.js.map +1 -1
- package/build/index.d.ts +4 -4
- package/build/index.js +4 -4
- package/build/index.js.map +1 -1
- package/build/utilities/AssertionError.d.ts +3 -0
- package/build/utilities/AssertionError.js +12 -0
- package/build/utilities/AssertionError.js.map +1 -0
- package/build/utilities/StackCleaner.d.ts +4 -0
- package/build/utilities/StackCleaner.js +10 -0
- package/build/utilities/StackCleaner.js.map +1 -0
- package/build/utilities/TestDecoratorResolver.d.ts +35 -0
- package/build/utilities/TestDecoratorResolver.js +93 -0
- package/build/utilities/TestDecoratorResolver.js.map +1 -0
- package/build/utilities/assert.d.ts +49 -0
- package/build/utilities/assert.js +255 -0
- package/build/utilities/assert.js.map +1 -0
- package/build/utilities/assert.utility.d.ts +28 -0
- package/build/utilities/assert.utility.js +185 -0
- package/build/utilities/assert.utility.js.map +1 -0
- package/build/utilities/decorators.d.ts +9 -0
- package/build/utilities/decorators.js +133 -0
- package/build/utilities/decorators.js.map +1 -0
- package/build/workspace/CommandService.d.ts +49 -0
- package/build/workspace/CommandService.js +179 -0
- package/build/workspace/CommandService.js.map +1 -0
- package/build/workspace/JestJsonParser.d.ts +15 -0
- package/build/workspace/JestJsonParser.js +149 -0
- package/build/workspace/JestJsonParser.js.map +1 -0
- package/build/workspace/TKButtonWidget.d.ts +13 -0
- package/build/workspace/TKButtonWidget.js +37 -0
- package/build/workspace/TKButtonWidget.js.map +1 -0
- package/build/workspace/TestLogItemGenerator.d.ts +15 -0
- package/build/workspace/TestLogItemGenerator.js +142 -0
- package/build/workspace/TestLogItemGenerator.js.map +1 -0
- package/build/workspace/TestReporter.d.ts +103 -0
- package/build/workspace/TestReporter.js +677 -0
- package/build/workspace/TestReporter.js.map +1 -0
- package/build/workspace/TestRunner.d.ts +24 -0
- package/build/workspace/TestRunner.js +95 -0
- package/build/workspace/TestRunner.js.map +1 -0
- package/build/workspace/TkBaseWidget.d.ts +37 -0
- package/build/workspace/TkBaseWidget.js +185 -0
- package/build/workspace/TkBaseWidget.js.map +1 -0
- package/build/workspace/TkInputWidget.d.ts +16 -0
- package/build/workspace/TkInputWidget.js +64 -0
- package/build/workspace/TkInputWidget.js.map +1 -0
- package/build/workspace/TkLayoutCellWidget.d.ts +18 -0
- package/build/workspace/TkLayoutCellWidget.js +32 -0
- package/build/workspace/TkLayoutCellWidget.js.map +1 -0
- package/build/workspace/TkLayoutWidget.d.ts +34 -0
- package/build/workspace/TkLayoutWidget.js +130 -0
- package/build/workspace/TkLayoutWidget.js.map +1 -0
- package/build/workspace/TkMenuBarWidget.d.ts +13 -0
- package/build/workspace/TkMenuBarWidget.js +71 -0
- package/build/workspace/TkMenuBarWidget.js.map +1 -0
- package/build/workspace/TkPopupWidget.d.ts +16 -0
- package/build/workspace/TkPopupWidget.js +36 -0
- package/build/workspace/TkPopupWidget.js.map +1 -0
- package/build/workspace/TkProgressBarWidget.d.ts +10 -0
- package/build/workspace/TkProgressBarWidget.js +39 -0
- package/build/workspace/TkProgressBarWidget.js.map +1 -0
- package/build/workspace/TkTextWidget.d.ts +20 -0
- package/build/workspace/TkTextWidget.js +115 -0
- package/build/workspace/TkTextWidget.js.map +1 -0
- package/build/workspace/TkWindowWidget.d.ts +22 -0
- package/build/workspace/TkWindowWidget.js +88 -0
- package/build/workspace/TkWindowWidget.js.map +1 -0
- package/build/workspace/WidgetFactory.d.ts +6 -0
- package/build/workspace/WidgetFactory.js +21 -0
- package/build/workspace/WidgetFactory.js.map +1 -0
- package/build/workspace/button.types.d.ts +15 -0
- package/build/workspace/button.types.js +6 -0
- package/build/workspace/button.types.js.map +1 -0
- package/build/workspace/duration.utility.d.ts +4 -0
- package/build/workspace/duration.utility.js +26 -0
- package/build/workspace/duration.utility.js.map +1 -0
- package/build/workspace/factory.types.d.ts +89 -0
- package/build/workspace/factory.types.js +37 -0
- package/build/workspace/factory.types.js.map +1 -0
- package/build/workspace/input.types.d.ts +18 -0
- package/build/workspace/input.types.js +7 -0
- package/build/workspace/input.types.js.map +1 -0
- package/build/workspace/keySelectChoices.d.ts +517 -0
- package/build/workspace/keySelectChoices.js +2 -0
- package/build/workspace/keySelectChoices.js.map +1 -0
- package/build/workspace/layout.types.d.ts +33 -0
- package/build/workspace/layout.types.js +2 -0
- package/build/workspace/layout.types.js.map +1 -0
- package/build/workspace/menuBar.types.d.ts +19 -0
- package/build/workspace/menuBar.types.js +6 -0
- package/build/workspace/menuBar.types.js.map +1 -0
- package/build/workspace/popup.types.d.ts +13 -0
- package/build/workspace/popup.types.js +6 -0
- package/build/workspace/popup.types.js.map +1 -0
- package/build/workspace/progressBar.types.d.ts +10 -0
- package/build/workspace/progressBar.types.js +2 -0
- package/build/workspace/progressBar.types.js.map +1 -0
- package/build/workspace/table.types.d.ts +6 -0
- package/build/workspace/table.types.js +2 -0
- package/build/workspace/table.types.js.map +1 -0
- package/build/workspace/termKit.utility.d.ts +12 -0
- package/build/workspace/termKit.utility.js +128 -0
- package/build/workspace/termKit.utility.js.map +1 -0
- package/build/workspace/test.types.d.ts +24 -0
- package/build/workspace/test.types.js +2 -0
- package/build/workspace/test.types.js.map +1 -0
- package/build/workspace/testRunner.cli.d.ts +1 -0
- package/build/workspace/testRunner.cli.js +149 -0
- package/build/workspace/testRunner.cli.js.map +1 -0
- package/build/workspace/text.types.d.ts +20 -0
- package/build/workspace/text.types.js +7 -0
- package/build/workspace/text.types.js.map +1 -0
- package/build/workspace/widget.utilities.d.ts +5 -0
- package/build/workspace/widget.utilities.js +20 -0
- package/build/workspace/widget.utilities.js.map +1 -0
- package/build/workspace/widgets.types.d.ts +66 -0
- package/build/workspace/widgets.types.js +2 -0
- package/build/workspace/widgets.types.js.map +1 -0
- package/build/workspace/window.types.d.ts +18 -0
- package/build/workspace/window.types.js +9 -0
- package/build/workspace/window.types.js.map +1 -0
- package/eslint.config.js +3 -0
- package/package.json +30 -37
- package/prettier.config.js +3 -0
- package/src/.spruce/settings.json +3 -10
- package/src/__tests__/MockFetch.ts +100 -0
- package/src/__tests__/behavioral/AbstractModuleTest.test.ts +15 -0
- package/src/__tests__/behavioral/utilities/AllHooksCalledEvenIfNotDefined.test.ts +31 -0
- package/src/__tests__/behavioral/utilities/Assert.test.ts +826 -0
- package/src/__tests__/behavioral/utilities/InstanceParentTestCanAccessParentMethods.test.ts +14 -0
- package/src/__tests__/behavioral/utilities/MockFetch.test.ts +240 -0
- package/src/__tests__/behavioral/utilities/StackCleaner.test.ts +46 -0
- package/src/__tests__/behavioral/utilities/StaticParentTestCanAccessParentMethods.test.ts +34 -0
- package/src/__tests__/behavioral/utilities/StaticTestInheritsAbstractSpruceTestProperly.test.ts +11 -0
- package/src/__tests__/behavioral/utilities/Stringify.test.ts +169 -0
- package/src/__tests__/behavioral/utilities/TestDecoratorResolver.test.ts +51 -0
- package/src/__tests__/behavioral/utilities/TestOnBasic.test.ts +62 -0
- package/src/__tests__/behavioral/utilities/TestOnInstance.test.ts +439 -0
- package/src/__tests__/behavioral/utilities/TestOnInstanceExtendsTest.test.ts +237 -0
- package/src/__tests__/behavioral/utilities/TestOnInstanceExtendsTestWithHooks.test.ts +85 -0
- package/src/__tests__/behavioral/utilities/TestOnInstanceWithParentBeforeAll.test.ts +14 -0
- package/src/__tests__/behavioral/utilities/TestOnInstanceWithTwoLevelsOfInheritence.test.ts +16 -0
- package/src/__tests__/behavioral/utilities/TestResolver.test.ts +48 -0
- package/src/__tests__/behavioral/utilities/TestResolverOnStatic.test.ts +12 -0
- package/src/__tests__/behavioral/workspace/JestJsonParser.test.ts +357 -0
- package/src/__tests__/behavioral/workspace/TestReporter.test.ts +257 -0
- package/src/__tests__/behavioral/workspace/TestRunner.test.ts +87 -0
- package/src/__tests__/behavioral/workspace/Widgets.test.ts +90 -0
- package/src/__tests__/mock-terminal-kit.ts +115 -0
- package/src/__tests__/support/AbstractForInstanceTest.ts +12 -0
- package/src/__tests__/support/AbstractLevelOneTest.ts +3 -0
- package/src/__tests__/support/AbstractLevelTwoTest.ts +16 -0
- package/src/__tests__/support/AbstractStaticTest.ts +16 -0
- package/src/__tests__/support/AbstractTestOnInstanceTest.ts +30 -0
- package/src/__tests__/support/AbstractTestOnInstanceWithHooks.ts +138 -0
- package/src/__tests__/support/jest.setup.ts +2 -0
- package/src/__tests__/support/onTestFileResult.ts +1008 -0
- package/src/impl/AbstractModuleTest.ts +59 -10
- package/src/index.ts +4 -4
- package/src/utilities/AssertionError.ts +14 -0
- package/src/utilities/StackCleaner.ts +14 -0
- package/src/utilities/TestDecoratorResolver.ts +118 -0
- package/src/utilities/assert.ts +583 -0
- package/src/utilities/assert.utility.ts +295 -0
- package/src/utilities/decorators.ts +167 -0
- package/src/workspace/CommandService.ts +256 -0
- package/src/workspace/JestJsonParser.ts +255 -0
- package/src/workspace/TKButtonWidget.ts +54 -0
- package/src/workspace/TestLogItemGenerator.ts +184 -0
- package/src/workspace/TestReporter.ts +865 -0
- package/src/workspace/TestRunner.ts +128 -0
- package/src/workspace/TkBaseWidget.ts +249 -0
- package/src/workspace/TkInputWidget.ts +83 -0
- package/src/workspace/TkLayoutCellWidget.ts +46 -0
- package/src/workspace/TkLayoutWidget.ts +181 -0
- package/src/workspace/TkMenuBarWidget.ts +95 -0
- package/src/workspace/TkPopupWidget.ts +47 -0
- package/src/workspace/TkProgressBarWidget.ts +54 -0
- package/src/workspace/TkTextWidget.ts +158 -0
- package/src/workspace/TkWindowWidget.ts +122 -0
- package/src/workspace/WidgetFactory.ts +33 -0
- package/src/workspace/button.types.ts +19 -0
- package/src/workspace/duration.utility.ts +34 -0
- package/src/workspace/factory.types.ts +101 -0
- package/src/workspace/input.types.ts +22 -0
- package/src/workspace/keySelectChoices.ts +134 -0
- package/src/workspace/layout.types.ts +40 -0
- package/src/workspace/menuBar.types.ts +24 -0
- package/src/workspace/popup.types.ts +17 -0
- package/src/workspace/progressBar.types.ts +13 -0
- package/src/workspace/table.types.ts +9 -0
- package/src/workspace/termKit.utility.ts +130 -0
- package/src/workspace/terminal-kit.d.ts +28 -0
- package/src/workspace/test.types.ts +34 -0
- package/src/workspace/testRunner.cli.ts +159 -0
- package/src/workspace/text.types.ts +26 -0
- package/src/workspace/widget.utilities.ts +35 -0
- package/src/workspace/widgets.types.ts +102 -0
- package/src/workspace/window.types.ts +22 -0
- package/tsconfig.json +23 -27
- package/build/__tests__/AbstractPackageTest.d.ts +0 -4
- package/build/__tests__/AbstractPackageTest.js +0 -7
- package/build/__tests__/AbstractPackageTest.js.map +0 -1
- package/build/__tests__/functions/assertFunction.test.d.ts +0 -5
- package/build/__tests__/functions/assertFunction.test.js +0 -23
- package/build/__tests__/functions/assertFunction.test.js.map +0 -1
- package/build/__tests__/functions/testFunction.test.d.ts +0 -5
- package/build/__tests__/functions/testFunction.test.js +0 -23
- package/build/__tests__/functions/testFunction.test.js.map +0 -1
- package/build/__tests__/impl/AbstractModuleTest.test.js.map +0 -1
- package/build/functions/assert.d.ts +0 -3
- package/build/functions/assert.js +0 -4
- package/build/functions/assert.js.map +0 -1
- package/build/functions/test.d.ts +0 -3
- package/build/functions/test.js +0 -4
- package/build/functions/test.js.map +0 -1
- package/eslint.config.mjs +0 -3
- package/src/__tests__/AbstractPackageTest.ts +0 -7
- package/src/__tests__/functions/assertFunction.test.ts +0 -22
- package/src/__tests__/functions/testFunction.test.ts +0 -22
- package/src/__tests__/impl/AbstractModuleTest.test.ts +0 -34
- package/src/functions/assert.ts +0 -4
- package/src/functions/test.ts +0 -4
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import AbstractModuleTest from '../../../impl/AbstractModuleTest.js';
|
|
8
|
+
import test from '../../../utilities/decorators.js';
|
|
9
|
+
import assert from '../../../utilities/assert.js';
|
|
10
|
+
import TestReporter from '../../../workspace/TestReporter.js';
|
|
11
|
+
export default class TestReporterTest extends AbstractModuleTest {
|
|
12
|
+
static async canInstantiateTestReporter() {
|
|
13
|
+
const reporter = this.TestReporter();
|
|
14
|
+
assert.isTruthy(reporter);
|
|
15
|
+
}
|
|
16
|
+
static async canInstantiateWithOptions() {
|
|
17
|
+
const reporter = this.TestReporter({
|
|
18
|
+
cwd: this.cwd,
|
|
19
|
+
watchMode: 'off',
|
|
20
|
+
status: 'ready',
|
|
21
|
+
isDebugging: false,
|
|
22
|
+
});
|
|
23
|
+
assert.isTruthy(reporter);
|
|
24
|
+
}
|
|
25
|
+
static async hasStartMethod() {
|
|
26
|
+
const reporter = this.TestReporter();
|
|
27
|
+
assert.isFunction(reporter.start);
|
|
28
|
+
}
|
|
29
|
+
static async hasDestroyMethod() {
|
|
30
|
+
const reporter = this.TestReporter();
|
|
31
|
+
assert.isFunction(reporter.destroy);
|
|
32
|
+
}
|
|
33
|
+
static async hasUpdateResultsMethod() {
|
|
34
|
+
const reporter = this.TestReporter();
|
|
35
|
+
assert.isFunction(reporter.updateResults);
|
|
36
|
+
}
|
|
37
|
+
static async hasSetStatusMethod() {
|
|
38
|
+
const reporter = this.TestReporter();
|
|
39
|
+
assert.isFunction(reporter.setStatus);
|
|
40
|
+
}
|
|
41
|
+
static async hasResetMethod() {
|
|
42
|
+
const reporter = this.TestReporter();
|
|
43
|
+
assert.isFunction(reporter.reset);
|
|
44
|
+
}
|
|
45
|
+
static async hasAppendErrorMethod() {
|
|
46
|
+
const reporter = this.TestReporter();
|
|
47
|
+
assert.isFunction(reporter.appendError);
|
|
48
|
+
}
|
|
49
|
+
static async throwsIfUpdateResultsCalledBeforeStart() {
|
|
50
|
+
const reporter = this.TestReporter();
|
|
51
|
+
assert.doesThrow(() => {
|
|
52
|
+
reporter.updateResults({ totalTestFiles: 0 });
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
static async doesNotDestroyOnUncaughtException() {
|
|
56
|
+
const reporter = this.TestReporter();
|
|
57
|
+
let destroyCalled = false;
|
|
58
|
+
let killHandler;
|
|
59
|
+
const fakeWidget = new Proxy({}, {
|
|
60
|
+
get: (_t, prop) => {
|
|
61
|
+
if (prop === 'getFrame') {
|
|
62
|
+
return () => ({
|
|
63
|
+
left: 0,
|
|
64
|
+
top: 0,
|
|
65
|
+
width: 100,
|
|
66
|
+
height: 50,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
if (prop === 'getChildById') {
|
|
70
|
+
return () => null;
|
|
71
|
+
}
|
|
72
|
+
if (prop === 'getRows') {
|
|
73
|
+
return () => [{}];
|
|
74
|
+
}
|
|
75
|
+
if (prop === 'getFocusedWidget') {
|
|
76
|
+
return () => null;
|
|
77
|
+
}
|
|
78
|
+
if (prop === 'on') {
|
|
79
|
+
return (event, handler) => {
|
|
80
|
+
if (event === 'kill') {
|
|
81
|
+
killHandler = handler;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
return () => fakeWidget;
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
reporter.widgets = { Widget: () => fakeWidget };
|
|
89
|
+
reporter.destroy = async () => {
|
|
90
|
+
destroyCalled = true;
|
|
91
|
+
};
|
|
92
|
+
await reporter.start();
|
|
93
|
+
assert.isTruthy(killHandler, 'kill handler must be registered');
|
|
94
|
+
killHandler({
|
|
95
|
+
code: new Error('terminal-kit mouse boundary crash'),
|
|
96
|
+
});
|
|
97
|
+
assert.isFalse(destroyCalled, 'uncaughtException must not destroy the UI');
|
|
98
|
+
killHandler({ code: 0 });
|
|
99
|
+
assert.isTrue(destroyCalled, 'real exit signal must still destroy the UI');
|
|
100
|
+
clearInterval(reporter.updateInterval);
|
|
101
|
+
}
|
|
102
|
+
static async grabsInputToResetMouseStateAfterCrash() {
|
|
103
|
+
const reporter = this.TestReporter();
|
|
104
|
+
let destroyCalled = false;
|
|
105
|
+
let grabInputCalled = false;
|
|
106
|
+
let killHandler;
|
|
107
|
+
const fakeTerm = {
|
|
108
|
+
grabInput: () => {
|
|
109
|
+
grabInputCalled = true;
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
const fakeWidget = new Proxy({}, {
|
|
113
|
+
get: (_t, prop) => {
|
|
114
|
+
if (prop === 'getFrame') {
|
|
115
|
+
return () => ({
|
|
116
|
+
left: 0,
|
|
117
|
+
top: 0,
|
|
118
|
+
width: 100,
|
|
119
|
+
height: 50,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
if (prop === 'getChildById') {
|
|
123
|
+
return () => null;
|
|
124
|
+
}
|
|
125
|
+
if (prop === 'getRows') {
|
|
126
|
+
return () => [{}];
|
|
127
|
+
}
|
|
128
|
+
if (prop === 'getFocusedWidget') {
|
|
129
|
+
return () => null;
|
|
130
|
+
}
|
|
131
|
+
if (prop === 'term') {
|
|
132
|
+
return fakeTerm;
|
|
133
|
+
}
|
|
134
|
+
if (prop === 'on') {
|
|
135
|
+
return (event, handler) => {
|
|
136
|
+
if (event === 'kill') {
|
|
137
|
+
killHandler = handler;
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
return () => fakeWidget;
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
reporter.widgets = { Widget: () => fakeWidget };
|
|
145
|
+
reporter.destroy = async () => {
|
|
146
|
+
destroyCalled = true;
|
|
147
|
+
};
|
|
148
|
+
await reporter.start();
|
|
149
|
+
assert.isTruthy(killHandler, 'kill handler must be registered');
|
|
150
|
+
killHandler({
|
|
151
|
+
code: new Error('terminal-kit mouse boundary crash'),
|
|
152
|
+
});
|
|
153
|
+
assert.isFalse(destroyCalled, 'uncaughtException must not destroy the UI');
|
|
154
|
+
killHandler({ code: 0 });
|
|
155
|
+
assert.isTrue(destroyCalled, 'real exit signal must still destroy the UI');
|
|
156
|
+
assert.isTrue(grabInputCalled, 'grabInput must be called to reset mouse state after terminal crash');
|
|
157
|
+
clearInterval(reporter.updateInterval);
|
|
158
|
+
}
|
|
159
|
+
static async errorLogIsCreatedWithFocusableSetToFalse() {
|
|
160
|
+
const reporter = this.TestReporter();
|
|
161
|
+
let capturedTextOptions;
|
|
162
|
+
const fakeCell = { getFrame: () => ({ width: 100, height: 50 }) };
|
|
163
|
+
reporter.orientation = 'landscape';
|
|
164
|
+
reporter.bottomLayout = {
|
|
165
|
+
getRows: () => [{ id: 'row_1' }],
|
|
166
|
+
addColumn: () => { },
|
|
167
|
+
setColumnWidth: () => { },
|
|
168
|
+
updateLayout: () => { },
|
|
169
|
+
getChildById: (id) => {
|
|
170
|
+
return id === 'errors' ? fakeCell : null;
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
reporter.widgets = {
|
|
174
|
+
Widget: (type, options) => {
|
|
175
|
+
if (type === 'text') {
|
|
176
|
+
capturedTextOptions = options;
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
on: () => { },
|
|
180
|
+
getFrame: () => ({ width: 100, height: 50 }),
|
|
181
|
+
};
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
reporter.dropInErrorLog();
|
|
185
|
+
assert.isFalse(capturedTextOptions?.focusable, 'errorLog must be created with focusable: false to prevent UI lockup on click');
|
|
186
|
+
}
|
|
187
|
+
static TestReporter(options) {
|
|
188
|
+
return new TestReporter(options);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
__decorate([
|
|
192
|
+
test()
|
|
193
|
+
], TestReporterTest, "canInstantiateTestReporter", null);
|
|
194
|
+
__decorate([
|
|
195
|
+
test()
|
|
196
|
+
], TestReporterTest, "canInstantiateWithOptions", null);
|
|
197
|
+
__decorate([
|
|
198
|
+
test()
|
|
199
|
+
], TestReporterTest, "hasStartMethod", null);
|
|
200
|
+
__decorate([
|
|
201
|
+
test()
|
|
202
|
+
], TestReporterTest, "hasDestroyMethod", null);
|
|
203
|
+
__decorate([
|
|
204
|
+
test()
|
|
205
|
+
], TestReporterTest, "hasUpdateResultsMethod", null);
|
|
206
|
+
__decorate([
|
|
207
|
+
test()
|
|
208
|
+
], TestReporterTest, "hasSetStatusMethod", null);
|
|
209
|
+
__decorate([
|
|
210
|
+
test()
|
|
211
|
+
], TestReporterTest, "hasResetMethod", null);
|
|
212
|
+
__decorate([
|
|
213
|
+
test()
|
|
214
|
+
], TestReporterTest, "hasAppendErrorMethod", null);
|
|
215
|
+
__decorate([
|
|
216
|
+
test()
|
|
217
|
+
], TestReporterTest, "throwsIfUpdateResultsCalledBeforeStart", null);
|
|
218
|
+
__decorate([
|
|
219
|
+
test()
|
|
220
|
+
], TestReporterTest, "doesNotDestroyOnUncaughtException", null);
|
|
221
|
+
__decorate([
|
|
222
|
+
test()
|
|
223
|
+
], TestReporterTest, "grabsInputToResetMouseStateAfterCrash", null);
|
|
224
|
+
__decorate([
|
|
225
|
+
test()
|
|
226
|
+
], TestReporterTest, "errorLogIsCreatedWithFocusableSetToFalse", null);
|
|
227
|
+
//# sourceMappingURL=TestReporter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestReporter.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/workspace/TestReporter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import AbstractModuleTest from '../../../impl/AbstractModuleTest.js';
|
|
2
|
+
export default class TestRunnerTest extends AbstractModuleTest {
|
|
3
|
+
private static runner;
|
|
4
|
+
protected static beforeEach(): Promise<void>;
|
|
5
|
+
protected static canInstantiateTestRunner(): Promise<void>;
|
|
6
|
+
protected static hasHasFailedTestsMethod(): Promise<void>;
|
|
7
|
+
protected static hasHasSkippedTestsMethod(): Promise<void>;
|
|
8
|
+
protected static hasKillMethod(): Promise<void>;
|
|
9
|
+
protected static hasRunMethod(): Promise<void>;
|
|
10
|
+
protected static hasFailedTestsReturnsFalseByDefault(): Promise<void>;
|
|
11
|
+
protected static hasSkippedTestsReturnsFalseByDefault(): Promise<void>;
|
|
12
|
+
protected static emitsDidUpdateEvent(): Promise<void>;
|
|
13
|
+
protected static emitsDidErrorEvent(): Promise<void>;
|
|
14
|
+
protected static passesNodeNoWarningsToCommandService(): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import AbstractModuleTest from '../../../impl/AbstractModuleTest.js';
|
|
8
|
+
import test from '../../../utilities/decorators.js';
|
|
9
|
+
import assert from '../../../utilities/assert.js';
|
|
10
|
+
import TestRunner from '../../../workspace/TestRunner.js';
|
|
11
|
+
import CommandServiceImpl from '../../../workspace/CommandService.js';
|
|
12
|
+
export default class TestRunnerTest extends AbstractModuleTest {
|
|
13
|
+
static runner;
|
|
14
|
+
static async beforeEach() {
|
|
15
|
+
await super.beforeEach();
|
|
16
|
+
const commandService = new CommandServiceImpl(this.cwd);
|
|
17
|
+
this.runner = new TestRunner({ cwd: this.cwd, commandService });
|
|
18
|
+
}
|
|
19
|
+
static async canInstantiateTestRunner() {
|
|
20
|
+
assert.isTruthy(this.runner);
|
|
21
|
+
}
|
|
22
|
+
static async hasHasFailedTestsMethod() {
|
|
23
|
+
assert.isFunction(this.runner.hasFailedTests);
|
|
24
|
+
}
|
|
25
|
+
static async hasHasSkippedTestsMethod() {
|
|
26
|
+
assert.isFunction(this.runner.hasSkippedTests);
|
|
27
|
+
}
|
|
28
|
+
static async hasKillMethod() {
|
|
29
|
+
assert.isFunction(this.runner.kill);
|
|
30
|
+
}
|
|
31
|
+
static async hasRunMethod() {
|
|
32
|
+
assert.isFunction(this.runner.run);
|
|
33
|
+
}
|
|
34
|
+
static async hasFailedTestsReturnsFalseByDefault() {
|
|
35
|
+
assert.isFalse(this.runner.hasFailedTests());
|
|
36
|
+
}
|
|
37
|
+
static async hasSkippedTestsReturnsFalseByDefault() {
|
|
38
|
+
assert.isFalse(this.runner.hasSkippedTests());
|
|
39
|
+
}
|
|
40
|
+
static async emitsDidUpdateEvent() {
|
|
41
|
+
let emitted = false;
|
|
42
|
+
this.runner.on('did-update', () => {
|
|
43
|
+
emitted = true;
|
|
44
|
+
});
|
|
45
|
+
assert.isFalse(emitted);
|
|
46
|
+
this.runner.emit('did-update', { results: { totalTestFiles: 0 } });
|
|
47
|
+
assert.isTrue(emitted);
|
|
48
|
+
}
|
|
49
|
+
static async emitsDidErrorEvent() {
|
|
50
|
+
let errorMessage = '';
|
|
51
|
+
this.runner.on('did-error', (payload) => {
|
|
52
|
+
errorMessage = payload.message;
|
|
53
|
+
});
|
|
54
|
+
this.runner.emit('did-error', { message: 'test error' });
|
|
55
|
+
assert.isEqual(errorMessage, 'test error');
|
|
56
|
+
}
|
|
57
|
+
static async passesNodeNoWarningsToCommandService() {
|
|
58
|
+
let capturedEnv;
|
|
59
|
+
const commandService = new CommandServiceImpl(this.cwd);
|
|
60
|
+
commandService.execute = async (_cmd, options) => {
|
|
61
|
+
capturedEnv = options?.env;
|
|
62
|
+
return { stdout: '' };
|
|
63
|
+
};
|
|
64
|
+
const runner = new TestRunner({ cwd: this.cwd, commandService });
|
|
65
|
+
await runner.run();
|
|
66
|
+
assert.isEqual(capturedEnv?.NODE_NO_WARNINGS, '1');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
__decorate([
|
|
70
|
+
test()
|
|
71
|
+
], TestRunnerTest, "canInstantiateTestRunner", null);
|
|
72
|
+
__decorate([
|
|
73
|
+
test()
|
|
74
|
+
], TestRunnerTest, "hasHasFailedTestsMethod", null);
|
|
75
|
+
__decorate([
|
|
76
|
+
test()
|
|
77
|
+
], TestRunnerTest, "hasHasSkippedTestsMethod", null);
|
|
78
|
+
__decorate([
|
|
79
|
+
test()
|
|
80
|
+
], TestRunnerTest, "hasKillMethod", null);
|
|
81
|
+
__decorate([
|
|
82
|
+
test()
|
|
83
|
+
], TestRunnerTest, "hasRunMethod", null);
|
|
84
|
+
__decorate([
|
|
85
|
+
test()
|
|
86
|
+
], TestRunnerTest, "hasFailedTestsReturnsFalseByDefault", null);
|
|
87
|
+
__decorate([
|
|
88
|
+
test()
|
|
89
|
+
], TestRunnerTest, "hasSkippedTestsReturnsFalseByDefault", null);
|
|
90
|
+
__decorate([
|
|
91
|
+
test()
|
|
92
|
+
], TestRunnerTest, "emitsDidUpdateEvent", null);
|
|
93
|
+
__decorate([
|
|
94
|
+
test()
|
|
95
|
+
], TestRunnerTest, "emitsDidErrorEvent", null);
|
|
96
|
+
__decorate([
|
|
97
|
+
test()
|
|
98
|
+
], TestRunnerTest, "passesNodeNoWarningsToCommandService", null);
|
|
99
|
+
//# sourceMappingURL=TestRunner.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestRunner.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/workspace/TestRunner.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import AbstractModuleTest from '../../../impl/AbstractModuleTest.js';
|
|
2
|
+
export default class WidgetsTest extends AbstractModuleTest {
|
|
3
|
+
private static factory;
|
|
4
|
+
protected static beforeEach(): Promise<void>;
|
|
5
|
+
protected static canCreateFactory(): Promise<void>;
|
|
6
|
+
protected static canCreateTextWidget(): Promise<void>;
|
|
7
|
+
protected static setsStartingFrame(): Promise<void>;
|
|
8
|
+
protected static canCreateWindow(): void;
|
|
9
|
+
protected static canCreateProgressBar(): void;
|
|
10
|
+
protected static canCreateText(): void;
|
|
11
|
+
protected static canCreateLayout(): void;
|
|
12
|
+
private static buildText;
|
|
13
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import AbstractModuleTest from '../../../impl/AbstractModuleTest.js';
|
|
8
|
+
import assert from '../../../utilities/assert.js';
|
|
9
|
+
import test from '../../../utilities/decorators.js';
|
|
10
|
+
import WidgetFactory from '../../../workspace/WidgetFactory.js';
|
|
11
|
+
export default class WidgetsTest extends AbstractModuleTest {
|
|
12
|
+
static factory;
|
|
13
|
+
static async beforeEach() {
|
|
14
|
+
await super.beforeEach();
|
|
15
|
+
this.factory = new WidgetFactory();
|
|
16
|
+
}
|
|
17
|
+
static async canCreateFactory() {
|
|
18
|
+
assert.isTruthy(this.factory);
|
|
19
|
+
}
|
|
20
|
+
static async canCreateTextWidget() {
|
|
21
|
+
const log = this.buildText();
|
|
22
|
+
assert.isTruthy(log);
|
|
23
|
+
}
|
|
24
|
+
static async setsStartingFrame() {
|
|
25
|
+
const text = this.buildText();
|
|
26
|
+
assert.isEqualDeep(text.getFrame(), {
|
|
27
|
+
left: 0,
|
|
28
|
+
top: 0,
|
|
29
|
+
width: 4,
|
|
30
|
+
height: 4,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
static canCreateWindow() {
|
|
34
|
+
const window = this.factory.Widget('window', {});
|
|
35
|
+
assert.isTruthy(window);
|
|
36
|
+
}
|
|
37
|
+
static canCreateProgressBar() {
|
|
38
|
+
const progress = this.factory.Widget('progressBar', {
|
|
39
|
+
progress: 0,
|
|
40
|
+
});
|
|
41
|
+
assert.isTruthy(progress);
|
|
42
|
+
}
|
|
43
|
+
static canCreateText() {
|
|
44
|
+
const text = this.factory.Widget('text', {});
|
|
45
|
+
assert.isTruthy(text);
|
|
46
|
+
}
|
|
47
|
+
static canCreateLayout() {
|
|
48
|
+
const window = this.factory.Widget('window', {});
|
|
49
|
+
const layout = this.factory.Widget('layout', {
|
|
50
|
+
parent: window,
|
|
51
|
+
width: '100%',
|
|
52
|
+
rows: [
|
|
53
|
+
{
|
|
54
|
+
id: 'row_1',
|
|
55
|
+
height: '100%',
|
|
56
|
+
columns: [
|
|
57
|
+
{
|
|
58
|
+
id: 'column_1',
|
|
59
|
+
width: '100%',
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
});
|
|
65
|
+
assert.isTruthy(layout);
|
|
66
|
+
const column = layout.getChildById('results');
|
|
67
|
+
assert.isTruthy(column);
|
|
68
|
+
}
|
|
69
|
+
static buildText() {
|
|
70
|
+
return this.factory.Widget('text', {
|
|
71
|
+
left: 0,
|
|
72
|
+
top: 0,
|
|
73
|
+
width: 4,
|
|
74
|
+
height: 4,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
__decorate([
|
|
79
|
+
test()
|
|
80
|
+
], WidgetsTest, "canCreateFactory", null);
|
|
81
|
+
__decorate([
|
|
82
|
+
test()
|
|
83
|
+
], WidgetsTest, "canCreateTextWidget", null);
|
|
84
|
+
__decorate([
|
|
85
|
+
test()
|
|
86
|
+
], WidgetsTest, "setsStartingFrame", null);
|
|
87
|
+
__decorate([
|
|
88
|
+
test()
|
|
89
|
+
], WidgetsTest, "canCreateWindow", null);
|
|
90
|
+
__decorate([
|
|
91
|
+
test()
|
|
92
|
+
], WidgetsTest, "canCreateProgressBar", null);
|
|
93
|
+
__decorate([
|
|
94
|
+
test()
|
|
95
|
+
], WidgetsTest, "canCreateText", null);
|
|
96
|
+
__decorate([
|
|
97
|
+
test.skip('enable when ready to fake termkit')
|
|
98
|
+
], WidgetsTest, "canCreateLayout", null);
|
|
99
|
+
//# sourceMappingURL=Widgets.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Widgets.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/workspace/Widgets.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export declare class FakeElement {
|
|
2
|
+
outputX: number;
|
|
3
|
+
outputY: number;
|
|
4
|
+
outputWidth: number;
|
|
5
|
+
outputHeight: number;
|
|
6
|
+
constructorOptions: Record<string, any>;
|
|
7
|
+
private handlers;
|
|
8
|
+
constructor(options?: Record<string, any>);
|
|
9
|
+
on(event: string, cb: Function): void;
|
|
10
|
+
draw(): void;
|
|
11
|
+
destroy(): void;
|
|
12
|
+
resize(options: Record<string, any>): void;
|
|
13
|
+
}
|
|
14
|
+
export declare class TextBox extends FakeElement {
|
|
15
|
+
content: string;
|
|
16
|
+
scrollY: number;
|
|
17
|
+
scrollX: number;
|
|
18
|
+
textAreaHeight: number;
|
|
19
|
+
textBuffer: {
|
|
20
|
+
cy: number;
|
|
21
|
+
selectionRegion: any;
|
|
22
|
+
setSelectionRegion(_: any): void;
|
|
23
|
+
};
|
|
24
|
+
setContent(content: string): void;
|
|
25
|
+
setSizeAndPosition(opts: Record<string, any>): void;
|
|
26
|
+
scrollToBottom(): void;
|
|
27
|
+
}
|
|
28
|
+
export declare class Bar extends FakeElement {
|
|
29
|
+
setValue(_: number): void;
|
|
30
|
+
setContent(_: string): void;
|
|
31
|
+
}
|
|
32
|
+
export declare class Layout extends FakeElement {
|
|
33
|
+
computed: {
|
|
34
|
+
xmin: number;
|
|
35
|
+
ymin: number;
|
|
36
|
+
width: number;
|
|
37
|
+
height: number;
|
|
38
|
+
};
|
|
39
|
+
zChildren: any[];
|
|
40
|
+
updateLayout(): void;
|
|
41
|
+
addRow(_row: any): void;
|
|
42
|
+
setRowHeight(_idx: number, _h: any): void;
|
|
43
|
+
addColumn(_idx: number, _col: any): void;
|
|
44
|
+
setColumnWidth(_opts: any): void;
|
|
45
|
+
getRows(): never[];
|
|
46
|
+
off(_event: string, _cb: any): void;
|
|
47
|
+
onParentResize(): void;
|
|
48
|
+
}
|
|
49
|
+
export declare class Palette {
|
|
50
|
+
}
|
|
51
|
+
declare const terminalKit: {
|
|
52
|
+
terminal: {
|
|
53
|
+
createDocument: () => {
|
|
54
|
+
eventSource: {
|
|
55
|
+
on(_event: string, _cb: any): void;
|
|
56
|
+
};
|
|
57
|
+
__widget: any;
|
|
58
|
+
inputWidth: number;
|
|
59
|
+
inputHeight: number;
|
|
60
|
+
focusElement: {
|
|
61
|
+
__widget: null;
|
|
62
|
+
};
|
|
63
|
+
giveFocusTo: (_el: any) => void;
|
|
64
|
+
destroy: () => void;
|
|
65
|
+
};
|
|
66
|
+
grabInput: (_opts: any) => void;
|
|
67
|
+
on: (_event: string, _cb: any) => void;
|
|
68
|
+
hideCursor: (_v: boolean) => void;
|
|
69
|
+
windowTitle: (_t: string) => void;
|
|
70
|
+
styleReset: () => void;
|
|
71
|
+
clear: () => void;
|
|
72
|
+
removeAllListeners: () => void;
|
|
73
|
+
};
|
|
74
|
+
TextBox: typeof TextBox;
|
|
75
|
+
Bar: typeof Bar;
|
|
76
|
+
Layout: typeof Layout;
|
|
77
|
+
Palette: typeof Palette;
|
|
78
|
+
};
|
|
79
|
+
export default terminalKit;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
export class FakeElement {
|
|
2
|
+
outputX;
|
|
3
|
+
outputY;
|
|
4
|
+
outputWidth;
|
|
5
|
+
outputHeight;
|
|
6
|
+
constructorOptions;
|
|
7
|
+
handlers = {};
|
|
8
|
+
constructor(options = {}) {
|
|
9
|
+
this.constructorOptions = options;
|
|
10
|
+
this.outputX = options.x ?? 0;
|
|
11
|
+
this.outputY = options.y ?? 0;
|
|
12
|
+
this.outputWidth = options.width ?? 0;
|
|
13
|
+
this.outputHeight = options.height ?? 0;
|
|
14
|
+
}
|
|
15
|
+
on(event, cb) {
|
|
16
|
+
if (!this.handlers[event]) {
|
|
17
|
+
this.handlers[event] = [];
|
|
18
|
+
}
|
|
19
|
+
this.handlers[event].push(cb);
|
|
20
|
+
}
|
|
21
|
+
draw() { }
|
|
22
|
+
destroy() { }
|
|
23
|
+
resize(options) {
|
|
24
|
+
if (options.x !== undefined) {
|
|
25
|
+
this.outputX = options.x;
|
|
26
|
+
}
|
|
27
|
+
if (options.y !== undefined) {
|
|
28
|
+
this.outputY = options.y;
|
|
29
|
+
}
|
|
30
|
+
if (options.width !== undefined) {
|
|
31
|
+
this.outputWidth = options.width;
|
|
32
|
+
}
|
|
33
|
+
if (options.height !== undefined) {
|
|
34
|
+
this.outputHeight = options.height;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export class TextBox extends FakeElement {
|
|
39
|
+
content = '';
|
|
40
|
+
scrollY = 0;
|
|
41
|
+
scrollX = 0;
|
|
42
|
+
textAreaHeight = 0;
|
|
43
|
+
textBuffer = {
|
|
44
|
+
cy: 0,
|
|
45
|
+
selectionRegion: null,
|
|
46
|
+
setSelectionRegion(_) { },
|
|
47
|
+
};
|
|
48
|
+
setContent(content) {
|
|
49
|
+
this.content = content;
|
|
50
|
+
}
|
|
51
|
+
setSizeAndPosition(opts) {
|
|
52
|
+
this.resize(opts);
|
|
53
|
+
}
|
|
54
|
+
scrollToBottom() { }
|
|
55
|
+
}
|
|
56
|
+
export class Bar extends FakeElement {
|
|
57
|
+
setValue(_) { }
|
|
58
|
+
setContent(_) { }
|
|
59
|
+
}
|
|
60
|
+
export class Layout extends FakeElement {
|
|
61
|
+
computed = { xmin: 0, ymin: 0, width: 80, height: 24 };
|
|
62
|
+
zChildren = [];
|
|
63
|
+
updateLayout() { }
|
|
64
|
+
addRow(_row) { }
|
|
65
|
+
setRowHeight(_idx, _h) { }
|
|
66
|
+
addColumn(_idx, _col) { }
|
|
67
|
+
setColumnWidth(_opts) { }
|
|
68
|
+
getRows() {
|
|
69
|
+
return [];
|
|
70
|
+
}
|
|
71
|
+
off(_event, _cb) { }
|
|
72
|
+
onParentResize() { }
|
|
73
|
+
}
|
|
74
|
+
export class Palette {
|
|
75
|
+
}
|
|
76
|
+
const fakeDocument = {
|
|
77
|
+
eventSource: { on(_event, _cb) { } },
|
|
78
|
+
__widget: null,
|
|
79
|
+
inputWidth: 120,
|
|
80
|
+
inputHeight: 40,
|
|
81
|
+
focusElement: { __widget: null },
|
|
82
|
+
giveFocusTo: (_el) => { },
|
|
83
|
+
destroy: () => { },
|
|
84
|
+
};
|
|
85
|
+
const fakeTerm = {
|
|
86
|
+
createDocument: () => fakeDocument,
|
|
87
|
+
grabInput: (_opts) => { },
|
|
88
|
+
on: (_event, _cb) => { },
|
|
89
|
+
hideCursor: (_v) => { },
|
|
90
|
+
windowTitle: (_t) => { },
|
|
91
|
+
styleReset: () => { },
|
|
92
|
+
clear: () => { },
|
|
93
|
+
removeAllListeners: () => { },
|
|
94
|
+
};
|
|
95
|
+
const terminalKit = {
|
|
96
|
+
terminal: fakeTerm,
|
|
97
|
+
TextBox,
|
|
98
|
+
Bar,
|
|
99
|
+
Layout,
|
|
100
|
+
Palette,
|
|
101
|
+
};
|
|
102
|
+
export default terminalKit;
|
|
103
|
+
//# sourceMappingURL=mock-terminal-kit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-terminal-kit.js","sourceRoot":"","sources":["../../src/__tests__/mock-terminal-kit.ts"],"names":[],"mappings":"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"}
|