add module alias '@tests/'
Alias would remove unnecessary repetitions and less relative paths make changes easier when moving around files. This commit cleans also up some relative paths ('../../../') by using the alias and orders imports. It updates both path alias in tsconfig and module alias in Vue CLI's bundler (vuejs/vue-cli#2398).
This commit is contained in:
@@ -1,16 +1,20 @@
|
|||||||
# Unit tests
|
# Tests
|
||||||
|
|
||||||
|
- 💡 You can use path/module alias `@/tests` in import statements.
|
||||||
|
|
||||||
|
## Unit tests
|
||||||
|
|
||||||
- Unit tests are defined in [`./tests`](./../tests)
|
- Unit tests are defined in [`./tests`](./../tests)
|
||||||
- They follow same folder structure as [`./src`](./../src)
|
- They follow same folder structure as [`./src`](./../src)
|
||||||
|
|
||||||
## Naming
|
### Naming
|
||||||
|
|
||||||
- Each test suite first describe the system under test
|
- Each test suite first describe the system under test
|
||||||
- E.g. tests for class `Application` is categorized under `Application`
|
- E.g. tests for class `Application` is categorized under `Application`
|
||||||
- Tests for specific methods are categorized under method name (if applicable)
|
- Tests for specific methods are categorized under method name (if applicable)
|
||||||
- E.g. test for `run()` is categorized under `run`
|
- E.g. test for `run()` is categorized under `run`
|
||||||
|
|
||||||
## Act, arrange, assert
|
### Act, arrange, assert
|
||||||
|
|
||||||
- Tests use act, arrange and assert (AAA) pattern when applicable
|
- Tests use act, arrange and assert (AAA) pattern when applicable
|
||||||
- **Arrange**
|
- **Arrange**
|
||||||
@@ -23,7 +27,7 @@
|
|||||||
- Should elicit some sort of response
|
- Should elicit some sort of response
|
||||||
- Starts with comment line `// assert`
|
- Starts with comment line `// assert`
|
||||||
|
|
||||||
## Stubs
|
### Stubs
|
||||||
|
|
||||||
- Stubs are defined in [`./tests/stubs`](./../tests/unit/stubs)
|
- Stubs are defined in [`./tests/stubs`](./../tests/unit/stubs)
|
||||||
- They implement dummy behavior to be functional
|
- They implement dummy behavior to be functional
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { IScriptingDefinition } from '@/domain/IScriptingDefinition';
|
import { IScriptingDefinition } from '@/domain/IScriptingDefinition';
|
||||||
import { ILanguageSyntax } from '@/domain/ScriptCode';
|
import { ILanguageSyntax } from '@/domain/ScriptCode';
|
||||||
import { FunctionData } from 'js-yaml-loader!*';
|
import { FunctionData } from 'js-yaml-loader!@/*';
|
||||||
import { IScriptCompiler } from './Compiler/IScriptCompiler';
|
import { IScriptCompiler } from './Compiler/IScriptCompiler';
|
||||||
import { ScriptCompiler } from './Compiler/ScriptCompiler';
|
import { ScriptCompiler } from './Compiler/ScriptCompiler';
|
||||||
import { ICategoryCollectionParseContext } from './ICategoryCollectionParseContext';
|
import { ICategoryCollectionParseContext } from './ICategoryCollectionParseContext';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { FunctionData, InstructionHolder } from 'js-yaml-loader!*';
|
import { FunctionData, InstructionHolder } from 'js-yaml-loader!@/*';
|
||||||
import { SharedFunction } from './SharedFunction';
|
import { SharedFunction } from './SharedFunction';
|
||||||
import { SharedFunctionCollection } from './SharedFunctionCollection';
|
import { SharedFunctionCollection } from './SharedFunctionCollection';
|
||||||
import { ISharedFunctionCollection } from './ISharedFunctionCollection';
|
import { ISharedFunctionCollection } from './ISharedFunctionCollection';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { FunctionData } from 'js-yaml-loader!*';
|
import { FunctionData } from 'js-yaml-loader!@/*';
|
||||||
import { ISharedFunctionCollection } from './ISharedFunctionCollection';
|
import { ISharedFunctionCollection } from './ISharedFunctionCollection';
|
||||||
|
|
||||||
export interface IFunctionCompiler {
|
export interface IFunctionCompiler {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { FunctionCallData, FunctionCallParametersData, FunctionData, ScriptFunctionCallData } from 'js-yaml-loader!*';
|
import { FunctionCallData, FunctionCallParametersData, FunctionData, ScriptFunctionCallData } from 'js-yaml-loader!@/*';
|
||||||
import { ICompiledCode } from './ICompiledCode';
|
import { ICompiledCode } from './ICompiledCode';
|
||||||
import { ISharedFunctionCollection } from '../Function/ISharedFunctionCollection';
|
import { ISharedFunctionCollection } from '../Function/ISharedFunctionCollection';
|
||||||
import { IFunctionCallCompiler } from './IFunctionCallCompiler';
|
import { IFunctionCallCompiler } from './IFunctionCallCompiler';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { ScriptFunctionCallData } from 'js-yaml-loader!*';
|
import { ScriptFunctionCallData } from 'js-yaml-loader!@/*';
|
||||||
import { ICompiledCode } from './ICompiledCode';
|
import { ICompiledCode } from './ICompiledCode';
|
||||||
import { ISharedFunctionCollection } from '../Function/ISharedFunctionCollection';
|
import { ISharedFunctionCollection } from '../Function/ISharedFunctionCollection';
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
declare module 'js-yaml-loader!*' {
|
declare module 'js-yaml-loader!@/*' {
|
||||||
export interface CollectionData {
|
export interface CollectionData {
|
||||||
readonly os: string;
|
readonly os: string;
|
||||||
readonly scripting: ScriptingDefinitionData;
|
readonly scripting: ScriptingDefinitionData;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { ApplicationFactory, ApplicationGetter } from '@/application/ApplicationFactory';
|
import { ApplicationFactory, ApplicationGetter } from '@/application/ApplicationFactory';
|
||||||
import { ApplicationStub } from '../stubs/ApplicationStub';
|
import { ApplicationStub } from '@tests/unit/stubs/ApplicationStub';
|
||||||
|
|
||||||
describe('ApplicationFactory', () => {
|
describe('ApplicationFactory', () => {
|
||||||
describe('ctor', () => {
|
describe('ctor', () => {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { expect } from 'chai';
|
|||||||
import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
|
import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
|
||||||
import { ScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/ScriptingLanguageFactory';
|
import { ScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/ScriptingLanguageFactory';
|
||||||
import { ScriptingLanguageFactoryTestRunner } from './ScriptingLanguageFactoryTestRunner';
|
import { ScriptingLanguageFactoryTestRunner } from './ScriptingLanguageFactoryTestRunner';
|
||||||
import { EnumRangeTestRunner } from '../EnumRangeTestRunner';
|
import { EnumRangeTestRunner } from '@tests/unit/application/Common/EnumRangeTestRunner';
|
||||||
|
|
||||||
class ScriptingLanguageConcrete extends ScriptingLanguageFactory<number> {
|
class ScriptingLanguageConcrete extends ScriptingLanguageFactory<number> {
|
||||||
public registerGetter(language: ScriptingLanguage, getter: () => number) {
|
public registerGetter(language: ScriptingLanguage, getter: () => number) {
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
|
import 'mocha';
|
||||||
|
import { expect } from 'chai';
|
||||||
import { IScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/IScriptingLanguageFactory';
|
import { IScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/IScriptingLanguageFactory';
|
||||||
import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
|
import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
|
||||||
import { expect } from 'chai';
|
import { EnumRangeTestRunner } from '@tests/unit/application/Common/EnumRangeTestRunner';
|
||||||
import { EnumRangeTestRunner } from '../EnumRangeTestRunner';
|
|
||||||
|
|
||||||
export class ScriptingLanguageFactoryTestRunner<T> {
|
export class ScriptingLanguageFactoryTestRunner<T> {
|
||||||
private expectedTypes = new Map<ScriptingLanguage, T>();
|
private expectedTypes = new Map<ScriptingLanguage, T>();
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ import { OperatingSystem } from '@/domain/OperatingSystem';
|
|||||||
import { ICategoryCollectionState } from '@/application/Context/State/ICategoryCollectionState';
|
import { ICategoryCollectionState } from '@/application/Context/State/ICategoryCollectionState';
|
||||||
import { IApplicationContext, IApplicationContextChangedEvent } from '@/application/Context/IApplicationContext';
|
import { IApplicationContext, IApplicationContextChangedEvent } from '@/application/Context/IApplicationContext';
|
||||||
import { IApplication } from '@/domain/IApplication';
|
import { IApplication } from '@/domain/IApplication';
|
||||||
import { ApplicationStub } from '../../stubs/ApplicationStub';
|
import { ApplicationStub } from '@tests/unit/stubs/ApplicationStub';
|
||||||
import { CategoryCollectionStub } from '../../stubs/CategoryCollectionStub';
|
import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub';
|
||||||
import { EnumRangeTestRunner } from '../Common/EnumRangeTestRunner';
|
import { EnumRangeTestRunner } from '@tests/unit/application/Common/EnumRangeTestRunner';
|
||||||
|
|
||||||
describe('ApplicationContext', () => {
|
describe('ApplicationContext', () => {
|
||||||
describe('changeContext', () => {
|
describe('changeContext', () => {
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ import 'mocha';
|
|||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { OperatingSystem } from '@/domain/OperatingSystem';
|
import { OperatingSystem } from '@/domain/OperatingSystem';
|
||||||
import { ICategoryCollection } from '@/domain/ICategoryCollection';
|
import { ICategoryCollection } from '@/domain/ICategoryCollection';
|
||||||
import { CategoryCollectionStub } from '../../stubs/CategoryCollectionStub';
|
|
||||||
import { EnvironmentStub } from '../../stubs/EnvironmentStub';
|
|
||||||
import { ApplicationStub } from '../../stubs/ApplicationStub';
|
|
||||||
import { buildContextAsync } from '@/application/Context/ApplicationContextFactory';
|
import { buildContextAsync } from '@/application/Context/ApplicationContextFactory';
|
||||||
import { IApplicationFactory } from '@/application/IApplicationFactory';
|
import { IApplicationFactory } from '@/application/IApplicationFactory';
|
||||||
import { IApplication } from '@/domain/IApplication';
|
import { IApplication } from '@/domain/IApplication';
|
||||||
|
import { EnvironmentStub } from '@tests/unit/stubs/EnvironmentStub';
|
||||||
|
import { ApplicationStub } from '@tests/unit/stubs/ApplicationStub';
|
||||||
|
import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub';
|
||||||
|
|
||||||
describe('ApplicationContextFactory', () => {
|
describe('ApplicationContextFactory', () => {
|
||||||
describe('buildContextAsync', () => {
|
describe('buildContextAsync', () => {
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ import { ApplicationCode } from '@/application/Context/State/Code/ApplicationCod
|
|||||||
import { CategoryCollectionState } from '@/application/Context/State/CategoryCollectionState';
|
import { CategoryCollectionState } from '@/application/Context/State/CategoryCollectionState';
|
||||||
import { OperatingSystem } from '@/domain/OperatingSystem';
|
import { OperatingSystem } from '@/domain/OperatingSystem';
|
||||||
import { IScript } from '@/domain/IScript';
|
import { IScript } from '@/domain/IScript';
|
||||||
import { ScriptStub } from '../../../stubs/ScriptStub';
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
import { CategoryStub } from '../../../stubs/CategoryStub';
|
import { CategoryStub } from '@tests/unit/stubs/CategoryStub';
|
||||||
import { CategoryCollectionStub } from '../../../stubs/CategoryCollectionStub';
|
import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub';
|
||||||
|
|
||||||
describe('CategoryCollectionState', () => {
|
describe('CategoryCollectionState', () => {
|
||||||
describe('code', () => {
|
describe('code', () => {
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ import { CodePosition } from '@/application/Context/State/Code/Position/CodePosi
|
|||||||
import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition';
|
import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition';
|
||||||
import { IScriptingDefinition } from '@/domain/IScriptingDefinition';
|
import { IScriptingDefinition } from '@/domain/IScriptingDefinition';
|
||||||
import { IUserScript } from '@/application/Context/State/Code/Generation/IUserScript';
|
import { IUserScript } from '@/application/Context/State/Code/Generation/IUserScript';
|
||||||
import { ScriptingDefinitionStub } from '../../../../stubs/ScriptingDefinitionStub';
|
import { ScriptingDefinitionStub } from '@tests/unit/stubs/ScriptingDefinitionStub';
|
||||||
import { CategoryStub } from '../../../../stubs/CategoryStub';
|
import { CategoryStub } from '@tests/unit/stubs/CategoryStub';
|
||||||
import { ScriptStub } from '../../../../stubs/ScriptStub';
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
import { CategoryCollectionStub } from '../../../../stubs/CategoryCollectionStub';
|
import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub';
|
||||||
|
|
||||||
describe('ApplicationCode', () => {
|
describe('ApplicationCode', () => {
|
||||||
describe('ctor', () => {
|
describe('ctor', () => {
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import { CodeChangedEvent } from '@/application/Context/State/Code/Event/CodeCha
|
|||||||
import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
|
import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
|
||||||
import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition';
|
import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition';
|
||||||
import { CodePosition } from '@/application/Context/State/Code/Position/CodePosition';
|
import { CodePosition } from '@/application/Context/State/Code/Position/CodePosition';
|
||||||
import { SelectedScriptStub } from '../../../../../stubs/SelectedScriptStub';
|
import { SelectedScriptStub } from '@tests/unit/stubs/SelectedScriptStub';
|
||||||
import { ScriptStub } from '../../../../../stubs/ScriptStub';
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
|
|
||||||
describe('CodeChangedEvent', () => {
|
describe('CodeChangedEvent', () => {
|
||||||
describe('ctor', () => {
|
describe('ctor', () => {
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
import 'mocha';
|
|
||||||
import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
|
import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
|
||||||
import { ShellBuilder } from '@/application/Context/State/Code/Generation/Languages/ShellBuilder';
|
import { ShellBuilder } from '@/application/Context/State/Code/Generation/Languages/ShellBuilder';
|
||||||
import { BatchBuilder } from '@/application/Context/State/Code/Generation/Languages/BatchBuilder';
|
import { BatchBuilder } from '@/application/Context/State/Code/Generation/Languages/BatchBuilder';
|
||||||
import { CodeBuilderFactory } from '@/application/Context/State/Code/Generation/CodeBuilderFactory';
|
import { CodeBuilderFactory } from '@/application/Context/State/Code/Generation/CodeBuilderFactory';
|
||||||
import { ScriptingLanguageFactoryTestRunner } from '../../../../Common/ScriptingLanguage/ScriptingLanguageFactoryTestRunner';
|
import { ScriptingLanguageFactoryTestRunner } from '@tests/unit/application/Common/ScriptingLanguage/ScriptingLanguageFactoryTestRunner';
|
||||||
|
|
||||||
describe('CodeBuilderFactory', () => {
|
describe('CodeBuilderFactory', () => {
|
||||||
const sut = new CodeBuilderFactory();
|
const sut = new CodeBuilderFactory();
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import { UserScriptGenerator } from '@/application/Context/State/Code/Generation
|
|||||||
import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
|
import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
|
||||||
import { ICodeBuilderFactory } from '@/application/Context/State/Code/Generation/ICodeBuilderFactory';
|
import { ICodeBuilderFactory } from '@/application/Context/State/Code/Generation/ICodeBuilderFactory';
|
||||||
import { ICodeBuilder } from '@/application/Context/State/Code/Generation/ICodeBuilder';
|
import { ICodeBuilder } from '@/application/Context/State/Code/Generation/ICodeBuilder';
|
||||||
import { ScriptStub } from '../../../../../stubs/ScriptStub';
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
import { ScriptingDefinitionStub } from '../../../../../stubs/ScriptingDefinitionStub';
|
import { ScriptingDefinitionStub } from '@tests/unit/stubs/ScriptingDefinitionStub';
|
||||||
|
|
||||||
describe('UserScriptGenerator', () => {
|
describe('UserScriptGenerator', () => {
|
||||||
describe('scriptingDefinition', () => {
|
describe('scriptingDefinition', () => {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { CodePosition } from '@/application/Context/State/Code/Position/CodePosition';
|
|
||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
|
import { CodePosition } from '@/application/Context/State/Code/Position/CodePosition';
|
||||||
|
|
||||||
describe('CodePosition', () => {
|
describe('CodePosition', () => {
|
||||||
describe('ctor', () => {
|
describe('ctor', () => {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { CategoryStub } from '../../../../stubs/CategoryStub';
|
|
||||||
import { ScriptStub } from '../../../../stubs/ScriptStub';
|
|
||||||
import { FilterResult } from '@/application/Context/State/Filter/FilterResult';
|
|
||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
|
import { FilterResult } from '@/application/Context/State/Filter/FilterResult';
|
||||||
|
import { CategoryStub } from '@tests/unit/stubs/CategoryStub';
|
||||||
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
|
|
||||||
describe('FilterResult', () => {
|
describe('FilterResult', () => {
|
||||||
describe('hasAnyMatches', () => {
|
describe('hasAnyMatches', () => {
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
|
|
||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { IFilterResult } from '@/application/Context/State/Filter/IFilterResult';
|
import { IFilterResult } from '@/application/Context/State/Filter/IFilterResult';
|
||||||
import { UserFilter } from '@/application/Context/State/Filter/UserFilter';
|
import { UserFilter } from '@/application/Context/State/Filter/UserFilter';
|
||||||
import { CategoryStub } from '../../../../stubs/CategoryStub';
|
import { CategoryStub } from '@tests/unit/stubs/CategoryStub';
|
||||||
import { ScriptStub } from '../../../../stubs/ScriptStub';
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
import { CategoryCollectionStub } from '../../../../stubs/CategoryCollectionStub';
|
import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub';
|
||||||
|
|
||||||
describe('UserFilter', () => {
|
describe('UserFilter', () => {
|
||||||
describe('removeFilter', () => {
|
describe('removeFilter', () => {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { ScriptStub } from '../../../../stubs/ScriptStub';
|
|
||||||
import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
|
|
||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
|
import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
|
||||||
|
|
||||||
describe('SelectedScript', () => {
|
describe('SelectedScript', () => {
|
||||||
it('id is same as script id', () => {
|
it('id is same as script id', () => {
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ import { expect } from 'chai';
|
|||||||
import { IScript } from '@/domain/IScript';
|
import { IScript } from '@/domain/IScript';
|
||||||
import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
|
import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
|
||||||
import { UserSelection } from '@/application/Context/State/Selection/UserSelection';
|
import { UserSelection } from '@/application/Context/State/Selection/UserSelection';
|
||||||
import { CategoryStub } from '../../../../stubs/CategoryStub';
|
import { CategoryStub } from '@tests/unit/stubs/CategoryStub';
|
||||||
import { CategoryCollectionStub } from '../../../../stubs/CategoryCollectionStub';
|
import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub';
|
||||||
import { SelectedScriptStub } from '../../../../stubs/SelectedScriptStub';
|
import { SelectedScriptStub } from '@tests/unit/stubs/SelectedScriptStub';
|
||||||
import { ScriptStub } from '../../../../stubs/ScriptStub';
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
|
|
||||||
describe('UserSelection', () => {
|
describe('UserSelection', () => {
|
||||||
describe('ctor', () => {
|
describe('ctor', () => {
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { OperatingSystem } from '@/domain/OperatingSystem';
|
import { OperatingSystem } from '@/domain/OperatingSystem';
|
||||||
import { BrowserOsDetector } from '@/application/Environment/BrowserOs/BrowserOsDetector';
|
import { BrowserOsDetector } from '@/application/Environment/BrowserOs/BrowserOsDetector';
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
|
import 'mocha';
|
||||||
|
import { expect } from 'chai';
|
||||||
import { IBrowserOsDetector } from '@/application/Environment/BrowserOs/IBrowserOsDetector';
|
import { IBrowserOsDetector } from '@/application/Environment/BrowserOs/IBrowserOsDetector';
|
||||||
import { OperatingSystem } from '@/domain/OperatingSystem';
|
import { OperatingSystem } from '@/domain/OperatingSystem';
|
||||||
import { DesktopOsTestCases } from './DesktopOsTestCases';
|
import { DesktopOsTestCases } from './DesktopOsTestCases';
|
||||||
import { Environment } from '@/application/Environment/Environment';
|
import { Environment } from '@/application/Environment/Environment';
|
||||||
import { expect } from 'chai';
|
|
||||||
|
|
||||||
interface EnvironmentVariables {
|
interface EnvironmentVariables {
|
||||||
window?: any;
|
window?: any;
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ import { ProjectInformation } from '@/domain/ProjectInformation';
|
|||||||
import { ICategoryCollection } from '@/domain/ICategoryCollection';
|
import { ICategoryCollection } from '@/domain/ICategoryCollection';
|
||||||
import { OperatingSystem } from '@/domain/OperatingSystem';
|
import { OperatingSystem } from '@/domain/OperatingSystem';
|
||||||
import { getEnumValues } from '@/application/Common/Enum';
|
import { getEnumValues } from '@/application/Common/Enum';
|
||||||
import { CategoryCollectionStub } from '../../stubs/CategoryCollectionStub';
|
import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub';
|
||||||
import { getProcessEnvironmentStub } from '../../stubs/ProcessEnvironmentStub';
|
import { getProcessEnvironmentStub } from '@tests/unit/stubs/ProcessEnvironmentStub';
|
||||||
import { CollectionDataStub } from '../../stubs/CollectionDataStub';
|
import { CollectionDataStub } from '@tests/unit/stubs/CollectionDataStub';
|
||||||
|
|
||||||
describe('ApplicationParser', () => {
|
describe('ApplicationParser', () => {
|
||||||
describe('parseApplication', () => {
|
describe('parseApplication', () => {
|
||||||
|
|||||||
@@ -7,13 +7,13 @@ import { parseProjectInformation } from '@/application/Parser/ProjectInformation
|
|||||||
import { OperatingSystem } from '@/domain/OperatingSystem';
|
import { OperatingSystem } from '@/domain/OperatingSystem';
|
||||||
import { RecommendationLevel } from '@/domain/RecommendationLevel';
|
import { RecommendationLevel } from '@/domain/RecommendationLevel';
|
||||||
import { ScriptingDefinitionParser } from '@/application/Parser/ScriptingDefinition/ScriptingDefinitionParser';
|
import { ScriptingDefinitionParser } from '@/application/Parser/ScriptingDefinition/ScriptingDefinitionParser';
|
||||||
import { EnumParserStub } from '../../stubs/EnumParserStub';
|
import { EnumParserStub } from '@tests/unit/stubs/EnumParserStub';
|
||||||
import { ProjectInformationStub } from '../../stubs/ProjectInformationStub';
|
import { ProjectInformationStub } from '@tests/unit/stubs/ProjectInformationStub';
|
||||||
import { getCategoryStub, CollectionDataStub } from '../../stubs/CollectionDataStub';
|
import { getCategoryStub, CollectionDataStub } from '@tests/unit/stubs/CollectionDataStub';
|
||||||
import { CategoryCollectionParseContextStub } from '../../stubs/CategoryCollectionParseContextStub';
|
import { CategoryCollectionParseContextStub } from '@tests/unit/stubs/CategoryCollectionParseContextStub';
|
||||||
import { CategoryDataStub } from '../../stubs/CategoryDataStub';
|
import { CategoryDataStub } from '@tests/unit/stubs/CategoryDataStub';
|
||||||
import { ScriptDataStub } from '../../stubs/ScriptDataStub';
|
import { ScriptDataStub } from '@tests/unit/stubs/ScriptDataStub';
|
||||||
import { FunctionDataStub } from '../../stubs/FunctionDataStub';
|
import { FunctionDataStub } from '@tests/unit/stubs/FunctionDataStub';
|
||||||
|
|
||||||
describe('CategoryCollectionParser', () => {
|
describe('CategoryCollectionParser', () => {
|
||||||
describe('parseCategoryCollection', () => {
|
describe('parseCategoryCollection', () => {
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ import { expect } from 'chai';
|
|||||||
import { parseCategory } from '@/application/Parser/CategoryParser';
|
import { parseCategory } from '@/application/Parser/CategoryParser';
|
||||||
import { parseScript } from '@/application/Parser/Script/ScriptParser';
|
import { parseScript } from '@/application/Parser/Script/ScriptParser';
|
||||||
import { parseDocUrls } from '@/application/Parser/DocumentationParser';
|
import { parseDocUrls } from '@/application/Parser/DocumentationParser';
|
||||||
import { ScriptCompilerStub } from '../../stubs/ScriptCompilerStub';
|
import { ScriptCompilerStub } from '@tests/unit/stubs/ScriptCompilerStub';
|
||||||
import { ScriptDataStub } from '../../stubs/ScriptDataStub';
|
import { ScriptDataStub } from '@tests/unit/stubs/ScriptDataStub';
|
||||||
import { CategoryCollectionParseContextStub } from '../../stubs/CategoryCollectionParseContextStub';
|
import { CategoryCollectionParseContextStub } from '@tests/unit/stubs/CategoryCollectionParseContextStub';
|
||||||
import { LanguageSyntaxStub } from '../../stubs/LanguageSyntaxStub';
|
import { LanguageSyntaxStub } from '@tests/unit/stubs/LanguageSyntaxStub';
|
||||||
import { CategoryDataStub } from '../../stubs/CategoryDataStub';
|
import { CategoryDataStub } from '@tests/unit/stubs/CategoryDataStub';
|
||||||
|
|
||||||
describe('CategoryParser', () => {
|
describe('CategoryParser', () => {
|
||||||
describe('parseCategory', () => {
|
describe('parseCategory', () => {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { parseProjectInformation } from '@/application/Parser/ProjectInformationParser';
|
import { parseProjectInformation } from '@/application/Parser/ProjectInformationParser';
|
||||||
import { getProcessEnvironmentStub } from '../../stubs/ProcessEnvironmentStub';
|
import { getProcessEnvironmentStub } from '@tests/unit/stubs/ProcessEnvironmentStub';
|
||||||
|
|
||||||
describe('ProjectInformationParser', () => {
|
describe('ProjectInformationParser', () => {
|
||||||
describe('parseProjectInformation', () => {
|
describe('parseProjectInformation', () => {
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
|
import { FunctionData } from 'js-yaml-loader!@/*';
|
||||||
import { ISyntaxFactory } from '@/application/Parser/Script/Syntax/ISyntaxFactory';
|
import { ISyntaxFactory } from '@/application/Parser/Script/Syntax/ISyntaxFactory';
|
||||||
import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
|
import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
|
||||||
import { LanguageSyntaxStub } from '../../../stubs/LanguageSyntaxStub';
|
|
||||||
import { CategoryCollectionParseContext } from '@/application/Parser/Script/CategoryCollectionParseContext';
|
import { CategoryCollectionParseContext } from '@/application/Parser/Script/CategoryCollectionParseContext';
|
||||||
import { ScriptingDefinitionStub } from '../../../stubs/ScriptingDefinitionStub';
|
|
||||||
import { FunctionDataStub } from '../../../stubs/FunctionDataStub';
|
|
||||||
import { ILanguageSyntax } from '@/domain/ScriptCode';
|
import { ILanguageSyntax } from '@/domain/ScriptCode';
|
||||||
import { ScriptCompiler } from '@/application/Parser/Script/Compiler/ScriptCompiler';
|
import { ScriptCompiler } from '@/application/Parser/Script/Compiler/ScriptCompiler';
|
||||||
import { FunctionData } from 'js-yaml-loader!*';
|
import { LanguageSyntaxStub } from '@tests/unit/stubs/LanguageSyntaxStub';
|
||||||
|
import { ScriptingDefinitionStub } from '@tests/unit/stubs/ScriptingDefinitionStub';
|
||||||
|
import { FunctionDataStub } from '@tests/unit/stubs/FunctionDataStub';
|
||||||
|
|
||||||
describe('CategoryCollectionParseContext', () => {
|
describe('CategoryCollectionParseContext', () => {
|
||||||
describe('ctor', () => {
|
describe('ctor', () => {
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import 'mocha';
|
|||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { ExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler';
|
import { ExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler';
|
||||||
import { IExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser';
|
import { IExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser';
|
||||||
import { ExpressionStub } from '../../../../../stubs/ExpressionStub';
|
import { ExpressionStub } from '@tests/unit/stubs/ExpressionStub';
|
||||||
import { ExpressionParserStub } from '../../../../../stubs/ExpressionParserStub';
|
import { ExpressionParserStub } from '@tests/unit/stubs/ExpressionParserStub';
|
||||||
|
|
||||||
describe('ExpressionsCompiler', () => {
|
describe('ExpressionsCompiler', () => {
|
||||||
describe('compileExpressions', () => {
|
describe('compileExpressions', () => {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { expect } from 'chai';
|
|||||||
import { IExpression } from '@/application/Parser/Script/Compiler/Expressions/Expression/IExpression';
|
import { IExpression } from '@/application/Parser/Script/Compiler/Expressions/Expression/IExpression';
|
||||||
import { IExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser';
|
import { IExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser';
|
||||||
import { CompositeExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser';
|
import { CompositeExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser';
|
||||||
import { ExpressionStub } from '../../../../../../stubs/ExpressionStub';
|
import { ExpressionStub } from '@tests/unit/stubs/ExpressionStub';
|
||||||
|
|
||||||
describe('CompositeExpressionParser', () => {
|
describe('CompositeExpressionParser', () => {
|
||||||
describe('ctor', () => {
|
describe('ctor', () => {
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction';
|
import { ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction';
|
||||||
import { FunctionData } from 'js-yaml-loader!*';
|
import { FunctionData } from 'js-yaml-loader!@/*';
|
||||||
import { IFunctionCallCompiler } from '@/application/Parser/Script/Compiler/FunctionCall/IFunctionCallCompiler';
|
import { IFunctionCallCompiler } from '@/application/Parser/Script/Compiler/FunctionCall/IFunctionCallCompiler';
|
||||||
import { FunctionCompiler } from '@/application/Parser/Script/Compiler/Function/FunctionCompiler';
|
import { FunctionCompiler } from '@/application/Parser/Script/Compiler/Function/FunctionCompiler';
|
||||||
import { FunctionCallCompilerStub } from '../../../../../stubs/FunctionCallCompilerStub';
|
import { FunctionCallCompilerStub } from '@tests/unit/stubs/FunctionCallCompilerStub';
|
||||||
import { FunctionDataStub } from '../../../../../stubs/FunctionDataStub';
|
import { FunctionDataStub } from '@tests/unit/stubs/FunctionDataStub';
|
||||||
|
|
||||||
describe('FunctionsCompiler', () => {
|
describe('FunctionsCompiler', () => {
|
||||||
describe('compileFunctions', () => {
|
describe('compileFunctions', () => {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { SharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/SharedFunctionCollection';
|
import { SharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/SharedFunctionCollection';
|
||||||
import { SharedFunctionStub } from '../../../../../stubs/SharedFunctionStub';
|
import { SharedFunctionStub } from '@tests/unit/stubs/SharedFunctionStub';
|
||||||
|
|
||||||
describe('SharedFunctionCollection', () => {
|
describe('SharedFunctionCollection', () => {
|
||||||
describe('addFunction', () => {
|
describe('addFunction', () => {
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { FunctionCallData, FunctionCallParametersData } from 'js-yaml-loader!*';
|
import { FunctionCallData, FunctionCallParametersData } from 'js-yaml-loader!@/*';
|
||||||
import { FunctionCallCompiler } from '@/application/Parser/Script/Compiler/FunctionCall/FunctionCallCompiler';
|
import { FunctionCallCompiler } from '@/application/Parser/Script/Compiler/FunctionCall/FunctionCallCompiler';
|
||||||
import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection';
|
import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection';
|
||||||
import { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler';
|
import { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler';
|
||||||
import { ExpressionsCompilerStub } from '../../../../../stubs/ExpressionsCompilerStub';
|
import { ExpressionsCompilerStub } from '@tests/unit/stubs/ExpressionsCompilerStub';
|
||||||
import { SharedFunctionCollectionStub } from '../../../../../stubs/SharedFunctionCollectionStub';
|
import { SharedFunctionCollectionStub } from '@tests/unit/stubs/SharedFunctionCollectionStub';
|
||||||
import { SharedFunctionStub } from '../../../../../stubs/SharedFunctionStub';
|
import { SharedFunctionStub } from '@tests/unit/stubs/SharedFunctionStub';
|
||||||
|
|
||||||
describe('FunctionCallCompiler', () => {
|
describe('FunctionCallCompiler', () => {
|
||||||
describe('compileCall', () => {
|
describe('compileCall', () => {
|
||||||
|
|||||||
@@ -6,12 +6,12 @@ import { ILanguageSyntax } from '@/domain/ScriptCode';
|
|||||||
import { IFunctionCompiler } from '@/application/Parser/Script/Compiler/Function/IFunctionCompiler';
|
import { IFunctionCompiler } from '@/application/Parser/Script/Compiler/Function/IFunctionCompiler';
|
||||||
import { IFunctionCallCompiler } from '@/application/Parser/Script/Compiler/FunctionCall/IFunctionCallCompiler';
|
import { IFunctionCallCompiler } from '@/application/Parser/Script/Compiler/FunctionCall/IFunctionCallCompiler';
|
||||||
import { ICompiledCode } from '@/application/Parser/Script/Compiler/FunctionCall/ICompiledCode';
|
import { ICompiledCode } from '@/application/Parser/Script/Compiler/FunctionCall/ICompiledCode';
|
||||||
import { LanguageSyntaxStub } from '../../../../stubs/LanguageSyntaxStub';
|
import { LanguageSyntaxStub } from '@tests/unit/stubs/LanguageSyntaxStub';
|
||||||
import { ScriptDataStub } from '../../../../stubs/ScriptDataStub';
|
import { ScriptDataStub } from '@tests/unit/stubs/ScriptDataStub';
|
||||||
import { FunctionDataStub } from '../../../../stubs/FunctionDataStub';
|
import { FunctionDataStub } from '@tests/unit/stubs/FunctionDataStub';
|
||||||
import { FunctionCallCompilerStub } from '../../../../stubs/FunctionCallCompilerStub';
|
import { FunctionCallCompilerStub } from '@tests/unit/stubs/FunctionCallCompilerStub';
|
||||||
import { FunctionCompilerStub } from '../../../../stubs/FunctionCompilerStub';
|
import { FunctionCompilerStub } from '@tests/unit/stubs/FunctionCompilerStub';
|
||||||
import { SharedFunctionCollectionStub } from '../../../../stubs/SharedFunctionCollectionStub';
|
import { SharedFunctionCollectionStub } from '@tests/unit/stubs/SharedFunctionCollectionStub';
|
||||||
|
|
||||||
describe('ScriptCompiler', () => {
|
describe('ScriptCompiler', () => {
|
||||||
describe('ctor', () => {
|
describe('ctor', () => {
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ import { parseScript } from '@/application/Parser/Script/ScriptParser';
|
|||||||
import { parseDocUrls } from '@/application/Parser/DocumentationParser';
|
import { parseDocUrls } from '@/application/Parser/DocumentationParser';
|
||||||
import { RecommendationLevel } from '@/domain/RecommendationLevel';
|
import { RecommendationLevel } from '@/domain/RecommendationLevel';
|
||||||
import { ICategoryCollectionParseContext } from '@/application/Parser/Script/ICategoryCollectionParseContext';
|
import { ICategoryCollectionParseContext } from '@/application/Parser/Script/ICategoryCollectionParseContext';
|
||||||
import { ScriptCompilerStub } from '../../../stubs/ScriptCompilerStub';
|
import { ScriptCompilerStub } from '@tests/unit/stubs/ScriptCompilerStub';
|
||||||
import { ScriptDataStub } from '../../../stubs/ScriptDataStub';
|
import { ScriptDataStub } from '@tests/unit/stubs/ScriptDataStub';
|
||||||
import { EnumParserStub } from '../../../stubs/EnumParserStub';
|
import { EnumParserStub } from '@tests/unit/stubs/EnumParserStub';
|
||||||
import { ScriptCodeStub } from '../../../stubs/ScriptCodeStub';
|
import { ScriptCodeStub } from '@tests/unit/stubs/ScriptCodeStub';
|
||||||
import { CategoryCollectionParseContextStub } from '../../../stubs/CategoryCollectionParseContextStub';
|
import { CategoryCollectionParseContextStub } from '@tests/unit/stubs/CategoryCollectionParseContextStub';
|
||||||
import { LanguageSyntaxStub } from '../../../stubs/LanguageSyntaxStub';
|
import { LanguageSyntaxStub } from '@tests/unit/stubs/LanguageSyntaxStub';
|
||||||
|
|
||||||
describe('ScriptParser', () => {
|
describe('ScriptParser', () => {
|
||||||
describe('parseScript', () => {
|
describe('parseScript', () => {
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import { ILanguageSyntax } from '@/domain/ScriptCode';
|
|||||||
import { BatchFileSyntax } from '@/application/Parser/Script/Syntax/BatchFileSyntax';
|
import { BatchFileSyntax } from '@/application/Parser/Script/Syntax/BatchFileSyntax';
|
||||||
import { ShellScriptSyntax } from '@/application/Parser/Script/Syntax/ShellScriptSyntax';
|
import { ShellScriptSyntax } from '@/application/Parser/Script/Syntax/ShellScriptSyntax';
|
||||||
|
|
||||||
|
|
||||||
function getSystemsUnderTest(): ILanguageSyntax[] {
|
function getSystemsUnderTest(): ILanguageSyntax[] {
|
||||||
return [ new BatchFileSyntax(), new ShellScriptSyntax() ];
|
return [ new BatchFileSyntax(), new ShellScriptSyntax() ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { SyntaxFactory } from '@/application/Parser/Script/Syntax/SyntaxFactory'
|
|||||||
import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
|
import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
|
||||||
import { ShellScriptSyntax } from '@/application/Parser/Script/Syntax/ShellScriptSyntax';
|
import { ShellScriptSyntax } from '@/application/Parser/Script/Syntax/ShellScriptSyntax';
|
||||||
import { BatchFileSyntax } from '@/application/Parser/Script/Syntax/BatchFileSyntax';
|
import { BatchFileSyntax } from '@/application/Parser/Script/Syntax/BatchFileSyntax';
|
||||||
import { ScriptingLanguageFactoryTestRunner } from '../../../Common/ScriptingLanguage/ScriptingLanguageFactoryTestRunner';
|
import { ScriptingLanguageFactoryTestRunner } from '@tests/unit/application/Common/ScriptingLanguage/ScriptingLanguageFactoryTestRunner';
|
||||||
|
|
||||||
describe('SyntaxFactory', () => {
|
describe('SyntaxFactory', () => {
|
||||||
const sut = new SyntaxFactory();
|
const sut = new SyntaxFactory();
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import 'mocha';
|
|||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { CodeSubstituter } from '@/application/Parser/ScriptingDefinition/CodeSubstituter';
|
import { CodeSubstituter } from '@/application/Parser/ScriptingDefinition/CodeSubstituter';
|
||||||
import { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler';
|
import { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler';
|
||||||
import { ProjectInformationStub } from '../../../stubs/ProjectInformationStub';
|
import { ProjectInformationStub } from '@tests/unit/stubs/ProjectInformationStub';
|
||||||
import { ExpressionsCompilerStub } from '../../../stubs/ExpressionsCompilerStub';
|
import { ExpressionsCompilerStub } from '@tests/unit/stubs/ExpressionsCompilerStub';
|
||||||
|
|
||||||
describe('CodeSubstituter', () => {
|
describe('CodeSubstituter', () => {
|
||||||
describe('throws with invalid parameters', () => {
|
describe('throws with invalid parameters', () => {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ import { ScriptingDefinitionParser } from '@/application/Parser/ScriptingDefinit
|
|||||||
import { IEnumParser } from '@/application/Common/Enum';
|
import { IEnumParser } from '@/application/Common/Enum';
|
||||||
import { ICodeSubstituter } from '@/application/Parser/ScriptingDefinition/ICodeSubstituter';
|
import { ICodeSubstituter } from '@/application/Parser/ScriptingDefinition/ICodeSubstituter';
|
||||||
import { IScriptingDefinition } from '@/domain/IScriptingDefinition';
|
import { IScriptingDefinition } from '@/domain/IScriptingDefinition';
|
||||||
import { ProjectInformationStub } from '../../../stubs/ProjectInformationStub';
|
import { ProjectInformationStub } from '@tests/unit/stubs/ProjectInformationStub';
|
||||||
import { EnumParserStub } from '../../../stubs/EnumParserStub';
|
import { EnumParserStub } from '@tests/unit/stubs/EnumParserStub';
|
||||||
import { ScriptingDefinitionDataStub } from '../../../stubs/ScriptingDefinitionDataStub';
|
import { ScriptingDefinitionDataStub } from '@tests/unit/stubs/ScriptingDefinitionDataStub';
|
||||||
import { CodeSubstituterStub } from '../../../stubs/CodeSubstituterStub';
|
import { CodeSubstituterStub } from '@tests/unit/stubs/CodeSubstituterStub';
|
||||||
|
|
||||||
describe('ScriptingDefinitionParser', () => {
|
describe('ScriptingDefinitionParser', () => {
|
||||||
describe('parseScriptingDefinition', () => {
|
describe('parseScriptingDefinition', () => {
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { Application } from '@/domain/Application';
|
import { Application } from '@/domain/Application';
|
||||||
import { CategoryCollectionStub } from '../stubs/CategoryCollectionStub';
|
|
||||||
import { ProjectInformationStub } from '../stubs/ProjectInformationStub';
|
|
||||||
import { OperatingSystem } from '@/domain/OperatingSystem';
|
import { OperatingSystem } from '@/domain/OperatingSystem';
|
||||||
|
import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub';
|
||||||
|
import { ProjectInformationStub } from '@tests/unit/stubs/ProjectInformationStub';
|
||||||
|
|
||||||
describe('Application', () => {
|
describe('Application', () => {
|
||||||
describe('getCollection', () => {
|
describe('getCollection', () => {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { Category } from '@/domain/Category';
|
import { Category } from '@/domain/Category';
|
||||||
import { CategoryStub } from '../stubs/CategoryStub';
|
import { CategoryStub } from '@tests/unit/stubs/CategoryStub';
|
||||||
import { ScriptStub } from '../stubs/ScriptStub';
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
|
|
||||||
describe('Category', () => {
|
describe('Category', () => {
|
||||||
describe('ctor', () => {
|
describe('ctor', () => {
|
||||||
|
|||||||
@@ -7,9 +7,9 @@ import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
|
|||||||
import { RecommendationLevel } from '@/domain/RecommendationLevel';
|
import { RecommendationLevel } from '@/domain/RecommendationLevel';
|
||||||
import { getEnumValues } from '@/application/Common/Enum';
|
import { getEnumValues } from '@/application/Common/Enum';
|
||||||
import { CategoryCollection } from '@/domain/CategoryCollection';
|
import { CategoryCollection } from '@/domain/CategoryCollection';
|
||||||
import { ScriptStub } from '../stubs/ScriptStub';
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
import { CategoryStub } from '../stubs/CategoryStub';
|
import { CategoryStub } from '@tests/unit/stubs/CategoryStub';
|
||||||
import { EnumRangeTestRunner } from '../application/Common/EnumRangeTestRunner';
|
import { EnumRangeTestRunner } from '@tests/unit/application/Common/EnumRangeTestRunner';
|
||||||
|
|
||||||
describe('CategoryCollection', () => {
|
describe('CategoryCollection', () => {
|
||||||
describe('getScriptsByLevel', () => {
|
describe('getScriptsByLevel', () => {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import 'mocha';
|
|||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { ProjectInformation } from '@/domain/ProjectInformation';
|
import { ProjectInformation } from '@/domain/ProjectInformation';
|
||||||
import { OperatingSystem } from '@/domain/OperatingSystem';
|
import { OperatingSystem } from '@/domain/OperatingSystem';
|
||||||
import { EnumRangeTestRunner } from '../application/Common/EnumRangeTestRunner';
|
import { EnumRangeTestRunner } from '@tests/unit/application/Common/EnumRangeTestRunner';
|
||||||
|
|
||||||
describe('ProjectInformation', () => {
|
describe('ProjectInformation', () => {
|
||||||
it('sets name as expected', () => {
|
it('sets name as expected', () => {
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { getEnumValues } from '@/application/Common/Enum';
|
|
||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
|
import { getEnumValues } from '@/application/Common/Enum';
|
||||||
import { Script } from '@/domain/Script';
|
import { Script } from '@/domain/Script';
|
||||||
import { RecommendationLevel } from '@/domain/RecommendationLevel';
|
import { RecommendationLevel } from '@/domain/RecommendationLevel';
|
||||||
import { IScriptCode } from '@/domain/IScriptCode';
|
import { IScriptCode } from '@/domain/IScriptCode';
|
||||||
import { ScriptCodeStub } from '../stubs/ScriptCodeStub';
|
import { ScriptCodeStub } from '@tests/unit/stubs/ScriptCodeStub';
|
||||||
|
|
||||||
describe('Script', () => {
|
describe('Script', () => {
|
||||||
describe('ctor', () => {
|
describe('ctor', () => {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { expect } from 'chai';
|
|||||||
import { ScriptCode } from '@/domain/ScriptCode';
|
import { ScriptCode } from '@/domain/ScriptCode';
|
||||||
import { IScriptCode } from '@/domain/IScriptCode';
|
import { IScriptCode } from '@/domain/IScriptCode';
|
||||||
import { ILanguageSyntax } from '@/domain/ScriptCode';
|
import { ILanguageSyntax } from '@/domain/ScriptCode';
|
||||||
import { LanguageSyntaxStub } from '../stubs/LanguageSyntaxStub';
|
import { LanguageSyntaxStub } from '@tests/unit/stubs/LanguageSyntaxStub';
|
||||||
|
|
||||||
describe('ScriptCode', () => {
|
describe('ScriptCode', () => {
|
||||||
describe('code', () => {
|
describe('code', () => {
|
||||||
|
|||||||
@@ -1,28 +1,24 @@
|
|||||||
import { AsyncLazy } from '@/infrastructure/Threading/AsyncLazy';
|
|
||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
|
import { AsyncLazy } from '@/infrastructure/Threading/AsyncLazy';
|
||||||
|
|
||||||
describe('AsyncLazy', () => {
|
describe('AsyncLazy', () => {
|
||||||
|
|
||||||
it('returns value from lambda', async () => {
|
it('returns value from lambda', async () => {
|
||||||
// arrange
|
// arrange
|
||||||
const expected = 'test';
|
const expected = 'test';
|
||||||
const lambda = () => Promise.resolve(expected);
|
const lambda = () => Promise.resolve(expected);
|
||||||
const sut = new AsyncLazy(lambda);
|
const sut = new AsyncLazy(lambda);
|
||||||
|
|
||||||
// act
|
// act
|
||||||
const actual = await sut.getValueAsync();
|
const actual = await sut.getValueAsync();
|
||||||
|
|
||||||
// assert
|
// assert
|
||||||
expect(actual).to.equal(expected);
|
expect(actual).to.equal(expected);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('when running multiple times', () => {
|
describe('when running multiple times', () => {
|
||||||
|
// arrange
|
||||||
let totalExecuted: number = 0;
|
let totalExecuted: number = 0;
|
||||||
|
|
||||||
beforeEach(() => totalExecuted = 0);
|
beforeEach(() => totalExecuted = 0);
|
||||||
|
|
||||||
it('when running sync', async () => {
|
it('when running sync', async () => {
|
||||||
|
// act
|
||||||
const sut = new AsyncLazy(() => {
|
const sut = new AsyncLazy(() => {
|
||||||
totalExecuted++;
|
totalExecuted++;
|
||||||
return Promise.resolve(totalExecuted);
|
return Promise.resolve(totalExecuted);
|
||||||
@@ -31,11 +27,12 @@ describe('AsyncLazy', () => {
|
|||||||
for (let i = 0; i < 5; i++) {
|
for (let i = 0; i < 5; i++) {
|
||||||
results.push(await sut.getValueAsync());
|
results.push(await sut.getValueAsync());
|
||||||
}
|
}
|
||||||
|
// assert
|
||||||
expect(totalExecuted).to.equal(1);
|
expect(totalExecuted).to.equal(1);
|
||||||
expect(results).to.deep.equal([1, 1, 1, 1, 1]);
|
expect(results).to.deep.equal([1, 1, 1, 1, 1]);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('when running long-running task in parallel', async () => {
|
it('when running long-running task in parallel', async () => {
|
||||||
|
// act
|
||||||
const sleepAsync = (time: number) => new Promise(((resolve) => setTimeout(resolve, time)));
|
const sleepAsync = (time: number) => new Promise(((resolve) => setTimeout(resolve, time)));
|
||||||
const sut = new AsyncLazy(async () => {
|
const sut = new AsyncLazy(async () => {
|
||||||
await sleepAsync(100);
|
await sleepAsync(100);
|
||||||
@@ -48,6 +45,7 @@ describe('AsyncLazy', () => {
|
|||||||
sut.getValueAsync(),
|
sut.getValueAsync(),
|
||||||
sut.getValueAsync(),
|
sut.getValueAsync(),
|
||||||
sut.getValueAsync()]);
|
sut.getValueAsync()]);
|
||||||
|
// assert
|
||||||
expect(totalExecuted).to.equal(1);
|
expect(totalExecuted).to.equal(1);
|
||||||
expect(results).to.deep.equal([1, 1, 1, 1, 1]);
|
expect(results).to.deep.equal([1, 1, 1, 1, 1]);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { EnvironmentStub } from './../stubs/EnvironmentStub';
|
|
||||||
import { OperatingSystem } from '@/domain/OperatingSystem';
|
|
||||||
import 'mocha';
|
import 'mocha';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
|
import { EnvironmentStub } from '@tests/unit/stubs/EnvironmentStub';
|
||||||
|
import { OperatingSystem } from '@/domain/OperatingSystem';
|
||||||
import { CodeRunner } from '@/infrastructure/CodeRunner';
|
import { CodeRunner } from '@/infrastructure/CodeRunner';
|
||||||
|
|
||||||
describe('CodeRunner', () => {
|
describe('CodeRunner', () => {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
import 'mocha';
|
||||||
|
import { expect } from 'chai';
|
||||||
import { EventHandler, IEventSource, IEventSubscription } from '@/infrastructure/Events/IEventSource';
|
import { EventHandler, IEventSource, IEventSubscription } from '@/infrastructure/Events/IEventSource';
|
||||||
import { EventSource } from '@/infrastructure/Events/EventSource';
|
import { EventSource } from '@/infrastructure/Events/EventSource';
|
||||||
import { expect } from 'chai';
|
|
||||||
import 'mocha';
|
|
||||||
|
|
||||||
describe('EventSource', () => {
|
describe('EventSource', () => {
|
||||||
class ObserverMock {
|
class ObserverMock {
|
||||||
@@ -42,7 +42,6 @@ describe('EventSource', () => {
|
|||||||
expect(observer.onReceiveCalls).to.have.lengthOf(0);
|
expect(observer.onReceiveCalls).to.have.lengthOf(0);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('multiple observers', () => {
|
describe('multiple observers', () => {
|
||||||
// arrange
|
// arrange
|
||||||
let observers: ObserverMock[];
|
let observers: ObserverMock[];
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
import 'mocha';
|
||||||
|
import { expect } from 'chai';
|
||||||
import { EventSubscriptionCollection } from '@/infrastructure/Events/EventSubscriptionCollection';
|
import { EventSubscriptionCollection } from '@/infrastructure/Events/EventSubscriptionCollection';
|
||||||
import { IEventSubscription } from '@/infrastructure/Events/IEventSource';
|
import { IEventSubscription } from '@/infrastructure/Events/IEventSource';
|
||||||
import { expect } from 'chai';
|
|
||||||
import 'mocha';
|
|
||||||
|
|
||||||
describe('EventSubscriptionCollection', () => {
|
describe('EventSubscriptionCollection', () => {
|
||||||
it('unsubscribeAll unsubscribes from all registered subscriptions', () => {
|
it('unsubscribeAll unsubscribes from all registered subscriptions', () => {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { NumericEntityStub } from './../stubs/NumericEntityStub';
|
import 'mocha';
|
||||||
import { InMemoryRepository } from '@/infrastructure/Repository/InMemoryRepository';
|
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
|
import { NumericEntityStub } from '@tests/unit/stubs/NumericEntityStub';
|
||||||
|
import { InMemoryRepository } from '@/infrastructure/Repository/InMemoryRepository';
|
||||||
|
|
||||||
describe('InMemoryRepository', () => {
|
describe('InMemoryRepository', () => {
|
||||||
describe('exists', () => {
|
describe('exists', () => {
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ import { parseSingleCategory,
|
|||||||
import { INode, NodeType } from '@/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/INode';
|
import { INode, NodeType } from '@/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/INode';
|
||||||
import { IScript } from '@/domain/IScript';
|
import { IScript } from '@/domain/IScript';
|
||||||
import { ICategory } from '@/domain/ICategory';
|
import { ICategory } from '@/domain/ICategory';
|
||||||
import { CategoryStub } from '../../../../stubs/CategoryStub';
|
import { CategoryStub } from '@tests/unit/stubs/CategoryStub';
|
||||||
import { ScriptStub } from '../../../../stubs/ScriptStub';
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
import { CategoryCollectionStub } from '../../../../stubs/CategoryCollectionStub';
|
import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub';
|
||||||
|
|
||||||
describe('ScriptNodeParser', () => {
|
describe('ScriptNodeParser', () => {
|
||||||
it('can convert script id and back', () => {
|
it('can convert script id and back', () => {
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ import { CategoryReverter } from '@/presentation/components/Scripts/ScriptsTree/
|
|||||||
import { getCategoryNodeId } from '@/presentation/components/Scripts/ScriptsTree/ScriptNodeParser';
|
import { getCategoryNodeId } from '@/presentation/components/Scripts/ScriptsTree/ScriptNodeParser';
|
||||||
import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
|
import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
|
||||||
import { UserSelection } from '@/application/Context/State/Selection/UserSelection';
|
import { UserSelection } from '@/application/Context/State/Selection/UserSelection';
|
||||||
import { CategoryStub } from '../../../../../../../stubs/CategoryStub';
|
import { CategoryStub } from '@tests/unit/stubs/CategoryStub';
|
||||||
import { CategoryCollectionStub } from '../../../../../../../stubs/CategoryCollectionStub';
|
import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub';
|
||||||
import { ScriptStub } from '../../../../../../../stubs/ScriptStub';
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
|
|
||||||
describe('CategoryReverter', () => {
|
describe('CategoryReverter', () => {
|
||||||
describe('getState', () => {
|
describe('getState', () => {
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ import {
|
|||||||
import { ScriptReverter } from '@/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/ScriptReverter';
|
import { ScriptReverter } from '@/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/ScriptReverter';
|
||||||
import { CategoryReverter } from '@/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/CategoryReverter';
|
import { CategoryReverter } from '@/presentation/components/Scripts/ScriptsTree/SelectableTree/Node/Reverter/CategoryReverter';
|
||||||
import { getScriptNodeId, getCategoryNodeId } from '@/presentation/components/Scripts/ScriptsTree/ScriptNodeParser';
|
import { getScriptNodeId, getCategoryNodeId } from '@/presentation/components/Scripts/ScriptsTree/ScriptNodeParser';
|
||||||
import { CategoryCollectionStub } from '../../../../../../../stubs/CategoryCollectionStub';
|
import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub';
|
||||||
import { CategoryStub } from '../../../../../../../stubs/CategoryStub';
|
import { CategoryStub } from '@tests/unit/stubs/CategoryStub';
|
||||||
import { ScriptStub } from '../../../../../../../stubs/ScriptStub';
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
|
|
||||||
describe('ReverterFactory', () => {
|
describe('ReverterFactory', () => {
|
||||||
describe('getReverter', () => {
|
describe('getReverter', () => {
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ import { ScriptReverter } from '@/presentation/components/Scripts/ScriptsTree/Se
|
|||||||
import { getScriptNodeId } from '@/presentation/components/Scripts/ScriptsTree/ScriptNodeParser';
|
import { getScriptNodeId } from '@/presentation/components/Scripts/ScriptsTree/ScriptNodeParser';
|
||||||
import { UserSelection } from '@/application/Context/State/Selection/UserSelection';
|
import { UserSelection } from '@/application/Context/State/Selection/UserSelection';
|
||||||
import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
|
import { SelectedScript } from '@/application/Context/State/Selection/SelectedScript';
|
||||||
import { CategoryCollectionStub } from '../../../../../../../stubs/CategoryCollectionStub';
|
import { CategoryCollectionStub } from '@tests/unit/stubs/CategoryCollectionStub';
|
||||||
import { CategoryStub } from '../../../../../../../stubs/CategoryStub';
|
import { CategoryStub } from '@tests/unit/stubs/CategoryStub';
|
||||||
import { ScriptStub } from '../../../../../../../stubs/ScriptStub';
|
import { ScriptStub } from '@tests/unit/stubs/ScriptStub';
|
||||||
import { SelectedScriptStub } from '../../../../../../../stubs/SelectedScriptStub';
|
import { SelectedScriptStub } from '@tests/unit/stubs/SelectedScriptStub';
|
||||||
|
|
||||||
describe('ScriptReverter', () => {
|
describe('ScriptReverter', () => {
|
||||||
describe('getState', () => {
|
describe('getState', () => {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { ICategoryCollectionParseContext } from '@/application/Parser/Script/ICategoryCollectionParseContext';
|
import { ICategoryCollectionParseContext } from '@/application/Parser/Script/ICategoryCollectionParseContext';
|
||||||
import { ScriptCompilerStub } from './ScriptCompilerStub';
|
|
||||||
import { LanguageSyntaxStub } from './LanguageSyntaxStub';
|
|
||||||
import { IScriptCompiler } from '@/application/Parser/Script/Compiler/IScriptCompiler';
|
import { IScriptCompiler } from '@/application/Parser/Script/Compiler/IScriptCompiler';
|
||||||
import { ILanguageSyntax } from '@/domain/ScriptCode';
|
import { ILanguageSyntax } from '@/domain/ScriptCode';
|
||||||
|
import { ScriptCompilerStub } from './ScriptCompilerStub';
|
||||||
|
import { LanguageSyntaxStub } from './LanguageSyntaxStub';
|
||||||
|
|
||||||
export class CategoryCollectionParseContextStub implements ICategoryCollectionParseContext {
|
export class CategoryCollectionParseContextStub implements ICategoryCollectionParseContext {
|
||||||
public compiler: IScriptCompiler = new ScriptCompilerStub();
|
public compiler: IScriptCompiler = new ScriptCompilerStub();
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { ScriptingDefinitionStub } from './ScriptingDefinitionStub';
|
|
||||||
import { OperatingSystem } from '@/domain/OperatingSystem';
|
import { OperatingSystem } from '@/domain/OperatingSystem';
|
||||||
import { ScriptStub } from './ScriptStub';
|
|
||||||
import { IScriptingDefinition } from '@/domain/IScriptingDefinition';
|
import { IScriptingDefinition } from '@/domain/IScriptingDefinition';
|
||||||
import { IScript } from '@/domain/IScript';
|
import { IScript } from '@/domain/IScript';
|
||||||
import { ICategory } from '@/domain/ICategory';
|
import { ICategory } from '@/domain/ICategory';
|
||||||
import { ICategoryCollection } from '@/domain/ICategoryCollection';
|
import { ICategoryCollection } from '@/domain/ICategoryCollection';
|
||||||
|
import { ScriptStub } from './ScriptStub';
|
||||||
|
import { ScriptingDefinitionStub } from './ScriptingDefinitionStub';
|
||||||
|
|
||||||
export class CategoryCollectionStub implements ICategoryCollection {
|
export class CategoryCollectionStub implements ICategoryCollection {
|
||||||
public scripting: IScriptingDefinition = new ScriptingDefinitionStub();
|
public scripting: IScriptingDefinition = new ScriptingDefinitionStub();
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection';
|
import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection';
|
||||||
import { ICompiledCode } from '@/application/Parser/Script/Compiler/FunctionCall/ICompiledCode';
|
import { ICompiledCode } from '@/application/Parser/Script/Compiler/FunctionCall/ICompiledCode';
|
||||||
import { IFunctionCallCompiler } from '@/application/Parser/Script/Compiler/FunctionCall/IFunctionCallCompiler';
|
import { IFunctionCallCompiler } from '@/application/Parser/Script/Compiler/FunctionCall/IFunctionCallCompiler';
|
||||||
import { FunctionCallData, ScriptFunctionCallData } from 'js-yaml-loader!*';
|
import { FunctionCallData, ScriptFunctionCallData } from 'js-yaml-loader!@/*';
|
||||||
|
|
||||||
interface Scenario { call: ScriptFunctionCallData; functions: ISharedFunctionCollection; result: ICompiledCode; }
|
interface Scenario { call: ScriptFunctionCallData; functions: ISharedFunctionCollection; result: ICompiledCode; }
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { sequenceEqual } from '@/application/Common/Array';
|
import { sequenceEqual } from '@/application/Common/Array';
|
||||||
import { IFunctionCompiler } from '@/application/Parser/Script/Compiler/Function/IFunctionCompiler';
|
import { IFunctionCompiler } from '@/application/Parser/Script/Compiler/Function/IFunctionCompiler';
|
||||||
import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection';
|
import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection';
|
||||||
import { FunctionData } from 'js-yaml-loader!*';
|
import { FunctionData } from 'js-yaml-loader!@/*';
|
||||||
import { SharedFunctionCollectionStub } from './SharedFunctionCollectionStub';
|
import { SharedFunctionCollectionStub } from './SharedFunctionCollectionStub';
|
||||||
|
|
||||||
export class FunctionCompilerStub implements IFunctionCompiler {
|
export class FunctionCompilerStub implements IFunctionCompiler {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { FunctionData, ScriptFunctionCallData } from 'js-yaml-loader!*';
|
import { FunctionData, ScriptFunctionCallData } from 'js-yaml-loader!@/*';
|
||||||
|
|
||||||
export class FunctionDataStub implements FunctionData {
|
export class FunctionDataStub implements FunctionData {
|
||||||
public static createWithCode() {
|
public static createWithCode() {
|
||||||
|
|||||||
@@ -25,7 +25,10 @@
|
|||||||
"paths": {
|
"paths": {
|
||||||
"@/*": [
|
"@/*": [
|
||||||
"src/*"
|
"src/*"
|
||||||
]
|
],
|
||||||
|
"@tests/*": [
|
||||||
|
"tests/*"
|
||||||
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"include": [
|
"include": [
|
||||||
|
|||||||
@@ -10,6 +10,13 @@ module.exports = {
|
|||||||
chainWebpack: (config) => {
|
chainWebpack: (config) => {
|
||||||
changeAppEntryPoint('./src/presentation/main.ts', config);
|
changeAppEntryPoint('./src/presentation/main.ts', config);
|
||||||
},
|
},
|
||||||
|
configureWebpack:{
|
||||||
|
resolve: {
|
||||||
|
alias: { // also requires path alias in tsconfig.json
|
||||||
|
"@tests": require('path').resolve(__dirname, 'tests/'),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
pluginOptions: {
|
pluginOptions: {
|
||||||
// https://nklayman.github.io/vue-cli-plugin-electron-builder/guide/guide.html#native-modules
|
// https://nklayman.github.io/vue-cli-plugin-electron-builder/guide/guide.html#native-modules
|
||||||
electronBuilder: {
|
electronBuilder: {
|
||||||
|
|||||||
Reference in New Issue
Block a user