diff --git a/.gitignore b/.gitignore index 60f77bc76d8..15714b61222 100644 --- a/.gitignore +++ b/.gitignore @@ -25,7 +25,7 @@ **/dist-dev/ **/dist-dev-webapp/ **/dist-tests/ -**/dist-e2e-tests/ +**/dist-tests-e2e/ **/dist-storybook/ **/e2e-tests-tmp/ **/coverage/ @@ -75,6 +75,9 @@ node/ ## runtime-tools-management-console-webapp !packages/runtime-tools-management-console-webapp/build +## dev-deployment-dmn-form-webapp +!packages/dev-deployment-dmn-form-webapp/build + ## vscode-* **/.vscode-test/ **/.vscode-test-web/ diff --git a/.prettierignore b/.prettierignore deleted file mode 120000 index 3e4e48b0b5f..00000000000 --- a/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -.gitignore \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000000..5505f5cedd0 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,12 @@ +pnpm-lock.yaml + +# @prettier/parser-xml transform empty elements to oneliners, breaking the compilation. e.g.: -> +**/*.ui.xml + +# @prettier/parser-xml tries to format *.mod files as they are used to create Document Type Definitions (DTDs). +**/go.mod + +# @prettier/parser-xml plugin doesn't support DTD declaration +packages/xml-parser-ts-codegen/src/schemas/xsd/HFP.xsd +packages/xml-parser-ts-codegen/src/schemas/xsd-incomplete--manually-written/HFP.xsd +packages/xml-parser-ts-codegen/src/schemas/xsd-incomplete--manually-written/XSD.xsd diff --git a/.syncpackrc.json b/.syncpackrc.json index 0967ef424bc..4f613e8ad0c 100644 --- a/.syncpackrc.json +++ b/.syncpackrc.json @@ -1 +1,12 @@ -{} +{ + "versionGroups": [ + { + "dependencies": ["prettier"], + "packages": [ + "@kie-tools/uniforms-bootstrap4-codegen", + "@kie-tools/uniforms-patternfly-codegen", + "@kie-tools/yaml-language-server" + ] + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index b50f3a61569..b8beb20b6e4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,5 +4,6 @@ }, "files.associations": { "*.yaml.helm": "helm" - } + }, + "prettier.configPath": "prettier.config.mjs" } diff --git a/README.md b/README.md index 181832ed529..df3dc6f0a74 100644 --- a/README.md +++ b/README.md @@ -45,8 +45,8 @@ This repository contains tooling applications and libraries for KIE projects. To build and test all packages of the Apache KIE Tools project, you're going to need: -- Node `18` _(To install, follow these instructions: https://nodejs.org/en/download/package-manager/)_ -- pnpm `8.7.0` _(To install, follow these instructions: https://pnpm.io/installation#using-npm)_ +- Node `20` _(To install, follow these instructions: https://nodejs.org/en/download/package-manager/)_ +- pnpm `9.3.0` _(To install, follow these instructions: https://pnpm.io/installation#using-npm)_ - Maven `3.9.6` - Java `17` - Go `1.21.9` _(To install, follow these instructions: https://go.dev/doc/install)_ @@ -117,6 +117,66 @@ Bootstrapping installs the necessary dependencies for each package. --- +## Reproducible Builds for _maven-based_ packages + +It is mandatory that any _maven-based_ package that releases artifacts runs [Reproducible Builds](https://reproducible-builds.org/) +to build it's artifacts, in this case, in our `build:prod` scripts. + +`@kie-tools/maven-base` provides the `reproducible-build` `maven` profile to enable _Reproducible Builds_ in our builds. +To use it follow the steps: + +- Make sure the `package.json` depends on `@kie-tools/maven-base`: + +```json +{ + "dependencies": { + "@kie-tools/maven-base": "workspace:*" + } +} +``` + +- Make the package `pom.xml` has `kie-tools-maven-base` as a parent and declares the `project.build.outputTimestamp` property like: + +```xml + + + org.kie + kie-tools-maven-base + ${revision} + ./node_modules/@kie-tools/maven-base/pom.xml + + ... + + 2024-01-12T00:00:00Z + + ... + +``` + +- In your `package.json` scripts, enable the _Reproducible Build_ profile adding the `-Dreproducible` argument in `build:prod` scripts, like: + +```json +{ + "scripts": { + "build:prod": "pnpm lint && run-script-os", + "build:prod:darwin:linux": "mvn clean deploy [...other maven options...] -Dreproducible", + "build:prod:win32": "pnpm powershell \"mvn clean deploy [...other maven options...] `-Dreproducible\"" + } +} +``` + +> IMPORTANT: the current version of the `maven-artifact-plugin` (3.4.1) used in `kie-tools` bans the `maven-flatten-plugin` that +> we use to generate deployable artifacts using the dynamic `${revision}` variable. You can check the full list of banned +> plugins [here](https://maven.apache.org/plugins-archives/maven-artifact-plugin-3.4.1/plugin-issues.html). +> The issue that caused the ban [flatten-maven-plugin/issues/256](https://github.com/mojohaus/flatten-maven-plugin/issues/256) was a result +> of change in `maven` behaviour between `v3.8.1` and `v3.8.2`, and isn't a problem on the `maven-flatten-plugin`. +> Actually, in later versions of the `maven-artifact-plugin` the ban got revoked. +> Having this in mind, and due to the fact that `kie-tools` requires newer `maven` versions, our _Reproducible Builds_ require +> temporarily overriding the list of banned plugins, until we upgrade to a newer `maven-artifact-plugin` version. +> This will be addressed by https://github.com/apache/incubator-kie-issues/issues/1371 + +--- + ## Applications The Apache KIE Tools project contains several applications. To develop each one of them individually, refer to the instructions below. diff --git a/devbox.json b/devbox.json index a61dbeed3c0..bd6d1bf34f2 100644 --- a/devbox.json +++ b/devbox.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/jetpack-io/devbox/0.10.4/.schema/devbox.schema.json", "packages": { "temurin-bin-17": "17.0.9", - "nodejs": "18.20.2", + "nodejs": "20.12.2", "maven": "3.9.6", "kubernetes-helm": "3.13.3", "gnumake": "4.4.1", diff --git a/devbox.lock b/devbox.lock index 090ca034213..810e96da462 100644 --- a/devbox.lock +++ b/devbox.lock @@ -237,68 +237,68 @@ } } }, - "nodejs@18.20.2": { - "last_modified": "2024-04-19T17:36:04-04:00", + "nodejs@20.12.2": { + "last_modified": "2024-05-22T06:18:38Z", "plugin_version": "0.0.2", - "resolved": "github:NixOS/nixpkgs/92d295f588631b0db2da509f381b4fb1e74173c5#nodejs_18", + "resolved": "github:NixOS/nixpkgs/3f316d2a50699a78afe5e77ca486ad553169061e#nodejs_20", "source": "devbox-search", - "version": "18.20.2", + "version": "20.12.2", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/c4cy6ivwvyccxb5cgvmibb48cz5kgbxh-nodejs-18.20.2", + "path": "/nix/store/bzzs4kvjyvjjhs3rj08vqpvvzmfggvbv-nodejs-20.12.2", "default": true }, { "name": "libv8", - "path": "/nix/store/sl20inmjg0p9nbsqcbvrrynbxr0d4z4j-nodejs-18.20.2-libv8" + "path": "/nix/store/c56874bxzncqwy58kif6wfnzy017v1sl-nodejs-20.12.2-libv8" } ], - "store_path": "/nix/store/c4cy6ivwvyccxb5cgvmibb48cz5kgbxh-nodejs-18.20.2" + "store_path": "/nix/store/bzzs4kvjyvjjhs3rj08vqpvvzmfggvbv-nodejs-20.12.2" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/02sxkyivycayrw2qbf0vbln1vv2l75wg-nodejs-18.20.2", + "path": "/nix/store/y50zafzgnnkrj4hvmk23icv2ggvys8r9-nodejs-20.12.2", "default": true }, { "name": "libv8", - "path": "/nix/store/sl5gvfjjm6f0b818vnggkpadr1mcyfs3-nodejs-18.20.2-libv8" + "path": "/nix/store/vc7y8h3c8pwbh4zbvjcyfqrd3fhdjhw6-nodejs-20.12.2-libv8" } ], - "store_path": "/nix/store/02sxkyivycayrw2qbf0vbln1vv2l75wg-nodejs-18.20.2" + "store_path": "/nix/store/y50zafzgnnkrj4hvmk23icv2ggvys8r9-nodejs-20.12.2" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/8j5ld9b8gciy0dfpnjbi98w76v05kia6-nodejs-18.20.2", + "path": "/nix/store/l53svh1nfrcb83qbqvrrkangrcl1rr25-nodejs-20.12.2", "default": true }, { "name": "libv8", - "path": "/nix/store/bza5hfp4mb002mp12g33v5arcpyg223s-nodejs-18.20.2-libv8" + "path": "/nix/store/q71hh22bfqjygd34gq16dv4dwfc33378-nodejs-20.12.2-libv8" } ], - "store_path": "/nix/store/8j5ld9b8gciy0dfpnjbi98w76v05kia6-nodejs-18.20.2" + "store_path": "/nix/store/l53svh1nfrcb83qbqvrrkangrcl1rr25-nodejs-20.12.2" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/c9wp3qkbfkpx2vylglrmd4w0jwvm216z-nodejs-18.20.2", + "path": "/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2", "default": true }, { "name": "libv8", - "path": "/nix/store/1il1i3j9qch6hg6f7pp1753z95lappzv-nodejs-18.20.2-libv8" + "path": "/nix/store/s7b0dqga0311mvq48mirnlm0p3dr4gm3-nodejs-20.12.2-libv8" } ], - "store_path": "/nix/store/c9wp3qkbfkpx2vylglrmd4w0jwvm216z-nodejs-18.20.2" + "store_path": "/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2" } } }, diff --git a/docs/kie.svg b/docs/kie.svg index 4259d92dc97..e3721f3feaa 100644 --- a/docs/kie.svg +++ b/docs/kie.svg @@ -1,5 +1,5 @@ - - - + kie_horizontal_rgb_fullcolor_default - - - - - - - - - - + + + + + + + + + + diff --git a/examples/base64png-editor-chrome-extension/package.json b/examples/base64png-editor-chrome-extension/package.json index 2b0a30b600d..53026d9cf04 100644 --- a/examples/base64png-editor-chrome-extension/package.json +++ b/examples/base64png-editor-chrome-extension/package.json @@ -39,4 +39,4 @@ "webpack-merge": "^5.9.0", "zip-webpack-plugin": "^4.0.1" } -} \ No newline at end of file +} diff --git a/examples/base64png-editor-chrome-extension/static/envelope/index.html b/examples/base64png-editor-chrome-extension/static/envelope/index.html index 9afb4080e4f..95cba4aebce 100644 --- a/examples/base64png-editor-chrome-extension/static/envelope/index.html +++ b/examples/base64png-editor-chrome-extension/static/envelope/index.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + - - + </defs> + <title> kie_icon_rgb_fullcolor_default - - - - - - - + + + + + + + diff --git a/examples/base64png-editor-vscode-extension/package.json b/examples/base64png-editor-vscode-extension/package.json index 6d7343c9363..5a340c4523a 100644 --- a/examples/base64png-editor-vscode-extension/package.json +++ b/examples/base64png-editor-vscode-extension/package.json @@ -131,4 +131,4 @@ "onCustomEditor:kieKogitoWebviewBase64PNGEditor", "onCommand:extension.kogito.createBase64Png" ] -} \ No newline at end of file +} diff --git a/examples/base64png-editor/package.json b/examples/base64png-editor/package.json index 2009d65fb3a..9aed87698f3 100644 --- a/examples/base64png-editor/package.json +++ b/examples/base64png-editor/package.json @@ -41,4 +41,4 @@ "rimraf": "^3.0.2", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/examples/commit-message-validation-service/env/index.js b/examples/commit-message-validation-service/env/index.js index 03d2269c88d..fcc3cbe1dd7 100644 --- a/examples/commit-message-validation-service/env/index.js +++ b/examples/commit-message-validation-service/env/index.js @@ -23,7 +23,7 @@ module.exports = composeEnv([require("@kie-tools/root-env/env")], { vars: varsWithName({ EXAMPLE_COMMIT_MESSAGE_VALIDATION_SERVICE__port: { default: "8090", - description: "Web server port", + description: "HTTP server port where the service will run at.", }, EXAMPLE_COMMIT_MESSAGE_VALIDATION_SERVICE__validators: { default: "Length:5-72;IssuePrefix:kie-issues#*", diff --git a/examples/commit-message-validation-service/package.json b/examples/commit-message-validation-service/package.json index 20785b92a00..604a18eefca 100644 --- a/examples/commit-message-validation-service/package.json +++ b/examples/commit-message-validation-service/package.json @@ -38,4 +38,4 @@ "make" ] } -} \ No newline at end of file +} diff --git a/examples/drools-process-usertasks-quarkus-example/env/index.js b/examples/drools-process-usertasks-quarkus-example/env/index.js index 3dd70a342fc..e1ec81e83c6 100644 --- a/examples/drools-process-usertasks-quarkus-example/env/index.js +++ b/examples/drools-process-usertasks-quarkus-example/env/index.js @@ -17,7 +17,7 @@ * under the License. */ -const { varsWithName, composeEnv, getOrDefault } = require("@kie-tools-scripts/build-env"); +const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); module.exports = composeEnv([require("@kie-tools/root-env/env")], { vars: varsWithName({}), diff --git a/examples/drools-process-usertasks-quarkus-example/package.json b/examples/drools-process-usertasks-quarkus-example/package.json index 74b65a00968..15f3d1c84c3 100644 --- a/examples/drools-process-usertasks-quarkus-example/package.json +++ b/examples/drools-process-usertasks-quarkus-example/package.json @@ -42,4 +42,4 @@ "mvn" ] } -} \ No newline at end of file +} diff --git a/examples/drools-process-usertasks-quarkus-example/src/main/resources/META-INF/processSVG/approvals.svg b/examples/drools-process-usertasks-quarkus-example/src/main/resources/META-INF/processSVG/approvals.svg index 9284cb85b2d..dee8b5ee397 100644 --- a/examples/drools-process-usertasks-quarkus-example/src/main/resources/META-INF/processSVG/approvals.svg +++ b/examples/drools-process-usertasks-quarkus-example/src/main/resources/META-INF/processSVG/approvals.svg @@ -1,5 +1,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + End - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + StartProcess - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Second Line - + Approval - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + First Line - + Approval - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/drools-process-usertasks-quarkus-example/src/main/resources/META-INF/resources/index.html b/examples/drools-process-usertasks-quarkus-example/src/main/resources/META-INF/resources/index.html index 8755eeba651..ecd394419fc 100644 --- a/examples/drools-process-usertasks-quarkus-example/src/main/resources/META-INF/resources/index.html +++ b/examples/drools-process-usertasks-quarkus-example/src/main/resources/META-INF/resources/index.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + diff --git a/examples/drools-process-usertasks-quarkus-example/src/main/resources/org/acme/travels/approval.bpmn b/examples/drools-process-usertasks-quarkus-example/src/main/resources/org/acme/travels/approval.bpmn index 5ec0a0d0ae9..89fd22856fe 100644 --- a/examples/drools-process-usertasks-quarkus-example/src/main/resources/org/acme/travels/approval.bpmn +++ b/examples/drools-process-usertasks-quarkus-example/src/main/resources/org/acme/travels/approval.bpmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + @@ -70,7 +119,11 @@ - + @@ -80,7 +133,11 @@ - + @@ -99,12 +156,42 @@ _9EAFE6C1-69B4-4908-B764-EF3C4A55BEE3 _C13522F1-230A-4C26-B5A9-533A5D9FEE9D - - - - - - + + + + + + _8B62D3CA-5D03-4B2B-832B-126469288BB4_TaskNameInputX _8B62D3CA-5D03-4B2B-832B-126469288BB4_travellerInputX @@ -119,8 +206,14 @@ _8B62D3CA-5D03-4B2B-832B-126469288BB4_TaskNameInputX - - _8B62D3CA-5D03-4B2B-832B-126469288BB4_TaskNameInputX + + _8B62D3CA-5D03-4B2B-832B-126469288BB4_TaskNameInputX @@ -131,14 +224,20 @@ _8B62D3CA-5D03-4B2B-832B-126469288BB4_SkippableInputX - _8B62D3CA-5D03-4B2B-832B-126469288BB4_SkippableInputX + _8B62D3CA-5D03-4B2B-832B-126469288BB4_SkippableInputX _8B62D3CA-5D03-4B2B-832B-126469288BB4_GroupIdInputX - _8B62D3CA-5D03-4B2B-832B-126469288BB4_GroupIdInputX + _8B62D3CA-5D03-4B2B-832B-126469288BB4_GroupIdInputX @@ -164,12 +263,42 @@ _C13522F1-230A-4C26-B5A9-533A5D9FEE9D _078F46FB-B7A1-4DBB-BE9A-75C7CB0CCD03 - - - - - - + + + + + + _0DBFABE8-92B0-46E6-B52E-A9593AFA4371_TaskNameInputX _0DBFABE8-92B0-46E6-B52E-A9593AFA4371_ExcludedOwnerIdInputX @@ -184,8 +313,14 @@ _0DBFABE8-92B0-46E6-B52E-A9593AFA4371_TaskNameInputX - - _0DBFABE8-92B0-46E6-B52E-A9593AFA4371_TaskNameInputX + + _0DBFABE8-92B0-46E6-B52E-A9593AFA4371_TaskNameInputX @@ -200,14 +335,20 @@ _0DBFABE8-92B0-46E6-B52E-A9593AFA4371_SkippableInputX - _0DBFABE8-92B0-46E6-B52E-A9593AFA4371_SkippableInputX + _0DBFABE8-92B0-46E6-B52E-A9593AFA4371_SkippableInputX _0DBFABE8-92B0-46E6-B52E-A9593AFA4371_GroupIdInputX - _0DBFABE8-92B0-46E6-B52E-A9593AFA4371_GroupIdInputX + _0DBFABE8-92B0-46E6-B52E-A9593AFA4371_GroupIdInputX @@ -235,29 +376,50 @@ - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + @@ -265,51 +427,63 @@ - - + + - + - + - + - + - + - + - + - + - + - + - + diff --git a/examples/jbpm-compact-architecture-example/docker-compose/docker-compose.yml b/examples/jbpm-compact-architecture-example/docker-compose/docker-compose.yml index 95032f77340..6e7484029c4 100644 --- a/examples/jbpm-compact-architecture-example/docker-compose/docker-compose.yml +++ b/examples/jbpm-compact-architecture-example/docker-compose/docker-compose.yml @@ -44,7 +44,7 @@ services: jbpm-compact-architecture-example-service: container_name: jbpm-compact-architecture-example-service - image: dev.local/${USER}/jppm-compact-architecture-example-service:${PROJECT_VERSION} + image: dev.local/${USER}/jbpm-compact-architecture-example-service:${PROJECT_VERSION} profiles: ["example", "full"] ports: - "8080:8080" @@ -97,17 +97,11 @@ services: depends_on: jbpm-compact-architecture-example-service: condition: service_started - keycloak: - condition: service_healthy volumes: - ./svg/:/home/kogito/data/svg/ environment: - RUNTIME_TOOLS_MANAGEMENT_CONSOLE_KOGITO_ENV_MODE: "PROD" + RUNTIME_TOOLS_MANAGEMENT_CONSOLE_KOGITO_ENV_MODE: "DEV" RUNTIME_TOOLS_MANAGEMENT_CONSOLE_DATA_INDEX_ENDPOINT: http://${DOCKER_GATEWAY_HOST:-host.docker.internal}:8080/graphql - KOGITO_CONSOLES_KEYCLOAK_HEALTH_CHECK_URL: http://localhost:8480/auth/realms/kogito/.well-known/openid-configuration - KOGITO_CONSOLES_KEYCLOAK_URL: http://localhost:8480/auth - KOGITO_CONSOLES_KEYCLOAK_REALM: kogito - KOGITO_CONSOLES_KEYCLOAK_CLIENT_ID: kogito-console-quarkus task-console: container_name: task-console diff --git a/examples/jbpm-compact-architecture-example/env/index.js b/examples/jbpm-compact-architecture-example/env/index.js index 4b9f86d2fa6..a047ba465e4 100644 --- a/examples/jbpm-compact-architecture-example/env/index.js +++ b/examples/jbpm-compact-architecture-example/env/index.js @@ -20,22 +20,22 @@ const { varsWithName, composeEnv, getOrDefault } = require("@kie-tools-scripts/build-env"); const { - env: { kogitoManagementConsole: kogitoManagementConsoleEnv }, + env: { kogitoManagementConsole: kogitoManagementConsoleImageEnv }, } = require("@kie-tools/kogito-management-console/env"); const { - env: { kogitoTaskConsole: kogitoTaskConsoleEnv }, + env: { kogitoTaskConsole: kogitoTaskConsoleImageEnv }, } = require("@kie-tools/kogito-task-console/env"); module.exports = composeEnv([require("@kie-tools/root-env/env")], { vars: varsWithName({ JBPM_COMPACT_ARCHITECTURE_EXAMPLE__managementConsoleImage: { - default: `${kogitoManagementConsoleEnv.registry}/${kogitoManagementConsoleEnv.account}/${kogitoManagementConsoleEnv.name}:${kogitoManagementConsoleEnv.buildTag}`, - description: "The image for the Kogito Management Console Image.", + default: `${kogitoManagementConsoleImageEnv.registry}/${kogitoManagementConsoleImageEnv.account}/${kogitoManagementConsoleImageEnv.name}:${kogitoManagementConsoleImageEnv.buildTag}`, + description: "The image for the Kogito Management Console.", }, JBPM_COMPACT_ARCHITECTURE_EXAMPLE__taskConsoleImage: { - default: `${kogitoTaskConsoleEnv.registry}/${kogitoTaskConsoleEnv.account}/${kogitoTaskConsoleEnv.name}:${kogitoTaskConsoleEnv.buildTag}`, - description: "The image for the Kogito Task Console Image.", + default: `${kogitoTaskConsoleImageEnv.registry}/${kogitoTaskConsoleImageEnv.account}/${kogitoTaskConsoleImageEnv.name}:${kogitoTaskConsoleImageEnv.buildTag}`, + description: "The image for the Kogito Task Console.", }, }), get env() { diff --git a/examples/jbpm-compact-architecture-example/package.json b/examples/jbpm-compact-architecture-example/package.json index 2ce94a9f7b6..c343328e50e 100644 --- a/examples/jbpm-compact-architecture-example/package.json +++ b/examples/jbpm-compact-architecture-example/package.json @@ -52,4 +52,4 @@ "mvn" ] } -} \ No newline at end of file +} diff --git a/examples/jbpm-compact-architecture-example/src/main/resources/META-INF/processSVG/hiring.svg b/examples/jbpm-compact-architecture-example/src/main/resources/META-INF/processSVG/hiring.svg index fba0500706c..37c2237d5ca 100644 --- a/examples/jbpm-compact-architecture-example/src/main/resources/META-INF/processSVG/hiring.svg +++ b/examples/jbpm-compact-architecture-example/src/main/resources/META-INF/processSVG/hiring.svg @@ -1 +1,1427 @@ -HR InterviewIT InterviewNew Hiring Send notification HR Interview avoided Application denied Generate base offer Log OfferSend Offer to Candidate \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HR Interview + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IT Interview + + + + + + + + + + + + + + + + + + + + + + + + + + + New Hiring + + + + + + + + + + + + + + + + + + + + + + + + + + + Send + notification + HR Interview + avoided + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Application + denied + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generate base + offer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Log Offer + + + + + + + + + + + + + + + + + + + + + + + + + + + Send Offer to + Candidate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/jbpm-compact-architecture-example/src/main/resources/NewHiringOffer.dmn b/examples/jbpm-compact-architecture-example/src/main/resources/NewHiringOffer.dmn index 67b0eded68d..dd172b5ce80 100644 --- a/examples/jbpm-compact-architecture-example/src/main/resources/NewHiringOffer.dmn +++ b/examples/jbpm-compact-architecture-example/src/main/resources/NewHiringOffer.dmn @@ -1,6 +1,18 @@ - - - + + + string @@ -30,25 +42,29 @@ - - + + - - + + - + - + count(CandidateData.skills) * 150 - - + + CandidateData.experience @@ -59,8 +75,8 @@ "Software Engineer", "Senior Software Engineer", "Software Architect" - - + + [0..5) @@ -72,7 +88,7 @@ 30000 + SalaryBonus - + @@ -86,7 +102,7 @@ 40000 + SalaryBonus - + @@ -100,7 +116,7 @@ 50000 + SalaryBonus - + @@ -136,28 +152,39 @@ - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/examples/jbpm-compact-architecture-example/src/main/resources/application.properties b/examples/jbpm-compact-architecture-example/src/main/resources/application.properties index b2a3bf6b7fe..d844b53dfcc 100644 --- a/examples/jbpm-compact-architecture-example/src/main/resources/application.properties +++ b/examples/jbpm-compact-architecture-example/src/main/resources/application.properties @@ -37,9 +37,8 @@ quarkus.native.native-image-xmx=8g %container.quarkus.container-image.group=${USER} %container.quarkus.container-image.registry=dev.local %container.quarkus.container-image.tag=${project.version} -%container.quarkus.container-image.name=jppm-compact-architecture-example-service +%container.quarkus.container-image.name=jbpm-compact-architecture-example-service -%dev.quarkus.kogito.devservices.enabled=false %dev.jbpm.devui.users.jdoe.groups=admin,HR,IT # Disabling OIDC diff --git a/examples/jbpm-compact-architecture-example/src/main/resources/hiring.bpmn b/examples/jbpm-compact-architecture-example/src/main/resources/hiring.bpmn index 3c043c24cfc..c1bdbe5e855 100644 --- a/examples/jbpm-compact-architecture-example/src/main/resources/hiring.bpmn +++ b/examples/jbpm-compact-architecture-example/src/main/resources/hiring.bpmn @@ -1,52 +1,121 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -75,38 +144,108 @@ - - - + + + - - - + + + - - - - + + + + - - - - - - + + + + + + - - + + @@ -117,12 +256,16 @@ System.out.println("###################################"); System.out.println("To: " + candidateData.getEmail()); System.out.println("Subject: Congratulations you made it!"); -System.out.println("Dear " + candidateData.getFullName() + ", we are happy to tell you that you've successfuly went trhough the hiring process. You'll find the fina Offer details in attached."); +System.out.println("Dear " + candidateData.getFullName() + ", we are happy to tell you that you've successfully went through the hiring process. You'll find the final Offer details in attached."); System.out.println("Job Category: " + offer.getCategory()); System.out.println("Base salary: " + offer.getSalary()); System.out.println("###################################"); - + @@ -139,7 +282,11 @@ System.out.println("###################################"); _7DDA574A-C220-4FEF-9784-22EF8052EDEC - + @@ -148,12 +295,42 @@ System.out.println("###################################"); _59F9A0E6-7F9C-43A9-8920-5B40A91169E6 _9C33F5EA-89C7-4ED1-B3C2-CF18DE439AF5 - - - - - - + + + + + + _F4D56F6C-4CFE-4D5C-BF5E-67261F68EF1A_fileNameInputX _F4D56F6C-4CFE-4D5C-BF5E-67261F68EF1A_namespaceInputX @@ -169,28 +346,38 @@ System.out.println("###################################"); _F4D56F6C-4CFE-4D5C-BF5E-67261F68EF1A_fileNameInputX - + _F4D56F6C-4CFE-4D5C-BF5E-67261F68EF1A_namespaceInputX - - + + _F4D56F6C-4CFE-4D5C-BF5E-67261F68EF1A_decisionInputX - + _F4D56F6C-4CFE-4D5C-BF5E-67261F68EF1A_modelInputX - + @@ -205,7 +392,11 @@ System.out.println("###################################"); _527D3164-4989-4D2C-B80B-9BA9D4C8FB89 - + @@ -218,23 +409,42 @@ System.out.println("Candidate " + candidateData.getFullName() + " don't meet the System.out.println("###################################"); - + _5334FFDC-1FCB-47E6-8085-36DC9A3D17B9 _B7FC63DD-C08F-4CB3-A51A-79C1B8B18E6E _C6E61C53-FD35-4347-B69E-30AA93AE4404 _94172225-E124-4F14-98DA-C3D62C11254A - + _5162ABF0-DD2E-4BDC-9A46-DDCFCB010287 _59F9A0E6-7F9C-43A9-8920-5B40A91169E6 _C6E61C53-FD35-4347-B69E-30AA93AE4404 - + _C62F7EFB-A009-450A-81C7-57D36F0DF766 _B11455DE-F77A-4251-A85B-4C66636E3CD9 _B7FC63DD-C08F-4CB3-A51A-79C1B8B18E6E - + @@ -247,7 +457,11 @@ System.out.println("HR Interview have been avoided after reasonable time"); System.out.println("###################################"); - + @@ -269,12 +483,42 @@ kcontext.setVariable("it_approval", false); _A76C6603-0406-423C-940B-3403948DCA1F _C62F7EFB-A009-450A-81C7-57D36F0DF766 - - - - - - + + + + + + _8962C15F-55EC-46F7-B926-5D5A1FD8D35E_TaskNameInputX _8962C15F-55EC-46F7-B926-5D5A1FD8D35E_candidateInputX @@ -290,7 +534,9 @@ kcontext.setVariable("it_approval", false); _8962C15F-55EC-46F7-B926-5D5A1FD8D35E_TaskNameInputX - + @@ -309,7 +555,9 @@ kcontext.setVariable("it_approval", false); _8962C15F-55EC-46F7-B926-5D5A1FD8D35E_SkippableInputX - + @@ -331,13 +579,48 @@ kcontext.setVariable("it_approval", false); _ACEE7578-B7D2-4EDF-B104-9ECF3DD8A383 _A76C6603-0406-423C-940B-3403948DCA1F - - - - - - - + + + + + + + _B8C4F63C-81AD-4291-9C1B-84967277EEF6_TaskNameInputX _B8C4F63C-81AD-4291-9C1B-84967277EEF6_candidateInputX @@ -354,7 +637,9 @@ kcontext.setVariable("it_approval", false); _B8C4F63C-81AD-4291-9C1B-84967277EEF6_TaskNameInputX - + @@ -373,7 +658,9 @@ kcontext.setVariable("it_approval", false); _B8C4F63C-81AD-4291-9C1B-84967277EEF6_SkippableInputX - + @@ -393,7 +680,12 @@ kcontext.setVariable("it_approval", false); _8863B46B-9B0F-40B9-AAB1-A7503CF9AA0A - + _7B41F971-C74D-4036-8A5E-EFF81C37986A PT180S @@ -402,111 +694,201 @@ kcontext.setVariable("it_approval", false); - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -514,171 +896,171 @@ kcontext.setVariable("it_approval", false); - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -688,4 +1070,4 @@ kcontext.setVariable("it_approval", false); _0IqVEG0AEDySCYWhrcdpgA _0IqVEG0AEDySCYWhrcdpgA - \ No newline at end of file + diff --git a/examples/ping-pong-view-angular/package.json b/examples/ping-pong-view-angular/package.json index 498d38c75a1..e5b364c5d07 100644 --- a/examples/ping-pong-view-angular/package.json +++ b/examples/ping-pong-view-angular/package.json @@ -23,8 +23,8 @@ "build:dev": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build\"", "build:prod": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build --configuration production\"", "build:wc": "ng build ping-pong-view-wc && pnpm build:wc:concat", - "build:wc-lib": "tsc --project tsconfig.lib.json", - "build:wc:concat": "cat dist/wc/polyfills.js dist/wc/runtime.js dist/wc/main.js > dist/wc/index.js" + "build:wc:concat": "cat dist/wc/polyfills.js dist/wc/runtime.js dist/wc/main.js > dist/wc/index.js", + "build:wc-lib": "tsc --project tsconfig.lib.json" }, "dependencies": { "@angular/animations": "^14.2.0", @@ -51,4 +51,4 @@ "rimraf": "^3.0.2", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/examples/ping-pong-view-angular/src/index.html b/examples/ping-pong-view-angular/src/index.html index 1723453d81e..b64c6b49204 100644 --- a/examples/ping-pong-view-angular/src/index.html +++ b/examples/ping-pong-view-angular/src/index.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + diff --git a/examples/ping-pong-view-react/package.json b/examples/ping-pong-view-react/package.json index de37ac22ba3..cfa87c92e96 100644 --- a/examples/ping-pong-view-react/package.json +++ b/examples/ping-pong-view-react/package.json @@ -38,4 +38,4 @@ "rimraf": "^3.0.2", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/examples/ping-pong-view/package.json b/examples/ping-pong-view/package.json index 4ffabc5e124..61994cc04e4 100644 --- a/examples/ping-pong-view/package.json +++ b/examples/ping-pong-view/package.json @@ -33,4 +33,4 @@ "rimraf": "^3.0.2", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/examples/sonataflow-greeting-quarkus-example/env/index.js b/examples/sonataflow-greeting-quarkus-example/env/index.js index 7767297ccd4..ef7d8437cb0 100644 --- a/examples/sonataflow-greeting-quarkus-example/env/index.js +++ b/examples/sonataflow-greeting-quarkus-example/env/index.js @@ -17,7 +17,7 @@ * under the License. */ -const { varsWithName, composeEnv, getOrDefault } = require("@kie-tools-scripts/build-env"); +const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); module.exports = composeEnv([require("@kie-tools/root-env/env")], { vars: varsWithName({}), diff --git a/examples/sonataflow-greeting-quarkus-example/package.json b/examples/sonataflow-greeting-quarkus-example/package.json index 91d6b0e68aa..425d90edd4c 100644 --- a/examples/sonataflow-greeting-quarkus-example/package.json +++ b/examples/sonataflow-greeting-quarkus-example/package.json @@ -42,4 +42,4 @@ "mvn" ] } -} \ No newline at end of file +} diff --git a/examples/todo-list-view-vscode-extension/package.json b/examples/todo-list-view-vscode-extension/package.json index 77db96f4a0f..d9a61686ef8 100644 --- a/examples/todo-list-view-vscode-extension/package.json +++ b/examples/todo-list-view-vscode-extension/package.json @@ -76,4 +76,4 @@ "activationEvents": [ "*" ] -} \ No newline at end of file +} diff --git a/examples/todo-list-view/package.json b/examples/todo-list-view/package.json index b74d6c38e76..39f37962fed 100644 --- a/examples/todo-list-view/package.json +++ b/examples/todo-list-view/package.json @@ -36,4 +36,4 @@ "rimraf": "^3.0.2", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/examples/uniforms-patternfly/package.json b/examples/uniforms-patternfly/package.json index 35bdbf494f3..4eb0c0bbcf1 100644 --- a/examples/uniforms-patternfly/package.json +++ b/examples/uniforms-patternfly/package.json @@ -41,4 +41,4 @@ "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/examples/uniforms-patternfly/static/index.html b/examples/uniforms-patternfly/static/index.html index ab0b744210a..ab3ef948c8d 100644 --- a/examples/uniforms-patternfly/static/index.html +++ b/examples/uniforms-patternfly/static/index.html @@ -17,7 +17,7 @@ ~ under the License. --> - + Uniforms Patternfly Examples diff --git a/examples/webapp/envelope/base64-editor.html b/examples/webapp/envelope/base64-editor.html index 7e8ace507f0..2f636449b11 100644 --- a/examples/webapp/envelope/base64-editor.html +++ b/examples/webapp/envelope/base64-editor.html @@ -17,7 +17,7 @@ ~ under the License. --> - + - - + </defs> + <title> kie_icon_rgb_fullcolor_default - - - - - - - + + + + + + + diff --git a/packages/chrome-extension-pack-kogito-kie-editors/static/scesim-envelope.html b/packages/chrome-extension-pack-kogito-kie-editors/static/scesim-envelope.html index 69998ceea6f..221d5945956 100644 --- a/packages/chrome-extension-pack-kogito-kie-editors/static/scesim-envelope.html +++ b/packages/chrome-extension-pack-kogito-kie-editors/static/scesim-envelope.html @@ -17,7 +17,7 @@ ~ under the License. --> - + - - + </defs> + <title> kie_icon_rgb_fullcolor_default - - - - - - - + + + + + + + diff --git a/packages/chrome-extension-serverless-workflow-editor/static/serverless-workflow-combined-editor-envelope.html b/packages/chrome-extension-serverless-workflow-editor/static/serverless-workflow-combined-editor-envelope.html index 163f39a4ba2..bb55d052044 100644 --- a/packages/chrome-extension-serverless-workflow-editor/static/serverless-workflow-combined-editor-envelope.html +++ b/packages/chrome-extension-serverless-workflow-editor/static/serverless-workflow-combined-editor-envelope.html @@ -17,7 +17,7 @@ ~ under the License. --> - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
-
-
- - - - - -
- + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + + +
+ {{ $.[?(@.language == 'English')] }} -
-
-
-
- - - - - -
- +
+
+
+
+ + + + +
+ {{ $.[?(@.language == 'Spanish')] }} -
-
-
-
- - - - - -
- +
+
+
+
+ + + + +
+ default -
-
-
-
- - - - - -
- - -
-
-
-
- - - - - -
- - -
-
-
-
- - - - - -
- - -
-
-
-
-
- - - - - - - - -
- +
+
+
+
+ + + + +
+ +
+
+
+
+ + + + +
+ +
+
+
+
+ + + + +
+ +
+
+
+
+
+ + + + + + +
+ ChooseOnLanguage -
-
- -
- +
+
+ +
+ type = Switch State
Condition type = data-based
-
-
-
-
- - - - - - - - - - - -
- +
+
+
+
+ + + + + + + + +
+ GreetInEnglish -
-
- -
- +
+
+ +
+ type = Inject State -
-
-
-
- - - - - - - -
- +
+
+
+
+ + + + + +
+ GreetInSpanish -
-
- -
- +
+
+ +
+ type = Inject State -
-
-
-
- - - - - - - -
- +
+
+
+
+ + + + + +
+ GreetPerson -
-
- -
- +
+
+ +
+ type = Operation State
Action mode = sequential
Num. of actions = 1
-
-
-
-
- - - - - - -
-
-
-
+
+
+
+
+ + + + +
+
+
+ diff --git a/packages/dashbuilder-component-svg-heatmap/jest.config.js b/packages/dashbuilder-component-svg-heatmap/jest.config.js deleted file mode 100644 index 502541500ff..00000000000 --- a/packages/dashbuilder-component-svg-heatmap/jest.config.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - setupFilesAfterEnv: ["./tests/jest.setup.ts"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/__mocks__/styleMock.js", - }, -}; diff --git a/packages/dashbuilder-component-svg-heatmap/package.json b/packages/dashbuilder-component-svg-heatmap/package.json index a69ce2173f9..a4910978899 100644 --- a/packages/dashbuilder-component-svg-heatmap/package.json +++ b/packages/dashbuilder-component-svg-heatmap/package.json @@ -16,10 +16,9 @@ "main": "dist/index.js", "scripts": { "build:dev": "rimraf dist && webpack --env dev", - "build:prod": "pnpm lint && pnpm test && rimraf dist && webpack", + "build:prod": "pnpm lint && rimraf dist && webpack", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "start": "webpack serve -c ./dev-webapp/webpack.config.js --host 0.0.0.0 --env dev", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "start": "webpack serve -c ./dev-webapp/webpack.config.js --host 0.0.0.0 --env dev" }, "dependencies": { "@kie-tools-core/patternfly-base": "workspace:*", @@ -37,24 +36,16 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", "@types/heatmap.js": "^2.0.36", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "@types/testing-library__jest-dom": "^5.9.1", "copy-webpack-plugin": "^11.0.0", "html-webpack-plugin": "^5.3.2", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/dashbuilder-component-svg-heatmap/static/index.html b/packages/dashbuilder-component-svg-heatmap/static/index.html index b300099627a..0527c1e69a2 100644 --- a/packages/dashbuilder-component-svg-heatmap/static/index.html +++ b/packages/dashbuilder-component-svg-heatmap/static/index.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + Chart diff --git a/packages/dashbuilder-component-table/jest.config.js b/packages/dashbuilder-component-table/jest.config.js deleted file mode 100644 index 502541500ff..00000000000 --- a/packages/dashbuilder-component-table/jest.config.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - setupFilesAfterEnv: ["./tests/jest.setup.ts"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/__mocks__/styleMock.js", - }, -}; diff --git a/packages/dashbuilder-component-table/package.json b/packages/dashbuilder-component-table/package.json index 0862820f3d3..a2c0b83b0d4 100644 --- a/packages/dashbuilder-component-table/package.json +++ b/packages/dashbuilder-component-table/package.json @@ -16,11 +16,10 @@ "main": "dist/index.js", "scripts": { "build:dev": "rimraf dist && pnpm copy:css && webpack --env dev", - "build:prod": "pnpm lint && pnpm test && rimraf dist && pnpm copy:css && webpack", + "build:prod": "pnpm lint && rimraf dist && pnpm copy:css && webpack", "copy:css": "copyfiles -u 1 \"src/**/*.{sass,scss,css}\" dist/", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "start": "webpack serve -c ./dev-webapp/webpack.config.js --host 0.0.0.0 --env dev", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "start": "webpack serve -c ./dev-webapp/webpack.config.js --host 0.0.0.0 --env dev" }, "dependencies": { "@kie-tools-core/patternfly-base": "workspace:*", @@ -39,24 +38,16 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "@types/testing-library__jest-dom": "^5.9.1", "copy-webpack-plugin": "^11.0.0", "copyfiles": "^2.4.1", "html-webpack-plugin": "^5.3.2", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/dashbuilder-component-table/static/index.html b/packages/dashbuilder-component-table/static/index.html index ec2b7ffadc3..65b602c78b8 100644 --- a/packages/dashbuilder-component-table/static/index.html +++ b/packages/dashbuilder-component-table/static/index.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + Filtered Table diff --git a/packages/dashbuilder-component-timeseries/jest.config.js b/packages/dashbuilder-component-timeseries/jest.config.js deleted file mode 100644 index 502541500ff..00000000000 --- a/packages/dashbuilder-component-timeseries/jest.config.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - setupFilesAfterEnv: ["./tests/jest.setup.ts"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/__mocks__/styleMock.js", - }, -}; diff --git a/packages/dashbuilder-component-timeseries/package.json b/packages/dashbuilder-component-timeseries/package.json index 0390ba1221f..62ad453a2dd 100644 --- a/packages/dashbuilder-component-timeseries/package.json +++ b/packages/dashbuilder-component-timeseries/package.json @@ -16,10 +16,9 @@ "main": "dist/index.js", "scripts": { "build:dev": "rimraf dist && webpack --env dev", - "build:prod": "pnpm lint && pnpm test && rimraf dist && webpack", + "build:prod": "pnpm lint && rimraf dist && webpack", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "start": "webpack serve -c ./dev-webapp/webpack.config.js --host 0.0.0.0 --env dev", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "start": "webpack serve -c ./dev-webapp/webpack.config.js --host 0.0.0.0 --env dev" }, "dependencies": { "@kie-tools/dashbuilder-component-api": "workspace:*", @@ -37,23 +36,15 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "@types/testing-library__jest-dom": "^5.9.1", "copy-webpack-plugin": "^11.0.0", "html-webpack-plugin": "^5.3.2", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/dashbuilder-component-timeseries/static/index.html b/packages/dashbuilder-component-timeseries/static/index.html index b0bd19ef8ad..4f22cb82186 100644 --- a/packages/dashbuilder-component-timeseries/static/index.html +++ b/packages/dashbuilder-component-timeseries/static/index.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + Timeseries diff --git a/packages/dashbuilder-component-uniforms/jest.config.js b/packages/dashbuilder-component-uniforms/jest.config.js deleted file mode 100644 index 502541500ff..00000000000 --- a/packages/dashbuilder-component-uniforms/jest.config.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - setupFilesAfterEnv: ["./tests/jest.setup.ts"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/__mocks__/styleMock.js", - }, -}; diff --git a/packages/dashbuilder-component-uniforms/package.json b/packages/dashbuilder-component-uniforms/package.json index 2fed9da388a..9ab9c67b48d 100644 --- a/packages/dashbuilder-component-uniforms/package.json +++ b/packages/dashbuilder-component-uniforms/package.json @@ -16,10 +16,9 @@ "main": "dist/index.js", "scripts": { "build:dev": "rimraf dist && webpack --env dev", - "build:prod": "pnpm lint && pnpm test && rimraf dist && webpack", + "build:prod": "pnpm lint && rimraf dist && webpack", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "start": "webpack serve -c ./dev-webapp/webpack.config.js --host 0.0.0.0 --env dev", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "start": "webpack serve -c ./dev-webapp/webpack.config.js --host 0.0.0.0 --env dev" }, "dependencies": { "@kie-tools-core/patternfly-base": "workspace:*", @@ -43,23 +42,15 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "@types/testing-library__jest-dom": "^5.9.1", "copy-webpack-plugin": "^11.0.0", "html-webpack-plugin": "^5.3.2", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/dashbuilder-component-uniforms/static/index.html b/packages/dashbuilder-component-uniforms/static/index.html index 483acfc2768..7dac880c4ba 100644 --- a/packages/dashbuilder-component-uniforms/static/index.html +++ b/packages/dashbuilder-component-uniforms/static/index.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + Form diff --git a/packages/dashbuilder-component-victory-charts/jest.config.js b/packages/dashbuilder-component-victory-charts/jest.config.js deleted file mode 100644 index 502541500ff..00000000000 --- a/packages/dashbuilder-component-victory-charts/jest.config.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - setupFilesAfterEnv: ["./tests/jest.setup.ts"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/__mocks__/styleMock.js", - }, -}; diff --git a/packages/dashbuilder-component-victory-charts/package.json b/packages/dashbuilder-component-victory-charts/package.json index 4f4645eb3c9..eed1b5b4eab 100644 --- a/packages/dashbuilder-component-victory-charts/package.json +++ b/packages/dashbuilder-component-victory-charts/package.json @@ -16,11 +16,10 @@ "main": "dist/index.js", "scripts": { "build:dev": "rimraf dist && pnpm copy:css && webpack --env dev", - "build:prod": "pnpm lint && pnpm test && rimraf dist && pnpm copy:css && webpack", + "build:prod": "pnpm lint && rimraf dist && pnpm copy:css && webpack", "copy:css": "copyfiles -u 1 \"src/**/*.{sass,scss,css}\" dist/", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "start": "webpack serve -c ./dev-webapp/webpack.config.js --host 0.0.0.0 --env dev", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "start": "webpack serve -c ./dev-webapp/webpack.config.js --host 0.0.0.0 --env dev" }, "dependencies": { "@kie-tools-core/patternfly-base": "workspace:*", @@ -42,25 +41,17 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/numeral": "^2.0.2", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "@types/testing-library__jest-dom": "^5.9.1", "copy-webpack-plugin": "^11.0.0", "copyfiles": "^2.4.1", "html-webpack-plugin": "^5.3.2", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/dashbuilder-component-victory-charts/src/index.html b/packages/dashbuilder-component-victory-charts/src/index.html index 6a75e6024f8..0142fc55592 100644 --- a/packages/dashbuilder-component-victory-charts/src/index.html +++ b/packages/dashbuilder-component-victory-charts/src/index.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + Victory Chart diff --git a/packages/dashbuilder-component-victory-charts/static/index.html b/packages/dashbuilder-component-victory-charts/static/index.html index 07b9bc8fbc0..704c89f5765 100644 --- a/packages/dashbuilder-component-victory-charts/static/index.html +++ b/packages/dashbuilder-component-victory-charts/static/index.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + Chart diff --git a/packages/dashbuilder-editor/dev-webapp/static/envelope/dashbuilder-editor-envelope.html b/packages/dashbuilder-editor/dev-webapp/static/envelope/dashbuilder-editor-envelope.html index a74ac7f6dbd..c853f14a75b 100644 --- a/packages/dashbuilder-editor/dev-webapp/static/envelope/dashbuilder-editor-envelope.html +++ b/packages/dashbuilder-editor/dev-webapp/static/envelope/dashbuilder-editor-envelope.html @@ -17,7 +17,7 @@ ~ under the License. --> - + - - + </defs> + <title> kie_icon_rgb_fullcolor_default - - - - - - - + + + + + + + diff --git a/packages/dashbuilder-viewer-deployment-webapp/static/index.html b/packages/dashbuilder-viewer-deployment-webapp/static/index.html index 2cad1f15396..e2745a70447 100644 --- a/packages/dashbuilder-viewer-deployment-webapp/static/index.html +++ b/packages/dashbuilder-viewer-deployment-webapp/static/index.html @@ -17,7 +17,7 @@ ~ under the License. --> - + diff --git a/packages/dashbuilder-viewer-image-env/env/index.js b/packages/dashbuilder-viewer-image-env/env/index.js index b98ed873a02..1b8d6dfc8f1 100644 --- a/packages/dashbuilder-viewer-image-env/env/index.js +++ b/packages/dashbuilder-viewer-image-env/env/index.js @@ -19,19 +19,25 @@ const { varsWithName, getOrDefault, composeEnv } = require("@kie-tools-scripts/build-env"); -module.exports = composeEnv([require("@kie-tools/root-env/env")], { +const rootEnv = require("@kie-tools/root-env/env"); + +module.exports = composeEnv([rootEnv], { vars: varsWithName({ DASHBUILDER__viewerImageRegistry: { default: "docker.io", - description: "", + description: "E.g., `docker.io` or `quay.io`.", }, DASHBUILDER__viewerImageAccount: { default: "apache", - description: "", + description: "E.g,. `apache` or `kie-tools-bot`", }, DASHBUILDER__viewerImageName: { default: "incubator-kie-dashbuilder-viewer", - description: "", + description: "Name of the image itself.", + }, + DASHBUILDER__viewerImageBuildTag: { + default: rootEnv.env.root.streamName, + description: "Tag version of this image. E.g., `main` or `10.0.x` or `10.0.0", }, }), get env() { @@ -40,6 +46,7 @@ module.exports = composeEnv([require("@kie-tools/root-env/env")], { registry: getOrDefault(this.vars.DASHBUILDER__viewerImageRegistry), account: getOrDefault(this.vars.DASHBUILDER__viewerImageAccount), name: getOrDefault(this.vars.DASHBUILDER__viewerImageName), + buildTag: getOrDefault(this.vars.DASHBUILDER__viewerImageBuildTag), }, }; }, diff --git a/packages/dashbuilder-viewer-image-env/package.json b/packages/dashbuilder-viewer-image-env/package.json index f868c71ebf3..a919624d746 100644 --- a/packages/dashbuilder-viewer-image-env/package.json +++ b/packages/dashbuilder-viewer-image-env/package.json @@ -15,4 +15,4 @@ "devDependencies": { "@kie-tools/root-env": "workspace:*" } -} \ No newline at end of file +} diff --git a/packages/dashbuilder-viewer-image/env/index.js b/packages/dashbuilder-viewer-image/env/index.js index cae54115b49..5399d704d98 100644 --- a/packages/dashbuilder-viewer-image/env/index.js +++ b/packages/dashbuilder-viewer-image/env/index.js @@ -17,22 +17,14 @@ * under the License. */ -const { varsWithName, getOrDefault, composeEnv } = require("@kie-tools-scripts/build-env"); +const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); -const rootEnv = require("@kie-tools/root-env/env"); - -module.exports = composeEnv([rootEnv, require("@kie-tools/dashbuilder-viewer-image-env/env")], { - vars: varsWithName({ - DASHBUILDER__viewerImageBuildTags: { - default: rootEnv.env.root.streamName, - description: "", +module.exports = composeEnv( + [require("@kie-tools/root-env/env"), require("@kie-tools/dashbuilder-viewer-image-env/env")], + { + vars: varsWithName({}), + get env() { + return {}; }, - }), - get env() { - return { - dashbuilderViewerImage: { - buildTags: getOrDefault(this.vars.DASHBUILDER__viewerImageBuildTags), - }, - }; - }, -}); + } +); diff --git a/packages/dashbuilder-viewer-image/package.json b/packages/dashbuilder-viewer-image/package.json index 8e6648b0683..80be8686e0c 100644 --- a/packages/dashbuilder-viewer-image/package.json +++ b/packages/dashbuilder-viewer-image/package.json @@ -14,15 +14,13 @@ }, "scripts": { "build": "run-script-os", - "build:darwin": "pnpm copy:assets && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm image:docker:build\"", "build:dev": "pnpm cleanup && pnpm build", - "build:linux": "pnpm copy:assets && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm image:podman:build\"", + "build:linux:darwin": "pnpm copy:assets && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm image:docker:build\"", "build:prod": "pnpm cleanup && pnpm build", "build:win32": "echo \"Build not supported on Windows\"", "cleanup": "rimraf dist-dev && mkdir dist-dev", "copy:assets": "cp -R ./node_modules/@kie-tools/dashbuilder-viewer-deployment-webapp/dist/ ./dist-dev/dashbuilder-viewer-deployment-webapp", - "image:docker:build": "run-script-if --bool $([ $(command -v docker) ] && echo true || echo false) --then \"docker build $(echo $(build-env dashbuilderViewerImage.buildTags) | xargs printf -- \"-t $(build-env dashbuilderViewerImageEnv.registry)/$(build-env dashbuilderViewerImageEnv.account)/$(build-env dashbuilderViewerImageEnv.name):%s\n\" | xargs echo) .\" --else \"echo Docker not found, skipping image build.\"", - "image:podman:build": "run-script-if --bool $([ $(command -v podman) ] && echo true || echo false) --then \"podman build $(echo $(build-env dashbuilderViewerImage.buildTags) | xargs printf -- \"-t $(build-env dashbuilderViewerImageEnv.registry)/$(build-env dashbuilderViewerImageEnv.account)/$(build-env dashbuilderViewerImageEnv.name):%s\n\" | xargs echo) -f Containerfile\" --else \"echo Podman not found, skipping image build.\"" + "image:docker:build": "run-script-if --bool $([ $(command -v docker) ] && echo true || echo false) --then \"docker build $(echo $(build-env dashbuilderViewerImageEnv.buildTag) | xargs printf -- \"-t $(build-env dashbuilderViewerImageEnv.registry)/$(build-env dashbuilderViewerImageEnv.account)/$(build-env dashbuilderViewerImageEnv.name):%s\n\" | xargs echo) .\" --else \"echo Docker not found, skipping image build.\"" }, "devDependencies": { "@kie-tools/dashbuilder-viewer-deployment-webapp": "workspace:*", @@ -31,4 +29,4 @@ "rimraf": "^3.0.2", "run-script-os": "^1.1.6" } -} \ No newline at end of file +} diff --git a/packages/dashbuilder-viewer/dev-webapp/static/envelope/dashbuilder-viewer-envelope.html b/packages/dashbuilder-viewer/dev-webapp/static/envelope/dashbuilder-viewer-envelope.html index 9847cc565ff..4c3675c3c20 100644 --- a/packages/dashbuilder-viewer/dev-webapp/static/envelope/dashbuilder-viewer-envelope.html +++ b/packages/dashbuilder-viewer/dev-webapp/static/envelope/dashbuilder-viewer-envelope.html @@ -17,7 +17,7 @@ ~ under the License. --> - + diff --git a/packages/dashbuilder-viewer/dev-webapp/static/index.html b/packages/dashbuilder-viewer/dev-webapp/static/index.html index 95d16aa52ad..e9ba6436ab0 100644 --- a/packages/dashbuilder-viewer/dev-webapp/static/index.html +++ b/packages/dashbuilder-viewer/dev-webapp/static/index.html @@ -17,7 +17,7 @@ ~ under the License. --> - + Dashbuilder Viewer diff --git a/packages/dashbuilder-viewer/jest.config.js b/packages/dashbuilder-viewer/jest.config.js deleted file mode 100644 index d48dbde121d..00000000000 --- a/packages/dashbuilder-viewer/jest.config.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - "monaco-editor": "/tests/__mocks__/monacoMock.js", - }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], -}; diff --git a/packages/dashbuilder-viewer/package.json b/packages/dashbuilder-viewer/package.json index bf2888346f9..7abfa54427b 100644 --- a/packages/dashbuilder-viewer/package.json +++ b/packages/dashbuilder-viewer/package.json @@ -19,15 +19,12 @@ ], "scripts": { "build:dev": "rimraf dist && pnpm copy:dashbuilder && pnpm copy:css && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && pnpm copy:dashbuilder && pnpm copy:css && tsc -p tsconfig.json && pnpm test", + "build:prod": "pnpm lint && rimraf dist && pnpm copy:dashbuilder && pnpm copy:css && tsc -p tsconfig.json", "copy:css": "copyfiles -u 1 \"src/**/*.{sass,scss,css}\" dist/", "copy:dashbuilder": "copyfiles -u 3 \"../dashbuilder-client/dist/**/*\" ./dist/dashbuilder-client && copyfiles -u 1 src/setup.js ./dist/dashbuilder-client/", "deploy": "gh-pages -d dist", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "start": "webpack serve -c ./dev-webapp/webpack.config.js --host 0.0.0.0 --env dev", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"", - "test:clearCache": "jest --clearCache", - "test:watch": "jest --watch" + "start": "webpack serve -c ./dev-webapp/webpack.config.js --host 0.0.0.0 --env dev" }, "dependencies": { "@kie-tools-core/editor": "workspace:*", @@ -49,21 +46,13 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "@types/testing-library__jest-dom": "^5.9.1", "copy-webpack-plugin": "^11.0.0", "copyfiles": "^2.4.1", "cpr": "^3.0.1", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", "start-server-and-test": "^2.0.3", - "ts-jest": "^26.5.6", "typescript": "^4.6.2", "vscode-json-languageservice": "^4.2.1", "webpack": "^5.88.2", @@ -71,4 +60,4 @@ "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/dashbuilder-viewer/tests/jest.setup.ts b/packages/dashbuilder-viewer/tests/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/dashbuilder-viewer/tests/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/dashbuilder/appformer/pom.xml b/packages/dashbuilder/appformer/pom.xml index b599a4a5256..7de302a7524 100644 --- a/packages/dashbuilder/appformer/pom.xml +++ b/packages/dashbuilder/appformer/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.dashbuilder @@ -31,7 +30,6 @@ ../pom.xml - org.uberfire uberfire-parent pom @@ -363,7 +361,6 @@ - @@ -762,7 +759,6 @@ test - io.netty @@ -995,7 +991,6 @@ test - @@ -1041,7 +1036,6 @@ assertj-core ${version.org.assertj} - @@ -1074,11 +1068,8 @@ - - -
diff --git a/packages/dashbuilder/appformer/uberfire-api/pom.xml b/packages/dashbuilder/appformer/uberfire-api/pom.xml index 31e1ea9ab7c..ca2780601e6 100644 --- a/packages/dashbuilder/appformer/uberfire-api/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-api/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.uberfire @@ -47,7 +46,7 @@ org.jboss.errai errai-common - + org.jboss.errai errai-ioc @@ -73,7 +72,5 @@ com.google.jsinterop jsinterop-annotations - - diff --git a/packages/dashbuilder/appformer/uberfire-api/src/main/resources/META-INF/beans.xml b/packages/dashbuilder/appformer/uberfire-api/src/main/resources/META-INF/beans.xml index aae671e6cb7..0e7bbc028e9 100644 --- a/packages/dashbuilder/appformer/uberfire-api/src/main/resources/META-INF/beans.xml +++ b/packages/dashbuilder/appformer/uberfire-api/src/main/resources/META-INF/beans.xml @@ -21,6 +21,4 @@ xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd" -> - - +/> diff --git a/packages/dashbuilder/appformer/uberfire-api/src/main/resources/org/uberfire/UberfireAPI.gwt.xml b/packages/dashbuilder/appformer/uberfire-api/src/main/resources/org/uberfire/UberfireAPI.gwt.xml index 5ada6c3e789..691adffed7e 100644 --- a/packages/dashbuilder/appformer/uberfire-api/src/main/resources/org/uberfire/UberfireAPI.gwt.xml +++ b/packages/dashbuilder/appformer/uberfire-api/src/main/resources/org/uberfire/UberfireAPI.gwt.xml @@ -20,7 +20,6 @@ - @@ -36,5 +35,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-api/src/main/resources/org/uberfire/jre/org/uberfire/util/uri.min.js b/packages/dashbuilder/appformer/uberfire-api/src/main/resources/org/uberfire/jre/org/uberfire/util/uri.min.js index 19ccf138729..92280f6cbca 100644 --- a/packages/dashbuilder/appformer/uberfire-api/src/main/resources/org/uberfire/jre/org/uberfire/util/uri.min.js +++ b/packages/dashbuilder/appformer/uberfire-api/src/main/resources/org/uberfire/jre/org/uberfire/util/uri.min.js @@ -37,16 +37,16 @@ var URI = (function () { 16 > a ? (b = "%0" + a.toString(16).toUpperCase()) : 128 > a - ? (b = "%" + a.toString(16).toUpperCase()) - : (b = - 2048 > a - ? "%" + ((a >> 6) | 192).toString(16).toUpperCase() + "%" + ((a & 63) | 128).toString(16).toUpperCase() - : "%" + - ((a >> 12) | 224).toString(16).toUpperCase() + - "%" + - (((a >> 6) & 63) | 128).toString(16).toUpperCase() + - "%" + - ((a & 63) | 128).toString(16).toUpperCase()); + ? (b = "%" + a.toString(16).toUpperCase()) + : (b = + 2048 > a + ? "%" + ((a >> 6) | 192).toString(16).toUpperCase() + "%" + ((a & 63) | 128).toString(16).toUpperCase() + : "%" + + ((a >> 12) | 224).toString(16).toUpperCase() + + "%" + + (((a >> 6) & 63) | 128).toString(16).toUpperCase() + + "%" + + ((a & 63) | 128).toString(16).toUpperCase()); return b; } function p(a) { @@ -55,26 +55,26 @@ var URI = (function () { 128 > c ? ((b += String.fromCharCode(c)), (d += 3)) : 194 <= c && 224 > c - ? (6 <= e - d - ? ((f = parseInt(a.substr(d + 4, 2), 16)), (b += String.fromCharCode(((c & 31) << 6) | (f & 63)))) - : (b += a.substr(d, 6)), - (d += 6)) - : 224 <= c - ? (9 <= e - d - ? ((f = parseInt(a.substr(d + 4, 2), 16)), - (g = parseInt(a.substr(d + 7, 2), 16)), - (b += String.fromCharCode(((c & 15) << 12) | ((f & 63) << 6) | (g & 63)))) - : (b += a.substr(d, 9)), - (d += 9)) - : ((b += a.substr(d, 3)), (d += 3)); + ? (6 <= e - d + ? ((f = parseInt(a.substr(d + 4, 2), 16)), (b += String.fromCharCode(((c & 31) << 6) | (f & 63)))) + : (b += a.substr(d, 6)), + (d += 6)) + : 224 <= c + ? (9 <= e - d + ? ((f = parseInt(a.substr(d + 4, 2), 16)), + (g = parseInt(a.substr(d + 7, 2), 16)), + (b += String.fromCharCode(((c & 15) << 12) | ((f & 63) << 6) | (g & 63)))) + : (b += a.substr(d, 9)), + (d += 9)) + : ((b += a.substr(d, 3)), (d += 3)); return b; } function q(a) { return void 0 === a ? "undefined" : null === a - ? "null" - : Object.prototype.toString.call(a).split(" ").pop().split("]").shift().toLowerCase(); + ? "null" + : Object.prototype.toString.call(a).split(" ").pop().split("]").shift().toLowerCase(); } function m(a) { return a.toUpperCase(); @@ -129,8 +129,8 @@ var URI = (function () { ? void 0 === c.scheme ? "relative" : void 0 === c.fragment - ? "absolute" - : "uri" + ? "absolute" + : "uri" : "same-document"), b.reference && "suffix" !== b.reference && @@ -154,12 +154,12 @@ var URI = (function () { a.match(v) ? (a = a.replace(v, "")) : a.match(w) - ? (a = a.replace(w, "/")) - : a.match(x) - ? ((a = a.replace(x, "/")), b.pop()) - : "." === a || ".." === a - ? (a = "") - : ((d = a.match(B)[0]), (a = a.slice(d.length)), b.push(d)); + ? (a = a.replace(w, "/")) + : a.match(x) + ? ((a = a.replace(x, "/")), b.pop()) + : "." === a || ".." === a + ? (a = "") + : ((d = a.match(B)[0]), (a = a.slice(d.length)), b.push(d)); return b.join(""); } function g(a, b) { diff --git a/packages/dashbuilder/appformer/uberfire-client-all/pom.xml b/packages/dashbuilder/appformer/uberfire-client-all/pom.xml index 4a5eacc8652..86bb68cd1b7 100644 --- a/packages/dashbuilder/appformer/uberfire-client-all/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-client-all/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.uberfire @@ -37,7 +36,6 @@ UberFire All Client Libraries - org.uberfire uberfire-api @@ -52,7 +50,5 @@ org.uberfire uberfire-workbench-client - - diff --git a/packages/dashbuilder/appformer/uberfire-client-all/src/main/resources/org/uberfire/UberfireClientAll.gwt.xml b/packages/dashbuilder/appformer/uberfire-client-all/src/main/resources/org/uberfire/UberfireClientAll.gwt.xml index b8986f2288d..bc9a7e2403a 100644 --- a/packages/dashbuilder/appformer/uberfire-client-all/src/main/resources/org/uberfire/UberfireClientAll.gwt.xml +++ b/packages/dashbuilder/appformer/uberfire-client-all/src/main/resources/org/uberfire/UberfireClientAll.gwt.xml @@ -20,11 +20,9 @@ - - diff --git a/packages/dashbuilder/appformer/uberfire-client-api/pom.xml b/packages/dashbuilder/appformer/uberfire-client-api/pom.xml index 5e8ed3e9457..bc87ec30c9f 100644 --- a/packages/dashbuilder/appformer/uberfire-client-api/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-client-api/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.uberfire @@ -38,7 +37,6 @@ UberFire Client API - org.uberfire uberfire-api @@ -79,13 +77,12 @@ com.google.jsinterop jsinterop-annotations - + com.google.gwt gwt-user provided - @@ -145,5 +142,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-client-api/src/main/resources/org/uberfire/UberfireClientAPI.gwt.xml b/packages/dashbuilder/appformer/uberfire-client-api/src/main/resources/org/uberfire/UberfireClientAPI.gwt.xml index f281951c631..e84ed07557a 100644 --- a/packages/dashbuilder/appformer/uberfire-client-api/src/main/resources/org/uberfire/UberfireClientAPI.gwt.xml +++ b/packages/dashbuilder/appformer/uberfire-client-api/src/main/resources/org/uberfire/UberfireClientAPI.gwt.xml @@ -20,10 +20,7 @@ - - - diff --git a/packages/dashbuilder/appformer/uberfire-commons/pom.xml b/packages/dashbuilder/appformer/uberfire-commons/pom.xml index ab83c4fb1d1..4ea58a8cc3b 100644 --- a/packages/dashbuilder/appformer/uberfire-commons/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-commons/pom.xml @@ -56,5 +56,4 @@ errai-marshalling - diff --git a/packages/dashbuilder/appformer/uberfire-commons/src/main/resources/org/uberfire/commons/UberfireCommons.gwt.xml b/packages/dashbuilder/appformer/uberfire-commons/src/main/resources/org/uberfire/commons/UberfireCommons.gwt.xml index 9bb5befc31a..b9a6a9e3a81 100644 --- a/packages/dashbuilder/appformer/uberfire-commons/src/main/resources/org/uberfire/commons/UberfireCommons.gwt.xml +++ b/packages/dashbuilder/appformer/uberfire-commons/src/main/resources/org/uberfire/commons/UberfireCommons.gwt.xml @@ -20,10 +20,8 @@ - - diff --git a/packages/dashbuilder/appformer/uberfire-extensions/pom.xml b/packages/dashbuilder/appformer/uberfire-extensions/pom.xml index eb389f1412c..58d149dec58 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-extensions/pom.xml @@ -41,5 +41,4 @@ uberfire-runtime-plugins uberfire-layout-editor - diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-api/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorAPI.gwt.xml b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-api/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorAPI.gwt.xml index fa59fa242b4..c54edc33aa1 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-api/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorAPI.gwt.xml +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-api/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorAPI.gwt.xml @@ -23,5 +23,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/pom.xml b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/pom.xml index d22f396cc33..5e64bf8519c 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/pom.xml @@ -35,7 +35,6 @@ Uberfire Layout Editor Client - org.jboss.errai errai-common @@ -66,7 +65,6 @@ provided - jakarta.enterprise jakarta.enterprise.cdi-api diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorClient.gwt.xml b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorClient.gwt.xml index f0fed2cedd7..3e83eff60f2 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorClient.gwt.xml +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorClient.gwt.xml @@ -27,5 +27,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-runtime-plugins/uberfire-runtime-plugins-client/pom.xml b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-runtime-plugins/uberfire-runtime-plugins-client/pom.xml index f06b09e62d4..145ac8f6d75 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-runtime-plugins/uberfire-runtime-plugins-client/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-runtime-plugins/uberfire-runtime-plugins-client/pom.xml @@ -138,7 +138,6 @@ marked provided - @@ -198,5 +197,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-runtime-plugins/uberfire-runtime-plugins-client/src/main/resources/org/uberfire/ext/plugin/RuntimePluginClient.gwt.xml b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-runtime-plugins/uberfire-runtime-plugins-client/src/main/resources/org/uberfire/ext/plugin/RuntimePluginClient.gwt.xml index a06e9750d20..ae75a8e6b56 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-runtime-plugins/uberfire-runtime-plugins-client/src/main/resources/org/uberfire/ext/plugin/RuntimePluginClient.gwt.xml +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-runtime-plugins/uberfire-runtime-plugins-client/src/main/resources/org/uberfire/ext/plugin/RuntimePluginClient.gwt.xml @@ -26,5 +26,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/pom.xml b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/pom.xml index f579bf23dc1..4f04bb171ca 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.uberfire @@ -37,7 +36,6 @@ Uberfire Widgets Commons - org.uberfire uberfire-api @@ -57,7 +55,7 @@ org.uberfire uberfire-workbench-client - + org.uberfire uberfire-widgets-table @@ -134,13 +132,12 @@ - + + org.uberfire uberfire-testing-utils test - - @@ -155,5 +152,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/UberfireWidgetsCommons.gwt.xml b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/UberfireWidgetsCommons.gwt.xml index 7137aa5b47f..58ddcb9a273 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/UberfireWidgetsCommons.gwt.xml +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/UberfireWidgetsCommons.gwt.xml @@ -20,7 +20,6 @@ - @@ -29,5 +28,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.all-commands.min.js b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.all-commands.min.js index 64208c4f2ca..a0166b45cc4 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.all-commands.min.js +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.all-commands.min.js @@ -165,14 +165,14 @@ ? c.nodeName === a ? c : c.nodeType !== wysihtml.ELEMENT_NODE - ? !1 - : ((d = b.selection.getText()), - (d = wysihtml.lang.string(d).trim()) - ? !1 - : ((e = b.selection.getNodes(wysihtml.ELEMENT_NODE, function (a) { - return "IMG" === a.nodeName; - })), - 1 !== e.length ? !1 : e[0])) + ? !1 + : ((d = b.selection.getText()), + (d = wysihtml.lang.string(d).trim()) + ? !1 + : ((e = b.selection.getNodes(wysihtml.ELEMENT_NODE, function (a) { + return "IMG" === a.nodeName; + })), + 1 !== e.length ? !1 : e[0])) : !1; }, }; diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.min.js b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.min.js index 63c8d886b75..c4bb765723f 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.min.js +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.min.js @@ -535,10 +535,10 @@ var rangy; a.addEventListener(b, c, !1); }) : a(document, "attachEvent") - ? (J = function (a, b, c) { - a.attachEvent("on" + b, c); - }) - : i("Document does not have required addEventListener or attachEvent method"), + ? (J = function (a, b, c) { + a.attachEvent("on" + b, c); + }) + : i("Document does not have required addEventListener or attachEvent method"), (G.addListener = J)); var K = []; (G.deprecationNotice = m), @@ -807,10 +807,10 @@ var rangy; return p(a).getComputedStyle(a, null)[b]; }) : typeof document.documentElement.currentStyle != F - ? (M = function (a, b) { - return a.currentStyle ? a.currentStyle[b] : ""; - }) - : b.fail("No means of obtaining computed style properties found"), + ? (M = function (a, b) { + return a.currentStyle ? a.currentStyle[b] : ""; + }) + : b.fail("No means of obtaining computed style properties found"), (B.prototype = { _current: null, hasNext: function () { @@ -914,8 +914,8 @@ var rangy; ? J.insertAfter(a, b) : b.parentNode.insertBefore(a, 0 == c ? b : S(b, c)) : c >= b.childNodes.length - ? b.appendChild(a) - : b.insertBefore(a, b.childNodes[c]), + ? b.appendChild(a) + : b.insertBefore(a, b.childNodes[c]), d ); } @@ -1481,8 +1481,8 @@ var rangy; R(a, b, this.startContainer, this.startOffset) < 0 ? -1 : R(a, b, this.endContainer, this.endOffset) > 0 - ? 1 - : 0 + ? 1 + : 0 ); }, createContextualFragment: ia, @@ -1987,8 +1987,8 @@ var rangy; c.setEnd(b.endContainer, b.endOffset), c.setStart(b.startContainer, b.startOffset)) : b instanceof G - ? (c = b.nativeRange) - : J.implementsDomRange && b instanceof C.getWindow(b.startContainer).Range && (c = b), + ? (c = b.nativeRange) + : J.implementsDomRange && b instanceof C.getWindow(b.startContainer).Range && (c = b), c ); } @@ -3355,8 +3355,8 @@ var rangy; (j.isBr ? (this.type = ya) : j.isTrailingSpace && "\n" == j.character - ? (this.type = xa) - : j.isLeadingSpace && "\n" == j.character && (this.type = wa), + ? (this.type = xa) + : j.isLeadingSpace && "\n" == j.character && (this.type = wa), "\n" == j.character ? (this.type != ya || a.includeSpaceBeforeBr) && (this.type != wa || a.includeSpaceBeforeBlock) && @@ -3399,9 +3399,9 @@ var rangy; d == b.getLength() ? ((f = c.parentNode), (g = f ? b.getNodeIndex() + 1 : 0)) : b.isCharacterDataNode() - ? ((f = c), (g = d + 1)) - : ((h = c.childNodes[d]), - e.getNodeWrapper(h).containsPositions() ? ((f = h), (g = 0)) : ((f = c), (g = d + 1))), + ? ((f = c), (g = d + 1)) + : ((h = c.childNodes[d]), + e.getNodeWrapper(h).containsPositions() ? ((f = h), (g = 0)) : ((f = c), (g = d + 1))), f ? e.getPosition(f, g) : null ); }), @@ -3417,9 +3417,11 @@ var rangy; 0 == g ? ((b = f.parentNode), (c = b ? e.getNodeIndex() : 0)) : e.isCharacterDataNode() - ? ((b = f), (c = g - 1)) - : ((d = f.childNodes[g - 1]), - h.getNodeWrapper(d).containsPositions() ? ((b = d), (c = S.getNodeLength(d))) : ((b = f), (c = g - 1))), + ? ((b = f), (c = g - 1)) + : ((d = f.childNodes[g - 1]), + h.getNodeWrapper(d).containsPositions() + ? ((b = d), (c = S.getNodeLength(d))) + : ((b = f), (c = g - 1))), b ? h.getPosition(b, c) : null ); }), @@ -3722,18 +3724,18 @@ var rangy; -1 === d ? !1 : a - ? b - ? "<" === b - ? d > a - : ">" === b - ? a > d - : "<=" === b - ? d >= a - : ">=" === b - ? a >= d - : void 0 - : a === d - : !0 + ? b + ? "<" === b + ? d > a + : ">" === b + ? a > d + : "<=" === b + ? d >= a + : ">=" === b + ? a >= d + : void 0 + : a === d + : !0 ); } var d = navigator.userAgent, @@ -4163,10 +4165,10 @@ var rangy; return a !== b && a.contains(b); } : a.compareDocumentPosition - ? function (a, b) { - return !!(16 & a.compareDocumentPosition(b)); - } - : void 0; + ? function (a, b) { + return !!(16 & a.compareDocumentPosition(b)); + } + : void 0; })()), (function (a) { var b = document; @@ -4539,8 +4541,8 @@ var rangy; "object" == typeof c && c.nodeType ? ((e = d.createElement("div")), e.appendChild(c)) : wysihtml.browser.supportsHTML5Tags(d) - ? ((e = d.createElement("div")), (e.innerHTML = c)) - : (b(d), (e = a(c, d))), + ? ((e = d.createElement("div")), (e.innerHTML = c)) + : (b(d), (e = a(c, d))), e ); }; @@ -4569,8 +4571,8 @@ var rangy; ("IMG" == d && "src" == a.attributes[b].name.toLowerCase() && wysihtml.dom.isLoadedImage(a) === !0 ? (e.src = a.src) : wysihtml.lang.array(["rowspan", "colspan"]).contains(a.attributes[b].name.toLowerCase()) && c - ? 1 !== a.attributes[b].value && (e[a.attributes[b].name] = a.attributes[b].value) - : (e[a.attributes[b].name] = a.attributes[b].value)); + ? 1 !== a.attributes[b].value && (e[a.attributes[b].name] = a.attributes[b].value) + : (e[a.attributes[b].name] = a.attributes[b].value)); return e; }), (wysihtml.dom.getParentElement = (function () { @@ -5552,18 +5554,18 @@ var rangy; return a.textContent; })) : "innerText" in b - ? ((a.setTextContent = function (a, b) { - a.innerText = b; - }), - (a.getTextContent = function (a) { - return a.innerText; - })) - : ((a.setTextContent = function (a, b) { - a.nodeValue = b; - }), - (a.getTextContent = function (a) { - return a.nodeValue; - })); + ? ((a.setTextContent = function (a, b) { + a.innerText = b; + }), + (a.getTextContent = function (a) { + return a.innerText; + })) + : ((a.setTextContent = function (a, b) { + a.nodeValue = b; + }), + (a.getTextContent = function (a) { + return a.nodeValue; + })); })(wysihtml.dom), (wysihtml.dom.unwrap = function (a) { var b = []; @@ -5702,16 +5704,16 @@ var rangy; return "hex" === b ? (a[0].toString(c) + a[1].toString(c) + a[2].toString(c)).toUpperCase() : "hash" === b - ? "#" + (a[0].toString(c) + a[1].toString(c) + a[2].toString(c)).toUpperCase() - : "rgb" === b - ? "rgb(" + a[0] + "," + a[1] + "," + a[2] + ")" - : "rgba" === b - ? "rgba(" + a[0] + "," + a[1] + "," + a[2] + "," + a[3] + ")" - : "csv" === b - ? a[0] + "," + a[1] + "," + a[2] + "," + a[3] - : a[3] && 1 !== a[3] - ? "rgba(" + a[0] + "," + a[1] + "," + a[2] + "," + a[3] + ")" - : "rgb(" + a[0] + "," + a[1] + "," + a[2] + ")"; + ? "#" + (a[0].toString(c) + a[1].toString(c) + a[2].toString(c)).toUpperCase() + : "rgb" === b + ? "rgb(" + a[0] + "," + a[1] + "," + a[2] + ")" + : "rgba" === b + ? "rgba(" + a[0] + "," + a[1] + "," + a[2] + "," + a[3] + ")" + : "csv" === b + ? a[0] + "," + a[1] + "," + a[2] + "," + a[3] + : a[3] && 1 !== a[3] + ? "rgba(" + a[0] + "," + a[1] + "," + a[2] + "," + a[3] + ")" + : "rgb(" + a[0] + "," + a[1] + "," + a[2] + ")"; }, parseFontSize: function (b) { var c = b.match(e("font-size")); @@ -5981,14 +5983,16 @@ var rangy; : (h && 3 !== h.nodeType && 1 !== h.nodeType ? (h = this.getPreviousNode(h, c)) : h && 3 === h.nodeType && /^\s*$/.test(h.textContent) - ? (h = this.getPreviousNode(h, c)) - : c && h && 1 === h.nodeType - ? ((e = a.dom.getStyle("display").from(h)), - a.lang.array(["BR", "HR", "IMG"]).contains(h.nodeName) || - a.lang.array(["block", "inline-block", "flex", "list-item", "table"]).contains(e) || - !/^[\s]*$/.test(h.innerHTML) || - (h = this.getPreviousNode(h, c))) - : h || b === this.contain || ((g = b.parentNode), g !== this.contain && (h = this.getPreviousNode(g, c))), + ? (h = this.getPreviousNode(h, c)) + : c && h && 1 === h.nodeType + ? ((e = a.dom.getStyle("display").from(h)), + a.lang.array(["BR", "HR", "IMG"]).contains(h.nodeName) || + a.lang.array(["block", "inline-block", "flex", "list-item", "table"]).contains(e) || + !/^[\s]*$/.test(h.innerHTML) || + (h = this.getPreviousNode(h, c))) + : h || + b === this.contain || + ((g = b.parentNode), g !== this.contain && (h = this.getPreviousNode(g, c))), h !== this.contain ? h : !1); }, getNodesNearCaret: function () { @@ -6097,8 +6101,8 @@ var rangy; ? 0 === e && ((d.nodeName && d.nodeName === b.toUpperCase()) || a.dom.getParentElement(d.parentNode, { query: b }, 1)) : d - ? 0 === e && !this.getPreviousNode(d, !0) - : void 0; + ? 0 === e && !this.getPreviousNode(d, !0) + : void 0; }, getBeforeSelection: function (b) { var c, @@ -6388,14 +6392,14 @@ var rangy; (3 === i.startContainer.nodeType && i.startOffset < i.startContainer.data.length ? i.moveEnd("character", 1) : 1 === i.startContainer.nodeType && - i.startContainer.childNodes[i.startOffset] && - 3 === i.startContainer.childNodes[i.startOffset].nodeType && - i.startContainer.childNodes[i.startOffset].data.length > 0 - ? i.moveEnd("character", 1) - : i.startOffset > 0 && - (3 === i.startContainer.nodeType || - (1 === i.startContainer.nodeType && !l(m(i.startContainer.childNodes[i.startOffset - 1])))) && - i.moveStart("character", -1)), + i.startContainer.childNodes[i.startOffset] && + 3 === i.startContainer.childNodes[i.startOffset].nodeType && + i.startContainer.childNodes[i.startOffset].data.length > 0 + ? i.moveEnd("character", 1) + : i.startOffset > 0 && + (3 === i.startContainer.nodeType || + (1 === i.startContainer.nodeType && !l(m(i.startContainer.childNodes[i.startOffset - 1])))) && + i.moveStart("character", -1)), i.collapsed || i.insertNode(this.doc.createTextNode(a.INVISIBLE_SPACE)), (b = i.nativeRange.getBoundingClientRect()); do @@ -6791,31 +6795,34 @@ var rangy; (a.setStartBefore(d), a.setEndAfter(e)) ) : d && 1 === d.nodeType && 3 === e.nodeType - ? void ( - d.firstChild === e && - a.endOffset === e.data.length && - d !== b.element && - "LI" !== d.nodeName && - "TD" !== d.nodeName && - a.setEndAfter(d) - ) - : e && 1 === e.nodeType && 3 === d.nodeType - ? void ( - e.firstChild === d && - 0 === a.startOffset && - e !== b.element && - "LI" !== e.nodeName && - "TD" !== e.nodeName && - a.setStartBefore(e) - ) - : d && 3 === d.nodeType && d === e && 1 === d.parentNode.childNodes.length - ? void ( - a.endOffset == e.data.length && - 0 === a.startOffset && - ((c = d.parentNode), - c !== b.element && "LI" !== c.nodeName && "TD" !== c.nodeName && (a.setStartBefore(c), a.setEndAfter(c))) - ) - : void 0; + ? void ( + d.firstChild === e && + a.endOffset === e.data.length && + d !== b.element && + "LI" !== d.nodeName && + "TD" !== d.nodeName && + a.setEndAfter(d) + ) + : e && 1 === e.nodeType && 3 === d.nodeType + ? void ( + e.firstChild === d && + 0 === a.startOffset && + e !== b.element && + "LI" !== e.nodeName && + "TD" !== e.nodeName && + a.setStartBefore(e) + ) + : d && 3 === d.nodeType && d === e && 1 === d.parentNode.childNodes.length + ? void ( + a.endOffset == e.data.length && + 0 === a.startOffset && + ((c = d.parentNode), + c !== b.element && + "LI" !== c.nodeName && + "TD" !== c.nodeName && + (a.setStartBefore(c), a.setEndAfter(c))) + ) + : void 0; } function p(b) { for (var c, d, e, f, g, h, i = [], j = 0, k = b.length; k > j; j++) @@ -6840,8 +6847,8 @@ var rangy; h ? f.setEnd(h, h.childNodes.length) : c[d].closest("ul, ol") - ? f.setEndBefore(c[d].closest("ul, ol")) - : f.setEndBefore(c[d]), + ? f.setEndBefore(c[d].closest("ul, ol")) + : f.setEndBefore(c[d]), i.push(f), b[j].setStart(c[d], 0)), (g === b[j].NODE_BEFORE || g === b[j].NODE_INSIDE) && @@ -6852,8 +6859,8 @@ var rangy; h ? b[j].setStart(h, 0) : c[d].closest("ul, ol") - ? b[j].setStartAfter(c[d].closest("ul, ol")) - : b[j].setStartAfter(c[d])); + ? b[j].setStartAfter(c[d].closest("ul, ol")) + : b[j].setStartAfter(c[d])); i.push(b[j]); } else i.push(b[j]); return i; @@ -7152,14 +7159,14 @@ var rangy; return 1 !== b.nodeType || 1 !== c.nodeType ? !1 : b.nodeName !== c.nodeName - ? !1 - : ((d = b.className.trim().replace(/\s+/g, " ").split(" ")), - (e = c.className.trim().replace(/\s+/g, " ").split(" ")), - a.lang.array(d).without(e).length > 0 - ? !1 - : ((f = a.dom.getAttributes(b)), - (g = a.dom.getAttributes(c)), - f.length === g.length && a.lang.object(a.lang.object(f).difference(g)).isEmpty() ? !0 : !1)); + ? !1 + : ((d = b.className.trim().replace(/\s+/g, " ").split(" ")), + (e = c.className.trim().replace(/\s+/g, " ").split(" ")), + a.lang.array(d).without(e).length > 0 + ? !1 + : ((f = a.dom.getAttributes(b)), + (g = a.dom.getAttributes(c)), + f.length === g.length && a.lang.object(a.lang.object(f).difference(g)).isEmpty() ? !0 : !1)); } function f(b, c) { var d = (c && c.nodeName) || F, @@ -7514,11 +7521,11 @@ var rangy; b(c, d) ? (f.el = c) : b(c, h) - ? (f = { el: c, other: !0 }) - : g && - (b(g.parentNode, d) - ? (f.el = g.parentNode) - : b(g.parentNode, h) && (f = { el: g.parentNode, other: !0 })); + ? (f = { el: c, other: !0 }) + : g && + (b(g.parentNode, d) + ? (f.el = g.parentNode) + : b(g.parentNode, h) && (f = { el: g.parentNode, other: !0 })); } return f.el && !e.element.contains(f.el) && (f.el = null), f; }, @@ -7593,8 +7600,8 @@ var rangy; ? e(j.el, h, b) : d(j.el, h, b) : b.commands.support(l) - ? k.execCommand(l, !1, null) - : g(h, b); + ? k.execCommand(l, !1, null) + : g(h, b); }, state: function (a, b, d) { var e = a.selection.getSelectedNode(), @@ -7987,8 +7994,8 @@ var rangy; "string" == typeof this.config.placeholder ? this.config.placeholder : this.config.noTextarea - ? this.editableArea.getAttribute("data-placeholder") - : this.textarea.element.getAttribute("placeholder"); + ? this.editableArea.getAttribute("data-placeholder") + : this.textarea.element.getAttribute("placeholder"); f && b.simulatePlaceholder(this.parent, this, f, this.config.classNames.placeholder), this.commands.exec("styleWithCSS", !1), this._initObjectResizing(), diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.table_editing.min.js b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.table_editing.min.js index a5b43b480d8..945406a8b63 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.table_editing.min.js +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.table_editing.min.js @@ -419,8 +419,8 @@ ? this.collapseCellToNextRow(a) : b(a.el) : parseInt(f.getAttribute(a.el, "rowspan"), 10) > 2 - ? a.el.setAttribute("rowspan", parseInt(f.getAttribute(a.el, "rowspan"), 10) - 1) - : a.el.removeAttribute("rowspan"); + ? a.el.setAttribute("rowspan", parseInt(f.getAttribute(a.el, "rowspan"), 10) - 1) + : a.el.removeAttribute("rowspan"); }, getRowElementsByCell: function () { var a = []; @@ -498,8 +498,8 @@ ? a.el.setAttribute("rowspan", parseInt(f.getAttribute(a.el, "rowspan"), 10) + 1) : b.appendChild(this.createCells("td", 1, e)) : "above" != d && a.isRowspan && a.lastRow - ? b.appendChild(this.createCells("td", 1, e)) - : c.isRowspan && a.el.attr("rowspan", parseInt(f.getAttribute(a.el, "rowspan"), 10) + 1); + ? b.appendChild(this.createCells("td", 1, e)) + : c.isRowspan && a.el.attr("rowspan", parseInt(f.getAttribute(a.el, "rowspan"), 10) + 1); }, add: function (a) { this.rectify() && diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.toolbar.min.js b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.toolbar.min.js index 767512b48c3..7cdc8d3a31f 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.toolbar.min.js +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.toolbar.min.js @@ -430,10 +430,10 @@ l.config.showToolbarDialogsOnSelection || j ? i.dialog.show(d) : i.dialog.update(d)) : i.dialog.hide())) : i.tracksBlankValue - ? g.addClass(i.link, e) - : (g.removeClass(i.link, e), - i.group && g.removeClass(i.group, e), - i.dialog && !i.value && i.dialog.hide())); + ? g.addClass(i.link, e) + : (g.removeClass(i.link, e), + i.group && g.removeClass(i.group, e), + i.dialog && !i.value && i.dialog.hide())); for (a in m) (h = m[a]), "change_view" === h.name && diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/public/highlight/highlight.min.js b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/public/highlight/highlight.min.js index 9f040ec710f..08b9ff2d4a0 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/public/highlight/highlight.min.js +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/public/highlight/highlight.min.js @@ -363,11 +363,11 @@ ? e : t : "start" === t[0].event - ? e - : t + ? e + : t : e.length - ? e - : t; + ? e + : t; } function c(e) { n += diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/pom.xml b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/pom.xml index e68acdec223..ce9adfbbb31 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.uberfire @@ -39,5 +38,4 @@ uberfire-widgets-core-client - diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/pom.xml b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/pom.xml index 747c967fa49..0059e397219 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.uberfire @@ -118,7 +117,5 @@ - - diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/src/main/resources/org/uberfire/ext/widgets/core/UberfireWidgetsCore.gwt.xml b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/src/main/resources/org/uberfire/ext/widgets/core/UberfireWidgetsCore.gwt.xml index 7f1bacbc004..8e27efc6ccf 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/src/main/resources/org/uberfire/ext/widgets/core/UberfireWidgetsCore.gwt.xml +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/src/main/resources/org/uberfire/ext/widgets/core/UberfireWidgetsCore.gwt.xml @@ -20,7 +20,6 @@ - @@ -30,5 +29,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/pom.xml b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/pom.xml index 5b3782c2182..7dc03b3e48a 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.uberfire @@ -72,7 +71,5 @@ - - diff --git a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/src/main/resources/org/uberfire/ext/widgets/table/UberfireTableWidget.gwt.xml b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/src/main/resources/org/uberfire/ext/widgets/table/UberfireTableWidget.gwt.xml index c028abd0c8a..5e20dda610f 100644 --- a/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/src/main/resources/org/uberfire/ext/widgets/table/UberfireTableWidget.gwt.xml +++ b/packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/src/main/resources/org/uberfire/ext/widgets/table/UberfireTableWidget.gwt.xml @@ -19,6 +19,4 @@ --> - - - + diff --git a/packages/dashbuilder/appformer/uberfire-testing-utils/pom.xml b/packages/dashbuilder/appformer/uberfire-testing-utils/pom.xml index bef20fd0153..a23915031ba 100644 --- a/packages/dashbuilder/appformer/uberfire-testing-utils/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-testing-utils/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.uberfire @@ -38,7 +37,6 @@ UberFire Testing Utils - org.jboss.errai errai-ioc @@ -89,8 +87,5 @@ commons-io commons-io - - - diff --git a/packages/dashbuilder/appformer/uberfire-workbench/pom.xml b/packages/dashbuilder/appformer/uberfire-workbench/pom.xml index cb2fe6987e3..4c09b679d51 100644 --- a/packages/dashbuilder/appformer/uberfire-workbench/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-workbench/pom.xml @@ -41,5 +41,4 @@ uberfire-workbench-processors uberfire-workbench-processors-tests - diff --git a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client-views-patternfly/pom.xml b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client-views-patternfly/pom.xml index ff627faa548..777cc4652a3 100644 --- a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client-views-patternfly/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client-views-patternfly/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.uberfire @@ -143,7 +142,6 @@ - @@ -434,5 +432,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client-views-patternfly/src/main/resources/org/uberfire/client/views/static/jquery-ui/jquery-ui.min.js b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client-views-patternfly/src/main/resources/org/uberfire/client/views/static/jquery-ui/jquery-ui.min.js index 56aa89b95c2..194a415072b 100644 --- a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client-views-patternfly/src/main/resources/org/uberfire/client/views/static/jquery-ui/jquery-ui.min.js +++ b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client-views-patternfly/src/main/resources/org/uberfire/client/views/static/jquery-ui/jquery-ui.min.js @@ -113,18 +113,18 @@ return "instance" === o ? ((l = s), !1) : s - ? t.isFunction(s[o]) && "_" !== o.charAt(0) - ? ((i = s[o].apply(s, r)), - i !== s && void 0 !== i ? ((l = i && i.jquery ? l.pushStack(i.get()) : i), !1) : void 0) - : t.error("no such method '" + o + "' for " + e + " widget instance") - : t.error( - "cannot call methods on " + - e + - " prior to initialization; " + - "attempted to call method '" + - o + - "'" - ); + ? t.isFunction(s[o]) && "_" !== o.charAt(0) + ? ((i = s[o].apply(s, r)), + i !== s && void 0 !== i ? ((l = i && i.jquery ? l.pushStack(i.get()) : i), !1) : void 0) + : t.error("no such method '" + o + "' for " + e + " widget instance") + : t.error( + "cannot call methods on " + + e + + " prior to initialization; " + + "attempted to call method '" + + o + + "'" + ); }) : (l = void 0) : (r.length && (o = t.widget.extend.apply(null, [o].concat(r))), @@ -366,10 +366,10 @@ a && t.effects && t.effects.effect[r] ? s[e](n) : r !== e && s[r] - ? s[r](n.duration, n.easing, o) - : s.queue(function (i) { - t(this)[e](), o && o.call(s[0]), i(); - }); + ? s[r](n.duration, n.easing, o) + : s.queue(function (i) { + t(this)[e](), o && o.call(s[0]), i(); + }); }; }), t.widget, @@ -385,10 +385,10 @@ return 9 === i.nodeType ? { width: e.width(), height: e.height(), offset: { top: 0, left: 0 } } : t.isWindow(i) - ? { width: e.width(), height: e.height(), offset: { top: e.scrollTop(), left: e.scrollLeft() } } - : i.preventDefault - ? { width: 0, height: 0, offset: { top: i.pageY, left: i.pageX } } - : { width: e.outerWidth(), height: e.outerHeight(), offset: e.offset() }; + ? { width: e.width(), height: e.height(), offset: { top: e.scrollTop(), left: e.scrollLeft() } } + : i.preventDefault + ? { width: 0, height: 0, offset: { top: i.pageY, left: i.pageX } } + : { width: e.outerWidth(), height: e.outerHeight(), offset: e.offset() }; } var n, o = Math.max, @@ -552,10 +552,10 @@ ? ((i = t.left + l + e.collisionWidth - a - n), (t.left += l - i)) : (t.left = h > 0 && 0 >= l ? n : l > h ? n + a - e.collisionWidth : n) : l > 0 - ? (t.left += l) - : h > 0 - ? (t.left -= h) - : (t.left = o(t.left - r, t.left)); + ? (t.left += l) + : h > 0 + ? (t.left -= h) + : (t.left = o(t.left - r, t.left)); }, top: function (t, e) { var i, @@ -570,10 +570,10 @@ ? ((i = t.top + l + e.collisionHeight - a - n), (t.top += l - i)) : (t.top = h > 0 && 0 >= l ? n : l > h ? n + a - e.collisionHeight : n) : l > 0 - ? (t.top += l) - : h > 0 - ? (t.top -= h) - : (t.top = o(t.top - r, t.top)); + ? (t.top += l) + : h > 0 + ? (t.top -= h) + : (t.top = o(t.top - r, t.top)); }, }, flip: { @@ -1249,22 +1249,22 @@ s(t.ui.autocomplete.filter(e, i.term)); })) : "string" == typeof this.options.source - ? ((i = this.options.source), - (this.source = function (e, n) { - s.xhr && s.xhr.abort(), - (s.xhr = t.ajax({ - url: i, - data: e, - dataType: "json", - success: function (t) { - n(t); - }, - error: function () { - n([]); - }, - })); - })) - : (this.source = this.options.source); + ? ((i = this.options.source), + (this.source = function (e, n) { + s.xhr && s.xhr.abort(), + (s.xhr = t.ajax({ + url: i, + data: e, + dataType: "json", + success: function (t) { + n(t); + }, + error: function () { + n([]); + }, + })); + })) + : (this.source = this.options.source); }, _searchTimeout: function (t) { clearTimeout(this.searching), @@ -1282,8 +1282,8 @@ t.length < this.options.minLength ? this.close(e) : this._trigger("search", e) !== !1 - ? this._search(t) - : void 0 + ? this._search(t) + : void 0 ); }, _search: function (t) { diff --git a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client-views-patternfly/src/test/java/org/uberfire/client/views/pfly/PatternFlyTabTests.gwt.xml b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client-views-patternfly/src/test/java/org/uberfire/client/views/pfly/PatternFlyTabTests.gwt.xml index cf175ec4e23..e96849f9484 100644 --- a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client-views-patternfly/src/test/java/org/uberfire/client/views/pfly/PatternFlyTabTests.gwt.xml +++ b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client-views-patternfly/src/test/java/org/uberfire/client/views/pfly/PatternFlyTabTests.gwt.xml @@ -20,7 +20,6 @@ - @@ -28,6 +27,6 @@ - + diff --git a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/pom.xml b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/pom.xml index f75a5d265e9..8fb86871bd8 100644 --- a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.uberfire @@ -111,5 +110,4 @@ test - diff --git a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/src/main/resources/org/uberfire/UberfireWorkbench.gwt.xml b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/src/main/resources/org/uberfire/UberfireWorkbench.gwt.xml index d3341405575..5eabdb965fe 100644 --- a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/src/main/resources/org/uberfire/UberfireWorkbench.gwt.xml +++ b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/src/main/resources/org/uberfire/UberfireWorkbench.gwt.xml @@ -60,5 +60,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/src/main/resources/org/uberfire/client/resources/css/workbench.css b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/src/main/resources/org/uberfire/client/resources/css/workbench.css index 3bf4832e9ed..4f28102bf01 100644 --- a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/src/main/resources/org/uberfire/client/resources/css/workbench.css +++ b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/src/main/resources/org/uberfire/client/resources/css/workbench.css @@ -67,8 +67,12 @@ } .uf-listbar { - -moz-box-shadow: rgba(255, 255, 255, 0.2) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.0470588) 0px 1px 2px 0px; - -webkit-box-shadow: rgba(255, 255, 255, 0.2) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.0470588) 0px 1px 2px 0px; + -moz-box-shadow: + rgba(255, 255, 255, 0.2) 0px 1px 0px 0px inset, + rgba(0, 0, 0, 0.0470588) 0px 1px 2px 0px; + -webkit-box-shadow: + rgba(255, 255, 255, 0.2) 0px 1px 0px 0px inset, + rgba(0, 0, 0, 0.0470588) 0px 1px 2px 0px; background: rgb(245, 245, 245) linear-gradient(rgb(255, 255, 255), rgb(230, 230, 230)) repeat-x; border-image-outset: 0px; border-image-repeat: stretch; @@ -78,7 +82,9 @@ border: 1px solid rgba(0, 0, 0, 0.0980392); border-top-width: 0px; border-bottom-color: rgb(179, 179, 179); - box-shadow: rgba(255, 255, 255, 0.2) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.0470588) 0px 1px 2px 0px; + box-shadow: + rgba(255, 255, 255, 0.2) 0px 1px 0px 0px inset, + rgba(0, 0, 0, 0.0470588) 0px 1px 2px 0px; box-sizing: border-box; color: rgb(51, 51, 51); padding-left: 6px; diff --git a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/src/test/resources/logback-test.xml b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/src/test/resources/logback-test.xml index 112037db054..f7c0ab6cfba 100644 --- a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/src/test/resources/logback-test.xml +++ b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client/src/test/resources/logback-test.xml @@ -18,7 +18,6 @@ ~ under the License. --> - @@ -32,5 +31,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-processors-tests/pom.xml b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-processors-tests/pom.xml index e7f0b372696..5e53691984a 100644 --- a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-processors-tests/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-processors-tests/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.uberfire @@ -37,7 +36,6 @@ UberFire Workbench Processors Tests - org.uberfire uberfire-workbench-processors @@ -53,7 +51,7 @@ gwt-user provided - + com.google.gwt gwt-dev @@ -68,7 +66,7 @@ commons-logging - + junit @@ -80,12 +78,11 @@ jakarta.inject-api test - + - com.google.jsinterop - base + com.google.jsinterop + base - @@ -99,5 +96,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-processors-tests/src/test/resources/logback-test.xml b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-processors-tests/src/test/resources/logback-test.xml index 112037db054..f7c0ab6cfba 100644 --- a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-processors-tests/src/test/resources/logback-test.xml +++ b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-processors-tests/src/test/resources/logback-test.xml @@ -18,7 +18,6 @@ ~ under the License. --> - @@ -32,5 +31,4 @@ - diff --git a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-processors/pom.xml b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-processors/pom.xml index bed10648b99..8fa9b1b6e14 100644 --- a/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-processors/pom.xml +++ b/packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-processors/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.uberfire @@ -37,7 +36,6 @@ UberFire Workbench Processors - jakarta.enterprise jakarta.enterprise.cdi-api @@ -61,5 +59,4 @@ - diff --git a/packages/dashbuilder/dashbuilder-bom/pom.xml b/packages/dashbuilder/dashbuilder-bom/pom.xml index d37c711bc34..3b70647f621 100644 --- a/packages/dashbuilder/dashbuilder-bom/pom.xml +++ b/packages/dashbuilder/dashbuilder-bom/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.dashbuilder @@ -126,7 +125,7 @@ org.kie.soup kie-soup-dataset-external ${project.version} - + @@ -606,9 +605,6 @@ provided war - - - diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-common-client/pom.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-common-client/pom.xml index ef7b27d5077..47b09ae4603 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-common-client/pom.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-common-client/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.dashbuilder @@ -37,7 +36,6 @@ Dashbuilder Common Client - org.jboss.errai errai-common @@ -68,7 +66,5 @@ org.uberfire uberfire-client-api - - diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-dataset-client/pom.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-dataset-client/pom.xml index ea243e26a38..609e966e596 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-dataset-client/pom.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-dataset-client/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.dashbuilder @@ -36,7 +35,6 @@ Dashbuilder Dataset Client - org.jboss.errai errai-common @@ -91,7 +89,5 @@ test-jar test - - diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-dataset-client/src/main/resources/org/dashbuilder/DatasetClient.gwt.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-dataset-client/src/main/resources/org/dashbuilder/DatasetClient.gwt.xml index 2325b205a74..8e9125da3a4 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-dataset-client/src/main/resources/org/dashbuilder/DatasetClient.gwt.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-dataset-client/src/main/resources/org/dashbuilder/DatasetClient.gwt.xml @@ -31,5 +31,4 @@ - diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-client/pom.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-client/pom.xml index f6fb7d7e1ec..07fe1d92d5f 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-client/pom.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-client/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.dashbuilder @@ -36,7 +35,6 @@ Dashbuilder Displayer Client - org.jboss.errai errai-common @@ -57,7 +55,7 @@ org.uberfire uberfire-api - + org.uberfire uberfire-client-api @@ -124,7 +122,5 @@ uberfire-testing-utils test - - diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-client/src/main/resources/org/dashbuilder/DisplayerClient.gwt.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-client/src/main/resources/org/dashbuilder/DisplayerClient.gwt.xml index 570c29c1156..3456ab6fadc 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-client/src/main/resources/org/dashbuilder/DisplayerClient.gwt.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-client/src/main/resources/org/dashbuilder/DisplayerClient.gwt.xml @@ -22,7 +22,7 @@ - + diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-editor/pom.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-editor/pom.xml index 20bca2d9785..5021fa30f1f 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-editor/pom.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-editor/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.dashbuilder @@ -36,7 +35,6 @@ Dashbuilder Displayer Editor Widgets - org.uberfire uberfire-workbench-client @@ -85,7 +83,5 @@ gwtmockito test - - diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-editor/src/main/resources/org/dashbuilder/DisplayerEditor.gwt.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-editor/src/main/resources/org/dashbuilder/DisplayerEditor.gwt.xml index 1b053cdd4e0..b23eb5dc53e 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-editor/src/main/resources/org/dashbuilder/DisplayerEditor.gwt.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-displayer-editor/src/main/resources/org/dashbuilder/DisplayerEditor.gwt.xml @@ -28,5 +28,4 @@ - diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-navigation-client/pom.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-navigation-client/pom.xml index 567d6ae8364..9d72866d479 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-navigation-client/pom.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-navigation-client/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.dashbuilder @@ -79,7 +78,6 @@ provided - org.uberfire uberfire-layout-editor-api @@ -101,9 +99,7 @@ com.google.gwt.gwtmockito gwtmockito - test + test - - diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-navigation-client/src/main/resources/org/dashbuilder/NavigationClient.gwt.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-navigation-client/src/main/resources/org/dashbuilder/NavigationClient.gwt.xml index 65108eae9ca..d6310243949 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-navigation-client/src/main/resources/org/dashbuilder/NavigationClient.gwt.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-navigation-client/src/main/resources/org/dashbuilder/NavigationClient.gwt.xml @@ -20,8 +20,6 @@ - - diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-c3/pom.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-c3/pom.xml index c5177db3bb7..daca6219003 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-c3/pom.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-c3/pom.xml @@ -59,14 +59,14 @@ org.webjars.npm d3-geo-projection - + org.webjars.npm d3-geo - + org.webjars.npm d3-array - + @@ -168,10 +168,8 @@ uberfire-testing-utils test - - @@ -269,5 +267,4 @@ - diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-c3/src/main/resources/org/dashbuilder/renderer/C3Renderer.gwt.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-c3/src/main/resources/org/dashbuilder/renderer/C3Renderer.gwt.xml index 42b093f6446..109ace0672c 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-c3/src/main/resources/org/dashbuilder/renderer/C3Renderer.gwt.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-c3/src/main/resources/org/dashbuilder/renderer/C3Renderer.gwt.xml @@ -29,5 +29,4 @@ - diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-default/pom.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-default/pom.xml index 97fcbc0f9d1..7d9317976c7 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-default/pom.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-default/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.dashbuilder @@ -147,7 +146,5 @@ uberfire-testing-utils test - - diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-echarts/pom.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-echarts/pom.xml index 7b1ae857f6e..ae963a5656c 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-echarts/pom.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-echarts/pom.xml @@ -99,7 +99,6 @@ org.jboss.errai errai-ui - @@ -159,5 +158,4 @@ - diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-echarts/src/main/resources/org/dashbuilder/renderer/EChartsRenderer.gwt.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-echarts/src/main/resources/org/dashbuilder/renderer/EChartsRenderer.gwt.xml index 0724abce4e3..b486bea5b2c 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-echarts/src/main/resources/org/dashbuilder/renderer/EChartsRenderer.gwt.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/dashbuilder-renderer-echarts/src/main/resources/org/dashbuilder/renderer/EChartsRenderer.gwt.xml @@ -25,7 +25,6 @@ - - + diff --git a/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/pom.xml b/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/pom.xml index a21dc74e7b2..c69d53a6185 100644 --- a/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/pom.xml +++ b/packages/dashbuilder/dashbuilder-client/dashbuilder-renderers/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.dashbuilder diff --git a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/pom.xml b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/pom.xml index 93b98607139..d61aad941a0 100644 --- a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/pom.xml +++ b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.dashbuilder @@ -86,7 +85,6 @@ provided - org.dashbuilder dashbuilder-displayer-api @@ -330,7 +328,7 @@ errai-cdi-shared provided - + org.webjars.npm @@ -451,7 +449,6 @@ org.uberfire:uberfire-client-api org.uberfire:uberfire-workbench-client org.uberfire:uberfire-workbench-client-views-patternfly - true @@ -561,7 +558,7 @@ copy-resources - ${project.build.outputDirectory}/org/dashbuilder/client/resources/js + ${project.build.outputDirectory}/org/dashbuilder/client/resources/js copy-resources - ${project.build.outputDirectory}/org/dashbuilder/client/resources/js + ${project.build.outputDirectory}/org/dashbuilder/client/resources/js - ${project.build.directory}/js-yaml/META-INF/resources/webjars/js-yaml/${version.org.webjars.npm.js-yaml}/dist js-yaml.min.js @@ -595,7 +592,6 @@ - @@ -608,7 +604,8 @@ - + + org.codehaus.mojo gwt-maven-plugin @@ -623,7 +620,7 @@ maven-war-plugin WEB-INF/,META-INF/ - + @@ -696,7 +693,5 @@ - - diff --git a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/resources/org/dashbuilder/DashbuilderRuntimeSourceMaps.gwt.xml b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/resources/org/dashbuilder/DashbuilderRuntimeSourceMaps.gwt.xml index 1aba717aec5..205606b1789 100644 --- a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/resources/org/dashbuilder/DashbuilderRuntimeSourceMaps.gwt.xml +++ b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/resources/org/dashbuilder/DashbuilderRuntimeSourceMaps.gwt.xml @@ -20,11 +20,8 @@ - - - diff --git a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/resources/org/dashbuilder/FastCompiledDashbuilderRuntime.gwt.xml b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/resources/org/dashbuilder/FastCompiledDashbuilderRuntime.gwt.xml index 37b83fbab83..0ca3e622aae 100644 --- a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/resources/org/dashbuilder/FastCompiledDashbuilderRuntime.gwt.xml +++ b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/resources/org/dashbuilder/FastCompiledDashbuilderRuntime.gwt.xml @@ -20,12 +20,10 @@ - - diff --git a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/webapp/WEB-INF/beans.xml b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/webapp/WEB-INF/beans.xml index cb61c852076..5c65d8e47ee 100644 --- a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/webapp/WEB-INF/beans.xml +++ b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/webapp/WEB-INF/beans.xml @@ -18,50 +18,50 @@ ~ under the License. --> - + - - + - - + - - - - - - - - - - + + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/webapp/index.html b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/webapp/index.html index 6e1e1c41d05..a31016de425 100644 --- a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/webapp/index.html +++ b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/webapp/index.html @@ -17,7 +17,7 @@ ~ under the License. --> - + diff --git a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-shared/pom.xml b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-shared/pom.xml index db914352c68..052a0bf0c58 100644 --- a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-shared/pom.xml +++ b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-shared/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.dashbuilder diff --git a/packages/dashbuilder/dashbuilder-runtime-parent/pom.xml b/packages/dashbuilder/dashbuilder-runtime-parent/pom.xml index 994675ff5c8..1469c9daca4 100644 --- a/packages/dashbuilder/dashbuilder-runtime-parent/pom.xml +++ b/packages/dashbuilder/dashbuilder-runtime-parent/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > - 4.0.0 @@ -53,5 +52,4 @@ dashbuilder-runtime-shared dashbuilder-runtime-client - diff --git a/packages/dashbuilder/dashbuilder-shared/dashbuilder-displayer-api/pom.xml b/packages/dashbuilder/dashbuilder-shared/dashbuilder-displayer-api/pom.xml index 2e83c8bdab0..d1b74a9e657 100644 --- a/packages/dashbuilder/dashbuilder-shared/dashbuilder-displayer-api/pom.xml +++ b/packages/dashbuilder/dashbuilder-shared/dashbuilder-displayer-api/pom.xml @@ -36,7 +36,6 @@ Dashbuilder Displayer API shared between client and server. - org.kie.soup kie-soup-dataset-api @@ -57,6 +56,5 @@ gwtmockito test - diff --git a/packages/dashbuilder/dashbuilder-shared/dashbuilder-displayer-api/src/main/resources/org/dashbuilder/DisplayerAPI.gwt.xml b/packages/dashbuilder/dashbuilder-shared/dashbuilder-displayer-api/src/main/resources/org/dashbuilder/DisplayerAPI.gwt.xml index b34810582b9..a7620087857 100644 --- a/packages/dashbuilder/dashbuilder-shared/dashbuilder-displayer-api/src/main/resources/org/dashbuilder/DisplayerAPI.gwt.xml +++ b/packages/dashbuilder/dashbuilder-shared/dashbuilder-displayer-api/src/main/resources/org/dashbuilder/DisplayerAPI.gwt.xml @@ -23,5 +23,4 @@ - diff --git a/packages/dashbuilder/dashbuilder-shared/dashbuilder-navigation-api/pom.xml b/packages/dashbuilder/dashbuilder-shared/dashbuilder-navigation-api/pom.xml index 9f21629f32f..a8055538f00 100644 --- a/packages/dashbuilder/dashbuilder-shared/dashbuilder-navigation-api/pom.xml +++ b/packages/dashbuilder/dashbuilder-shared/dashbuilder-navigation-api/pom.xml @@ -36,7 +36,6 @@ Dashbuilder Navigation API shared between client and server - org.jboss.errai errai-common @@ -56,7 +55,5 @@ org.kie.soup kie-soup-json - - diff --git a/packages/dashbuilder/dashbuilder-shared/dashbuilder-navigation-api/src/main/resources/org/dashbuilder/NavigationAPI.gwt.xml b/packages/dashbuilder/dashbuilder-shared/dashbuilder-navigation-api/src/main/resources/org/dashbuilder/NavigationAPI.gwt.xml index 9ae2c591d44..dc131df605c 100644 --- a/packages/dashbuilder/dashbuilder-shared/dashbuilder-navigation-api/src/main/resources/org/dashbuilder/NavigationAPI.gwt.xml +++ b/packages/dashbuilder/dashbuilder-shared/dashbuilder-navigation-api/src/main/resources/org/dashbuilder/NavigationAPI.gwt.xml @@ -20,7 +20,5 @@ - - - + diff --git a/packages/dashbuilder/dashbuilder-shared/dashbuilder-services-api/pom.xml b/packages/dashbuilder/dashbuilder-shared/dashbuilder-services-api/pom.xml index a1dcb4d9c14..9bcdb9937ba 100644 --- a/packages/dashbuilder/dashbuilder-shared/dashbuilder-services-api/pom.xml +++ b/packages/dashbuilder/dashbuilder-shared/dashbuilder-services-api/pom.xml @@ -36,7 +36,6 @@ Dashbuilder Services API shared between client and server. - org.kie.soup kie-soup-dataset-api @@ -46,7 +45,5 @@ org.jboss.errai errai-bus - - diff --git a/packages/dashbuilder/dashbuilder-shared/dashbuilder-services-api/src/main/resources/org/dashbuilder/ServicesAPI.gwt.xml b/packages/dashbuilder/dashbuilder-shared/dashbuilder-services-api/src/main/resources/org/dashbuilder/ServicesAPI.gwt.xml index cb4c1876558..d83d9117ad7 100644 --- a/packages/dashbuilder/dashbuilder-shared/dashbuilder-services-api/src/main/resources/org/dashbuilder/ServicesAPI.gwt.xml +++ b/packages/dashbuilder/dashbuilder-shared/dashbuilder-services-api/src/main/resources/org/dashbuilder/ServicesAPI.gwt.xml @@ -20,7 +20,6 @@ - @@ -29,5 +28,4 @@ - diff --git a/packages/dashbuilder/dashbuilder-shared/pom.xml b/packages/dashbuilder/dashbuilder-shared/pom.xml index 3d4bb982fbd..fa829d78ede 100644 --- a/packages/dashbuilder/dashbuilder-shared/pom.xml +++ b/packages/dashbuilder/dashbuilder-shared/pom.xml @@ -52,5 +52,4 @@ dashbuilder-navigation-api dashbuilder-services-api - diff --git a/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-api/pom.xml b/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-api/pom.xml index 30d8be748cc..c48607c30a7 100644 --- a/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-api/pom.xml +++ b/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-api/pom.xml @@ -36,7 +36,6 @@ KIE Soup Dataset API shared between client and server. - javax.validation validation-api @@ -64,7 +63,5 @@ junit test - - diff --git a/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-api/src/main/resources/org/dashbuilder/DatasetAPI.gwt.xml b/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-api/src/main/resources/org/dashbuilder/DatasetAPI.gwt.xml index 7f69686dfaf..be8f3992366 100644 --- a/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-api/src/main/resources/org/dashbuilder/DatasetAPI.gwt.xml +++ b/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-api/src/main/resources/org/dashbuilder/DatasetAPI.gwt.xml @@ -20,12 +20,10 @@ - - diff --git a/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-core/pom.xml b/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-core/pom.xml index 721cf091ec4..10c7becb0c3 100644 --- a/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-core/pom.xml +++ b/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-core/pom.xml @@ -35,7 +35,6 @@ KIE Soup Dataset Core - org.apache.commons commons-lang3 @@ -92,7 +91,5 @@ test-jar test - - diff --git a/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-external/pom.xml b/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-external/pom.xml index 1a0e64a1e62..0ee4a05638c 100644 --- a/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-external/pom.xml +++ b/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-external/pom.xml @@ -75,6 +75,5 @@ test-jar test - diff --git a/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-shared/pom.xml b/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-shared/pom.xml index 29dc14e21a3..9ec68f8f37d 100644 --- a/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-shared/pom.xml +++ b/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-shared/pom.xml @@ -36,7 +36,6 @@ KIE Soup Dataset implementation shared between client and server. - org.kie.soup kie-soup-dataset-api @@ -47,6 +46,5 @@ junit test - diff --git a/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-shared/src/main/resources/org/dashbuilder/DatasetShared.gwt.xml b/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-shared/src/main/resources/org/dashbuilder/DatasetShared.gwt.xml index b90f2f1dd4d..ada26b25212 100644 --- a/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-shared/src/main/resources/org/dashbuilder/DatasetShared.gwt.xml +++ b/packages/dashbuilder/kie-soup-dataset/kie-soup-dataset-shared/src/main/resources/org/dashbuilder/DatasetShared.gwt.xml @@ -24,5 +24,4 @@ - diff --git a/packages/dashbuilder/kie-soup-dataset/kie-soup-json/pom.xml b/packages/dashbuilder/kie-soup-dataset/kie-soup-json/pom.xml index 329a81845c5..153fce8c448 100644 --- a/packages/dashbuilder/kie-soup-dataset/kie-soup-json/pom.xml +++ b/packages/dashbuilder/kie-soup-dataset/kie-soup-json/pom.xml @@ -34,5 +34,4 @@ KIE Soup JSON Module KIE Soup JSON utility library shared between client and server. - diff --git a/packages/dashbuilder/kie-soup-dataset/kie-soup-json/src/main/resources/org/dashbuilder/JSON.gwt.xml b/packages/dashbuilder/kie-soup-dataset/kie-soup-json/src/main/resources/org/dashbuilder/JSON.gwt.xml index 2f2f7a7b781..18a3cdb83fa 100644 --- a/packages/dashbuilder/kie-soup-dataset/kie-soup-json/src/main/resources/org/dashbuilder/JSON.gwt.xml +++ b/packages/dashbuilder/kie-soup-dataset/kie-soup-json/src/main/resources/org/dashbuilder/JSON.gwt.xml @@ -20,7 +20,5 @@ - - diff --git a/packages/dashbuilder/kie-soup-dataset/pom.xml b/packages/dashbuilder/kie-soup-dataset/pom.xml index a5a0b0d6e28..c6e206bc46f 100644 --- a/packages/dashbuilder/kie-soup-dataset/pom.xml +++ b/packages/dashbuilder/kie-soup-dataset/pom.xml @@ -68,6 +68,4 @@ kie-soup-dataset-core kie-soup-dataset-external - - diff --git a/packages/dashbuilder/package.json b/packages/dashbuilder/package.json index 4ab31fdec09..cbae8ac612e 100644 --- a/packages/dashbuilder/package.json +++ b/packages/dashbuilder/package.json @@ -53,4 +53,4 @@ "mvn" ] } -} \ No newline at end of file +} diff --git a/packages/dashbuilder/pom.xml b/packages/dashbuilder/pom.xml index d1680680727..fa92a1e0b90 100644 --- a/packages/dashbuilder/pom.xml +++ b/packages/dashbuilder/pom.xml @@ -369,7 +369,6 @@ ${version.jakarta.activation-api} - net.sf.opencsv @@ -456,7 +455,6 @@ - dashbuilder-bom kie-soup-dataset @@ -536,7 +534,6 @@ - com.google.code.maven-replacer-plugin replacer @@ -762,16 +759,19 @@ use 'org.slf4j:jcl-over-slf4j' instead --> commons-logging:commons-log* - log4j:log4j - javassist:javassist org.apache.cxf:cxf-bundle-jaxrs - org.jboss.weld.se:weld-se - org.jboss.weld.servlet:weld-servlet - org.mockito:mockito-all + org.jboss.weld.se:weld-se + + org.jboss.weld.servlet:weld-servlet + + org.mockito:mockito-all + javax.activation:activation @@ -1161,10 +1161,10 @@ maven-dependency-plugin ${version.org.apache.maven.plugins.dependency} - - maven-dependency-plugin - ${version.org.maven.dependency.plugin} - + + maven-dependency-plugin + ${version.org.maven.dependency.plugin} + @@ -1178,63 +1178,63 @@ org.apache.maven.plugins maven-checkstyle-plugin - - validate - validate - - check - - - checkstyle-suppressions.xml - - - - - - + + validate + validate + + check + + + checkstyle-suppressions.xml + + + + + + + + + + + + + - - - - - - - - - + - - - - - - - - + + + + + + + - - - - - - + - - ${project.build.directory}/checkstyle.log - true - true - true - false - ${checkstyle.logViolationsToConsole} - false - - - + + + + + + + ${project.build.directory}/checkstyle.log + true + true + true + false + ${checkstyle.logViolationsToConsole} + false + + + @@ -1356,5 +1356,4 @@ - diff --git a/packages/dev-deployment-base-image/README.md b/packages/dev-deployment-base-image/README.md index ea0016830d2..232c6a45ad1 100644 --- a/packages/dev-deployment-base-image/README.md +++ b/packages/dev-deployment-base-image/README.md @@ -21,9 +21,9 @@ Docker image with Java and Maven, as well as the dev-deployment-upload-service b ## Build arguments -- `BUILDER_IMAGE_ARG`: The base image used for building this image (defaults to `registry.access.redhat.com/ubi9/openjdk-17:1.18`). +- `BUILDER_IMAGE_ARG`: The base image used for building this image (defaults to `registry.access.redhat.com/ubi9/openjdk-17:1.20`). - Tested with: - - registry.access.redhat.com/ubi9/openjdk-17:1.18 + - registry.access.redhat.com/ubi9/openjdk-17:1.20 - icr.io/appcafe/ibm-semeru-runtimes:open-17-jdk-ubi-minimal ## Environment variables @@ -45,7 +45,7 @@ Docker image with Java and Maven, as well as the dev-deployment-upload-service b Run the image with: -- `docker run -p 8080:8080 -e DEV_DEPLOYMENT__UPLOAD_SERVICE_API_KEY=123 docker.io/apache/incubator-kie-sandbox-dev-deployment-base:daily-dev 'dev-deployment-upload-service && ./mvnw quarkus:dev'` +- `docker run -p 8080:8080 -e DEV_DEPLOYMENT__UPLOAD_SERVICE_API_KEY=123 docker.io/apache/incubator-kie-sandbox-dev-deployment-base:main 'dev-deployment-upload-service && ./mvnw quarkus:dev'` Then upload a zip file containing the resources (full Java project) diff --git a/packages/dev-deployment-base-image/env/index.js b/packages/dev-deployment-base-image/env/index.js index 41b68d50034..6970faab87a 100644 --- a/packages/dev-deployment-base-image/env/index.js +++ b/packages/dev-deployment-base-image/env/index.js @@ -24,7 +24,7 @@ const rootEnv = require("@kie-tools/root-env/env"); module.exports = composeEnv([rootEnv], { vars: varsWithName({ DEV_DEPLOYMENT_BASE_IMAGE__builderImage: { - default: "registry.access.redhat.com/ubi9/openjdk-17:1.18", + default: "registry.access.redhat.com/ubi9/openjdk-17:1.20", description: "The image used in the FROM import.", }, DEV_DEPLOYMENT_BASE_IMAGE__userId: { @@ -37,19 +37,19 @@ module.exports = composeEnv([rootEnv], { }, DEV_DEPLOYMENT_BASE_IMAGE__registry: { default: "docker.io", - description: "The image registry.", + description: "E.g., `docker.io` or `quay.io`.", }, DEV_DEPLOYMENT_BASE_IMAGE__account: { default: "apache", - description: "The image registry account.", + description: "E.g,. `apache` or `kie-tools-bot`", }, DEV_DEPLOYMENT_BASE_IMAGE__name: { default: "incubator-kie-sandbox-dev-deployment-base", - description: "The image name.", + description: "Name of the image itself.", }, DEV_DEPLOYMENT_BASE_IMAGE__buildTag: { default: rootEnv.env.root.streamName, - description: "The image tag.", + description: "Tag version of this image. E.g., `main` or `10.0.x` or `10.0.0", }, }), get env() { diff --git a/packages/dev-deployment-base-image/package.json b/packages/dev-deployment-base-image/package.json index f71582cdb89..56b915c3594 100644 --- a/packages/dev-deployment-base-image/package.json +++ b/packages/dev-deployment-base-image/package.json @@ -24,7 +24,6 @@ "create-test-image:minikube": "kie-tools--image-builder minikube -r \"$(build-env devDeploymentBaseImage.registry)\" -a \"$(build-env devDeploymentBaseImage.account)\" -n \"$(build-env devDeploymentBaseImage.name)\" -t \"$(build-env devDeploymentBaseImage.buildTag)\" --build-arg BUILDER_IMAGE_ARG=\"$(build-env devDeploymentBaseImage.builderImage)\"", "create-test-image:openshift": "kie-tools--image-builder openshift -r \"$(build-env devDeploymentBaseImage.registry)\" -a \"$(build-env devDeploymentBaseImage.account)\" -n \"$(build-env devDeploymentBaseImage.name)\" -t \"$(build-env devDeploymentBaseImage.buildTag)\" --build-arg BUILDER_IMAGE_ARG=\"$(build-env devDeploymentBaseImage.builderImage)\"", "image:docker:build": "kie-tools--image-builder build -r \"$(build-env devDeploymentBaseImage.registry)\" -a \"$(build-env devDeploymentBaseImage.account)\" -n \"$(build-env devDeploymentBaseImage.name)\" -t \"$(build-env devDeploymentBaseImage.buildTag)\" --build-arg BUILDER_IMAGE_ARG=\"$(build-env devDeploymentBaseImage.builderImage)\" --build-arg USER_ID_ARG=\"$(build-env devDeploymentBaseImage.userId)\" --build-arg HOME_PATH_ARG=\"$(build-env devDeploymentBaseImage.homePath)\"", - "image:podman:build": "kie-tools--image-builder build -r \"$(build-env devDeploymentBaseImage.registry)\" -a \"$(build-env devDeploymentBaseImage.account)\" -n \"$(build-env devDeploymentBaseImage.name)\" -t \"$(build-env devDeploymentBaseImage.buildTag)\" --build-arg BUILDER_IMAGE_ARG=\"$(build-env devDeploymentBaseImage.builderImage)\" --build-arg USER_ID_ARG=\"$(build-env devDeploymentBaseImage.userId)\" --build-arg HOME_PATH_ARG=\"$(build-env devDeploymentBaseImage.homePath)\" -e podman", "install": "node install.js && pnpm install:mvnw", "install:mvnw": "run-script-os", "install:mvnw:darwin:linux": "mvn -e org.apache.maven.plugins:maven-wrapper-plugin:3.3.0:wrapper", @@ -42,4 +41,4 @@ "rimraf": "^3.0.2", "run-script-os": "^1.1.6" } -} \ No newline at end of file +} diff --git a/packages/dev-deployment-base-image/pom.xml b/packages/dev-deployment-base-image/pom.xml index 876881a7cdf..f2d4aee1641 100644 --- a/packages/dev-deployment-base-image/pom.xml +++ b/packages/dev-deployment-base-image/pom.xml @@ -32,5 +32,4 @@ 4.0.0 org.kie.kogito dev-deployment-base-image - diff --git a/packages/dev-deployment-dmn-form-webapp-image/Containerfile b/packages/dev-deployment-dmn-form-webapp-image/Containerfile index 37771fde116..55e5c8e0366 100644 --- a/packages/dev-deployment-dmn-form-webapp-image/Containerfile +++ b/packages/dev-deployment-dmn-form-webapp-image/Containerfile @@ -17,22 +17,31 @@ FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/ubi-minimal:9.4 +ARG DEV_DEPLOYMENT_DMN_FORM_WEBAPP_DEFAULT_PORT=8081 + +COPY entrypoint.sh dist-dev/image-env-to-json-standalone dist-dev/EnvJson.schema.json /tmp/ + RUN microdnf --disableplugin=subscription-manager -y install httpd \ && microdnf --disableplugin=subscription-manager clean all \ && echo "Mutex posixsem" >> /etc/httpd/conf/httpd.conf \ - && sed -i -e 's/Listen 80/Listen 8081/' /etc/httpd/conf/httpd.conf \ - && sed -i -e 's/#ServerName www.example.com:80/ServerName 127.0.0.1:8080/' /etc/httpd/conf/httpd.conf \ - && sed -i -e "/ServerName 127.0.0.1:8080/aHeader set Content-Security-Policy \"frame-ancestors 'self';\"" /etc/httpd/conf/httpd.conf \ - && sed -i -e 's/Options Indexes FollowSymLinks/Options -Indexes +FollowSymLinks/' /etc/httpd/conf/httpd.conf \ - && sed -i '$ a ServerTokens Prod' /etc/httpd/conf/httpd.conf \ - && sed -i '$ a ServerSignature Off' /etc/httpd/conf/httpd.conf \ - && chgrp -R 0 /var/log/httpd /var/run/httpd /var/www/html \ - && chmod -R g=u /var/log/httpd /var/run/httpd /var/www/html + && sed -i "s/Listen 80/Listen $DEV_DEPLOYMENT_DMN_FORM_WEBAPP_DEFAULT_PORT/" /etc/httpd/conf/httpd.conf \ + && sed -i "s/#ServerName www.example.com:80/ServerName 127.0.0.1:$DEV_DEPLOYMENT_DMN_FORM_WEBAPP_DEFAULT_PORT/" /etc/httpd/conf/httpd.conf \ + && sed -i -e "/ServerName 127.0.0.1:$DEV_DEPLOYMENT_DMN_FORM_WEBAPP_DEFAULT_PORT/aHeader set Content-Security-Policy \"frame-ancestors 'self';\"" /etc/httpd/conf/httpd.conf \ + && sed -i -e "s/Options Indexes FollowSymLinks/Options -Indexes +FollowSymLinks/" /etc/httpd/conf/httpd.conf \ + && sed -i "$ a ServerTokens Prod" /etc/httpd/conf/httpd.conf \ + && sed -i "$ a ServerSignature Off" /etc/httpd/conf/httpd.conf \ + && mkdir /dmn-form-webapp \ + && mv -t /dmn-form-webapp /tmp/entrypoint.sh /tmp/image-env-to-json-standalone /tmp/EnvJson.schema.json \ + && chgrp -R 0 /var/log/httpd /var/run/httpd /var/www/html /dmn-form-webapp \ + && chmod -R g=u /var/log/httpd /var/run/httpd /var/www/html /dmn-form-webapp \ + && chmod +x /dmn-form-webapp/entrypoint.sh /dmn-form-webapp/image-env-to-json-standalone + +COPY dist-dev/dev-deployment-dmn-form-webapp /dmn-form-webapp/app -COPY dist-dev /var/www/html +RUN if [ -f /dmn-form-webapp/app/env.json ]; then chmod a+w /dmn-form-webapp/app/env.json; fi -EXPOSE 8081 +EXPOSE $DEV_DEPLOYMENT_DMN_FORM_WEBAPP_DEFAULT_PORT USER 1000 -ENTRYPOINT ["httpd", "-D", "FOREGROUND"] +ENTRYPOINT [ "/dmn-form-webapp/entrypoint.sh" ] diff --git a/packages/dev-deployment-dmn-form-webapp-image/README.md b/packages/dev-deployment-dmn-form-webapp-image/README.md index aef5577ed7a..12c05304153 100644 --- a/packages/dev-deployment-dmn-form-webapp-image/README.md +++ b/packages/dev-deployment-dmn-form-webapp-image/README.md @@ -15,7 +15,39 @@ under the License. --> -## @kie-tools/dev-deployment-dmn-form-webapp-image +# KIE Sandbox Dev Deployment DMN Form Webapp Image + +This image is ready to be used for Dev Deployments that contain Decisions (`.dmn`) on KIE Sandbox. +It expects a Quarkus application to be running in the same host, which it will use to fetch information to render a form that let's users interact with a Decision. + +For example, if this image is running on `localhost:8080/form-webapp` it will try to fetch the OpenAPI specification from `localhost:8080/q/openapi` and use that to map all other routes and endpoints for the Quarkus application, plus all of the form inputs necessary for each DMN. + +Unfortunatelly, with this condition, is pratically impossible to run these container and a Quarkus app locally, because it's impossible to run two containers on the same port. +To solve this issue, two environment variables were created to configure this behavior: + +- DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_ORIGIN: Sets the origin of the Quarkus app (`http://localhost:8080` for example); Defaults to `""`, in which case it's replaced by `window.location.origin`. +- DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_PATH: Sets the relative path of the Quarkus app in that origin (`/dev-deployment-1234` for example); Defaults to `""`, in which case it's replaced by `..` or `/` depending on the path the webapp is being served from. + +## Run + +```bash +docker run -p 8081:8081 docker.io/apache/incubator-kie-sandbox-dev-deployment-dmn-form-webapp:main +# KIE Sandbox Dev Deployment DMN Form Webapp will be up at http://localhost:8081 +``` + +## Developing + +To develop this webapp you can start the webapp container and a quarkus app container to be used as backend: + +```bash +docker run -d -p 8080:8080 -e DEV_DEPLOYMENT__UPLOAD_SERVICE_API_KEY=dev docker.io/apache/incubator-kie-sandbox-dev-deployment-kogito-quarkus-blank-app:main + +docker run -d -p 8081:8081 -e DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_ORIGIN=http://localhost:8080 docker.io/apache/incubator-kie-sandbox-dev-deployment-dmn-form-webapp:main +``` + +The Quarkus app will be running on port 8080 and you will have to upload some DMNs to it (check the [dev-deployment-kogito-quarkus-blank-app-image README](../dev-deployment-kogito-quarkus-blank-app-image/README.md)); + +The DMN Form Webapp will be running on port 8081 and will be using the Quarkus app on port 8080 as it's backend. --- diff --git a/packages/dev-deployment-dmn-form-webapp-image/entrypoint.sh b/packages/dev-deployment-dmn-form-webapp-image/entrypoint.sh new file mode 100644 index 00000000000..30d1ed2c552 --- /dev/null +++ b/packages/dev-deployment-dmn-form-webapp-image/entrypoint.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +# Copying the DMN Form Webapp assets here is essential for when the container is running with the readOnlyRootFilesystem flag. +# But, just like any other directory modified during runtime, the /var/www/html must be a mounted volume in the container in this case. +cp -R /dmn-form-webapp/app/* /var/www/html + +/dmn-form-webapp/image-env-to-json-standalone --directory /var/www/html --json-schema /dmn-form-webapp/EnvJson.schema.json + +httpd -D FOREGROUND \ No newline at end of file diff --git a/packages/dev-deployment-dmn-form-webapp-image/env/index.js b/packages/dev-deployment-dmn-form-webapp-image/env/index.js index a10be8e74ae..29182759481 100644 --- a/packages/dev-deployment-dmn-form-webapp-image/env/index.js +++ b/packages/dev-deployment-dmn-form-webapp-image/env/index.js @@ -25,19 +25,19 @@ module.exports = composeEnv([rootEnv], { vars: varsWithName({ DEV_DEPLOYMENT_DMN_FORM_WEBAPP_IMAGE__registry: { default: "docker.io", - description: "The image registry.", + description: "E.g., `docker.io` or `quay.io`.", }, DEV_DEPLOYMENT_DMN_FORM_WEBAPP_IMAGE__account: { default: "apache", - description: "The image registry account.", + description: "E.g,. `apache` or `kie-tools-bot`", }, DEV_DEPLOYMENT_DMN_FORM_WEBAPP_IMAGE__name: { default: "incubator-kie-sandbox-dev-deployment-dmn-form-webapp", - description: "The image name.", + description: "Name of the image itself.", }, DEV_DEPLOYMENT_DMN_FORM_WEBAPP_IMAGE__buildTag: { default: rootEnv.env.root.streamName, - description: "The image tag.", + description: "Tag version of this image. E.g., `main` or `10.0.x` or `10.0.0", }, }), get env() { diff --git a/packages/dev-deployment-dmn-form-webapp-image/package.json b/packages/dev-deployment-dmn-form-webapp-image/package.json index a065e628376..25d4eddc0f3 100644 --- a/packages/dev-deployment-dmn-form-webapp-image/package.json +++ b/packages/dev-deployment-dmn-form-webapp-image/package.json @@ -14,25 +14,32 @@ }, "scripts": { "build:dev": "pnpm build:prod", - "build:prod": "run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm copy-assets\" \"pnpm image:docker:build\"", - "copy-assets": "run-script-os", - "copy-assets:linux:darwin": "rimraf dist-dev && cp -R ./node_modules/@kie-tools/dev-deployment-dmn-form-webapp/dist/ dist-dev", - "copy-assets:win32": "rimraf dist-dev && pnpm powershell \"Copy-Item -R ./node_modules/@kie-tools/dev-deployment-dmn-form-webapp/dist/ dist-dev\"", + "build:prod": "pnpm cleanup && pnpm env-json:schema:generate && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm copy:assets\" \"pnpm image:docker:build\"", + "cleanup": "rimraf dist-dev && mkdir dist-dev", + "copy:assets": "pnpm copy:dmn-form-webapp && pnpm copy:image-env-to-json", + "copy:dmn-form-webapp": "run-script-os", + "copy:dmn-form-webapp:linux:darwin": "cp -R ./node_modules/@kie-tools/dev-deployment-dmn-form-webapp/dist/ dist-dev/dev-deployment-dmn-form-webapp", + "copy:dmn-form-webapp:win32": "pnpm powershell \"Copy-Item -R ./node_modules/@kie-tools/dev-deployment-dmn-form-webapp/dist/ dist-dev/dev-deployment-dmn-form-webapp\"", + "copy:image-env-to-json": "run-script-os", + "copy:image-env-to-json:linux:darwin": "cp ./node_modules/@kie-tools/image-env-to-json/dist/linux/image-env-to-json-standalone ./dist-dev/", + "copy:image-env-to-json:win32": "pnpm powershell \"Copy-Item ./node_modules/@kie-tools/image-env-to-json/dist/linux/image-env-to-json-standalone ./dist-dev/\"", "create-test-image:build-only": "kie-tools--image-builder build -r \"$(pnpm build-env devDeploymentDmnFormWebappImage.registry)\" -a \"$(pnpm build-env devDeploymentDmnFormWebappImage.account)\" -n \"$(pnpm build-env devDeploymentDmnFormWebappImage.name)\" -t \"$(pnpm build-env devDeploymentDmnFormWebappImage.buildTag)\"", "create-test-image:kind": "kie-tools--image-builder kind -r \"$(pnpm build-env devDeploymentDmnFormWebappImage.registry)\" -a \"$(pnpm build-env devDeploymentDmnFormWebappImage.account)\" -n \"$(pnpm build-env devDeploymentDmnFormWebappImage.name)\" -t \"$(pnpm build-env devDeploymentDmnFormWebappImage.buildTag)\" --kind-cluster-name kie-sandbox-dev-cluster", "create-test-image:minikube": "kie-tools--image-builder minikube -r \"$(pnpm build-env devDeploymentDmnFormWebappImage.registry)\" -a \"$(pnpm build-env devDeploymentDmnFormWebappImage.account)\" -n \"$(pnpm build-env devDeploymentDmnFormWebappImage.name)\" -t \"$(pnpm build-env devDeploymentDmnFormWebappImage.buildTag)\"", "create-test-image:openshift": "kie-tools--image-builder openshift -r \"$(pnpm build-env devDeploymentDmnFormWebappImage.registry)\" -a \"$(pnpm build-env devDeploymentDmnFormWebappImage.account)\" -n \"$(pnpm build-env devDeploymentDmnFormWebappImage.name)\" -t \"$(pnpm build-env devDeploymentDmnFormWebappImage.buildTag)\"", + "env-json:schema:generate": "ts-json-schema-generator --path ./node_modules/@kie-tools/dev-deployment-dmn-form-webapp/src/env/EnvJson.ts --type EnvJson --id EnvJson --out ./dist-dev/EnvJson.schema.json", "image:docker:build": "kie-tools--image-builder build -r \"$(pnpm build-env devDeploymentDmnFormWebappImage.registry)\" -a \"$(pnpm build-env devDeploymentDmnFormWebappImage.account)\" -n \"$(pnpm build-env devDeploymentDmnFormWebappImage.name)\" -t \"$(pnpm build-env devDeploymentDmnFormWebappImage.buildTag)\"", - "image:podman:build": "kie-tools--image-builder build -r \"$(pnpm build-env devDeploymentDmnFormWebappImage.registry)\" -a \"$(pnpm build-env devDeploymentDmnFormWebappImage.account)\" -n \"$(pnpm build-env devDeploymentDmnFormWebappImage.name)\" -t \"$(pnpm build-env devDeploymentDmnFormWebappImage.buildTag)\" -e podman", "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command" }, "dependencies": { - "@kie-tools/dev-deployment-dmn-form-webapp": "workspace:*" + "@kie-tools/dev-deployment-dmn-form-webapp": "workspace:*", + "@kie-tools/image-env-to-json": "workspace:*" }, "devDependencies": { "@kie-tools/image-builder": "workspace:*", "@kie-tools/root-env": "workspace:*", "rimraf": "^3.0.2", - "run-script-os": "^1.1.6" + "run-script-os": "^1.1.6", + "ts-json-schema-generator": "^1.1.2" } -} \ No newline at end of file +} diff --git a/packages/dev-deployment-dmn-form-webapp/README.md b/packages/dev-deployment-dmn-form-webapp/README.md index 34d9cbaaa95..f3e0da4d1be 100644 --- a/packages/dev-deployment-dmn-form-webapp/README.md +++ b/packages/dev-deployment-dmn-form-webapp/README.md @@ -15,7 +15,22 @@ under the License. --> -## @kie-tools/dev-deployment-dmn-form-webapp +# KIE Sandbox Dev Deployment DMN Form Webapp Image + +Form Webapp to fill and submit decisions inputs. Requires a kogito quarkus app as it's backend. + +## Environment Variables + +- DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_ORIGIN: Sets the origin of the quarkus app (`http://localhost:8080` for example); Defaults to `""`, in which case it's replaced by `window.location.origin`. +- DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_PATH: Sets the relative path of the quarkus app in that origin (`/dev-deployment-1234` for example); Defaults to `""`, in which case it's replaced by `..` or `/` depending on the path the webapp is being served from. + +## Running + +Use the dev-webapp and dev quarkus-app to run and test the form webapp: + +```bash +pnpm start +``` --- diff --git a/packages/dev-deployment-dmn-form-webapp/build/defaultEnvJson.ts b/packages/dev-deployment-dmn-form-webapp/build/defaultEnvJson.ts new file mode 100644 index 00000000000..423f093edd3 --- /dev/null +++ b/packages/dev-deployment-dmn-form-webapp/build/defaultEnvJson.ts @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { EnvJson } from "../src/env/EnvJson"; + +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { env } from "../env"; +const buildEnv: any = env; // build-env is not typed + +export const defaultEnvJson: EnvJson = { + DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_ORIGIN: buildEnv.devDeploymentDmnFormWebapp.quarkusApp.origin, + DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_PATH: buildEnv.devDeploymentDmnFormWebapp.quarkusApp.path, +}; diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/pom.xml b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/pom.xml index e6bce3a0e1c..8120f605343 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/pom.xml +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/pom.xml @@ -22,6 +22,15 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > + + + + + org.apache + apache + 32 + + 4.0.0 org.kie.kogito dmn-dev-deployment-quarkus-app @@ -35,8 +44,13 @@ UTF-8 UTF-8 3.2.5 + 3.12.1 + 3.2.0 + 3.4.1 4.13.2 true + 1.26.1 + 0.5 @@ -48,13 +62,6 @@ pom import - - io.quarkus.platform - quarkus-kogito-bom - ${quarkus.platform.version} - pom - import - org.kie.kogito kogito-kie-bom @@ -62,10 +69,20 @@ pom import + + org.jbpm + jbpm-with-drools-quarkus + ${version.org.kie.kogito} + + + org.apache.commons + commons-compress + ${version.org.apache.commons.commons-compress} + io.quarkus quarkus-resteasy @@ -91,8 +108,8 @@ kie-dmn-openapi - org.kie.kogito - kogito-quarkus-decisions + org.jbpm + jbpm-with-drools-quarkus org.kie.kogito @@ -124,6 +141,73 @@ src/main/resources + + + + org.apache.maven.plugins + maven-site-plugin + ${maven.site.plugin.version} + + + org.apache.commons + commons-compress + ${version.org.apache.commons.commons-compress} + + + org.iq80.snappy + snappy + ${version.org.iq80.snappy} + + + + + org.apache.maven.plugins + maven-remote-resources-plugin + ${maven.remote.resources.plugin.version} + + + org.apache.commons + commons-compress + ${version.org.apache.commons.commons-compress} + + + org.iq80.snappy + snappy + ${version.org.iq80.snappy} + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + org.iq80.snappy + snappy + ${version.org.iq80.snappy} + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${surefire-plugin.version} + + + org.iq80.snappy + snappy + ${version.org.iq80.snappy} + + + org.apache.commons + commons-compress + ${version.org.apache.commons.commons-compress} + + + + + io.quarkus diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Adjudication.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Adjudication.dmn index fcef7059eb1..d9f11b31606 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Adjudication.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Adjudication.dmn @@ -1,4 +1,4 @@ - + - - - - - + + + + + - + Should this application that has been referred for adjudication be accepted? Yes/No - + - + - + - + - + - + - + s.Bureau Strategy Decision Service - + Applicant data - + Requested product @@ -76,20 +119,20 @@ - - + + - - + + - - + + - - + + @@ -109,7 +152,7 @@ 172 256 - + 256 @@ -124,84 +167,123 @@ - + - - - + + + - - + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/FlightRebooking.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/FlightRebooking.dmn index c9cae380621..06f862f9b7b 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/FlightRebooking.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/FlightRebooking.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -66,34 +78,38 @@ string - - + + - - + + - - + + - + - + - + - + Flight List[ Status = "cancelled" ].Flight Number - + Passenger List[ list contains( Cancelled Flights, Flight Number ) ] @@ -106,35 +122,35 @@ - - + + - + - + - + reassign next passenger - + Prioritized Waiting List - + [] - + Flight List @@ -142,12 +158,16 @@ - - + + - - - + + + Passenger1.Status @@ -177,7 +197,7 @@ false - + "gold" @@ -192,7 +212,7 @@ true - + @@ -209,7 +229,7 @@ true - + @@ -226,7 +246,7 @@ true - + @@ -243,7 +263,7 @@ true - + @@ -260,61 +280,66 @@ true - + - - + + - - - + + + - + Waiting List[1] - + Flights[ Flight Number = Next Passenger.Flight Number ][1] - + - Flights[ From = Original Flight.From and To = Original Flight.To and Departure > Original Flight.Departure and Status = "scheduled" and has capacity( item, Reassigned Passengers List ) ][1] + Flights[ From = Original Flight.From and To = Original Flight.To and Departure > Original Flight.Departure and Status = "scheduled" and has capacity( item, Reassigned Passengers List ) ][1] - + - + Next Passenger.Name - + Next Passenger.Status - + Next Passenger.Miles - + Best Alternate Flight.Flight Number @@ -322,34 +347,43 @@ - + remove( Waiting List, 1 ) - + append( Reassigned Passengers List, Reassigned Passenger ) - if count( Remaining Waiting List ) > 0 then reassign next passenger( Remaining Waiting List, Updated Reassigned Passengers List, Flights ) else Updated Reassigned Passengers List + if count( Remaining Waiting List ) > 0 then reassign next passenger( Remaining Waiting List, Updated Reassigned Passengers List, Flights ) else Updated Reassigned Passengers List - + - - + + - - + + flight.Capacity > count( rebooked list[ Flight Number = flight.Flight Number ] ) @@ -378,7 +412,7 @@ 120 150 - + 150 @@ -455,95 +489,124 @@ - - - + + + - - + + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Functions.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Functions.dmn index 096119d6f9d..023a4c5b2fc 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Functions.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Functions.dmn @@ -1,4 +1,4 @@ - + - - - + + + - - + + - - - - - + + + + + - + Monthly Income - (Monthly Repayments + Monthly Expenses) - + - + Risk Category - + Risk Category - - + + "High", "Decline" @@ -62,7 +97,7 @@ 0.6 - + @@ -73,7 +108,7 @@ 0.7 - + @@ -84,7 +119,7 @@ 0.8 - + @@ -102,16 +137,16 @@ else false - - + + - - - - + + + + - + if Product Type = "Standard Loan" then 20.00 @@ -121,7 +156,7 @@ else null - + (Amount*Rate/12)/(1-(1+Rate/12)**-Term) @@ -187,24 +222,32 @@ else null - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/InsurancePricing.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/InsurancePricing.dmn index dc75befff30..3043e3bbcb1 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/InsurancePricing.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/InsurancePricing.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - - + + - - + + - + - + - + Age @@ -47,8 +70,8 @@ had previous incidents - - + + >25 @@ -60,7 +83,7 @@ 1000 - + @@ -74,7 +97,7 @@ 1250 - + @@ -88,7 +111,7 @@ 2000 - + @@ -102,7 +125,7 @@ 3000 - + @@ -120,41 +143,59 @@ - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/LoanPreQualification.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/LoanPreQualification.dmn index 5425f347d19..0f10f687a1d 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/LoanPreQualification.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/LoanPreQualification.dmn @@ -1,4 +1,4 @@ - + - - + + Product_Type @@ -163,12 +176,12 @@ - - + + - - + + 0.36 @@ -176,47 +189,48 @@ - - + + - + - + - + - + - + PITI - + - (Requested Product.Amount*((Requested Product.Rate/100)/12))/(1-(1/(1+(Requested Product.Rate/100)/12)**-Requested Product.Term)) + (Requested Product.Amount*((Requested Product.Rate/100)/12))/(1-(1/(1+(Requested Product.Rate/100)/12)**-Requested Product.Term)) - + Applicant Data.Monthly.Tax - + Applicant Data.Monthly.Insurance - + Applicant Data.Monthly.Income @@ -233,49 +247,49 @@ else "Insufficient" - - + + - - - - + + + + (pmt+tax+insurance)/income - - + + - - + + - + - + - + - + DTI - + Applicant Data.Monthly.Repayments + Applicant Data.Monthly.Expenses - + Applicant Data.Monthly.Income @@ -292,10 +306,10 @@ else "Insufficient" - - + + - + @@ -303,8 +317,8 @@ else "Insufficient" Credit Score.FICO - - + + >= 750 @@ -313,7 +327,7 @@ else "Insufficient" "Excellent" - + @@ -324,7 +338,7 @@ else "Insufficient" "Good" - + @@ -335,7 +349,7 @@ else "Insufficient" "Fair" - + @@ -346,7 +360,7 @@ else "Insufficient" "Poor" - + @@ -357,22 +371,26 @@ else "Insufficient" "Bad" - + - - + + - + - + - + @@ -390,9 +408,9 @@ else "Insufficient" Front End Ratio - - - + + + "Poor", "Bad" @@ -410,7 +428,7 @@ else "Insufficient" "Credit Score too low." - + @@ -430,7 +448,7 @@ else "Insufficient" "Debt to income ratio is too high." - + @@ -450,7 +468,7 @@ else "Insufficient" "Mortgage payment to income ratio is too high." - + @@ -470,7 +488,7 @@ else "Insufficient" "Debt to income ratio is too high AND mortgage payment to income ratio is too high." - + @@ -490,29 +508,29 @@ else "Insufficient" "The borrower has been successfully prequalified for the requested loan." - + - - + + - - + + - - + + d/i - - + + 0.28 @@ -540,7 +558,7 @@ else "Insufficient" 100 1110 - + 1110 @@ -573,7 +591,7 @@ else "Insufficient" 100 632 - + 632 @@ -614,149 +632,226 @@ else "Insufficient" - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/META-INF/resources/images/BusinessModeler_Logo_38x38.svg b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/META-INF/resources/images/BusinessModeler_Logo_38x38.svg index 0514647292f..c632a51876a 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/META-INF/resources/images/BusinessModeler_Logo_38x38.svg +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/META-INF/resources/images/BusinessModeler_Logo_38x38.svg @@ -1,6 +1,18 @@ - + - + +.st0 { + fill: #dd3926; +} +.st1 { + fill: #cc3427; +} +.st2 { + fill: #ffffff; +} +.st3 { + fill: #e5e5e4; +} + Automation @@ -38,13 +58,13 @@ Created with Sketch. - - - - - - - - - + + + + + + + + + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/META-INF/resources/images/app_logo_rgb_fullcolor_reverse.svg b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/META-INF/resources/images/app_logo_rgb_fullcolor_reverse.svg index 2cd885c3761..84e3d508ef0 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/META-INF/resources/images/app_logo_rgb_fullcolor_reverse.svg +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/META-INF/resources/images/app_logo_rgb_fullcolor_reverse.svg @@ -1,6 +1,6 @@ - + - - - + + + + + + + + + + + + + + + + + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/ManyInputs.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/ManyInputs.dmn index 9f26c10faaa..7f610fb941d 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/ManyInputs.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/ManyInputs.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -51,224 +63,244 @@ - - + + - + TimeInput - - + + - - + + - + StringInput - - + + - - + + - + NumberInput - - + + - - + + - + DateAndTimeInput - - + + - - + + - + DateInput - - + + - - + + - + ContextInput - - + + - - + + - + BooleanInput - - + + - - + + - + AnyInput - - + + - - + + - - + + - - + + - - + + - - + + - + EnumInput - - + + - + CustomDateTimeInput - - + + - + StructInput - - + + - + CustomTimeInput - - + + - + UndefinedInput - - + + - - + + - + DaysAndTimeDurationInput - - + + - - + + - + YearsAndMonthsInput - - + + - - + + - - + + - + DeepStructInput.myStruct.foo + DeepStructInput.myStruct.bar @@ -328,358 +360,534 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Recursive.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Recursive.dmn index 5aad4dac68c..1ffc01d0768 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Recursive.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Recursive.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -35,14 +47,14 @@ - - + + - - + + - + MyInput @@ -57,28 +69,39 @@ - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Routing.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Routing.dmn index 9ca15a9c4f1..95d820d62f8 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Routing.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Routing.dmn @@ -1,4 +1,4 @@ - + - - - - + + + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - + + - + What is the risk score for this applicant? A number greater than 70 and less than 150 - + - + - + Applicant data.Age - + Applicant data.MaritialStatus - + Applicant data.EmploymentStatus - + Age @@ -95,8 +130,8 @@ Maritial Status - - + + [18..22) @@ -111,7 +146,7 @@ 32 - + @@ -128,7 +163,7 @@ 35 - + @@ -145,7 +180,7 @@ 40 - + @@ -162,7 +197,7 @@ 43 - + @@ -179,7 +214,7 @@ 48 - + @@ -196,7 +231,7 @@ 25 - + @@ -213,7 +248,7 @@ 45 - + @@ -230,7 +265,7 @@ 15 - + @@ -247,7 +282,7 @@ 18 - + @@ -264,7 +299,7 @@ 45 - + @@ -281,7 +316,7 @@ 36 - + @@ -289,34 +324,43 @@ - + Which risk category is most appropriate for this applicant given all available data? - A value from the explicit list "Decline", "High", "Medium", "Low", "Very Low". - + A value from the explicit list "Decline", "High", "Medium", "Low", "Very Low". + - + - + - + - + Applicant data.ExistingCustomer - + Bureau data.CreditScore - + Existing Customer @@ -332,8 +376,8 @@ Credit Score - - + + false @@ -348,7 +392,7 @@ "High" - + @@ -365,7 +409,7 @@ "Medium" - + @@ -382,7 +426,7 @@ "Low" - + @@ -399,7 +443,7 @@ "High" - + @@ -416,7 +460,7 @@ "Medium" - + @@ -433,7 +477,7 @@ "Low" - + @@ -450,7 +494,7 @@ "Very Low" - + @@ -467,7 +511,7 @@ "High" - + @@ -484,7 +528,7 @@ "Medium" - + @@ -501,7 +545,7 @@ "Low" - + @@ -518,7 +562,7 @@ "High" - + @@ -535,7 +579,7 @@ "Medium" - + @@ -552,7 +596,7 @@ "Low" - + @@ -560,34 +604,39 @@ - + How this should this applicant be routed given all available data? - A value from the explicit list "Decline", "Refer for Adjudication", "Accept without Review" - + A value from the explicit list "Decline", "Refer for Adjudication", "Accept without Review" + - + - + - + - + Bureau data.Bankrupt - + Bureau data.CreditScore - + Bankrupt @@ -619,7 +668,7 @@ "Decline" - + true @@ -637,7 +686,7 @@ "Decline" - + @@ -657,7 +706,7 @@ "Refer" - + @@ -677,7 +726,7 @@ "Decline" - + @@ -697,7 +746,7 @@ "Refer" - + @@ -717,7 +766,7 @@ "Accept" - + @@ -725,40 +774,42 @@ - + What is the minimum monthly installment payment required for this loan product. A dollar amount greater than zero. - + - + - + f.Installment calculation - + Requested product.ProductType - + Requested product.Rate - + Requested product.Term - + Requested product.Amount @@ -766,52 +817,58 @@ - + Can the applicant afford the loan they applied for given all available data? Yes/No - + - + - + - + - + f.Affordability calculation - + Applicant data.Monthly.Income - + Applicant data.Monthly.Repayments - + Applicant data.Monthly.Expenses - + Post-bureau risk category - + Required monthly installment @@ -888,7 +945,7 @@ 120 170 - + 170 @@ -906,7 +963,7 @@ 180 300 - + 300 @@ -924,161 +981,244 @@ - + - - - + + + - - + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Strategy.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Strategy.dmn index 649efbed3e5..6360966633f 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Strategy.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Strategy.dmn @@ -1,4 +1,4 @@ - + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - + + - - + + - + What is the minimum monthly installment payment required for this loan product? A dollar amount greater than zero - + - + - + f.Installment calculation - + Requested product.ProductType - + Requested product.Rate - + Requested product.Term - + Requested product.Amount @@ -84,34 +112,43 @@ - + What is the risk score for this applicant? A number greater than 70 and less than 150 - + - + - + Applicant data.Age - + Applicant data.MaritialStatus - + Applicant data.EmploymentStatus - + Age @@ -133,8 +170,8 @@ Maritial Status - - + + [18..22) @@ -149,7 +186,7 @@ 32 - + @@ -166,7 +203,7 @@ 35 - + @@ -183,7 +220,7 @@ 40 - + @@ -200,7 +237,7 @@ 43 - + @@ -217,7 +254,7 @@ 48 - + @@ -234,7 +271,7 @@ 25 - + @@ -251,7 +288,7 @@ 45 - + @@ -268,7 +305,7 @@ 15 - + @@ -285,7 +322,7 @@ 18 - + @@ -302,7 +339,7 @@ 45 - + @@ -319,7 +356,7 @@ 36 - + @@ -327,25 +364,35 @@ - - Which risk category is most appropriate for this applicant given only their application data? - A value from the explicit list "Decline", "High Risk", "Medium Risk", "Low Risk", "Very Low Risk" - + + Which risk category is most appropriate for this applicant given only their application data? + A value from the explicit list "Decline", "High Risk", "Medium Risk", "Low Risk", "Very Low Risk" + - + - + - + Applicant data.ExistingCustomer - + Existing Customer @@ -356,8 +403,8 @@ Application risk score - - + + false @@ -369,7 +416,7 @@ "High" - + @@ -383,7 +430,7 @@ "Medium" - + @@ -397,7 +444,7 @@ "Low" - + @@ -411,7 +458,7 @@ "Very Low" - + @@ -425,7 +472,7 @@ "Decline" - + @@ -439,7 +486,7 @@ "High" - + @@ -453,7 +500,7 @@ "Medium" - + @@ -467,7 +514,7 @@ "Low" - + @@ -475,55 +522,61 @@ - + Can the applicant afford the loan they applied for given only their application data? Yes/No - + - + - + - + - + - + f.Affordability calculation - + Applicant data.Monthly.Income - + Applicant data.Monthly.Repayments - + Applicant data.Monthly.Expenses - + Pre-bureau risk category - + Required monthly installment @@ -531,18 +584,19 @@ - - Does this applicant appear eligible for the loan they applied for given only their application data? + + Does this applicant appear eligible for the loan they applied for given only their application data? Value from the explicit list "Eligible", "Not Eligible" - + - + - + - + @@ -571,7 +625,7 @@ "Eligible", "Ineligible" - + <18 @@ -586,7 +640,7 @@ "Ineligible" - + @@ -603,7 +657,7 @@ "Ineligible" - + @@ -620,7 +674,7 @@ "Ineligible" - + @@ -637,21 +691,21 @@ "Eligible" - + - + What is the appropriate handling strategy for this application? A value from the explicit list "Decline","Bureau”,“Through" - + - + - + @@ -675,7 +729,7 @@ "Decline", "Bureau", "Through" - + - @@ -687,7 +741,7 @@ "Decline" - + @@ -701,7 +755,7 @@ "Bureau" - + @@ -715,16 +769,16 @@ "Through" - + - - + + - + @@ -735,8 +789,8 @@ "High", "Medium", "Low", "Very Low", "Decline" - - + + "High", "Medium" @@ -744,7 +798,7 @@ "Full" - + @@ -753,7 +807,7 @@ "Mini" - + @@ -762,7 +816,7 @@ "None" - + @@ -775,7 +829,7 @@ 120 376 - + 376 @@ -830,7 +884,7 @@ 180 677 - + 677 @@ -869,182 +923,278 @@ - + - - - + + + - - + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Types.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Types.dmn index 141ab5d8763..bee7a1e6919 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Types.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/Types.dmn @@ -1,4 +1,4 @@ - + - - + + EmploymentStatus @@ -129,8 +141,8 @@ - + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/application.properties b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/application.properties index 54d6f6eedd9..ce1a0f5e9e7 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/application.properties +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/application.properties @@ -19,5 +19,7 @@ quarkus.swagger-ui.always-include=true quarkus.http.cors=true -%dev.quarkus.http.cors.origins=/.*/ +quarkus.http.cors.origins=* quarkus.http.host=0.0.0.0 +quarkus.dev-ui.cors.enabled=false +quarkus.devservices.enabled=false \ No newline at end of file diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/canDrive/CanDrive.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/canDrive/CanDrive.dmn index f148133e5c1..a1c669473f2 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/canDrive/CanDrive.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/canDrive/CanDrive.dmn @@ -1,4 +1,4 @@ - + - - - + + + Types3.Country @@ -29,14 +48,14 @@ - - + + - - + + - + @@ -52,8 +71,8 @@ "Brazil", "US", "England" - - + + >= 18 @@ -65,7 +84,7 @@ true - + @@ -79,7 +98,7 @@ false - + @@ -93,7 +112,7 @@ true - + @@ -107,7 +126,7 @@ false - + @@ -121,7 +140,7 @@ true - + @@ -135,7 +154,7 @@ false - + @@ -153,28 +172,39 @@ - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/canDrive/Types3.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/canDrive/Types3.dmn index ed7bd9ffa44..8350f56ea5e 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/canDrive/Types3.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/canDrive/Types3.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -39,8 +51,8 @@ - + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/complex/can_drive.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/complex/can_drive.dmn index 0589da2c869..56a52805fdd 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/complex/can_drive.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/complex/can_drive.dmn @@ -1,4 +1,4 @@ - + - - + + string - - - - + + + + - - + + - + Age >= 18 - - + + - - + + - + Age >= 16 - - + + - + Bla = "test" - - + + @@ -85,72 +97,102 @@ - + - - - + + + - - + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/complex/can_drive_2.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/complex/can_drive_2.dmn index 3cdbb7f4666..4c7fe6098b4 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/complex/can_drive_2.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/complex/can_drive_2.dmn @@ -1,4 +1,4 @@ - + - - - + + + number - - - + + + - - + + "test" - - + + - + - + CD.DS - + Age2 @@ -57,24 +78,26 @@ - - + + - - + + - + - + CD.BKM1 - + Age3 @@ -82,8 +105,8 @@ - - + + @@ -97,7 +120,7 @@ 120 190 - + 190 @@ -106,108 +129,152 @@ 120 190 - + 190 - + - - - + + + - - + + - - + + - + - - - + + + - - + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/findEmployees/FindEmployees.dmn b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/findEmployees/FindEmployees.dmn index 2cc5895fac6..669fee27cbd 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/findEmployees/FindEmployees.dmn +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/quarkus-app/src/main/resources/findEmployees/FindEmployees.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -55,21 +67,25 @@ tKnowledge - - + + - - - + + + - + employees[item.Dept = dept] - + for e in Employees by return if (list contains(e.Knowledges, knowledge)) @@ -86,13 +102,13 @@ else null - - + + - - - - + + + + 32 @@ -152,38 +168,38 @@ else null - - + + - + - + - + - + Find employee by knowledge - + Employees - + Knowledge - + Dept @@ -191,12 +207,12 @@ else null - - + + - - + + @@ -227,28 +243,28 @@ else null 150 252 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + 50 120 100 - + 100 @@ -260,67 +276,99 @@ else null - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/start.js b/packages/dev-deployment-dmn-form-webapp/dev-webapp/start.js index a59b4a78669..ab44038f1fc 100644 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/start.js +++ b/packages/dev-deployment-dmn-form-webapp/dev-webapp/start.js @@ -64,8 +64,26 @@ if (process.argv.indexOf("--env") !== -1 && process.argv[process.argv.indexOf("- const webpack = spawn( "npx", - ["webpack", "serve", "-c", path.join(__dirname, "./webapp/webpack.config.js"), "--host", "0.0.0.0", "--env", mode], - { shell: true } + [ + "webpack", + "serve", + "-c", + path.join(__dirname, "../webpack.config.ts"), + "--host", + "0.0.0.0", + "--env", + mode, + "--port", + buildEnv.devDeploymentDmnFormWebapp.dev.webpackPort, + ], + { + shell: true, + env: { + ...process.env, // contains PATH which is needed to find the commands + DEV_DEPLOYMENT_DMN_FORM_WEBAPP__quarkusAppOrigin: `http://localhost:${buildEnv.devDeploymentDmnFormWebapp.dev.quarkusPort}`, + DEV_DEPLOYMENT_DMN_FORM_WEBAPP__quarkusAppPath: "", + }, + } ); webpack.stdout.on("data", (data) => { diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/index.css b/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/index.css deleted file mode 100644 index 2eb137daf23..00000000000 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/index.css +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -.showcase { - display: flex; - flex-direction: column; -} - -.showcase .boxed-expression { - overflow-y: auto; - height: calc(70vh - 8px); -} - -.showcase .updated-json { - border-style: inset; - padding: 1em; - height: calc(30vh - 8px - 2em - 4px); - overflow-y: auto; -} - -.showcase .updated-json .buttons button, -.expression-definition-editor-modal button { - cursor: pointer; -} - -.expression-definition-editor-modal .typed-expression { - height: 20em; - width: 100%; - overflow: auto; - resize: none; -} diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/index.tsx b/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/index.tsx deleted file mode 100644 index 7cd55535b10..00000000000 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/index.tsx +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@patternfly/react-core/dist/styles/base.css"; -import * as React from "react"; -import * as ReactDOM from "react-dom"; -import "./static/resources/style.css"; -import { DmnFormApp } from "../../src/DmnFormApp"; - -ReactDOM.render( - , - document.getElementById("root") -); diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/static/images/app_logo_rgb_fullcolor_reverse.svg b/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/static/images/app_logo_rgb_fullcolor_reverse.svg deleted file mode 100644 index 2cd885c3761..00000000000 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/static/images/app_logo_rgb_fullcolor_reverse.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/static/index.html b/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/static/index.html deleted file mode 100644 index 6c0f4a2fbc7..00000000000 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/static/index.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - DMN Dev Deployments Form Webapp - Showcase - - - - - - - - - -
- - - diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/static/logo.png b/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/static/logo.png deleted file mode 100644 index 36915163541..00000000000 Binary files a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/static/logo.png and /dev/null differ diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/static/resources/style.css b/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/static/resources/style.css deleted file mode 100644 index 6d20a0817ab..00000000000 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/static/resources/style.css +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -.pf-c-page__header { - /* this adjusts the max specifically for our logo */ - --pf-c-page__header-brand-link--c-brand--MaxHeight: 39px; -} -.pf-c-page__header-brand-link { - text-decoration: none; -} - -.kogito--alert-container { - position: fixed; - display: flex; - width: 100%; - justify-content: center; - align-items: center; - padding: 1em; - z-index: 1000; -} - -.kogito--dmn-form__toolbar { - --pf-c-page__header--BackgroundColor: var(--pf-global--palette--blue-600); - --pf-c-page__header-nav--BackgroundColor: var(--pf-global--palette--blue-600); -} - -.kogito--dmn-form__toolbar-logo { - cursor: default; - display: inline; -} - -.kogito--dmn-form__toolbar-filename { - font-weight: bold; -} - -.kogito--dmn-form__toolbar-icon-button { - --pf-c-button--FontSize: var(--pf-global--icon--FontSize--md); -} - -.kogito--dmn-form__toolbar-tooltip { - --pf-c-tooltip__content--Color: var(--pf-global--BackgroundColor--dark-100); - --pf-c-tooltip__content--BackgroundColor: var(--pf-global--BackgroundColor--light-100); -} - -.kogito--dmn-form__toolbar.a { - color: var(--pf-global--Color--dark-100); - text-decoration: none; -} - -.kogito--dmn-form { - display: flex; - height: 100%; - overflow: hidden; -} - -.kogito--dmn-form__toolbar-title { - background-color: var(--pf-c-page__header-nav--BackgroundColor); - color: var(--pf-global--Color--light-100); - font-size: var(--pf-global--FontSize--xl); - font-weight: bold; - text-align: center; - cursor: alias; -} - -@media screen and (min-width: 1200px) { - .kogito--dmn-form__toolbar { - --pf-c-page__header--MinHeight: unset; - } - - .kogito--dmn-form__toolbar .pf-c-page__header-nav { - align-self: center; - justify-content: center; - height: 100%; - } - - .kogito--dmn-form__toolbar-title { - font-size: var(--pf-global--FontSize--xl); - } - - .kogito--dmn-form__content { - width: 50%; - height: 100%; - } -} - -@media screen and (min-width: 0px) and (max-width: 1200px) { - .kogito--dmn-form__toolbar .pf-c-page__header-nav { - display: none; - } - - .kogito--dmn-form__toolbar-title { - font-size: var(--pf-global--FontSize--sm); - } - - .kogito--dmn-form { - display: flex; - flex-direction: column; - } - - .kogito--dmn-form__content { - width: 100%; - height: 50%; - } -} - -.kogito--dmn-form__content-header { - display: flex; - justify-content: space-between; - align-items: center; - height: 50px; -} - -.kogito--dmn-form__content-body { - overflow-y: auto; - height: 100%; -} - -.kogito--dmn-form__content-body-input { - padding-top: 0; -} - -.kogito--dmn-form__content-body-output { - padding-top: 0; - padding-left: 12px; - padding-right: 12px; -} - -.kogito--dmn-form__content-page { - flex-grow: 0; - flex-shrink: 0; - overflow: hidden; -} - -@media screen and (min-width: 1200px) { - .kogito--dmn-form__content-page { - max-height: calc(100vh - 76px); - flex-basis: 50%; - } -} - -@media screen and (min-width: 0px) and (max-width: 1200px) { - .kogito--dmn-form__content-page { - max-height: unset; - flex-basis: 100%; - } -} diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/tsconfig.json b/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/tsconfig.json deleted file mode 100644 index 2bd1ee5b0c2..00000000000 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "sourceMap": false - } -} diff --git a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/webpack.config.js b/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/webpack.config.js deleted file mode 100644 index 35d859dae8f..00000000000 --- a/packages/dev-deployment-dmn-form-webapp/dev-webapp/webapp/webpack.config.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -const path = require("path"); -const CopyPlugin = require("copy-webpack-plugin"); -const patternflyBase = require("@kie-tools-core/patternfly-base"); -const { merge } = require("webpack-merge"); -const common = require("@kie-tools-core/webpack-base/webpack.common.config"); -const { env } = require("../../env"); -const { ProvidePlugin, EnvironmentPlugin } = require("webpack"); -const NodePolyfillPlugin = require("node-polyfill-webpack-plugin"); - -const buildEnv = env; - -module.exports = (env) => - merge(common(env), { - mode: "development", - entry: { - index: path.resolve(__dirname, "./index.tsx"), - }, - output: { - path: path.resolve(__dirname, "../dist-dev"), - }, - plugins: [ - new CopyPlugin({ - patterns: [{ from: path.resolve(__dirname, "./static"), to: "./" }], - }), - new ProvidePlugin({ - process: require.resolve("process/browser.js"), - Buffer: ["buffer", "Buffer"], - }), - new EnvironmentPlugin({ - WEBPACK_REPLACE__quarkusPort: buildEnv.devDeploymentDmnFormWebapp.dev.quarkusPort, - }), - new NodePolyfillPlugin(), - ], - module: { - rules: [...patternflyBase.webpackModuleRules], - }, - devServer: { - static: { directory: path.join(__dirname, "./dist") }, - historyApiFallback: true, - compress: true, - port: buildEnv.devDeploymentDmnFormWebapp.dev.webpackPort, - open: false, - hot: true, - client: { - overlay: true, - }, - }, - }); diff --git a/packages/dev-deployment-dmn-form-webapp/env/index.js b/packages/dev-deployment-dmn-form-webapp/env/index.js index e82bce2525f..69ea38c6ed4 100644 --- a/packages/dev-deployment-dmn-form-webapp/env/index.js +++ b/packages/dev-deployment-dmn-form-webapp/env/index.js @@ -17,13 +17,26 @@ * under the License. */ -const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); +const { varsWithName, composeEnv, getOrDefault } = require("@kie-tools-scripts/build-env"); module.exports = composeEnv([require("@kie-tools/root-env/env")], { - vars: varsWithName({}), + vars: varsWithName({ + DEV_DEPLOYMENT_DMN_FORM_WEBAPP__quarkusAppOrigin: { + description: "The origin where the quarkus application is running. e.g. localhost:8080", + default: "", + }, + DEV_DEPLOYMENT_DMN_FORM_WEBAPP__quarkusAppPath: { + description: "The path related to the origin where the quarkus application hosts its API", + default: "", + }, + }), get env() { return { devDeploymentDmnFormWebapp: { + quarkusApp: { + origin: getOrDefault(this.vars.DEV_DEPLOYMENT_DMN_FORM_WEBAPP__quarkusAppOrigin), + path: getOrDefault(this.vars.DEV_DEPLOYMENT_DMN_FORM_WEBAPP__quarkusAppPath), + }, dev: { webpackPort: 9008, quarkusPort: 9009, diff --git a/packages/dev-deployment-dmn-form-webapp/jest.config.js b/packages/dev-deployment-dmn-form-webapp/jest.config.js index dcac3d45491..6096b37ddad 100644 --- a/packages/dev-deployment-dmn-form-webapp/jest.config.js +++ b/packages/dev-deployment-dmn-form-webapp/jest.config.js @@ -17,23 +17,14 @@ * under the License. */ +const { config, jestSetupPath, styleMock } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - setupFilesAfterEnv: ["./src/__tests__/jest.setup.ts"], - testRegex: "/__tests__/.*\\.test\\.(jsx?|tsx?)$", - transformIgnorePatterns: [], - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, + ...config, + testEnvironment: "jsdom", + setupFilesAfterEnv: [jestSetupPath], moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/__mocks__/styleMock.js", + ...styleMock, }, }; diff --git a/packages/dev-deployment-dmn-form-webapp/package.json b/packages/dev-deployment-dmn-form-webapp/package.json index 2a89730608a..b7e16ee2ea7 100644 --- a/packages/dev-deployment-dmn-form-webapp/package.json +++ b/packages/dev-deployment-dmn-form-webapp/package.json @@ -46,34 +46,35 @@ "@babel/preset-react": "^7.16.0", "@kie-tools-core/webpack-base": "workspace:*", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@testing-library/jest-dom": "^6.4.6", + "@testing-library/react": "^12.1.5", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/json-schema": "^7.0.11", "@types/lodash": "^4.14.168", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", "@types/react-router": "^5.1.20", "@types/react-router-dom": "^5.3.3", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", "copy-webpack-plugin": "^11.0.0", "cross-env": "^7.0.3", "html-webpack-plugin": "^5.3.2", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "node-polyfill-webpack-plugin": "^2.0.1", "process": "^0.11.10", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", + "ts-node": "^10.9.1", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/dev-deployment-dmn-form-webapp/src/AppContext.tsx b/packages/dev-deployment-dmn-form-webapp/src/AppContext.tsx index 5b8956fac56..115d700b33f 100644 --- a/packages/dev-deployment-dmn-form-webapp/src/AppContext.tsx +++ b/packages/dev-deployment-dmn-form-webapp/src/AppContext.tsx @@ -23,6 +23,8 @@ import { AppData } from "./DmnDevDeploymentFormWebAppDataApi"; export interface AppContextType { fetchDone: boolean; data?: AppData; + quarkusAppOrigin: string; + quarkusAppPath: string; } export const AppContext = createContext({} as any); diff --git a/packages/dev-deployment-dmn-form-webapp/src/AppContextProvider.tsx b/packages/dev-deployment-dmn-form-webapp/src/AppContextProvider.tsx index 1392056cf16..7a7959f62ca 100644 --- a/packages/dev-deployment-dmn-form-webapp/src/AppContextProvider.tsx +++ b/packages/dev-deployment-dmn-form-webapp/src/AppContextProvider.tsx @@ -17,24 +17,44 @@ * under the License. */ -import React, { ReactNode, useCallback, useState } from "react"; +import React, { ReactNode, useCallback, useState, useMemo, useEffect } from "react"; +import * as path from "path"; import { AppContext } from "./AppContext"; import { AppData, fetchAppData } from "./DmnDevDeploymentFormWebAppDataApi"; import { useCancelableEffect } from "@kie-tools-core/react-hooks/dist/useCancelableEffect"; -import { DmnFormAppProps } from "./DmnFormApp"; +import { useEnv } from "./env/hooks/EnvContext"; -interface Props extends DmnFormAppProps { +interface Props { children: ReactNode; } +// The following regular expression matches everything between the first and last '/'. +const re = new RegExp("^([^/]*)/|/(?=[^/]*$)", "g"); + export function AppContextProvider(props: Props) { const [fetchDone, setFetchDone] = useState(false); const [data, setData] = useState(); + const { env } = useEnv(); + + const quarkusAppOrigin = useMemo( + () => + env.DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_ORIGIN?.length + ? env.DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_ORIGIN + : window.location.origin, + [env.DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_ORIGIN] + ); + const quarkusAppPath = useMemo( + () => + env.DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_PATH?.length + ? env.DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_PATH + : path.join(window.location.pathname, window.location.pathname !== "/" ? ".." : "").replace(re, "$1"), + [env.DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_PATH] + ); useCancelableEffect( useCallback( ({ canceled }) => { - fetchAppData(props) + fetchAppData({ quarkusAppOrigin, quarkusAppPath }) .then((data: AppData) => { if (canceled.get()) { return; @@ -44,9 +64,13 @@ export function AppContextProvider(props: Props) { .catch((error: any) => console.error(error)) .finally(() => setFetchDone(true)); }, - [props] + [quarkusAppOrigin, quarkusAppPath] ) ); - return {props.children}; + return ( + + {props.children} + + ); } diff --git a/packages/dev-deployment-dmn-form-webapp/src/DmnDevDeploymentFormWebAppDataApi.tsx b/packages/dev-deployment-dmn-form-webapp/src/DmnDevDeploymentFormWebAppDataApi.tsx index db8a4fa18b4..7126f62da62 100644 --- a/packages/dev-deployment-dmn-form-webapp/src/DmnDevDeploymentFormWebAppDataApi.tsx +++ b/packages/dev-deployment-dmn-form-webapp/src/DmnDevDeploymentFormWebAppDataApi.tsx @@ -20,8 +20,6 @@ import { ExtendedServicesFormSchema } from "@kie-tools/extended-services-api"; import OpenAPIParser from "@readme/openapi-parser"; import { routes } from "./Routes"; -import { DmnFormAppProps } from "./DmnFormApp"; -import * as path from "path"; export interface FormData { modelName: string; @@ -30,38 +28,50 @@ export interface FormData { export interface AppData { forms: FormData[]; - baseOrigin: string; - basePath: string; } export type DmnDefinitionsJson = FormData; -export async function fetchAppData(args: DmnFormAppProps): Promise { +export async function fetchAppData(args: { quarkusAppOrigin: string; quarkusAppPath: string }): Promise { const openApiSpec = await ( - await fetch(routes.quarkusApp.openApiJson.path({}, args.baseOrigin, args.basePath)) + await fetch(routes.quarkusApp.openApiJson.path({}, args.quarkusAppOrigin, args.quarkusAppPath)) ).json(); - const fixedRefOpenApiSpec = JSON.parse( - JSON.stringify(openApiSpec).replace( - new RegExp(`${args.basePath ? `/${args.basePath}` : ""}/dmnDefinitions.json`, "g"), - routes.quarkusApp.dmnDefinitionsJson.path({}, args.baseOrigin, args.basePath) - ) - ); - const dereferencedSpec = await OpenAPIParser.dereference(fixedRefOpenApiSpec, { + // Append origin to schema $refs + Object.keys(openApiSpec.paths).forEach((modelPath) => { + const inputSetSchemaRef = openApiSpec.paths[modelPath]?.post.requestBody.content["application/json"].schema.$ref; + const outputSetSchemaRef = + openApiSpec.paths[modelPath]?.post.responses.default?.content["application/json"].schema.$ref; + + if (inputSetSchemaRef) { + openApiSpec.paths[modelPath].post.requestBody.content["application/json"].schema.$ref = + `${args.quarkusAppOrigin}${inputSetSchemaRef}`; + } + + if (outputSetSchemaRef) { + openApiSpec.paths[modelPath].post.responses.default.content["application/json"].schema.$ref = + `${args.quarkusAppOrigin}${outputSetSchemaRef}`; + } + }); + + // Dereference schema (replace $refs with their values fetched from the .json files) + const dereferencedSpec = await OpenAPIParser.dereference(openApiSpec, { dereference: { circular: "ignore" }, }); + // Filter models with dmnresult endpoints const models = Object.keys(dereferencedSpec.paths) .filter((path: string) => path.includes("/dmnresult")) .map((path) => path.replace("/dmnresult", "")); + // Generate form objects from the models const forms = models.map((modelPath: string) => { const inputSetSchema = dereferencedSpec.paths[modelPath]?.post.requestBody.content["application/json"].schema; const outputSetSchema = dereferencedSpec.paths[modelPath]?.post.responses.default.content["application/json"].schema; return { - modelName: modelPath.replace(args.basePath ? `/${args.basePath}` : "", "").replace("/", ""), + modelName: modelPath.replace(args.quarkusAppPath ? `/${args.quarkusAppPath}` : "", "").replace("/", ""), schema: { $ref: "#/definitions/InputSet", definitions: { @@ -78,7 +88,5 @@ export async function fetchAppData(args: DmnFormAppProps): Promise { return { forms, - baseOrigin: args.baseOrigin, - basePath: args.basePath, }; } diff --git a/packages/dev-deployment-dmn-form-webapp/src/DmnDevDeploymentRuntimeApi.tsx b/packages/dev-deployment-dmn-form-webapp/src/DmnDevDeploymentRuntimeApi.tsx index 568f29cfd98..27f02eea971 100644 --- a/packages/dev-deployment-dmn-form-webapp/src/DmnDevDeploymentRuntimeApi.tsx +++ b/packages/dev-deployment-dmn-form-webapp/src/DmnDevDeploymentRuntimeApi.tsx @@ -19,16 +19,17 @@ import { DecisionResult } from "@kie-tools/extended-services-api"; import { routes } from "./Routes"; -import { DmnFormAppProps } from "./DmnFormApp"; -export interface FetchDmnResultArgs extends DmnFormAppProps { +export interface FetchDmnResultArgs { modelName: string; inputs: any; + quarkusAppOrigin: string; + quarkusAppPath: string; } export async function fetchDmnResult(args: FetchDmnResultArgs): Promise { const response = await fetch( - routes.quarkusApp.dmnResult.path({ modelName: args.modelName }, args.baseOrigin, args.basePath), + routes.quarkusApp.dmnResult.path({ modelName: args.modelName }, args.quarkusAppOrigin, args.quarkusAppPath), { method: "POST", headers: { diff --git a/packages/dev-deployment-dmn-form-webapp/src/DmnFormApp.tsx b/packages/dev-deployment-dmn-form-webapp/src/DmnFormApp.tsx index ed2a2fa2782..7dc84f48aae 100644 --- a/packages/dev-deployment-dmn-form-webapp/src/DmnFormApp.tsx +++ b/packages/dev-deployment-dmn-form-webapp/src/DmnFormApp.tsx @@ -29,9 +29,7 @@ import { DmnFormI18nContext, dmnFormI18nDefaults, dmnFormI18nDictionaries } from import { NoMatchPage } from "./NoMatchPage"; import { routes } from "./Routes"; -export type DmnFormAppProps = { baseOrigin: string; basePath: string }; - -export function DmnFormApp(props: DmnFormAppProps) { +export function DmnFormApp() { return ( - + {(app) => app.fetchDone && ( @@ -49,11 +47,7 @@ export function DmnFormApp(props: DmnFormAppProps) { {({ match }) => { const formData = app.data!.forms.find((form) => form.modelName === match?.params.modelName); - return formData ? ( - - ) : ( - - ); + return formData ? : ; }} )} diff --git a/packages/dev-deployment-dmn-form-webapp/src/DmnFormPage.tsx b/packages/dev-deployment-dmn-form-webapp/src/DmnFormPage.tsx index 93c86771dc6..638ae1c02b9 100644 --- a/packages/dev-deployment-dmn-form-webapp/src/DmnFormPage.tsx +++ b/packages/dev-deployment-dmn-form-webapp/src/DmnFormPage.tsx @@ -34,11 +34,11 @@ import { useDmnFormI18n } from "./i18n"; import { useCancelableEffect } from "@kie-tools-core/react-hooks/dist/useCancelableEffect"; import { dereferenceAndCheckForRecursion, getDefaultValues } from "@kie-tools/dmn-runner/dist/jsonSchema"; import { extractDifferences } from "@kie-tools/dmn-runner/dist/results"; -import { DmnFormAppProps } from "./DmnFormApp"; import { openapiSchemaToJsonSchema } from "@openapi-contrib/openapi-schema-to-json-schema"; import type { JSONSchema4 } from "json-schema"; +import { useApp } from "./AppContext"; -interface Props extends DmnFormAppProps { +interface Props { formData: FormData; } @@ -60,6 +60,7 @@ export function DmnFormPage(props: Props) { const [openAlert, setOpenAlert] = useState(AlertTypes.NONE); const [pageError, setPageError] = useState(false); const errorBoundaryRef = useRef(null); + const { quarkusAppOrigin, quarkusAppPath } = useApp(); useCancelableEffect( useCallback( @@ -93,8 +94,8 @@ export function DmnFormPage(props: Props) { const onSubmit = useCallback(async () => { try { const formOutputs = await fetchDmnResult({ - baseOrigin: props.baseOrigin, - basePath: props.basePath, + quarkusAppOrigin, + quarkusAppPath, modelName: props.formData.modelName, inputs: formInputs, }); @@ -111,7 +112,7 @@ export function DmnFormPage(props: Props) { setOpenAlert(AlertTypes.ERROR); console.error(error); } - }, [formInputs, props.formData.modelName, props.baseOrigin, props.basePath]); + }, [quarkusAppOrigin, quarkusAppPath, props.formData.modelName, formInputs]); const pageErrorMessage = useMemo( () => ( diff --git a/packages/dev-deployment-dmn-form-webapp/src/DmnFormToolbar.tsx b/packages/dev-deployment-dmn-form-webapp/src/DmnFormToolbar.tsx index 5ef3533af35..e1b6d48020f 100644 --- a/packages/dev-deployment-dmn-form-webapp/src/DmnFormToolbar.tsx +++ b/packages/dev-deployment-dmn-form-webapp/src/DmnFormToolbar.tsx @@ -64,8 +64,8 @@ export function DmnFormToolbar(props: Props) { const [modelDropdownOpen, setModelDropdownOpen] = useState(false); const onOpenSwaggerUI = useCallback(() => { - window.open(routes.quarkusApp.swaggerUi.path({}, app.data?.baseOrigin, app.data?.basePath), "_blank"); - }, [app.data?.baseOrigin, app.data?.basePath]); + window.open(routes.quarkusApp.swaggerUi.path({}, app.quarkusAppOrigin, app.quarkusAppPath), "_blank"); + }, [app.quarkusAppOrigin, app.quarkusAppPath]); const openForm = useCallback( (modelName: string) => { @@ -150,7 +150,7 @@ export function DmnFormToolbar(props: Props) {    - Dev deployments + Dev Deployments diff --git a/packages/dev-deployment-dmn-form-webapp/src/Routes.tsx b/packages/dev-deployment-dmn-form-webapp/src/Routes.tsx index aa479fe00e0..88e2d7fd304 100644 --- a/packages/dev-deployment-dmn-form-webapp/src/Routes.tsx +++ b/packages/dev-deployment-dmn-form-webapp/src/Routes.tsx @@ -33,7 +33,7 @@ export class Route< T extends { pathParams?: any; queryParams?: any; - } + }, > { constructor( private readonly pathDelegate: ( @@ -49,6 +49,7 @@ export class Route< queryParams?: Partial<{ [k in T["queryParams"]]: string }>; baseOrigin?: string; basePath?: string; + modelName?: string; }) { const SEP = args.base?.endsWith("/") ? "" : "/"; const HASH = IS_HASH_ROUTER ? "#" : ""; @@ -124,9 +125,9 @@ export const routes = { error: new Route<{}>(() => "/error"), quarkusApp: { - dmnDefinitionsJson: new Route<{}>((_, baseOrigin, basePath) => - urlFromBasePath(baseOrigin, basePath, "/dmnDefinitions.json") - ), + modelDefinitionsJson: new Route<{ + pathParams: PathParams.MODEL_NAME; + }>(({ modelName }, baseOrigin, basePath) => urlFromBasePath(baseOrigin, basePath, `/${modelName}.json`)), openApiJson: new Route<{}>((_, baseOrigin, basePath) => urlFromBasePath(baseOrigin, basePath, "/q/openapi?format=json") ), diff --git a/packages/dev-deployment-dmn-form-webapp/src/__tests__/jest.setup.ts b/packages/dev-deployment-dmn-form-webapp/src/__tests__/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/dev-deployment-dmn-form-webapp/src/__tests__/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/dashbuilder-component-victory-charts/tests/jest.setup.ts b/packages/dev-deployment-dmn-form-webapp/src/env/EnvConstants.ts similarity index 95% rename from packages/dashbuilder-component-victory-charts/tests/jest.setup.ts rename to packages/dev-deployment-dmn-form-webapp/src/env/EnvConstants.ts index 1c413b1660e..2da6f6e8c3c 100644 --- a/packages/dashbuilder-component-victory-charts/tests/jest.setup.ts +++ b/packages/dev-deployment-dmn-form-webapp/src/env/EnvConstants.ts @@ -17,4 +17,4 @@ * under the License. */ -import "@testing-library/jest-dom"; +export const ENV_FILE_PATH = "env.json"; diff --git a/packages/dashbuilder-component-uniforms/tests/jest.setup.ts b/packages/dev-deployment-dmn-form-webapp/src/env/EnvJson.ts similarity index 84% rename from packages/dashbuilder-component-uniforms/tests/jest.setup.ts rename to packages/dev-deployment-dmn-form-webapp/src/env/EnvJson.ts index 1c413b1660e..a14a580b77e 100644 --- a/packages/dashbuilder-component-uniforms/tests/jest.setup.ts +++ b/packages/dev-deployment-dmn-form-webapp/src/env/EnvJson.ts @@ -17,4 +17,7 @@ * under the License. */ -import "@testing-library/jest-dom"; +export interface EnvJson { + DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_ORIGIN: string; + DEV_DEPLOYMENT_DMN_FORM_WEBAPP_QUARKUS_APP_PATH: string; +} diff --git a/packages/dev-deployment-dmn-form-webapp/src/env/hooks/EnvContext.tsx b/packages/dev-deployment-dmn-form-webapp/src/env/hooks/EnvContext.tsx new file mode 100644 index 00000000000..bcb557f4a86 --- /dev/null +++ b/packages/dev-deployment-dmn-form-webapp/src/env/hooks/EnvContext.tsx @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as React from "react"; +import { useContext } from "react"; +import { EnvJson } from "../EnvJson"; + +export interface EnvContextType { + env: EnvJson; +} + +export const EnvContext = React.createContext({} as any); + +export function useEnv() { + return useContext(EnvContext); +} diff --git a/packages/dev-deployment-dmn-form-webapp/src/env/hooks/EnvContextProvider.tsx b/packages/dev-deployment-dmn-form-webapp/src/env/hooks/EnvContextProvider.tsx new file mode 100644 index 00000000000..8fdaa6bde75 --- /dev/null +++ b/packages/dev-deployment-dmn-form-webapp/src/env/hooks/EnvContextProvider.tsx @@ -0,0 +1,67 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as React from "react"; +import { useCallback, useMemo, useState } from "react"; +import { useCancelableEffect } from "@kie-tools-core/react-hooks/dist/useCancelableEffect"; +import { ENV_FILE_PATH } from "../EnvConstants"; +import { EnvJson } from "../EnvJson"; +import { EnvContext } from "./EnvContext"; + +interface Props { + children: React.ReactNode; +} + +export function EnvContextProvider(props: Props) { + const [env, setEnv] = useState(); + const [fetchDone, setFetchDone] = useState(false); + + useCancelableEffect( + useCallback(({ canceled }) => { + fetch(ENV_FILE_PATH) + .then(async (response) => { + if (canceled.get()) { + return; + } + + if (!response.ok) { + throw new Error(`Failed to fetch ${ENV_FILE_PATH}: ${response.statusText}`); + } + + const envJson = await response.json(); + setEnv((prev) => ({ ...(prev ?? {}), ...envJson })); + }) + .catch((e) => { + console.error(e); + }) + .finally(() => { + setFetchDone(true); + }); + }, []) + ); + + const value = useMemo( + () => ({ + env: env!, + }), + [env] + ); + + return {fetchDone && props.children}; +} diff --git a/packages/dev-deployment-dmn-form-webapp/src/i18n/locales/en.ts b/packages/dev-deployment-dmn-form-webapp/src/i18n/locales/en.ts index 41920534b66..caf055845ba 100644 --- a/packages/dev-deployment-dmn-form-webapp/src/i18n/locales/en.ts +++ b/packages/dev-deployment-dmn-form-webapp/src/i18n/locales/en.ts @@ -26,7 +26,7 @@ export const en: DmnFormI18n = { formToolbar: { disclaimer: { title: "Development only", - description: `Dev deployments are intended to be used for ${"development".bold()} purposes only, so users should not use the + description: `Dev Deployments are intended to be used for ${"development".bold()} purposes only, so users should not use the deployed services in production or for any type of business-critical workloads.`, }, }, diff --git a/packages/dev-deployment-dmn-form-webapp/src/index.tsx b/packages/dev-deployment-dmn-form-webapp/src/index.tsx index 637ea868599..fe380628127 100644 --- a/packages/dev-deployment-dmn-form-webapp/src/index.tsx +++ b/packages/dev-deployment-dmn-form-webapp/src/index.tsx @@ -21,13 +21,12 @@ import "@patternfly/react-core/dist/styles/base.css"; import * as React from "react"; import * as ReactDOM from "react-dom"; import { DmnFormApp } from "./DmnFormApp"; -import * as path from "path"; import "../static/resources/style.css"; +import { EnvContextProvider } from "./env/hooks/EnvContextProvider"; -// The following regular expression matches everything between the first and last '/'. -const re = new RegExp("^([^/]*)/|/(?=[^/]*$)", "g"); - -const baseOrigin = window.location.origin; -const basePath = path.join(window.location.pathname, window.location.pathname !== "/" ? ".." : "").replace(re, "$1"); - -ReactDOM.render(, document.getElementById("app")!); +ReactDOM.render( + + + , + document.getElementById("app")! +); diff --git a/packages/dev-deployment-dmn-form-webapp/static/env.json b/packages/dev-deployment-dmn-form-webapp/static/env.json new file mode 100644 index 00000000000..0bcdd4c5d7c --- /dev/null +++ b/packages/dev-deployment-dmn-form-webapp/static/env.json @@ -0,0 +1 @@ +{ "This file is placeholder": "Actual content is set at webpack.config.ts" } diff --git a/packages/dev-deployment-dmn-form-webapp/static/favicon.svg b/packages/dev-deployment-dmn-form-webapp/static/favicon.svg index e0c8c45f283..8806924e382 100644 --- a/packages/dev-deployment-dmn-form-webapp/static/favicon.svg +++ b/packages/dev-deployment-dmn-form-webapp/static/favicon.svg @@ -1,5 +1,5 @@ - - - + kie_icon_rgb_fullcolor_default - - - - - - - + + + + + + + diff --git a/packages/dev-deployment-dmn-form-webapp/static/images/app_logo_rgb_fullcolor_reverse.svg b/packages/dev-deployment-dmn-form-webapp/static/images/app_logo_rgb_fullcolor_reverse.svg index 2cd885c3761..84e3d508ef0 100644 --- a/packages/dev-deployment-dmn-form-webapp/static/images/app_logo_rgb_fullcolor_reverse.svg +++ b/packages/dev-deployment-dmn-form-webapp/static/images/app_logo_rgb_fullcolor_reverse.svg @@ -1,6 +1,6 @@ - + - - - + + + + + + + + + + + + + + + + + diff --git a/packages/dev-deployment-dmn-form-webapp/static/index.html b/packages/dev-deployment-dmn-form-webapp/static/index.html index ecf416cddae..76a59dd2f99 100644 --- a/packages/dev-deployment-dmn-form-webapp/static/index.html +++ b/packages/dev-deployment-dmn-form-webapp/static/index.html @@ -6,21 +6,21 @@ ~ to you under the Apache License, Version 2.0 (the ~ "License"); you may not use this file except in compliance ~ with the License. You may obtain a copy of the License at - ~ + ~ ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ + ~ ~ Unless required by applicable law or agreed to in writing, ~ software distributed under the License is distributed on an ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~ KIND, either express or implied. See the License for the ~ specific language governing permissions and limitations - ~ under the License. + ~ under the License. --> - + - DMN Dev deployment + DMN Dev Deployment diff --git a/packages/dev-deployment-dmn-form-webapp/src/__tests__/DmnFormToolbar.test.tsx b/packages/dev-deployment-dmn-form-webapp/tests/DmnFormToolbar.test.tsx similarity index 90% rename from packages/dev-deployment-dmn-form-webapp/src/__tests__/DmnFormToolbar.test.tsx rename to packages/dev-deployment-dmn-form-webapp/tests/DmnFormToolbar.test.tsx index 4966b7907ef..64abb8e07ac 100644 --- a/packages/dev-deployment-dmn-form-webapp/src/__tests__/DmnFormToolbar.test.tsx +++ b/packages/dev-deployment-dmn-form-webapp/tests/DmnFormToolbar.test.tsx @@ -19,7 +19,7 @@ import * as React from "react"; import { render } from "@testing-library/react"; -import { DmnFormToolbar } from "../DmnFormToolbar"; +import { DmnFormToolbar } from "../src/DmnFormToolbar"; import { usingTestingAppContext, usingTestingDmnFormI18nContext } from "./testing_utils"; describe("DmnFormToolbar", () => { @@ -30,9 +30,9 @@ describe("DmnFormToolbar", () => { usingTestingAppContext(, { data: { forms: [{ modelName, schema: {} }], - baseOrigin: "http://localhost", - basePath: "", }, + quarkusAppOrigin: "http://localhost", + quarkusAppPath: "", }).wrapper ).wrapper ); @@ -46,9 +46,9 @@ describe("DmnFormToolbar", () => { usingTestingAppContext(, { data: { forms: [{ modelName, schema: {} }], - baseOrigin: "http://localhost", - basePath: "", }, + quarkusAppOrigin: "http://localhost", + quarkusAppPath: "", }).wrapper ).wrapper ); diff --git a/packages/dashbuilder-editor/tests/__mocks__/styleMock.js b/packages/dev-deployment-dmn-form-webapp/tests/__mocks__/styleMock.js similarity index 100% rename from packages/dashbuilder-editor/tests/__mocks__/styleMock.js rename to packages/dev-deployment-dmn-form-webapp/tests/__mocks__/styleMock.js diff --git a/packages/dashbuilder-component-dev/tests/jest.setup.ts b/packages/dev-deployment-dmn-form-webapp/tests/jest.setup.ts similarity index 100% rename from packages/dashbuilder-component-dev/tests/jest.setup.ts rename to packages/dev-deployment-dmn-form-webapp/tests/jest.setup.ts diff --git a/packages/dev-deployment-dmn-form-webapp/src/__tests__/testing_utils.tsx b/packages/dev-deployment-dmn-form-webapp/tests/testing_utils.tsx similarity index 92% rename from packages/dev-deployment-dmn-form-webapp/src/__tests__/testing_utils.tsx rename to packages/dev-deployment-dmn-form-webapp/tests/testing_utils.tsx index 189b69e8c1a..91771d164c0 100644 --- a/packages/dev-deployment-dmn-form-webapp/src/__tests__/testing_utils.tsx +++ b/packages/dev-deployment-dmn-form-webapp/tests/testing_utils.tsx @@ -19,8 +19,8 @@ import { I18nDictionariesProvider, I18nDictionariesProviderProps } from "@kie-tools-core/i18n/dist/react-components"; import React from "react"; -import { AppContext, AppContextType } from "../AppContext"; -import { DmnFormI18n, DmnFormI18nContext, dmnFormI18nDefaults, dmnFormI18nDictionaries } from "../i18n"; +import { AppContext, AppContextType } from "../src/AppContext"; +import { DmnFormI18n, DmnFormI18nContext, dmnFormI18nDefaults, dmnFormI18nDictionaries } from "../src/i18n"; export function usingTestingDmnFormI18nContext( children: React.ReactElement, @@ -43,7 +43,7 @@ export function usingTestingDmnFormI18nContext( }; } -export function usingTestingAppContext(children: React.ReactElement, ctx?: Partial) { +export function usingTestingAppContext(children: React.ReactElement, ctx: Omit) { const usedCtx: AppContextType = { fetchDone: true, ...ctx, diff --git a/packages/dev-deployment-dmn-form-webapp/tsconfig.json b/packages/dev-deployment-dmn-form-webapp/tsconfig.json index dc1875e28f5..a598e485c3d 100644 --- a/packages/dev-deployment-dmn-form-webapp/tsconfig.json +++ b/packages/dev-deployment-dmn-form-webapp/tsconfig.json @@ -7,7 +7,17 @@ "declarationMap": false, "resolveJsonModule": true, "allowSyntheticDefaultImports": true, - "target": "es6" + "target": "es6", + "types": ["@testing-library/jest-dom"] }, - "include": ["src"] + "include": ["src"], + + // Required to make Webpack TS config work. See https://github.com/webpack/webpack-cli/issues/2458#issuecomment-1157987399 + "ts-node": { + "esm": true, + "compilerOptions": { + "esModuleInterop": true, + "module": "CommonJS" + } + } } diff --git a/packages/dev-deployment-dmn-form-webapp/webpack.config.js b/packages/dev-deployment-dmn-form-webapp/webpack.config.ts similarity index 60% rename from packages/dev-deployment-dmn-form-webapp/webpack.config.js rename to packages/dev-deployment-dmn-form-webapp/webpack.config.ts index 7820f32151a..29ced85de8a 100644 --- a/packages/dev-deployment-dmn-form-webapp/webpack.config.js +++ b/packages/dev-deployment-dmn-form-webapp/webpack.config.ts @@ -17,16 +17,16 @@ * under the License. */ -const CopyPlugin = require("copy-webpack-plugin"); -const patternflyBase = require("@kie-tools-core/patternfly-base"); -const { merge } = require("webpack-merge"); -const common = require("@kie-tools-core/webpack-base/webpack.common.config"); -const HtmlWebpackPlugin = require("html-webpack-plugin"); -const { ProvidePlugin } = require("webpack"); -const NodePolyfillPlugin = require("node-polyfill-webpack-plugin"); -const { env } = require("./env"); +import CopyPlugin from "copy-webpack-plugin"; +import patternflyBase from "@kie-tools-core/patternfly-base"; +import { merge } from "webpack-merge"; +import common from "@kie-tools-core/webpack-base/webpack.common.config"; +import HtmlWebpackPlugin from "html-webpack-plugin"; +import { ProvidePlugin } from "webpack"; +import NodePolyfillPlugin from "node-polyfill-webpack-plugin"; +import { defaultEnvJson } from "./build/defaultEnvJson"; -module.exports = async (env) => { +export default async (env: any, argv: any) => { return merge(common(env), { entry: { index: "./src/index.tsx", @@ -42,6 +42,11 @@ module.exports = async (env) => { { from: "./static/resources", to: "./resources" }, { from: "./static/images", to: "./images" }, { from: "./static/favicon.svg", to: "./favicon.svg" }, + { + from: "./static/env.json", + to: "./env.json", + transform: () => JSON.stringify(defaultEnvJson, null, 2), + }, ], }), new ProvidePlugin({ @@ -50,7 +55,16 @@ module.exports = async (env) => { }), new NodePolyfillPlugin(), ], - + ignoreWarnings: [ + { + // The @apidevtools sub-packages source maps are not published, so we need to ignore their warnings for now. + module: /@apidevtools/, + }, + { + // The @jsdevtools sub-packages source maps are not published, so we need to ignore their warnings for now. + module: /@jsdevtools/, + }, + ], module: { rules: [...patternflyBase.webpackModuleRules], }, diff --git a/packages/dev-deployment-kogito-quarkus-blank-app-image/README.md b/packages/dev-deployment-kogito-quarkus-blank-app-image/README.md index b15806104ce..cd42ac7c3d7 100644 --- a/packages/dev-deployment-kogito-quarkus-blank-app-image/README.md +++ b/packages/dev-deployment-kogito-quarkus-blank-app-image/README.md @@ -17,7 +17,7 @@ # Dev Deployment Kogito Quarkus Blank App Image -This image is ready to be used for Dev deployments on KIE Sandbox. +This image is ready to be used for Dev Deployments on KIE Sandbox. It starts the dev-deployment-upload-service and then places the uploaded files inside a blank Kogito Quarkus app. These files can decisions or processes, all of them will be used as resources for the app. @@ -45,11 +45,11 @@ These files can decisions or processes, all of them will be used as resources fo Run the image with: -- `docker run -p 8080:8080 -e DEV_DEPLOYMENT__UPLOAD_SERVICE_API_KEY=123 docker.io/apache/incubator-kie-sandbox-dev-deployment-kogito-quarkus-blank-app:daily-dev` +- `docker run -p 8080:8080 -e DEV_DEPLOYMENT__UPLOAD_SERVICE_API_KEY=dev docker.io/apache/incubator-kie-sandbox-dev-deployment-kogito-quarkus-blank-app:main` Then upload a zip file containing the resources (DMN, BPMN, etc) -- `curl -X POST -H "Content-Type: multipart/form-data" -F "myFile=@" 'http://localhost:8080/upload?apiKey=123'` +- `curl -X POST -H "Content-Type: multipart/form-data" -F "myFile=@" 'http://localhost:8080/upload?apiKey=dev'` --- diff --git a/packages/dev-deployment-kogito-quarkus-blank-app-image/env/index.js b/packages/dev-deployment-kogito-quarkus-blank-app-image/env/index.js index 5e3b3853f15..db4e8b45097 100644 --- a/packages/dev-deployment-kogito-quarkus-blank-app-image/env/index.js +++ b/packages/dev-deployment-kogito-quarkus-blank-app-image/env/index.js @@ -37,19 +37,19 @@ module.exports = composeEnv([rootEnv], { }, DEV_DEPLOYMENT_KOGITO_QUARKUS_BLANK_APP_IMAGE__registry: { default: "docker.io", - description: "The image registry.", + description: "E.g., `docker.io` or `quay.io`.", }, DEV_DEPLOYMENT_KOGITO_QUARKUS_BLANK_APP_IMAGE__account: { default: "apache", - description: "The image registry account.", + description: "E.g,. `apache` or `kie-tools-bot`", }, DEV_DEPLOYMENT_KOGITO_QUARKUS_BLANK_APP_IMAGE__name: { default: "incubator-kie-sandbox-dev-deployment-kogito-quarkus-blank-app", - description: "The image name.", + description: "Name of the image itself.", }, DEV_DEPLOYMENT_KOGITO_QUARKUS_BLANK_APP_IMAGE__buildTag: { default: rootEnv.env.root.streamName, - description: "The image tag.", + description: "Tag version of this image. E.g., `main` or `10.0.x` or `10.0.0", }, DEV_DEPLOYMENT_KOGITO_QUARKUS_BLANK_APP_IMAGE__mavenM2RepoViaHttpImage: { default: `${mavenM2RepoViaHttpImageEnv.registry}/${mavenM2RepoViaHttpImageEnv.account}/${mavenM2RepoViaHttpImageEnv.name}:${mavenM2RepoViaHttpImageEnv.tag}`, diff --git a/packages/dev-deployment-kogito-quarkus-blank-app-image/package.json b/packages/dev-deployment-kogito-quarkus-blank-app-image/package.json index e86e04ea3e1..9ef24001763 100644 --- a/packages/dev-deployment-kogito-quarkus-blank-app-image/package.json +++ b/packages/dev-deployment-kogito-quarkus-blank-app-image/package.json @@ -28,7 +28,6 @@ "create-test-image:minikube": "kie-tools--image-builder minikube -r \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.registry)\" -a \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.account)\" -n \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.name)\" -t \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.buildTag)\" --build-arg BUILDER_IMAGE_ARG=\"$(build-env devDeploymentKogitoQuarkusBlankAppImage.builderImage)\" --build-arg ROOT_PATH=/", "create-test-image:openshift": "kie-tools--image-builder openshift -r \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.registry)\" -a \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.account)\" -n \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.name)\" -t \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.buildTag)\" --build-arg BUILDER_IMAGE_ARG=\"$(build-env devDeploymentKogitoQuarkusBlankAppImage.builderImage)\" --build-arg ROOT_PATH=/", "image:docker:build": "kie-tools--image-builder build --allowHostNetworkAccess -r \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.registry)\" -a \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.account)\" -n \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.name)\" -t \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.buildTag)\" --build-arg BUILDER_IMAGE_ARG=\"$(build-env devDeploymentKogitoQuarkusBlankAppImage.builderImage)\" --build-arg ROOT_PATH=/", - "image:podman:build": "kie-tools--image-builder build --allowHostNetworkAccess -r \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.registry)\" -a \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.account)\" -n \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.name)\" -t \"$(build-env devDeploymentKogitoQuarkusBlankAppImage.buildTag)\" --build-arg BUILDER_IMAGE_ARG=\"$(build-env devDeploymentKogitoQuarkusBlankAppImage.builderImage)\" --build-arg ROOT_PATH=/ -e podman", "install": "node install.js", "m2-repo-via-http:container:kill": "(docker container kill m2-repo-via-http || true) && (docker container rm m2-repo-via-http || true)", "m2-repo-via-http:container:run": "(pnpm m2-repo-via-http:container:kill || true) && docker run --name m2-repo-via-http -v \"$(mvn help:evaluate -Dexpression=settings.localRepository -q -DforceStdout):/var/www/html\" -dit $(build-env devDeploymentKogitoQuarkusBlankAppImage.dev.mavenM2RepoViaHttpImage)", @@ -46,4 +45,4 @@ "rimraf": "^3.0.2", "run-script-os": "^1.1.6" } -} \ No newline at end of file +} diff --git a/packages/dev-deployment-kogito-quarkus-blank-app-image/pom.xml b/packages/dev-deployment-kogito-quarkus-blank-app-image/pom.xml index 7a114b351c5..5a9e0af1ed2 100644 --- a/packages/dev-deployment-kogito-quarkus-blank-app-image/pom.xml +++ b/packages/dev-deployment-kogito-quarkus-blank-app-image/pom.xml @@ -22,13 +22,13 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > - 4.0.0 - org.kie.kogito - dev-deployment-kogito-quarkus-blank-app-image - ${revision} + 4.0.0 + org.kie.kogito + dev-deployment-kogito-quarkus-blank-app-image + ${revision} - - - - - org.kie - kie-tools-maven-base - ${project.version} - pom - - + + org.kie + kie-tools-maven-base + ${project.version} + pom + +
diff --git a/packages/dev-deployment-kogito-quarkus-blank-app/package.json b/packages/dev-deployment-kogito-quarkus-blank-app/package.json index 7e7e7c320f8..358afb27bc7 100644 --- a/packages/dev-deployment-kogito-quarkus-blank-app/package.json +++ b/packages/dev-deployment-kogito-quarkus-blank-app/package.json @@ -41,4 +41,4 @@ "mvn" ] } -} \ No newline at end of file +} diff --git a/packages/dev-deployment-upload-service/README.md b/packages/dev-deployment-upload-service/README.md index a18df1de15f..b6d5bba5855 100644 --- a/packages/dev-deployment-upload-service/README.md +++ b/packages/dev-deployment-upload-service/README.md @@ -17,7 +17,7 @@ # Dev Deployment Upload Service -This package is used on the KIE Sandbox's Dev deployments feature and should be the first command to run when a deployed container spins up. +This package is used on the KIE Sandbox's Dev Deployments feature and should be the first command to run when a deployed container spins up. The Dev Deployment Upload Service runs an HTTP server that accepts ZIP file uploads to the `/upload` endpoint. You can check that the service is ready to accept uploads via the `/upload-status` endpoint. @@ -63,7 +63,7 @@ USAGE: `dev-deployment-upload-service`. Arguments are passed using env vars: ### Example: -For a Dev deployment that runs a Quarkus application, the intended use is: +For a Dev Deployment that runs a Quarkus application, the intended use is: ```Dockerfile ... @@ -83,7 +83,7 @@ ENV DEV_DEPLOYMENT__UPLOAD_SERVICE_API_KEY=[api key] ENV DEV_DEPLOYMENT__UPLOAD_SERVICE_ROOT_PATH=[subpath] ``` -On KIE Sandbox Dev deployments Kubernetes/OpenShift YAMLs, you can pass them like: +On KIE Sandbox Dev Deployments Kubernetes/OpenShift YAMLs, you can pass them like: ```yaml ... diff --git a/packages/dev-deployment-upload-service/dev/index.html b/packages/dev-deployment-upload-service/dev/index.html index db9375c4b3d..5701b515665 100644 --- a/packages/dev-deployment-upload-service/dev/index.html +++ b/packages/dev-deployment-upload-service/dev/index.html @@ -17,7 +17,7 @@ ~ under the License. --> - + diff --git a/packages/dev-deployment-upload-service/env/index.js b/packages/dev-deployment-upload-service/env/index.js index 92d6a814441..c3eacd83d59 100644 --- a/packages/dev-deployment-upload-service/env/index.js +++ b/packages/dev-deployment-upload-service/env/index.js @@ -35,15 +35,15 @@ module.exports = composeEnv([rootEnv], { }, DEV_DEPLOYMENT_UPLOAD_SERVICE__devFileServerPort: { default: 2340, - description: "", + description: "The host port for the fileserver container used during tests", }, DEV_DEPLOYMENT_UPLOAD_SERVICE__devBuildTimeInstallPort: { default: 2341, - description: "", + description: "The host port for buildtime install test container", }, DEV_DEPLOYMENT_UPLOAD_SERVICE__devRunTimeInstallPort: { default: 2342, - description: "", + description: "The host port for the runtime install test container", }, }), get env() { diff --git a/packages/dev-deployment-upload-service/jest.config.js b/packages/dev-deployment-upload-service/jest.config.js index 62d8011b21f..060be79621a 100644 --- a/packages/dev-deployment-upload-service/jest.config.js +++ b/packages/dev-deployment-upload-service/jest.config.js @@ -17,11 +17,10 @@ * under the License. */ +const { config } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?|js?|ts?)$", - transform: {}, - globals: { fetch, Response, Request }, + ...config, + testEnvironment: "node", }; diff --git a/packages/dev-deployment-upload-service/package.json b/packages/dev-deployment-upload-service/package.json index 9c60e5b198f..1acc1599dd7 100644 --- a/packages/dev-deployment-upload-service/package.json +++ b/packages/dev-deployment-upload-service/package.json @@ -17,13 +17,13 @@ ], "scripts": { "build": "run-script-os", + "build:dev": "rimraf dist && pnpm build-install-script:dev && pnpm build-all", + "build:prod": "rimraf dist && pnpm build-install-script:prod && pnpm build-all && pnpm test", "build-all": "run-script-os", "build-all:linux:darwin": "cross-env DDUS_VERSION=$(build-env root.version) make build-all", "build-all:win32": "pnpm powershell \"cross-env DDUS_VERSION=$(build-env root.version) make build-all\"", "build-install-script:dev": "node scripts/generateInstallScript.js --dev", "build-install-script:prod": "node scripts/generateInstallScript.js", - "build:dev": "rimraf dist && pnpm build-install-script:dev && pnpm build-all", - "build:prod": "rimraf dist && pnpm build-install-script:prod && pnpm build-all && pnpm test", "install": "go mod tidy", "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command", "start": "make start", @@ -34,13 +34,15 @@ "test:win32:darwin": "echo 'Not supported'" }, "devDependencies": { + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", - "@types/jest": "^26.0.23", + "@types/jest": "^29.5.12", "cross-env": "^7.0.3", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", + "jest": "^29.7.0", + "jest-junit": "^16.0.0", "rimraf": "^3.0.2", "run-script-os": "^1.1.6", + "ts-jest": "^29.1.5", "wait-on": "^7.2.0" }, "kieTools": { @@ -49,4 +51,4 @@ "make" ] } -} \ No newline at end of file +} diff --git a/packages/dev-deployment-upload-service/tests/__snapshots__/integrationTest.test.js.snap b/packages/dev-deployment-upload-service/tests/__snapshots__/integrationTest.test.js.snap index de2d64c4e78..aa41045e62f 100644 --- a/packages/dev-deployment-upload-service/tests/__snapshots__/integrationTest.test.js.snap +++ b/packages/dev-deployment-upload-service/tests/__snapshots__/integrationTest.test.js.snap @@ -16,7 +16,7 @@ exports[`Test built images individually buildtime install 2`] = ` [dev-deployment-upload-service] ℹ️ Upload arrived... [dev-deployment-upload-service] ℹ️ Uploaded File: test.zip [dev-deployment-upload-service] ℹ️ File Size: 420 -[dev-deployment-upload-service] ℹ️ MIME Header: map[Content-Disposition:[form-data; name=\\"myFile\\"; filename=\\"test.zip\\"] Content-Type:[application/octet-stream]] +[dev-deployment-upload-service] ℹ️ MIME Header: map[Content-Disposition:[form-data; name="myFile"; filename="test.zip"] Content-Type:[application/octet-stream]] [dev-deployment-upload-service] ✅ Wrote '/tmp/unzip-at/test.txt'... [dev-deployment-upload-service] ✅ Wrote '/tmp/unzip-at/testdir/file.md'... [dev-deployment-upload-service] ✅ Successfully extracted 'test.zip' to '/tmp/unzip-at'. @@ -50,7 +50,7 @@ dev-deployment-upload-service installed into /usr/local/bin/dev-deployment-uploa [dev-deployment-upload-service] ℹ️ Upload arrived... [dev-deployment-upload-service] ℹ️ Uploaded File: test.zip [dev-deployment-upload-service] ℹ️ File Size: 420 -[dev-deployment-upload-service] ℹ️ MIME Header: map[Content-Disposition:[form-data; name=\\"myFile\\"; filename=\\"test.zip\\"] Content-Type:[application/octet-stream]] +[dev-deployment-upload-service] ℹ️ MIME Header: map[Content-Disposition:[form-data; name="myFile"; filename="test.zip"] Content-Type:[application/octet-stream]] [dev-deployment-upload-service] ✅ Wrote '/tmp/unzip-at/test.txt'... [dev-deployment-upload-service] ✅ Wrote '/tmp/unzip-at/testdir/file.md'... [dev-deployment-upload-service] ✅ Successfully extracted 'test.zip' to '/tmp/unzip-at'. diff --git a/packages/dmn-editor-envelope/jest.config.js b/packages/dmn-editor-envelope/jest.config.js deleted file mode 100644 index 6ada62559f3..00000000000 --- a/packages/dmn-editor-envelope/jest.config.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, -}; diff --git a/packages/dmn-editor-envelope/package.json b/packages/dmn-editor-envelope/package.json index bc897c8afb1..9899eeb9ac6 100644 --- a/packages/dmn-editor-envelope/package.json +++ b/packages/dmn-editor-envelope/package.json @@ -18,10 +18,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "rimraf dist && pnpm lint && tsc -p tsconfig.json && pnpm test && pnpm test:it", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"", - "test:it": "echo 'No IT tests to run at this moment.'" + "build:prod": "rimraf dist && pnpm lint && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools-core/editor": "workspace:*", @@ -47,19 +45,9 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/dmn-editor/jest.config.js b/packages/dmn-editor/jest.config.js deleted file mode 100644 index 5a7cac2f7d1..00000000000 --- a/packages/dmn-editor/jest.config.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, -}; diff --git a/packages/dmn-editor/package.json b/packages/dmn-editor/package.json index 25e98c7e44b..fe5a59d35ac 100644 --- a/packages/dmn-editor/package.json +++ b/packages/dmn-editor/package.json @@ -18,17 +18,16 @@ ], "scripts": { "build:dev": "rimraf dist && pnpm copy:css && tsc -p tsconfig.json", - "build:prod": "rimraf dist && pnpm copy:css && pnpm lint && tsc -p tsconfig.json && pnpm test && pnpm test:e2e", + "build:prod": "rimraf dist && pnpm copy:css && pnpm lint && tsc -p tsconfig.json && pnpm test-e2e", "build:storybook": "storybook build -o dist-storybook", "copy:css": "copyfiles -u 1 \"src/**/*.{sass,scss,css}\" dist/", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", "start": "run-script-os", - "start:linux:darwin": "cross-env STORYBOOK_PORT=$(build-env dmnEditor.storybook.port) pnpm storybook-base --storybookArgs=\"dev --no-open\"", - "start:win32": "pnpm powershell \"cross-env STORYBOOK_PORT=$(build-env dmnEditor.storybook.port) pnpm storybook-base --storybookArgs='dev --no-open'", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"", - "test:e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm rimraf ./dist-e2e-tests\" \"pnpm test:e2e:run\"", - "test:e2e:open": "pnpm exec playwright show-report dist-e2e-tests/reports", - "test:e2e:run": "pnpm exec playwright test" + "start:linux:darwin": "cross-env STORYBOOK_PORT=$(build-env dmnEditor.storybook.port) pnpm kie-tools--storybook --storybookArgs=\"dev --no-open\"", + "start:win32": "pnpm powershell \"cross-env STORYBOOK_PORT=$(build-env dmnEditor.storybook.port) pnpm kie-tools--storybook --storybookArgs='dev --no-open'", + "test-e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm rimraf ./dist-tests-e2e\" \"pnpm test-e2e:run\"", + "test-e2e:open": "pnpm exec playwright show-report dist-tests-e2e/reports", + "test-e2e:run": "pnpm exec playwright test" }, "dependencies": { "@kie-tools-core/i18n": "workspace:*", @@ -80,37 +79,27 @@ "@storybook/preview-api": "^7.3.2", "@storybook/react": "^7.3.2", "@storybook/react-webpack5": "^7.3.2", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", "@types/d3-drag": "^3.0.3", "@types/d3-selection": "^3.0.6", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/lodash": "^4.14.168", - "@types/node": "^18.13.0", + "@types/node": "^20.14.2", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", "@types/uuid": "^8.3.0", "copy-webpack-plugin": "^11.0.0", "copyfiles": "^2.4.1", "cross-env": "^7.0.3", "deep-object-diff": "^1.1.9", "file-loader": "^6.2.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "lodash": "^4.17.21", "rimraf": "^3.0.2", "run-script-os": "^1.1.6", "start-server-and-test": "^2.0.3", "storybook": "^7.3.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/dmn-editor/src/dataTypes/ConstraintComponents/ConstraintTime.tsx b/packages/dmn-editor/src/dataTypes/ConstraintComponents/ConstraintTime.tsx index dd2a7ea481d..2a5cad9c76e 100644 --- a/packages/dmn-editor/src/dataTypes/ConstraintComponents/ConstraintTime.tsx +++ b/packages/dmn-editor/src/dataTypes/ConstraintComponents/ConstraintTime.tsx @@ -93,8 +93,8 @@ export function ConstraintTime({ value, onChange, isValid }: ConstraintProps) { return value.includes("+") ? `+${value.split("+")[1]}` : value.includes("-") - ? `-${value.split("-")[1]}` - : UTC_POSITEVE_TIMEZONES[0]; + ? `-${value.split("-")[1]}` + : UTC_POSITEVE_TIMEZONES[0]; }, [value]); const [isSelectTimezoneOpen, setSelectTimezoneOpen] = useState(false); const { dmnEditorRootElementRef } = useDmnEditor(); diff --git a/packages/dmn-editor/src/draggable/Draggable.tsx b/packages/dmn-editor/src/draggable/Draggable.tsx index 27a605b65c5..a5ffd33f0b8 100644 --- a/packages/dmn-editor/src/draggable/Draggable.tsx +++ b/packages/dmn-editor/src/draggable/Draggable.tsx @@ -194,9 +194,7 @@ export function DragAndDrop({ onDragLeave: onInternalDragLeave, }} > - {valuesCopy?.map((value, index) => ( -
{draggableItem?.(value, index)}
- ))} + {valuesCopy?.map((value, index) =>
{draggableItem?.(value, index)}
)} ); diff --git a/packages/dmn-editor/src/includedModels/IncludedModels.tsx b/packages/dmn-editor/src/includedModels/IncludedModels.tsx index 3e2d5806ebe..6c083d080a5 100644 --- a/packages/dmn-editor/src/includedModels/IncludedModels.tsx +++ b/packages/dmn-editor/src/includedModels/IncludedModels.tsx @@ -152,10 +152,10 @@ export function IncludedModels() { selectedModel.type === "dmn" ? selectedModel.model.definitions["@_namespace"]! : selectedModel.type === "pmml" - ? getPmmlNamespace({ - normalizedPosixPathRelativeToTheOpenFile: selectedModel.normalizedPosixPathRelativeToTheOpenFile, - }) - : KIE_UNKNOWN_NAMESPACE; + ? getPmmlNamespace({ + normalizedPosixPathRelativeToTheOpenFile: selectedModel.normalizedPosixPathRelativeToTheOpenFile, + }) + : KIE_UNKNOWN_NAMESPACE; setModalOpen(false); dmnEditorStoreApi.setState((state) => { diff --git a/packages/dmn-editor/src/mutations/updateDecisionServiceDividerLine.ts b/packages/dmn-editor/src/mutations/updateDecisionServiceDividerLine.ts index d92ca3a67d1..3461fd68fe5 100644 --- a/packages/dmn-editor/src/mutations/updateDecisionServiceDividerLine.ts +++ b/packages/dmn-editor/src/mutations/updateDecisionServiceDividerLine.ts @@ -97,19 +97,24 @@ export function updateDecisionServiceDividerLine({ return v > acc ? v : acc; }, snappedPosition.y + DECISION_SERVICE_DIVIDER_LINE_PADDING); - const lowerLimit = (ds.encapsulatedDecision ?? []).reduce((acc, ed) => { - // For external Decision Services, the Encapsulated Decision will have the relative namespace. e.g. without namespace. - const href = - __readonly_dmnObjectNamespace !== undefined - ? addNamespaceToHref({ - href: ed["@_href"], - namespace: - definitions["@_namespace"] === __readonly_dmnObjectNamespace ? undefined : __readonly_dmnObjectNamespace, - }) - : ed["@_href"]; - const v = snapShapePosition(snapGrid, __readonly_dmnShapesByHref.get(href)!).y; - return v < acc ? v : acc; - }, snappedPosition.y + snappedDimensions.height - DECISION_SERVICE_DIVIDER_LINE_PADDING); + const lowerLimit = (ds.encapsulatedDecision ?? []).reduce( + (acc, ed) => { + // For external Decision Services, the Encapsulated Decision will have the relative namespace. e.g. without namespace. + const href = + __readonly_dmnObjectNamespace !== undefined + ? addNamespaceToHref({ + href: ed["@_href"], + namespace: + definitions["@_namespace"] === __readonly_dmnObjectNamespace + ? undefined + : __readonly_dmnObjectNamespace, + }) + : ed["@_href"]; + const v = snapShapePosition(snapGrid, __readonly_dmnShapesByHref.get(href)!).y; + return v < acc ? v : acc; + }, + snappedPosition.y + snappedDimensions.height - DECISION_SERVICE_DIVIDER_LINE_PADDING + ); const newDividerLineYPosition = Math.max(upperLimit, Math.min(snappedPosition.y + localYPosition, lowerLimit)); diff --git a/packages/dmn-editor/src/normalization/normalize.ts b/packages/dmn-editor/src/normalization/normalize.ts index 92a6fb26aea..4aa6a64ab9a 100644 --- a/packages/dmn-editor/src/normalization/normalize.ts +++ b/packages/dmn-editor/src/normalization/normalize.ts @@ -27,10 +27,10 @@ export type Normalized = WithRequiredDeep; type WithRequiredDeep = T extends undefined ? T : T extends Array - ? Array> - : { [P in keyof T]: WithRequiredDeep } & (K extends keyof T - ? { [P in K]-?: NonNullable> } - : T); + ? Array> + : { [P in keyof T]: WithRequiredDeep } & (K extends keyof T + ? { [P in K]-?: NonNullable> } + : T); export function normalize(model: DmnLatestModel): State["dmn"]["model"] { getNewDmnIdRandomizer() diff --git a/packages/dmn-editor/src/svg/DmnDiagramSvg.tsx b/packages/dmn-editor/src/svg/DmnDiagramSvg.tsx index a997b19df60..a7936702471 100644 --- a/packages/dmn-editor/src/svg/DmnDiagramSvg.tsx +++ b/packages/dmn-editor/src/svg/DmnDiagramSvg.tsx @@ -103,23 +103,23 @@ export function DmnDiagramSvg({ allTopLevelItemDefinitionUniqueNames.get(node.data.dmnObject.variable?.["@_typeRef"] ?? "") ?? "" )?.itemDefinition?.["@_isCollection"] ?? false : node.data?.dmnObject?.__$$element === "decision" - ? allDataTypesById.get( - allTopLevelItemDefinitionUniqueNames.get(node.data.dmnObject.variable?.["@_typeRef"] ?? "") ?? "" - )?.itemDefinition?.["@_isCollection"] ?? false - : false; + ? allDataTypesById.get( + allTopLevelItemDefinitionUniqueNames.get(node.data.dmnObject.variable?.["@_typeRef"] ?? "") ?? "" + )?.itemDefinition?.["@_isCollection"] ?? false + : false; const label = node.data?.dmnObject?.__$$element === "group" ? node.data.dmnObject?.["@_label"] ?? node.data?.dmnObject?.["@_name"] ?? "" : node.data?.dmnObject?.__$$element === "textAnnotation" - ? node.data.dmnObject?.["@_label"] ?? node.data?.dmnObject?.text?.__$$text ?? "" - : buildFeelQNameFromXmlQName({ - namedElement: node.data!.dmnObject!, - importsByNamespace, - model: thisDmn.model.definitions, - namedElementQName: node.data!.dmnObjectQName, - relativeToNamespace: thisDmn.model.definitions["@_namespace"], - }).full; + ? node.data.dmnObject?.["@_label"] ?? node.data?.dmnObject?.text?.__$$text ?? "" + : buildFeelQNameFromXmlQName({ + namedElement: node.data!.dmnObject!, + importsByNamespace, + model: thisDmn.model.definitions, + namedElementQName: node.data!.dmnObjectQName, + relativeToNamespace: thisDmn.model.definitions["@_namespace"], + }).full; return ( diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/base.ts b/packages/dmn-editor/tests-e2e/__fixtures__/base.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/__fixtures__/base.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/base.ts diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/diagram.ts b/packages/dmn-editor/tests-e2e/__fixtures__/diagram.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/__fixtures__/diagram.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/diagram.ts diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/edges.ts b/packages/dmn-editor/tests-e2e/__fixtures__/edges.ts similarity index 97% rename from packages/dmn-editor/tests/e2e/__fixtures__/edges.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/edges.ts index d45f4570087..8af5b72064b 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/edges.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/edges.ts @@ -29,7 +29,11 @@ export enum EdgeType { } export class Edges { - constructor(public page: Page, public nodes: Nodes, public diagram: Diagram) {} + constructor( + public page: Page, + public nodes: Nodes, + public diagram: Diagram + ) {} public async get(args: { from: string; to: string }) { const from = await this.nodes.getId({ name: args.from }); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/editor.ts b/packages/dmn-editor/tests-e2e/__fixtures__/editor.ts similarity index 93% rename from packages/dmn-editor/tests/e2e/__fixtures__/editor.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/editor.ts index 4396511d761..66306d19b16 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/editor.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/editor.ts @@ -20,7 +20,10 @@ import { Page } from "@playwright/test"; export class Editor { - constructor(public page: Page, public baseURL?: string) {} + constructor( + public page: Page, + public baseURL?: string + ) {} public async open() { await this.page.goto(`${this.baseURL}/iframe.html?args=&id=misc-empty--empty&viewMode=story`); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/jsonModel.ts b/packages/dmn-editor/tests-e2e/__fixtures__/jsonModel.ts similarity index 95% rename from packages/dmn-editor/tests/e2e/__fixtures__/jsonModel.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/jsonModel.ts index 2d6c476b2b3..d4cd564a9f5 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/jsonModel.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/jsonModel.ts @@ -42,7 +42,10 @@ export class JsonModel { public drgElements: DrgElement; public drd: Drd; - constructor(public page: Page, public baseURL?: string) { + constructor( + public page: Page, + public baseURL?: string + ) { this.drgElements = new DrgElement(page); this.drd = new Drd(page, this.drgElements); } diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/jsonModel/drd.ts b/packages/dmn-editor/tests-e2e/__fixtures__/jsonModel/drd.ts similarity index 95% rename from packages/dmn-editor/tests/e2e/__fixtures__/jsonModel/drd.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/jsonModel/drd.ts index f1a0d21fe1e..2aae7759cc4 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/jsonModel/drd.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/jsonModel/drd.ts @@ -23,7 +23,10 @@ import { Page } from "@playwright/test"; import { DrgElement } from "./drgElement"; export class Drd { - constructor(public page: Page, public drgElement: DrgElement) {} + constructor( + public page: Page, + public drgElement: DrgElement + ) {} public async getDrgElementBoundsOnDrd(args: { drgElementIndex: number; drdIndex: number }) { const drd = await this.getDrd({ drdIndex: args.drdIndex }); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/jsonModel/drgElement.ts b/packages/dmn-editor/tests-e2e/__fixtures__/jsonModel/drgElement.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/__fixtures__/jsonModel/drgElement.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/jsonModel/drgElement.ts diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/nodes.ts b/packages/dmn-editor/tests-e2e/__fixtures__/nodes.ts similarity index 98% rename from packages/dmn-editor/tests/e2e/__fixtures__/nodes.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/nodes.ts index 4cbfc63fc1a..84f272a2f71 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/nodes.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/nodes.ts @@ -51,7 +51,11 @@ export enum NodePosition { } export class Nodes { - constructor(public page: Page, public diagram: Diagram, public browserName: string) {} + constructor( + public page: Page, + public diagram: Diagram, + public browserName: string + ) {} public get(args: { name: string }) { return this.page.locator(`div[data-nodelabel="${args.name}"]`); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/overlays.ts b/packages/dmn-editor/tests-e2e/__fixtures__/overlays.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/__fixtures__/overlays.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/overlays.ts diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/palette.ts b/packages/dmn-editor/tests-e2e/__fixtures__/palette.ts similarity index 96% rename from packages/dmn-editor/tests/e2e/__fixtures__/palette.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/palette.ts index 9926a976e2c..4fdaedf0d6a 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/palette.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/palette.ts @@ -22,7 +22,11 @@ import { Diagram } from "./diagram"; import { DefaultNodeName, Nodes, NodeType } from "./nodes"; export class Palette { - constructor(public page: Page, public diagram: Diagram, public nodes: Nodes) {} + constructor( + public page: Page, + public diagram: Diagram, + public nodes: Nodes + ) {} public async dragNewNode(args: { type: NodeType; targetPosition: { x: number; y: number }; thenRenameTo?: string }) { const { nodeTitle, nodeName } = this.getNewNodeProperties(args.type); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/bkmPropertiesPanel.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/bkmPropertiesPanel.ts similarity index 98% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/bkmPropertiesPanel.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/bkmPropertiesPanel.ts index eba7a26fd69..a7b02f15ca8 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/bkmPropertiesPanel.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/bkmPropertiesPanel.ts @@ -36,7 +36,10 @@ export class BkmPropertiesPanel extends PropertiesPanelBase { private fontProperties: FontProperties; private shapeProperties: ShapeProperties; - constructor(public diagram: Diagram, public page: Page) { + constructor( + public diagram: Diagram, + public page: Page + ) { super(diagram, page); this.nameProperties = new NameProperties(this.panel(), page); this.dataTypeProperties = new DataTypeProperties(this.panel(), page); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/decisionPropertiesPanel.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/decisionPropertiesPanel.ts similarity index 98% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/decisionPropertiesPanel.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/decisionPropertiesPanel.ts index d2da48dc148..ce34f8cfbba 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/decisionPropertiesPanel.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/decisionPropertiesPanel.ts @@ -36,7 +36,10 @@ export class DecisionPropertiesPanel extends PropertiesPanelBase { private fontProperties: FontProperties; private shapeProperties: ShapeProperties; - constructor(public diagram: Diagram, public page: Page) { + constructor( + public diagram: Diagram, + public page: Page + ) { super(diagram, page); this.nameProperties = new NameProperties(this.panel(), page); this.dataTypeProperties = new DataTypeProperties(this.panel(), page); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/decisionServicePropertiesPanel.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/decisionServicePropertiesPanel.ts similarity index 98% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/decisionServicePropertiesPanel.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/decisionServicePropertiesPanel.ts index e760bc2c8fb..6475f6cd740 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/decisionServicePropertiesPanel.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/decisionServicePropertiesPanel.ts @@ -36,7 +36,10 @@ export class DecisionServicePropertiesPanel extends PropertiesPanelBase { private fontProperties: FontProperties; private shapeProperties: ShapeProperties; - constructor(public diagram: Diagram, public page: Page) { + constructor( + public diagram: Diagram, + public page: Page + ) { super(diagram, page); this.nameProperties = new NameProperties(this.panel(), page); this.dataTypeProperties = new DataTypeProperties(this.panel(), page); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/diagramPropertiesPanel.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/diagramPropertiesPanel.ts similarity index 97% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/diagramPropertiesPanel.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/diagramPropertiesPanel.ts index edccf412f82..bee3afc5c6d 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/diagramPropertiesPanel.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/diagramPropertiesPanel.ts @@ -27,7 +27,10 @@ export class DiagramPropertiesPanel extends PropertiesPanelBase { private nameProperties: NameProperties; private descriptionProperties: DescriptionProperties; - constructor(public diagram: Diagram, public page: Page) { + constructor( + public diagram: Diagram, + public page: Page + ) { super(diagram, page); this.nameProperties = new NameProperties(this.panel(), page); this.descriptionProperties = new DescriptionProperties(this.panel()); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/groupPropertiesPanel.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/groupPropertiesPanel.ts similarity index 97% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/groupPropertiesPanel.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/groupPropertiesPanel.ts index 44ed3fa74c6..485148828fe 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/groupPropertiesPanel.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/groupPropertiesPanel.ts @@ -31,7 +31,10 @@ export class GroupPropertiesPanel extends PropertiesPanelBase { private fontProperties: FontProperties; private shapeProperties: ShapeProperties; - constructor(public diagram: Diagram, public page: Page) { + constructor( + public diagram: Diagram, + public page: Page + ) { super(diagram, page); this.nameProperties = new NameProperties(this.panel(), page); this.descriptionProperties = new DescriptionProperties(this.panel()); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/inputDataPropertiesPanel.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/inputDataPropertiesPanel.ts similarity index 98% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/inputDataPropertiesPanel.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/inputDataPropertiesPanel.ts index 06f5a278ffb..8c01ff2d370 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/inputDataPropertiesPanel.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/inputDataPropertiesPanel.ts @@ -36,7 +36,10 @@ export class InputDataPropertiesPanel extends PropertiesPanelBase { private fontProperties: FontProperties; private shapeProperties: ShapeProperties; - constructor(public diagram: Diagram, public page: Page) { + constructor( + public diagram: Diagram, + public page: Page + ) { super(diagram, page); this.nameProperties = new NameProperties(this.panel(), page); this.dataTypeProperties = new DataTypeProperties(this.panel(), page); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/knowledgeSourcePropertiesPanel.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/knowledgeSourcePropertiesPanel.ts similarity index 98% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/knowledgeSourcePropertiesPanel.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/knowledgeSourcePropertiesPanel.ts index 5e79b1e195f..7d8ea722f0d 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/knowledgeSourcePropertiesPanel.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/knowledgeSourcePropertiesPanel.ts @@ -34,7 +34,10 @@ export class KnowledgeSourcePropertiesPanel extends PropertiesPanelBase { private fontProperties: FontProperties; private shapeProperties: ShapeProperties; - constructor(public diagram: Diagram, public page: Page) { + constructor( + public diagram: Diagram, + public page: Page + ) { super(diagram, page); this.nameProperties = new NameProperties(this.panel(), page); this.descriptionProperties = new DescriptionProperties(this.panel()); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/multipleNodesPropertiesPanel.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/multipleNodesPropertiesPanel.ts similarity index 96% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/multipleNodesPropertiesPanel.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/multipleNodesPropertiesPanel.ts index 2f8816040c8..a85453cf7b1 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/multipleNodesPropertiesPanel.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/multipleNodesPropertiesPanel.ts @@ -27,7 +27,10 @@ export class MultipleNodesPropertiesPanel extends PropertiesPanelBase { private fontProperties: FontProperties; private shapeProperties: ShapeProperties; - constructor(public diagram: Diagram, public page: Page) { + constructor( + public diagram: Diagram, + public page: Page + ) { super(diagram, page); this.fontProperties = new FontProperties(this.panel()); this.shapeProperties = new ShapeProperties(this.panel()); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/dataTypeProperties.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/dataTypeProperties.ts similarity index 94% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/dataTypeProperties.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/dataTypeProperties.ts index 49a0144d732..0f785cb713f 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/dataTypeProperties.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/dataTypeProperties.ts @@ -21,7 +21,10 @@ import { Locator, Page } from "@playwright/test"; import { DataType } from "../../jsonModel"; export class DataTypeProperties { - constructor(public panel: Locator, public page: Page) {} + constructor( + public panel: Locator, + public page: Page + ) {} public async setDataType(args: { newDataType: DataType }) { await this.panel.getByPlaceholder("Select a data type...").click(); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/descriptionProperties.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/descriptionProperties.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/descriptionProperties.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/descriptionProperties.ts diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/documentationProperties.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/documentationProperties.ts similarity index 95% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/documentationProperties.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/documentationProperties.ts index af5c01f678a..db7c5685d0f 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/documentationProperties.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/documentationProperties.ts @@ -20,7 +20,10 @@ import { Locator, Page } from "@playwright/test"; export class DocumentationProperties { - constructor(public panel: Locator, public page: Page) {} + constructor( + public panel: Locator, + public page: Page + ) {} public async addDocumentationLink(args: { linkText: string; linkHref: string }) { await this.panel.getByTitle("Add documentation link").click(); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/fontProperties.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/fontProperties.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/fontProperties.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/fontProperties.ts diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/nameProperties.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/nameProperties.ts similarity index 94% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/nameProperties.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/nameProperties.ts index 3bc98cd5438..eb226222627 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/nameProperties.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/nameProperties.ts @@ -20,7 +20,10 @@ import { Locator, Page } from "@playwright/test"; export class NameProperties { - constructor(public panel: Locator, public page: Page) {} + constructor( + public panel: Locator, + public page: Page + ) {} public async setName(args: { newName: string }) { await this.panel.getByPlaceholder("Enter a name...").fill(args.newName); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/shapeProperties.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/shapeProperties.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/parts/shapeProperties.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/parts/shapeProperties.ts diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/propertiesPanelBase.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/propertiesPanelBase.ts similarity index 93% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/propertiesPanelBase.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/propertiesPanelBase.ts index e3524967f75..b143aad174a 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/propertiesPanelBase.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/propertiesPanelBase.ts @@ -21,7 +21,10 @@ import { Page } from "@playwright/test"; import { Diagram } from "../diagram"; export abstract class PropertiesPanelBase { - constructor(public diagram: Diagram, public page: Page) {} + constructor( + public diagram: Diagram, + public page: Page + ) {} public panel() { return this.page.getByTestId("kie-tools--dmn-editor--properties-panel-container"); diff --git a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/textAnnotationPropertiesPanel.ts b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/textAnnotationPropertiesPanel.ts similarity index 98% rename from packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/textAnnotationPropertiesPanel.ts rename to packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/textAnnotationPropertiesPanel.ts index 21737381305..24354ef0940 100644 --- a/packages/dmn-editor/tests/e2e/__fixtures__/propertiesPanel/textAnnotationPropertiesPanel.ts +++ b/packages/dmn-editor/tests-e2e/__fixtures__/propertiesPanel/textAnnotationPropertiesPanel.ts @@ -29,7 +29,10 @@ export class TextAnnotationProperties extends PropertiesPanelBase { private fontProperties: FontProperties; private shapeProperties: ShapeProperties; - constructor(public diagram: Diagram, public page: Page) { + constructor( + public diagram: Diagram, + public page: Page + ) { super(diagram, page); this.descriptionProperties = new DescriptionProperties(this.panel()); this.fontProperties = new FontProperties(this.panel()); diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/change-multiple-nodes-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/change-multiple-nodes-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/change-multiple-nodes-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/change-multiple-nodes-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/change-multiple-nodes-shape.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/change-multiple-nodes-shape.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/change-multiple-nodes-shape.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/change-multiple-nodes-shape.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-bkm-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-bkm-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-bkm-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-bkm-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-decision-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-decision-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-decision-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-decision-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-decision-service-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-decision-service-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-decision-service-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-decision-service-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-group-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-group-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-group-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-group-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-input-data-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-input-data-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-input-data-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-input-data-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-service-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-service-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-service-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-service-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-input-data-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-input-data-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-input-data-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-input-data-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-association-edge-from-text-annotation-node-to-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-group-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-group-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-group-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-group-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-bkm.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-bkm.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-bkm.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-bkm.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-decision-service.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-decision-service.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-decision-service.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-decision-service.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-group.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-group.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-group.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-group.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-input-data.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-input-data.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-input-data.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-from-input-data.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/add-text-annotation-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/change-group-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/change-group-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/change-group-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/change-group-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/change-group-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/change-group-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/change-group-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/change-group-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/change-text-annotation-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/change-text-annotation-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/change-text-annotation-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/change-text-annotation-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/change-text-annotation-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/change-text-annotation-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/change-text-annotation-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/change-text-annotation-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/delete-association-waypoint-edge-with-corner.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/delete-association-waypoint-edge-with-corner.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/delete-association-waypoint-edge-with-corner.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/delete-association-waypoint-edge-with-corner.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/delete-association-waypoint-straight-edge.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/delete-association-waypoint-straight-edge.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/delete-association-waypoint-straight-edge.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/delete-association-waypoint-straight-edge.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-middle-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-middle-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-middle-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-middle-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-middle-waypoints.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-middle-waypoints.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-middle-waypoints.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-middle-waypoints.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-starting-and-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-starting-and-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-starting-and-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/move-association-starting-and-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/rename-group-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/rename-group-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/rename-group-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/rename-group-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/rename-text-annotation-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/rename-text-annotation-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/rename-text-annotation-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/rename-text-annotation-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/reset-group-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/reset-group-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/reset-group-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/reset-group-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/reset-text-annotation-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/reset-text-annotation-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/reset-text-annotation-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/reset-text-annotation-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-back-group-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-back-group-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-back-group-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-back-group-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-back-text-annotation-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-back-text-annotation-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-back-text-annotation-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-back-text-annotation-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-group-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-group-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-group-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-group-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-text-annotation-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-text-annotation-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-text-annotation-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drdArtifacts/resize-text-annotation-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-decision-service-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-decision-service-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-decision-service-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-decision-service-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-bkm-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-decision-service-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-decision-service-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-decision-service-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-decision-service-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-input-data-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-input-data-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-input-data-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-input-data-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-service-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-service-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-decision-service-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-decision-service-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-input-data-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-input-data-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-input-data-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-input-data-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-input-data-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-input-data-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-input-data-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-input-data-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/add-knowledge-source-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-bkm-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-bkm-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-bkm-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-bkm-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-bkm-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-bkm-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-bkm-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-bkm-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-decision-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-decision-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-decision-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-decision-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-decision-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-decision-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-decision-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-decision-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-decision-service-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-decision-service-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-decision-service-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-decision-service-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-decision-service-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-decision-service-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-decision-service-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-decision-service-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-input-data-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-input-data-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-input-data-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-input-data-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-input-data-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-input-data-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-input-data-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-input-data-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-knowledge-source-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-knowledge-source-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-knowledge-source-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-knowledge-source-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-knowledge-source-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-knowledge-source-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/change-knowledge-source-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/change-knowledge-source-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/rename-bkm-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/rename-bkm-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/rename-bkm-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/rename-bkm-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/rename-decision-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/rename-decision-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/rename-decision-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/rename-decision-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/rename-decision-service-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/rename-decision-service-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/rename-decision-service-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/rename-decision-service-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/rename-input-data-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/rename-input-data-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/rename-input-data-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/rename-input-data-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/rename-knowledge-source-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/rename-knowledge-source-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/rename-knowledge-source-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/rename-knowledge-source-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/reset-bkm-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/reset-bkm-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/reset-bkm-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/reset-bkm-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/reset-decision-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/reset-decision-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/reset-decision-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/reset-decision-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/reset-decision-service-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/reset-decision-service-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/reset-decision-service-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/reset-decision-service-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/reset-input-data-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/reset-input-data-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/reset-input-data-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/reset-input-data-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/reset-knowledge-source-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/reset-knowledge-source-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/reset-knowledge-source-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/reset-knowledge-source-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-back-bkm-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-back-bkm-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-back-bkm-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-back-bkm-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-back-decision-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-back-decision-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-back-decision-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-back-decision-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-back-decision-service-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-back-decision-service-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-back-decision-service-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-back-decision-service-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-back-input-data-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-back-input-data-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-back-input-data-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-back-input-data-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-back-knowledge-source-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-back-knowledge-source-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-back-knowledge-source-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-back-knowledge-source-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-bkm-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-bkm-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-bkm-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-bkm-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-decision-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-decision-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-decision-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-decision-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-decision-service-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-decision-service-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-decision-service-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-decision-service-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-input-data-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-input-data-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-input-data-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-input-data-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-knowledge-source-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-knowledge-source-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgElements/resize-knowledge-source-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgElements/resize-knowledge-source-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-decision-node-to-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-decision-node-to-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-decision-node-to-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-decision-node-to-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-input-data-node-to-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-input-data-node-to-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-input-data-node-to-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-input-data-node-to-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-information-requirement-edge-from-decision-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-information-requirement-edge-from-decision-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-information-requirement-edge-from-decision-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-information-requirement-edge-from-decision-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-information-requirement-edge-from-input-data-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-information-requirement-edge-from-input-data-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-information-requirement-edge-from-input-data-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-information-requirement-edge-from-input-data-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/delete-authority-requirement-waypoint-edge-with-corner.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/delete-authority-requirement-waypoint-edge-with-corner.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/delete-authority-requirement-waypoint-edge-with-corner.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/delete-authority-requirement-waypoint-edge-with-corner.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/delete-authority-requirement-waypoint-straight-edge.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/delete-authority-requirement-waypoint-straight-edge.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/delete-authority-requirement-waypoint-straight-edge.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/delete-authority-requirement-waypoint-straight-edge.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/delete-information-requirement-waypoint-edge-with-corner.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/delete-information-requirement-waypoint-edge-with-corner.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/delete-information-requirement-waypoint-edge-with-corner.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/delete-information-requirement-waypoint-edge-with-corner.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/delete-information-requirement-waypoint-straight-edge.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/delete-information-requirement-waypoint-straight-edge.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/delete-information-requirement-waypoint-straight-edge.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/delete-information-requirement-waypoint-straight-edge.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/delete-knowledge-requirement-waypoint-edge-with-corner.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/delete-knowledge-requirement-waypoint-edge-with-corner.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/delete-knowledge-requirement-waypoint-edge-with-corner.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/delete-knowledge-requirement-waypoint-edge-with-corner.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/delete-knowledge-requirement-waypoint-straight-edge.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/delete-knowledge-requirement-waypoint-straight-edge.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/delete-knowledge-requirement-waypoint-straight-edge.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/delete-knowledge-requirement-waypoint-straight-edge.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-middle-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-middle-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-middle-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-middle-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-middle-waypoints.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-middle-waypoints.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-middle-waypoints.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-middle-waypoints.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-starting-and-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-starting-and-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-starting-and-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-authority-requirement-starting-and-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-middle-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-middle-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-middle-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-middle-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-middle-waypoints.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-middle-waypoints.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-middle-waypoints.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-middle-waypoints.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-starting-and-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-starting-and-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-starting-and-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-information-requirement-starting-and-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-middle-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-middle-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-middle-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-middle-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-middle-waypoints.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-middle-waypoints.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-middle-waypoints.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-middle-waypoints.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-starting-and-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-starting-and-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-starting-and-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/drgRequirements/move-knowledge-requirement-starting-and-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/reset-multiple-nodes-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/reset-multiple-nodes-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/Google-Chrome/reset-multiple-nodes-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/Google-Chrome/reset-multiple-nodes-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/change-multiple-nodes-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/change-multiple-nodes-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/change-multiple-nodes-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/change-multiple-nodes-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/change-multiple-nodes-shape.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/change-multiple-nodes-shape.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/change-multiple-nodes-shape.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/change-multiple-nodes-shape.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-bkm-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-bkm-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-bkm-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-bkm-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-decision-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-decision-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-decision-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-decision-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-decision-service-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-decision-service-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-decision-service-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-decision-service-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-group-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-group-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-group-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-group-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-input-data-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-input-data-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-input-data-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-input-data-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-service-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-service-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-service-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-service-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-input-data-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-input-data-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-input-data-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-input-data-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-association-edge-from-text-annotation-node-to-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-group-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-group-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-group-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-group-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-bkm.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-bkm.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-bkm.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-bkm.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-decision-service.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-decision-service.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-decision-service.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-decision-service.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-group.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-group.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-group.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-group.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-input-data.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-input-data.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-input-data.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-from-input-data.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/add-text-annotation-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/change-group-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/change-group-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/change-group-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/change-group-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/change-group-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/change-group-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/change-group-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/change-group-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/change-text-annotation-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/change-text-annotation-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/change-text-annotation-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/change-text-annotation-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/change-text-annotation-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/change-text-annotation-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/change-text-annotation-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/change-text-annotation-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/delete-association-waypoint-edge-with-corner.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/delete-association-waypoint-edge-with-corner.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/delete-association-waypoint-edge-with-corner.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/delete-association-waypoint-edge-with-corner.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/delete-association-waypoint-straight-edge.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/delete-association-waypoint-straight-edge.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/delete-association-waypoint-straight-edge.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/delete-association-waypoint-straight-edge.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/move-association-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/move-association-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/move-association-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/move-association-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/move-association-middle-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/move-association-middle-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/move-association-middle-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/move-association-middle-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/move-association-middle-waypoints.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/move-association-middle-waypoints.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/move-association-middle-waypoints.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/move-association-middle-waypoints.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/move-association-starting-and-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/move-association-starting-and-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/move-association-starting-and-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/move-association-starting-and-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/rename-group-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/rename-group-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/rename-group-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/rename-group-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/rename-text-annotation-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/rename-text-annotation-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/rename-text-annotation-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/rename-text-annotation-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/reset-group-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/reset-group-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/reset-group-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/reset-group-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/reset-text-annotation-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/reset-text-annotation-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/reset-text-annotation-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/reset-text-annotation-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/resize-back-group-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/resize-back-group-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/resize-back-group-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/resize-back-group-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/resize-back-text-annotation-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/resize-back-text-annotation-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/resize-back-text-annotation-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/resize-back-text-annotation-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/resize-group-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/resize-group-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/resize-group-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/resize-group-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/resize-text-annotation-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/resize-text-annotation-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drdArtifacts/resize-text-annotation-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drdArtifacts/resize-text-annotation-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-decision-service-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-decision-service-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-decision-service-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-decision-service-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-bkm-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-node-from-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-node-from-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-node-from-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-node-from-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-node-from-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-node-from-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-node-from-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-node-from-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-node-from-decision-service-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-node-from-decision-service-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-node-from-decision-service-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-node-from-decision-service-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-node-from-input-data-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-node-from-input-data-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-node-from-input-data-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-node-from-input-data-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-node-from-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-node-from-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-node-from-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-node-from-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-service-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-service-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-decision-service-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-decision-service-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-input-data-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-input-data-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-input-data-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-input-data-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-input-data-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-input-data-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-input-data-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-input-data-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/add-knowledge-source-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-bkm-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-bkm-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-bkm-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-bkm-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-bkm-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-bkm-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-bkm-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-bkm-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-decision-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-decision-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-decision-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-decision-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-decision-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-decision-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-decision-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-decision-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-decision-service-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-decision-service-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-decision-service-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-decision-service-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-decision-service-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-decision-service-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-decision-service-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-decision-service-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-input-data-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-input-data-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-input-data-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-input-data-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-input-data-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-input-data-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-input-data-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-input-data-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-knowledge-source-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-knowledge-source-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-knowledge-source-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-knowledge-source-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-knowledge-source-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-knowledge-source-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/change-knowledge-source-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/change-knowledge-source-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/rename-bkm-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/rename-bkm-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/rename-bkm-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/rename-bkm-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/rename-decision-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/rename-decision-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/rename-decision-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/rename-decision-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/rename-decision-service-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/rename-decision-service-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/rename-decision-service-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/rename-decision-service-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/rename-input-data-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/rename-input-data-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/rename-input-data-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/rename-input-data-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/rename-knowledge-source-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/rename-knowledge-source-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/rename-knowledge-source-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/rename-knowledge-source-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/reset-bkm-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/reset-bkm-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/reset-bkm-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/reset-bkm-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/reset-decision-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/reset-decision-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/reset-decision-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/reset-decision-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/reset-decision-service-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/reset-decision-service-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/reset-decision-service-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/reset-decision-service-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/reset-input-data-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/reset-input-data-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/reset-input-data-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/reset-input-data-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/reset-knowledge-source-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/reset-knowledge-source-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/reset-knowledge-source-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/reset-knowledge-source-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-back-bkm-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-back-bkm-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-back-bkm-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-back-bkm-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-back-decision-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-back-decision-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-back-decision-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-back-decision-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-back-decision-service-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-back-decision-service-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-back-decision-service-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-back-decision-service-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-back-input-data-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-back-input-data-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-back-input-data-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-back-input-data-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-back-knowledge-source-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-back-knowledge-source-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-back-knowledge-source-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-back-knowledge-source-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-bkm-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-bkm-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-bkm-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-bkm-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-decision-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-decision-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-decision-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-decision-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-decision-service-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-decision-service-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-decision-service-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-decision-service-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-input-data-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-input-data-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-input-data-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-input-data-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-knowledge-source-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-knowledge-source-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgElements/resize-knowledge-source-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgElements/resize-knowledge-source-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-decision-node-to-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-decision-node-to-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-decision-node-to-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-decision-node-to-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-input-data-node-to-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-input-data-node-to-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-input-data-node-to-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-input-data-node-to-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-information-requirement-edge-from-decision-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-information-requirement-edge-from-decision-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-information-requirement-edge-from-decision-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-information-requirement-edge-from-decision-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-information-requirement-edge-from-input-data-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-information-requirement-edge-from-input-data-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-information-requirement-edge-from-input-data-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-information-requirement-edge-from-input-data-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/delete-authority-requirement-waypoint-edge-with-corner.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/delete-authority-requirement-waypoint-edge-with-corner.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/delete-authority-requirement-waypoint-edge-with-corner.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/delete-authority-requirement-waypoint-edge-with-corner.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/delete-authority-requirement-waypoint-straight-edge.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/delete-authority-requirement-waypoint-straight-edge.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/delete-authority-requirement-waypoint-straight-edge.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/delete-authority-requirement-waypoint-straight-edge.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/delete-information-requirement-waypoint-edge-with-corner.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/delete-information-requirement-waypoint-edge-with-corner.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/delete-information-requirement-waypoint-edge-with-corner.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/delete-information-requirement-waypoint-edge-with-corner.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/delete-information-requirement-waypoint-straight-edge.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/delete-information-requirement-waypoint-straight-edge.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/delete-information-requirement-waypoint-straight-edge.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/delete-information-requirement-waypoint-straight-edge.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/delete-knowledge-requirement-waypoint-edge-with-corner.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/delete-knowledge-requirement-waypoint-edge-with-corner.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/delete-knowledge-requirement-waypoint-edge-with-corner.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/delete-knowledge-requirement-waypoint-edge-with-corner.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/delete-knowledge-requirement-waypoint-straight-edge.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/delete-knowledge-requirement-waypoint-straight-edge.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/delete-knowledge-requirement-waypoint-straight-edge.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/delete-knowledge-requirement-waypoint-straight-edge.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-middle-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-middle-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-middle-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-middle-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-middle-waypoints.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-middle-waypoints.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-middle-waypoints.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-middle-waypoints.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-starting-and-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-starting-and-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-starting-and-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-authority-requirement-starting-and-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-middle-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-middle-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-middle-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-middle-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-middle-waypoints.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-middle-waypoints.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-middle-waypoints.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-middle-waypoints.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-starting-and-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-starting-and-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-starting-and-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-information-requirement-starting-and-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-middle-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-middle-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-middle-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-middle-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-middle-waypoints.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-middle-waypoints.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-middle-waypoints.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-middle-waypoints.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-starting-and-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-starting-and-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-starting-and-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/drgRequirements/move-knowledge-requirement-starting-and-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/chromium/reset-multiple-nodes-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/chromium/reset-multiple-nodes-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/chromium/reset-multiple-nodes-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/chromium/reset-multiple-nodes-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/change-multiple-nodes-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/change-multiple-nodes-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/change-multiple-nodes-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/change-multiple-nodes-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/change-multiple-nodes-shape.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/change-multiple-nodes-shape.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/change-multiple-nodes-shape.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/change-multiple-nodes-shape.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-bkm-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-bkm-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-bkm-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-bkm-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-decision-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-decision-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-decision-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-decision-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-decision-service-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-decision-service-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-decision-service-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-decision-service-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-group-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-group-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-group-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-group-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-input-data-node-to-text-annotation-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-input-data-node-to-text-annotation-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-input-data-node-to-text-annotation-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-input-data-node-to-text-annotation-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-service-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-service-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-service-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-decision-service-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-input-data-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-input-data-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-input-data-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-input-data-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-association-edge-from-text-annotation-node-to-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-group-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-group-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-group-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-group-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-bkm.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-bkm.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-bkm.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-bkm.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-decision-service.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-decision-service.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-decision-service.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-decision-service.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-group.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-group.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-group.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-group.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-input-data.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-input-data.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-input-data.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-from-input-data.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/add-text-annotation-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/change-group-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/change-group-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/change-group-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/change-group-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/change-group-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/change-group-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/change-group-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/change-group-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/change-text-annotation-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/change-text-annotation-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/change-text-annotation-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/change-text-annotation-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/change-text-annotation-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/change-text-annotation-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/change-text-annotation-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/change-text-annotation-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/move-association-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/move-association-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/move-association-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/move-association-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/move-association-starting-and-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/move-association-starting-and-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/move-association-starting-and-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/move-association-starting-and-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/rename-group-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/rename-group-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/rename-group-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/rename-group-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/rename-text-annotation-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/rename-text-annotation-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/rename-text-annotation-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/rename-text-annotation-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/reset-group-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/reset-group-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/reset-group-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/reset-group-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/reset-text-annotation-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/reset-text-annotation-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/reset-text-annotation-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/reset-text-annotation-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/resize-back-group-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/resize-back-group-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/resize-back-group-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/resize-back-group-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/resize-back-text-annotation-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/resize-back-text-annotation-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/resize-back-text-annotation-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/resize-back-text-annotation-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/resize-group-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/resize-group-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/resize-group-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/resize-group-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/resize-text-annotation-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/resize-text-annotation-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drdArtifacts/resize-text-annotation-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drdArtifacts/resize-text-annotation-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-decision-service-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-decision-service-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-decision-service-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-decision-service-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-bkm-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-node-from-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-node-from-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-node-from-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-node-from-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-node-from-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-node-from-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-node-from-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-node-from-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-node-from-decision-service-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-node-from-decision-service-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-node-from-decision-service-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-node-from-decision-service-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-node-from-input-data-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-node-from-input-data-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-node-from-input-data-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-node-from-input-data-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-node-from-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-node-from-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-node-from-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-node-from-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-service-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-service-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-decision-service-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-decision-service-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-input-data-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-input-data-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-input-data-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-input-data-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-input-data-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-input-data-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-input-data-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-input-data-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-palette.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-palette.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-palette.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/add-knowledge-source-node-from-palette.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-bkm-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-bkm-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-bkm-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-bkm-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-bkm-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-bkm-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-bkm-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-bkm-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-decision-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-decision-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-decision-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-decision-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-decision-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-decision-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-decision-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-decision-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-decision-service-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-decision-service-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-decision-service-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-decision-service-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-decision-service-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-decision-service-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-decision-service-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-decision-service-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-input-data-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-input-data-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-input-data-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-input-data-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-input-data-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-input-data-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-input-data-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-input-data-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-knowledge-source-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-knowledge-source-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-knowledge-source-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-knowledge-source-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-knowledge-source-position.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-knowledge-source-position.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/change-knowledge-source-position.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/change-knowledge-source-position.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/rename-bkm-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/rename-bkm-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/rename-bkm-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/rename-bkm-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/rename-decision-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/rename-decision-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/rename-decision-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/rename-decision-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/rename-decision-service-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/rename-decision-service-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/rename-decision-service-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/rename-decision-service-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/rename-input-data-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/rename-input-data-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/rename-input-data-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/rename-input-data-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/rename-knowledge-source-node-from-diagram.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/rename-knowledge-source-node-from-diagram.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/rename-knowledge-source-node-from-diagram.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/rename-knowledge-source-node-from-diagram.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/reset-bkm-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/reset-bkm-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/reset-bkm-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/reset-bkm-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/reset-decision-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/reset-decision-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/reset-decision-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/reset-decision-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/reset-decision-service-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/reset-decision-service-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/reset-decision-service-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/reset-decision-service-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/reset-input-data-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/reset-input-data-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/reset-input-data-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/reset-input-data-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/reset-knowledge-source-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/reset-knowledge-source-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/reset-knowledge-source-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/reset-knowledge-source-font.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-back-bkm-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-back-bkm-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-back-bkm-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-back-bkm-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-back-decision-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-back-decision-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-back-decision-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-back-decision-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-back-decision-service-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-back-decision-service-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-back-decision-service-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-back-decision-service-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-back-input-data-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-back-input-data-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-back-input-data-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-back-input-data-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-back-knowledge-source-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-back-knowledge-source-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-back-knowledge-source-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-back-knowledge-source-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-bkm-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-bkm-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-bkm-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-bkm-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-decision-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-decision-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-decision-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-decision-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-decision-service-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-decision-service-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-decision-service-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-decision-service-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-input-data-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-input-data-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-input-data-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-input-data-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-knowledge-source-on-top-of-decision.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-knowledge-source-on-top-of-decision.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgElements/resize-knowledge-source-on-top-of-decision.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgElements/resize-knowledge-source-on-top-of-decision.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-decision-node-to-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-decision-node-to-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-decision-node-to-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-decision-node-to-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-input-data-node-to-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-input-data-node-to-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-input-data-node-to-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-input-data-node-to-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-knowledge-source-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-knowledge-source-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-knowledge-source-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-authority-requirement-edge-from-knowledge-source-node-to-knowledge-source-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-information-requirement-edge-from-decision-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-information-requirement-edge-from-decision-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-information-requirement-edge-from-decision-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-information-requirement-edge-from-decision-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-information-requirement-edge-from-input-data-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-information-requirement-edge-from-input-data-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-information-requirement-edge-from-input-data-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-information-requirement-edge-from-input-data-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-bkm-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-bkm-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-bkm-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-bkm-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-bkm-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-decision-node.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-decision-node.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-decision-node.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/add-knowledge-requirement-edge-from-decision-service-node-to-decision-node.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/move-authority-requirement-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/move-authority-requirement-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/move-authority-requirement-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/move-authority-requirement-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/move-authority-requirement-starting-and-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/move-authority-requirement-starting-and-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/move-authority-requirement-starting-and-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/move-authority-requirement-starting-and-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/move-information-requirement-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/move-information-requirement-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/move-information-requirement-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/move-information-requirement-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/move-information-requirement-starting-and-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/move-information-requirement-starting-and-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/move-information-requirement-starting-and-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/move-information-requirement-starting-and-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/move-knowledge-requirement-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/move-knowledge-requirement-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/move-knowledge-requirement-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/move-knowledge-requirement-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/move-knowledge-requirement-starting-and-ending-waypoint.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/move-knowledge-requirement-starting-and-ending-waypoint.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/drgRequirements/move-knowledge-requirement-starting-and-ending-waypoint.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/drgRequirements/move-knowledge-requirement-starting-and-ending-waypoint.png diff --git a/packages/dmn-editor/tests/e2e/__screenshots__/webkit/reset-multiple-nodes-font.png b/packages/dmn-editor/tests-e2e/__screenshots__/webkit/reset-multiple-nodes-font.png similarity index 100% rename from packages/dmn-editor/tests/e2e/__screenshots__/webkit/reset-multiple-nodes-font.png rename to packages/dmn-editor/tests-e2e/__screenshots__/webkit/reset-multiple-nodes-font.png diff --git a/packages/dmn-editor/tests/e2e/changeDiagramProperties.spec.ts b/packages/dmn-editor/tests-e2e/changeDiagramProperties.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/changeDiagramProperties.spec.ts rename to packages/dmn-editor/tests-e2e/changeDiagramProperties.spec.ts diff --git a/packages/dmn-editor/tests/e2e/changeMultipleNodesProperties.spec.ts b/packages/dmn-editor/tests-e2e/changeMultipleNodesProperties.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/changeMultipleNodesProperties.spec.ts rename to packages/dmn-editor/tests-e2e/changeMultipleNodesProperties.spec.ts diff --git a/packages/dmn-editor/tests/e2e/deleteConnectedNodes.spec.ts b/packages/dmn-editor/tests-e2e/deleteConnectedNodes.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/deleteConnectedNodes.spec.ts rename to packages/dmn-editor/tests-e2e/deleteConnectedNodes.spec.ts diff --git a/packages/dmn-editor/tests/e2e/deleteDecisionServiceWithOutput.spec.ts b/packages/dmn-editor/tests-e2e/deleteDecisionServiceWithOutput.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/deleteDecisionServiceWithOutput.spec.ts rename to packages/dmn-editor/tests-e2e/deleteDecisionServiceWithOutput.spec.ts diff --git a/packages/dmn-editor/tests/e2e/deleteGroupAndDrgElements.spec.ts b/packages/dmn-editor/tests-e2e/deleteGroupAndDrgElements.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/deleteGroupAndDrgElements.spec.ts rename to packages/dmn-editor/tests-e2e/deleteGroupAndDrgElements.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/addAssociation.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/addAssociation.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/addAssociation.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/addAssociation.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/addAssociationWaypoint.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/addAssociationWaypoint.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/addAssociationWaypoint.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/addAssociationWaypoint.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/addGroup.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/addGroup.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/addGroup.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/addGroup.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/addTextAnnotation.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/addTextAnnotation.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/addTextAnnotation.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/addTextAnnotation.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/changeGroupProperties.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/changeGroupProperties.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/changeGroupProperties.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/changeGroupProperties.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/changeTextAnnotationProperties.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/changeTextAnnotationProperties.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/changeTextAnnotationProperties.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/changeTextAnnotationProperties.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/deleteAssociation.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/deleteAssociation.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/deleteAssociation.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/deleteAssociation.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/deleteAssociationWaypoint.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/deleteAssociationWaypoint.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/deleteAssociationWaypoint.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/deleteAssociationWaypoint.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/deleteGroup.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/deleteGroup.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/deleteGroup.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/deleteGroup.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/deleteTextAnnotation.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/deleteTextAnnotation.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/deleteTextAnnotation.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/deleteTextAnnotation.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/moveAssociationWaypoint.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/moveAssociationWaypoint.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/moveAssociationWaypoint.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/moveAssociationWaypoint.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/renameGroup.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/renameGroup.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/renameGroup.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/renameGroup.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/renameTextAnnotation.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/renameTextAnnotation.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/renameTextAnnotation.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/renameTextAnnotation.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/resizeGroup.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/resizeGroup.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/resizeGroup.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/resizeGroup.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drdArtifacts/resizeTextAnnotation.spec.ts b/packages/dmn-editor/tests-e2e/drdArtifacts/resizeTextAnnotation.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drdArtifacts/resizeTextAnnotation.spec.ts rename to packages/dmn-editor/tests-e2e/drdArtifacts/resizeTextAnnotation.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/addBkm.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/addBkm.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/addBkm.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/addBkm.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/addDecision.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/addDecision.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/addDecision.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/addDecision.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/addDecisionService.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/addDecisionService.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/addDecisionService.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/addDecisionService.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/addInputData.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/addInputData.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/addInputData.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/addInputData.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/addKnowledgeSource.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/addKnowledgeSource.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/addKnowledgeSource.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/addKnowledgeSource.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/changeBkmProperties.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/changeBkmProperties.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/changeBkmProperties.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/changeBkmProperties.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/changeDecisionProperties.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/changeDecisionProperties.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/changeDecisionProperties.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/changeDecisionProperties.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/changeDecisionServiceProperties.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/changeDecisionServiceProperties.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/changeDecisionServiceProperties.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/changeDecisionServiceProperties.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/changeInputDataProperties.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/changeInputDataProperties.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/changeInputDataProperties.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/changeInputDataProperties.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/changeKnowledgeSourceProperties.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/changeKnowledgeSourceProperties.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/changeKnowledgeSourceProperties.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/changeKnowledgeSourceProperties.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/deleteBkm.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/deleteBkm.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/deleteBkm.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/deleteBkm.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/deleteDecision.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/deleteDecision.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/deleteDecision.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/deleteDecision.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/deleteDecisionService.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/deleteDecisionService.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/deleteDecisionService.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/deleteDecisionService.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/deleteInputData.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/deleteInputData.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/deleteInputData.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/deleteInputData.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/deleteKnowledgeSource.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/deleteKnowledgeSource.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/deleteKnowledgeSource.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/deleteKnowledgeSource.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/renameBkm.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/renameBkm.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/renameBkm.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/renameBkm.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/renameDecision.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/renameDecision.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/renameDecision.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/renameDecision.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/renameDecisionService.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/renameDecisionService.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/renameDecisionService.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/renameDecisionService.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/renameInputData.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/renameInputData.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/renameInputData.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/renameInputData.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/renameKnowledgeSource.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/renameKnowledgeSource.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/renameKnowledgeSource.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/renameKnowledgeSource.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/resizeBkm.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/resizeBkm.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/resizeBkm.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/resizeBkm.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/resizeDecision.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/resizeDecision.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/resizeDecision.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/resizeDecision.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/resizeDecisionService.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/resizeDecisionService.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/resizeDecisionService.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/resizeDecisionService.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/resizeInputData.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/resizeInputData.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/resizeInputData.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/resizeInputData.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgElements/resizeKnowledgeSource.spec.ts b/packages/dmn-editor/tests-e2e/drgElements/resizeKnowledgeSource.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgElements/resizeKnowledgeSource.spec.ts rename to packages/dmn-editor/tests-e2e/drgElements/resizeKnowledgeSource.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/addAuthorityRequirement.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/addAuthorityRequirement.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/addAuthorityRequirement.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/addAuthorityRequirement.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/addAuthorityRequirementWaypoint.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/addAuthorityRequirementWaypoint.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/addAuthorityRequirementWaypoint.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/addAuthorityRequirementWaypoint.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/addInformationRequirement.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/addInformationRequirement.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/addInformationRequirement.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/addInformationRequirement.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/addInformationRequirementWaypoint.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/addInformationRequirementWaypoint.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/addInformationRequirementWaypoint.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/addInformationRequirementWaypoint.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/addKnowledgeRequirement.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/addKnowledgeRequirement.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/addKnowledgeRequirement.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/addKnowledgeRequirement.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/addKnowledgeRequirementWaypoint.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/addKnowledgeRequirementWaypoint.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/addKnowledgeRequirementWaypoint.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/addKnowledgeRequirementWaypoint.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/deleteAuthorityRequirement.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/deleteAuthorityRequirement.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/deleteAuthorityRequirement.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/deleteAuthorityRequirement.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/deleteAuthorityRequirementWaypoint.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/deleteAuthorityRequirementWaypoint.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/deleteAuthorityRequirementWaypoint.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/deleteAuthorityRequirementWaypoint.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/deleteInformationRequirement.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/deleteInformationRequirement.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/deleteInformationRequirement.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/deleteInformationRequirement.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/deleteInformationRequirementWaypoint.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/deleteInformationRequirementWaypoint.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/deleteInformationRequirementWaypoint.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/deleteInformationRequirementWaypoint.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/deleteKnowledgeRequirement.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/deleteKnowledgeRequirement.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/deleteKnowledgeRequirement.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/deleteKnowledgeRequirement.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/deleteKnowledgeRequirementWaypoint.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/deleteKnowledgeRequirementWaypoint.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/deleteKnowledgeRequirementWaypoint.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/deleteKnowledgeRequirementWaypoint.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/invalidAuthorityRequirement.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/invalidAuthorityRequirement.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/invalidAuthorityRequirement.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/invalidAuthorityRequirement.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/invalidInformationRequirement.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/invalidInformationRequirement.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/invalidInformationRequirement.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/invalidInformationRequirement.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/invalidKnowledgeRequirement.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/invalidKnowledgeRequirement.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/invalidKnowledgeRequirement.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/invalidKnowledgeRequirement.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/moveAuthorityRequirementWaypoint.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/moveAuthorityRequirementWaypoint.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/moveAuthorityRequirementWaypoint.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/moveAuthorityRequirementWaypoint.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/moveInformationRequirementWaypoint.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/moveInformationRequirementWaypoint.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/moveInformationRequirementWaypoint.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/moveInformationRequirementWaypoint.spec.ts diff --git a/packages/dmn-editor/tests/e2e/drgRequirements/moveKnowledgeRequirementWaypoint.spec.ts b/packages/dmn-editor/tests-e2e/drgRequirements/moveKnowledgeRequirementWaypoint.spec.ts similarity index 100% rename from packages/dmn-editor/tests/e2e/drgRequirements/moveKnowledgeRequirementWaypoint.spec.ts rename to packages/dmn-editor/tests-e2e/drgRequirements/moveKnowledgeRequirementWaypoint.spec.ts diff --git a/packages/dmn-feel-antlr4-parser/package.json b/packages/dmn-feel-antlr4-parser/package.json index 28af574458a..5491b99b1e5 100644 --- a/packages/dmn-feel-antlr4-parser/package.json +++ b/packages/dmn-feel-antlr4-parser/package.json @@ -20,9 +20,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools/dmn-marshaller": "workspace:*", @@ -34,11 +33,7 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/dmn-language-service/jest.config.js b/packages/dmn-language-service/jest.config.js index 82405627e61..1f132c9c56b 100644 --- a/packages/dmn-language-service/jest.config.js +++ b/packages/dmn-language-service/jest.config.js @@ -17,19 +17,14 @@ * under the License. */ +const { config, babelTransform } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transformIgnorePatterns: [], + ...config, + testEnvironment: "jsdom", transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", + ...babelTransform, }, + transformIgnorePatterns: [], }; diff --git a/packages/dmn-language-service/package.json b/packages/dmn-language-service/package.json index a0909895f0c..a49f8207723 100644 --- a/packages/dmn-language-service/package.json +++ b/packages/dmn-language-service/package.json @@ -35,14 +35,16 @@ "@babel/preset-env": "^7.16.0", "@kie-tools-core/switch-expression-ts": "workspace:*", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", + "@types/jest": "^29.5.12", "@types/uuid": "^8.3.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/dmn-language-service/tests/fixtures/decisions.dmn b/packages/dmn-language-service/tests/fixtures/decisions.dmn index e3a85c52d06..1d0fda9bf91 100644 --- a/packages/dmn-language-service/tests/fixtures/decisions.dmn +++ b/packages/dmn-language-service/tests/fixtures/decisions.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - - + + - + - - + + - + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/dmn-language-service/tests/fixtures/dmn12/a.dmn b/packages/dmn-language-service/tests/fixtures/dmn12/a.dmn index 5c0122efc93..02bdcbf4623 100644 --- a/packages/dmn-language-service/tests/fixtures/dmn12/a.dmn +++ b/packages/dmn-language-service/tests/fixtures/dmn12/a.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-language-service/tests/fixtures/dmn12/bImportsA.dmn b/packages/dmn-language-service/tests/fixtures/dmn12/bImportsA.dmn index 1857998dbbc..9a10af86a7d 100644 --- a/packages/dmn-language-service/tests/fixtures/dmn12/bImportsA.dmn +++ b/packages/dmn-language-service/tests/fixtures/dmn12/bImportsA.dmn @@ -1,4 +1,4 @@ - + - - - + + + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-language-service/tests/fixtures/dmn12/cImportsB.dmn b/packages/dmn-language-service/tests/fixtures/dmn12/cImportsB.dmn index 7a33814cf7b..58a013225a5 100644 --- a/packages/dmn-language-service/tests/fixtures/dmn12/cImportsB.dmn +++ b/packages/dmn-language-service/tests/fixtures/dmn12/cImportsB.dmn @@ -1,4 +1,4 @@ - + - - - + + + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-language-service/tests/fixtures/dmn12/dImportsAB.dmn b/packages/dmn-language-service/tests/fixtures/dmn12/dImportsAB.dmn index 4ef2a05e895..de501a79eb1 100644 --- a/packages/dmn-language-service/tests/fixtures/dmn12/dImportsAB.dmn +++ b/packages/dmn-language-service/tests/fixtures/dmn12/dImportsAB.dmn @@ -1,4 +1,4 @@ - + - - - - + + + + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-language-service/tests/fixtures/dmn12/eImportsXB.dmn b/packages/dmn-language-service/tests/fixtures/dmn12/eImportsXB.dmn index 66b40ecdad0..95882895086 100644 --- a/packages/dmn-language-service/tests/fixtures/dmn12/eImportsXB.dmn +++ b/packages/dmn-language-service/tests/fixtures/dmn12/eImportsXB.dmn @@ -1,4 +1,4 @@ - + - - - - + + + + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-language-service/tests/fixtures/dmn12/xImportsY.dmn b/packages/dmn-language-service/tests/fixtures/dmn12/xImportsY.dmn index f8f3d3454b5..538b6062f44 100644 --- a/packages/dmn-language-service/tests/fixtures/dmn12/xImportsY.dmn +++ b/packages/dmn-language-service/tests/fixtures/dmn12/xImportsY.dmn @@ -1,4 +1,4 @@ - + - - - + + + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-language-service/tests/fixtures/dmn12/y.dmn b/packages/dmn-language-service/tests/fixtures/dmn12/y.dmn index 91f07b3b5ec..8d0daeabc0c 100644 --- a/packages/dmn-language-service/tests/fixtures/dmn12/y.dmn +++ b/packages/dmn-language-service/tests/fixtures/dmn12/y.dmn @@ -17,26 +17,44 @@ ~ specific language governing permissions and limitations ~ under the License. --> - - + + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-language-service/tests/fixtures/dmn15/aImportsDmn12C.dmn b/packages/dmn-language-service/tests/fixtures/dmn15/aImportsDmn12C.dmn index 70fe241658c..9d9ca7d9c97 100644 --- a/packages/dmn-language-service/tests/fixtures/dmn15/aImportsDmn12C.dmn +++ b/packages/dmn-language-service/tests/fixtures/dmn15/aImportsDmn12C.dmn @@ -17,7 +17,18 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + @@ -32,7 +43,12 @@ - + @@ -40,7 +56,12 @@ - + @@ -48,7 +69,12 @@ - + @@ -61,5 +87,11 @@ - + diff --git a/packages/dmn-language-service/tests/fixtures/dmn15/bImportsDmn12D.dmn b/packages/dmn-language-service/tests/fixtures/dmn15/bImportsDmn12D.dmn index 288c4f42dd1..36257bc94dd 100644 --- a/packages/dmn-language-service/tests/fixtures/dmn15/bImportsDmn12D.dmn +++ b/packages/dmn-language-service/tests/fixtures/dmn15/bImportsDmn12D.dmn @@ -17,7 +17,18 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + @@ -32,7 +43,12 @@ - + @@ -40,7 +56,12 @@ - + @@ -48,7 +69,12 @@ - + @@ -61,5 +87,11 @@ - + diff --git a/packages/dmn-language-service/tests/fixtures/immediateRecursion/aImportsB.dmn b/packages/dmn-language-service/tests/fixtures/immediateRecursion/aImportsB.dmn index 025f971b980..0fe7f6d3870 100644 --- a/packages/dmn-language-service/tests/fixtures/immediateRecursion/aImportsB.dmn +++ b/packages/dmn-language-service/tests/fixtures/immediateRecursion/aImportsB.dmn @@ -1,4 +1,4 @@ - + - - - + + + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-language-service/tests/fixtures/immediateRecursion/bImportsA.dmn b/packages/dmn-language-service/tests/fixtures/immediateRecursion/bImportsA.dmn index a3f015a6fe3..ccc5ba3c335 100644 --- a/packages/dmn-language-service/tests/fixtures/immediateRecursion/bImportsA.dmn +++ b/packages/dmn-language-service/tests/fixtures/immediateRecursion/bImportsA.dmn @@ -1,4 +1,4 @@ - + - - - + + + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-language-service/tests/fixtures/threeLevelRecursion/aImportsB.dmn b/packages/dmn-language-service/tests/fixtures/threeLevelRecursion/aImportsB.dmn index a877423765d..48d7b4a75e1 100644 --- a/packages/dmn-language-service/tests/fixtures/threeLevelRecursion/aImportsB.dmn +++ b/packages/dmn-language-service/tests/fixtures/threeLevelRecursion/aImportsB.dmn @@ -1,4 +1,4 @@ - + - - - + + + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-language-service/tests/fixtures/threeLevelRecursion/bImportsC.dmn b/packages/dmn-language-service/tests/fixtures/threeLevelRecursion/bImportsC.dmn index 0ae35223589..72cd51fa82d 100644 --- a/packages/dmn-language-service/tests/fixtures/threeLevelRecursion/bImportsC.dmn +++ b/packages/dmn-language-service/tests/fixtures/threeLevelRecursion/bImportsC.dmn @@ -1,4 +1,4 @@ - + - - - + + + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-language-service/tests/fixtures/threeLevelRecursion/cImportsA.dmn b/packages/dmn-language-service/tests/fixtures/threeLevelRecursion/cImportsA.dmn index a3f015a6fe3..ccc5ba3c335 100644 --- a/packages/dmn-language-service/tests/fixtures/threeLevelRecursion/cImportsA.dmn +++ b/packages/dmn-language-service/tests/fixtures/threeLevelRecursion/cImportsA.dmn @@ -1,4 +1,4 @@ - + - - - + + + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-marshaller-backend-compatibility-tester/package.json b/packages/dmn-marshaller-backend-compatibility-tester/package.json index d0be4aa069a..429424ddf38 100644 --- a/packages/dmn-marshaller-backend-compatibility-tester/package.json +++ b/packages/dmn-marshaller-backend-compatibility-tester/package.json @@ -33,4 +33,4 @@ "rimraf": "^3.0.2", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/dmn-marshaller/jest.config.js b/packages/dmn-marshaller/jest.config.js index 995eed8f0e8..060be79621a 100644 --- a/packages/dmn-marshaller/jest.config.js +++ b/packages/dmn-marshaller/jest.config.js @@ -17,18 +17,10 @@ * under the License. */ +const { config } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, + ...config, + testEnvironment: "node", }; diff --git a/packages/dmn-marshaller/package.json b/packages/dmn-marshaller/package.json index 59fdb804273..e466f546fa9 100644 --- a/packages/dmn-marshaller/package.json +++ b/packages/dmn-marshaller/package.json @@ -42,17 +42,18 @@ "@kie-tools/dmn-marshaller-backend-compatibility-tester": "workspace:*", "@kie-tools/dmn-testing-models": "workspace:*", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", "@kie-tools/xml-parser-ts-codegen": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/react": "^17.0.6", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/dmn-marshaller/src/index.ts b/packages/dmn-marshaller/src/index.ts index 095efd1743d..f285f0c7aac 100644 --- a/packages/dmn-marshaller/src/index.ts +++ b/packages/dmn-marshaller/src/index.ts @@ -87,18 +87,18 @@ export type DmnMarshaller = Internal export type InternalDmnMarshaller = V extends "1.0" ? DmnMarshaller10 : V extends "1.1" - ? DmnMarshaller11 - : V extends "1.2" - ? DmnMarshaller12 - : V extends "1.3" - ? DmnMarshaller13 - : V extends "1.4" - ? DmnMarshaller14 - : V extends "1.5" - ? DmnMarshaller15 - : V extends "latest" - ? DmnLatestMarshaller - : never; + ? DmnMarshaller11 + : V extends "1.2" + ? DmnMarshaller12 + : V extends "1.3" + ? DmnMarshaller13 + : V extends "1.4" + ? DmnMarshaller14 + : V extends "1.5" + ? DmnMarshaller15 + : V extends "latest" + ? DmnLatestMarshaller + : never; export type DmnMarshallerBase = { instanceNs: Map; diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_0/dmn.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_0/dmn.xsd index c111e42fa8e..89f9aec93b5 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_0/dmn.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_0/dmn.xsd @@ -1,382 +1,411 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_0/dmn3.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_0/dmn3.xsd index 1bc2615ef7c..5c6677492be 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_0/dmn3.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_0/dmn3.xsd @@ -1,66 +1,70 @@ - - + + + - - - + - - - - - - - - - - - - - - - - + + + + + + + + + - + + + + + + + + - - - - - - - - - - - - + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - + - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_1/dmn.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_1/dmn.xsd index 4b3068228db..4d876e56a23 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_1/dmn.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_1/dmn.xsd @@ -1,438 +1,468 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_2/DC.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_2/DC.xsd index 6f7926fb11b..4be6e95186e 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_2/DC.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_2/DC.xsd @@ -1,159 +1,162 @@ - - + + + + + + - - - - + + + Color is a data type that represents a color value in the RGB format. + + + + + - - - Color is a data type that represents a color value in the RGB format. - - - - - + + + + + + - - - - - - + + + A Point specifies an location in some x-y coordinate system. + + + + - - - A Point specifies an location in some x-y coordinate system. - - - - + + + Dimension specifies two lengths (width and height) along the x and y axes in some x-y coordinate system. + + + + - - - Dimension specifies two lengths (width and height) along the x and y axes in some x-y coordinate system. - - - - + + + Bounds specifies a rectangular area in some x-y coordinate system that is defined by a location (x and y) and a size (width and height). + + + + + + - - - Bounds specifies a rectangular area in some x-y coordinate system that is defined by a location (x and y) and a size (width and height). - - - - - - - - - - AlignmentKind enumerates the possible options for alignment for layout purposes. - - - - - - - - - - - KnownColor is an enumeration of 17 known colors. - - - - - a color with a value of #800000 - - - - - a color with a value of #FF0000 - - - - - a color with a value of #FFA500 - - - - - a color with a value of #FFFF00 - - - - - a color with a value of #808000 - - - - - a color with a value of #800080 - - - - - a color with a value of #FF00FF - - - - - a color with a value of #FFFFFF - - - - - a color with a value of #00FF00 - - - - - a color with a value of #008000 - - - - - a color with a value of #000080 - - - - - a color with a value of #0000FF - - - - - a color with a value of #00FFFF - - - - - a color with a value of #008080 - - - - - a color with a value of #000000 - - - - - a color with a value of #C0C0C0 - - - - - a color with a value of #808080 - - - - + + + AlignmentKind enumerates the possible options for alignment for layout purposes. + + + + + + + + + + KnownColor is an enumeration of 17 known colors. + + + + + a color with a value of #800000 + + + + + a color with a value of #FF0000 + + + + + a color with a value of #FFA500 + + + + + a color with a value of #FFFF00 + + + + + a color with a value of #808000 + + + + + a color with a value of #800080 + + + + + a color with a value of #FF00FF + + + + + a color with a value of #FFFFFF + + + + + a color with a value of #00FF00 + + + + + a color with a value of #008000 + + + + + a color with a value of #000080 + + + + + a color with a value of #0000FF + + + + + a color with a value of #00FFFF + + + + + a color with a value of #008080 + + + + + a color with a value of #000000 + + + + + a color with a value of #C0C0C0 + + + + + a color with a value of #808080 + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_2/DI.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_2/DI.xsd index a79b4f798d8..b1921064b82 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_2/DI.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_2/DI.xsd @@ -1,115 +1,121 @@ - - - + + + - - The Diagram Interchange (DI) package enables interchange of graphical information that language users have control over, such as position of nodes and line routing points. Language specifications specialize elements of DI to define diagram interchange elements for a language. - + + The Diagram Interchange (DI) package enables interchange of graphical information that language users have control over, such as position of nodes and line routing points. Language specifications specialize elements of DI to define diagram interchange elements for a language. + - - - This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence - - + + + This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence + + - - - DiagramElement is the abstract super type of all elements in diagrams, including diagrams themselves. When contained in a diagram, diagram elements are laid out relative to the diagram's origin. - - - - - - - - - - - - an optional locally-owned style for this diagram element. - - - - - - a reference to an optional shared style element for this diagram element. - - - - - + + + DiagramElement is the abstract super type of all elements in diagrams, including diagrams themselves. When contained in a diagram, diagram elements are laid out relative to the diagram's origin. + + + + + + + + + + + + an optional locally-owned style for this diagram element. + + + + + + a reference to an optional shared style element for this diagram element. + + + + + - - - - - - the name of the diagram. - - - - - the documentation of the diagram. - - - - - the resolution of the diagram expressed in user units per inch. - - - - - + + + + + + the name of the diagram. + + + + + the documentation of the diagram. + + + + + the resolution of the diagram expressed in user units per inch. + + + + + - - - - - - - the optional bounds of the shape relative to the origin of its nesting plane. - - - - - - + + + + + + + the optional bounds of the shape relative to the origin of its nesting plane. + + + + + + - - - - - - - an optional list of points relative to the origin of the nesting diagram that specifies the connected line segments of the edge - - - - - - - - - - Style contains formatting properties that affect the appearance or style of diagram elements, including diagram themselves. - - - - - - - - - - - - - + + + + + + + an optional list of points relative to the origin of the nesting diagram that specifies the connected line segments of the edge + + + + + + + + + Style contains formatting properties that affect the appearance or style of diagram elements, including diagram themselves. + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_2/DMN12.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_2/DMN12.xsd index 47585ae1afc..f26c4652ee2 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_2/DMN12.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_2/DMN12.xsd @@ -1,504 +1,529 @@ - - - - - - + + + + + Include the DMN Diagram Interchange (DI) schema - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_2/DMNDI12.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_2/DMNDI12.xsd index d836703d50c..e164a74100b 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_2/DMNDI12.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_2/DMNDI12.xsd @@ -1,106 +1,106 @@ - - + + + + - - + + + + + This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence + + + + + + + - - - - - This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence - - - - - - - + + + + + + - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_3/DC.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_3/DC.xsd index 6f7926fb11b..4be6e95186e 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_3/DC.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_3/DC.xsd @@ -1,159 +1,162 @@ - - + + + + + + - - - - + + + Color is a data type that represents a color value in the RGB format. + + + + + - - - Color is a data type that represents a color value in the RGB format. - - - - - + + + + + + - - - - - - + + + A Point specifies an location in some x-y coordinate system. + + + + - - - A Point specifies an location in some x-y coordinate system. - - - - + + + Dimension specifies two lengths (width and height) along the x and y axes in some x-y coordinate system. + + + + - - - Dimension specifies two lengths (width and height) along the x and y axes in some x-y coordinate system. - - - - + + + Bounds specifies a rectangular area in some x-y coordinate system that is defined by a location (x and y) and a size (width and height). + + + + + + - - - Bounds specifies a rectangular area in some x-y coordinate system that is defined by a location (x and y) and a size (width and height). - - - - - - - - - - AlignmentKind enumerates the possible options for alignment for layout purposes. - - - - - - - - - - - KnownColor is an enumeration of 17 known colors. - - - - - a color with a value of #800000 - - - - - a color with a value of #FF0000 - - - - - a color with a value of #FFA500 - - - - - a color with a value of #FFFF00 - - - - - a color with a value of #808000 - - - - - a color with a value of #800080 - - - - - a color with a value of #FF00FF - - - - - a color with a value of #FFFFFF - - - - - a color with a value of #00FF00 - - - - - a color with a value of #008000 - - - - - a color with a value of #000080 - - - - - a color with a value of #0000FF - - - - - a color with a value of #00FFFF - - - - - a color with a value of #008080 - - - - - a color with a value of #000000 - - - - - a color with a value of #C0C0C0 - - - - - a color with a value of #808080 - - - - + + + AlignmentKind enumerates the possible options for alignment for layout purposes. + + + + + + + + + + KnownColor is an enumeration of 17 known colors. + + + + + a color with a value of #800000 + + + + + a color with a value of #FF0000 + + + + + a color with a value of #FFA500 + + + + + a color with a value of #FFFF00 + + + + + a color with a value of #808000 + + + + + a color with a value of #800080 + + + + + a color with a value of #FF00FF + + + + + a color with a value of #FFFFFF + + + + + a color with a value of #00FF00 + + + + + a color with a value of #008000 + + + + + a color with a value of #000080 + + + + + a color with a value of #0000FF + + + + + a color with a value of #00FFFF + + + + + a color with a value of #008080 + + + + + a color with a value of #000000 + + + + + a color with a value of #C0C0C0 + + + + + a color with a value of #808080 + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_3/DI.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_3/DI.xsd index a79b4f798d8..b1921064b82 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_3/DI.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_3/DI.xsd @@ -1,115 +1,121 @@ - - - + + + - - The Diagram Interchange (DI) package enables interchange of graphical information that language users have control over, such as position of nodes and line routing points. Language specifications specialize elements of DI to define diagram interchange elements for a language. - + + The Diagram Interchange (DI) package enables interchange of graphical information that language users have control over, such as position of nodes and line routing points. Language specifications specialize elements of DI to define diagram interchange elements for a language. + - - - This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence - - + + + This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence + + - - - DiagramElement is the abstract super type of all elements in diagrams, including diagrams themselves. When contained in a diagram, diagram elements are laid out relative to the diagram's origin. - - - - - - - - - - - - an optional locally-owned style for this diagram element. - - - - - - a reference to an optional shared style element for this diagram element. - - - - - + + + DiagramElement is the abstract super type of all elements in diagrams, including diagrams themselves. When contained in a diagram, diagram elements are laid out relative to the diagram's origin. + + + + + + + + + + + + an optional locally-owned style for this diagram element. + + + + + + a reference to an optional shared style element for this diagram element. + + + + + - - - - - - the name of the diagram. - - - - - the documentation of the diagram. - - - - - the resolution of the diagram expressed in user units per inch. - - - - - + + + + + + the name of the diagram. + + + + + the documentation of the diagram. + + + + + the resolution of the diagram expressed in user units per inch. + + + + + - - - - - - - the optional bounds of the shape relative to the origin of its nesting plane. - - - - - - + + + + + + + the optional bounds of the shape relative to the origin of its nesting plane. + + + + + + - - - - - - - an optional list of points relative to the origin of the nesting diagram that specifies the connected line segments of the edge - - - - - - - - - - Style contains formatting properties that affect the appearance or style of diagram elements, including diagram themselves. - - - - - - - - - - - - - + + + + + + + an optional list of points relative to the origin of the nesting diagram that specifies the connected line segments of the edge + + + + + + + + + Style contains formatting properties that affect the appearance or style of diagram elements, including diagram themselves. + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_3/DMN13.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_3/DMN13.xsd index 269a293f9bd..c61a9c01a03 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_3/DMN13.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_3/DMN13.xsd @@ -1,524 +1,549 @@ - - - - - - + + + + + Include the DMN Diagram Interchange (DI) schema - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_3/DMNDI13.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_3/DMNDI13.xsd index 5c60c966a6e..58fa45e5be5 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_3/DMNDI13.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_3/DMNDI13.xsd @@ -1,108 +1,108 @@ - - + + + + - - + + + + + This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence + + + + + + + - - - - - This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence - - - - - - - + + + + + + - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_4/DC.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_4/DC.xsd index 6f7926fb11b..4be6e95186e 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_4/DC.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_4/DC.xsd @@ -1,159 +1,162 @@ - - + + + + + + - - - - + + + Color is a data type that represents a color value in the RGB format. + + + + + - - - Color is a data type that represents a color value in the RGB format. - - - - - + + + + + + - - - - - - + + + A Point specifies an location in some x-y coordinate system. + + + + - - - A Point specifies an location in some x-y coordinate system. - - - - + + + Dimension specifies two lengths (width and height) along the x and y axes in some x-y coordinate system. + + + + - - - Dimension specifies two lengths (width and height) along the x and y axes in some x-y coordinate system. - - - - + + + Bounds specifies a rectangular area in some x-y coordinate system that is defined by a location (x and y) and a size (width and height). + + + + + + - - - Bounds specifies a rectangular area in some x-y coordinate system that is defined by a location (x and y) and a size (width and height). - - - - - - - - - - AlignmentKind enumerates the possible options for alignment for layout purposes. - - - - - - - - - - - KnownColor is an enumeration of 17 known colors. - - - - - a color with a value of #800000 - - - - - a color with a value of #FF0000 - - - - - a color with a value of #FFA500 - - - - - a color with a value of #FFFF00 - - - - - a color with a value of #808000 - - - - - a color with a value of #800080 - - - - - a color with a value of #FF00FF - - - - - a color with a value of #FFFFFF - - - - - a color with a value of #00FF00 - - - - - a color with a value of #008000 - - - - - a color with a value of #000080 - - - - - a color with a value of #0000FF - - - - - a color with a value of #00FFFF - - - - - a color with a value of #008080 - - - - - a color with a value of #000000 - - - - - a color with a value of #C0C0C0 - - - - - a color with a value of #808080 - - - - + + + AlignmentKind enumerates the possible options for alignment for layout purposes. + + + + + + + + + + KnownColor is an enumeration of 17 known colors. + + + + + a color with a value of #800000 + + + + + a color with a value of #FF0000 + + + + + a color with a value of #FFA500 + + + + + a color with a value of #FFFF00 + + + + + a color with a value of #808000 + + + + + a color with a value of #800080 + + + + + a color with a value of #FF00FF + + + + + a color with a value of #FFFFFF + + + + + a color with a value of #00FF00 + + + + + a color with a value of #008000 + + + + + a color with a value of #000080 + + + + + a color with a value of #0000FF + + + + + a color with a value of #00FFFF + + + + + a color with a value of #008080 + + + + + a color with a value of #000000 + + + + + a color with a value of #C0C0C0 + + + + + a color with a value of #808080 + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_4/DI.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_4/DI.xsd index a79b4f798d8..b1921064b82 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_4/DI.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_4/DI.xsd @@ -1,115 +1,121 @@ - - - + + + - - The Diagram Interchange (DI) package enables interchange of graphical information that language users have control over, such as position of nodes and line routing points. Language specifications specialize elements of DI to define diagram interchange elements for a language. - + + The Diagram Interchange (DI) package enables interchange of graphical information that language users have control over, such as position of nodes and line routing points. Language specifications specialize elements of DI to define diagram interchange elements for a language. + - - - This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence - - + + + This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence + + - - - DiagramElement is the abstract super type of all elements in diagrams, including diagrams themselves. When contained in a diagram, diagram elements are laid out relative to the diagram's origin. - - - - - - - - - - - - an optional locally-owned style for this diagram element. - - - - - - a reference to an optional shared style element for this diagram element. - - - - - + + + DiagramElement is the abstract super type of all elements in diagrams, including diagrams themselves. When contained in a diagram, diagram elements are laid out relative to the diagram's origin. + + + + + + + + + + + + an optional locally-owned style for this diagram element. + + + + + + a reference to an optional shared style element for this diagram element. + + + + + - - - - - - the name of the diagram. - - - - - the documentation of the diagram. - - - - - the resolution of the diagram expressed in user units per inch. - - - - - + + + + + + the name of the diagram. + + + + + the documentation of the diagram. + + + + + the resolution of the diagram expressed in user units per inch. + + + + + - - - - - - - the optional bounds of the shape relative to the origin of its nesting plane. - - - - - - + + + + + + + the optional bounds of the shape relative to the origin of its nesting plane. + + + + + + - - - - - - - an optional list of points relative to the origin of the nesting diagram that specifies the connected line segments of the edge - - - - - - - - - - Style contains formatting properties that affect the appearance or style of diagram elements, including diagram themselves. - - - - - - - - - - - - - + + + + + + + an optional list of points relative to the origin of the nesting diagram that specifies the connected line segments of the edge + + + + + + + + + Style contains formatting properties that affect the appearance or style of diagram elements, including diagram themselves. + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_4/DMN14.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_4/DMN14.xsd index e3229a13f43..02820f9d6a3 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_4/DMN14.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_4/DMN14.xsd @@ -1,638 +1,615 @@ - - + + + + + Include the DMN Diagram Interchange (DI) schema + + - - - Include the DMN Diagram Interchange (DI) schema - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_4/DMNDI13.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_4/DMNDI13.xsd index 79ce8295bd4..58fa45e5be5 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_4/DMNDI13.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_4/DMNDI13.xsd @@ -1,108 +1,108 @@ - - + + + + - - + + + + + This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence + + + + + + + - - - - - This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence - - - - - - - + + + + + + - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_5/DC.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_5/DC.xsd index 6f7926fb11b..4be6e95186e 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_5/DC.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_5/DC.xsd @@ -1,159 +1,162 @@ - - + + + + + + - - - - + + + Color is a data type that represents a color value in the RGB format. + + + + + - - - Color is a data type that represents a color value in the RGB format. - - - - - + + + + + + - - - - - - + + + A Point specifies an location in some x-y coordinate system. + + + + - - - A Point specifies an location in some x-y coordinate system. - - - - + + + Dimension specifies two lengths (width and height) along the x and y axes in some x-y coordinate system. + + + + - - - Dimension specifies two lengths (width and height) along the x and y axes in some x-y coordinate system. - - - - + + + Bounds specifies a rectangular area in some x-y coordinate system that is defined by a location (x and y) and a size (width and height). + + + + + + - - - Bounds specifies a rectangular area in some x-y coordinate system that is defined by a location (x and y) and a size (width and height). - - - - - - - - - - AlignmentKind enumerates the possible options for alignment for layout purposes. - - - - - - - - - - - KnownColor is an enumeration of 17 known colors. - - - - - a color with a value of #800000 - - - - - a color with a value of #FF0000 - - - - - a color with a value of #FFA500 - - - - - a color with a value of #FFFF00 - - - - - a color with a value of #808000 - - - - - a color with a value of #800080 - - - - - a color with a value of #FF00FF - - - - - a color with a value of #FFFFFF - - - - - a color with a value of #00FF00 - - - - - a color with a value of #008000 - - - - - a color with a value of #000080 - - - - - a color with a value of #0000FF - - - - - a color with a value of #00FFFF - - - - - a color with a value of #008080 - - - - - a color with a value of #000000 - - - - - a color with a value of #C0C0C0 - - - - - a color with a value of #808080 - - - - + + + AlignmentKind enumerates the possible options for alignment for layout purposes. + + + + + + + + + + KnownColor is an enumeration of 17 known colors. + + + + + a color with a value of #800000 + + + + + a color with a value of #FF0000 + + + + + a color with a value of #FFA500 + + + + + a color with a value of #FFFF00 + + + + + a color with a value of #808000 + + + + + a color with a value of #800080 + + + + + a color with a value of #FF00FF + + + + + a color with a value of #FFFFFF + + + + + a color with a value of #00FF00 + + + + + a color with a value of #008000 + + + + + a color with a value of #000080 + + + + + a color with a value of #0000FF + + + + + a color with a value of #00FFFF + + + + + a color with a value of #008080 + + + + + a color with a value of #000000 + + + + + a color with a value of #C0C0C0 + + + + + a color with a value of #808080 + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_5/DI.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_5/DI.xsd index a79b4f798d8..b1921064b82 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_5/DI.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_5/DI.xsd @@ -1,115 +1,121 @@ - - - + + + - - The Diagram Interchange (DI) package enables interchange of graphical information that language users have control over, such as position of nodes and line routing points. Language specifications specialize elements of DI to define diagram interchange elements for a language. - + + The Diagram Interchange (DI) package enables interchange of graphical information that language users have control over, such as position of nodes and line routing points. Language specifications specialize elements of DI to define diagram interchange elements for a language. + - - - This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence - - + + + This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence + + - - - DiagramElement is the abstract super type of all elements in diagrams, including diagrams themselves. When contained in a diagram, diagram elements are laid out relative to the diagram's origin. - - - - - - - - - - - - an optional locally-owned style for this diagram element. - - - - - - a reference to an optional shared style element for this diagram element. - - - - - + + + DiagramElement is the abstract super type of all elements in diagrams, including diagrams themselves. When contained in a diagram, diagram elements are laid out relative to the diagram's origin. + + + + + + + + + + + + an optional locally-owned style for this diagram element. + + + + + + a reference to an optional shared style element for this diagram element. + + + + + - - - - - - the name of the diagram. - - - - - the documentation of the diagram. - - - - - the resolution of the diagram expressed in user units per inch. - - - - - + + + + + + the name of the diagram. + + + + + the documentation of the diagram. + + + + + the resolution of the diagram expressed in user units per inch. + + + + + - - - - - - - the optional bounds of the shape relative to the origin of its nesting plane. - - - - - - + + + + + + + the optional bounds of the shape relative to the origin of its nesting plane. + + + + + + - - - - - - - an optional list of points relative to the origin of the nesting diagram that specifies the connected line segments of the edge - - - - - - - - - - Style contains formatting properties that affect the appearance or style of diagram elements, including diagram themselves. - - - - - - - - - - - - - + + + + + + + an optional list of points relative to the origin of the nesting diagram that specifies the connected line segments of the edge + + + + + + + + + Style contains formatting properties that affect the appearance or style of diagram elements, including diagram themselves. + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_5/DMN15.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_5/DMN15.xsd index 3ae7227f15c..3f855ea2e19 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_5/DMN15.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_5/DMN15.xsd @@ -1,592 +1,617 @@ - - - - - - + + + + + Include the DMN Diagram Interchange (DI) schema - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/dmn-1_5/DMNDI15.xsd b/packages/dmn-marshaller/src/schemas/dmn-1_5/DMNDI15.xsd index 1bdf4669a01..fa9bc2c7f8a 100644 --- a/packages/dmn-marshaller/src/schemas/dmn-1_5/DMNDI15.xsd +++ b/packages/dmn-marshaller/src/schemas/dmn-1_5/DMNDI15.xsd @@ -1,109 +1,109 @@ - - + + + + - - + + + + + This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence + + + + + + + - - - - - This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence - - - - - - - + + + + + + - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/src/schemas/kie-1_0/KIE.xsd b/packages/dmn-marshaller/src/schemas/kie-1_0/KIE.xsd index 2b812e2f67f..1a813d8a67c 100644 --- a/packages/dmn-marshaller/src/schemas/kie-1_0/KIE.xsd +++ b/packages/dmn-marshaller/src/schemas/kie-1_0/KIE.xsd @@ -1,19 +1,19 @@ - - + - + attributeFormDefault="unqualified" +> - + - + @@ -29,11 +29,10 @@ - - - - - - - - \ No newline at end of file + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_0--examples/dmn10.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_0--examples/dmn10.dmn index ff71264f26e..37ed3a2d3b9 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_0--examples/dmn10.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_0--examples/dmn10.dmn @@ -1,4 +1,4 @@ - + - - Implements model from chapter 11 of DMN 1.1 spec - - - ns2:number - - - ns2:string - - "S","M" - - - - ns2:string - - - ns2:boolean - - - - ns2:number - - - ns2:number - - - ns2:number - - - - - - ns2:boolean - - - ns2:number - - - - - ns2:string - - "STANDARD LOAN","SPECIAL LOAN" - - - - ns2:number - - - ns2:number - - - ns2:number - - - - ns2:string - - "ELIGIBLE","INELIGIBLE" - - - - ns2:string - - "FULL","MINI","NONE" - - - - ns2:string - - "BUREAU","DECLINE","THROUGH" - - - - ns2:string - - "ACCEPT","DECLINE","REFER" - - - - ns2:string - - + + Implements model from chapter 11 of DMN 1.1 spec + + + ns2:number + + + ns2:string + + "S","M" + + + + ns2:string + + + ns2:boolean + + + ns2:number - - - - - - - - - - - - - - - - - - - - - - - - - Pre-Bureau Risk Category - - - - - - "HIGH","MEDIUM" - - - "FULL" - - - - - "LOW" - - - "MINI" - - - - - "VERY LOW","DECLINE" - - - "NONE" - - - - - - - - - - - - - - - - Existing Customer - - - - - Application Risk Score - - - - - - false - - - <100 - - - "HIGH" - - - - - false - - - [100-120) - - - "MEDIUM" - - - - - false - - - [120-130] - - - "LOW" - - - - - false - - - >130 - - - "VERY LOW" - - - - - true - - - <80 - - - "DECLINE" - - - - - true - - - [80..90) - - - "HIGH" - - - - - true - - - [90..110] - - - "MEDIUM" - - - - - true - - - >110 - - - "LOW" - - - - - - - - - - - - - - Age - - - [18..120] - - - - - Marital Status - - - "S","M" - - - - - Employment Status - - - "UNEMPLOYED","EMPLOYED","SELF-EMPLOYED","STUDENT" - - - - - - [18..21] - - - - - - - - - - - 32 - - - - - [22..25] - - - - - - - - - - - 35 - - - - - [26..35] - - - - - - - - - - - 40 - - - - - [36..49] - - - - - - - - - - - 43 - - - - - >=50 - - - - - - - - - - - 48 - - - - - - - - - "S" - - - - - - - 25 - - - - - - - - - "M" - - - - - - - 45 - - - - - - - - - - - - - "UNEMPLOYED" - - - 15 - - - - - - - - - - - - - "STUDENT" - - - 18 - - - - - - - - - - - - - "EMPLOYED" - - - 45 - - - - - - - - - - - - - "SELF-EMPLOYED" - - - 36 - - - - - - - - - - - - - - - Risk Category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - - "HIGH","DECLINE" - - - 0.6 - - - - - "MEDIUM" - - - 0.7 - - - - - "LOW","VERY LOW" - - - 0.8 - - - - - - - - - - - - - - - - - - - - Monthly Income – (Monthly Repayments + Monthly Expenses) - - - - - - - Credit contingency factor table - - - - - Risk Category - - - - - - - - if Disposable Income * Credit Contingency Factor > Required Monthly Installment then true -else false - - - - - Affordability - - - - - - - - - - - - - - - - - - - - Pre-Bureau Risk Category - - - - - Pre-Bureau Affordability - - - - - Age - - - - - "INELIGIBLE","ELIGIBLE" - - - - - "DECLINE" - - - - - - - - - - - "INELIGIBLE" - - - - - - - - - false - - - - - - - "INELIGIBLE" - - - - - - - - - - - - - <18 - - - "INELIGIBLE" - - - - - - - - - - - - - - - - - "ELIGIBLE" - - - - - - - - - - - - - - - - - - Post-Bureau Risk Category - - - - - Post-Bureau Affordability - - - - - Bankrupt - - - - - Credit Score - - - "null",[0..999] - - - - - "DECLINE","REFER","ACCEPT" - - - - - - - - - false - - - - - - - - - - - DECLINE - - - - - - - - - - - - - true - - - - - - - DECLINE - - - - - "HIGH" - - - - - - - - - - - - - - - REFER - - - - - - - - - - - - - - - - - <580 - - - "REFER" - - - - - - - - - - - - - - - - - - - - - "ACCEPT" - - - - - - - - - - - - - - - - if Product Type = "STANDARD LOAN" then 20.00 -else if Product Type = "SPECIAL LOAN" then 25.00 - else null - - - - - - PMT(Rate, Term, Amount) - - - - - Monthly Repayment + Monthly Fee - - - - - - - - - - - - - - Existing Customer - - - - - Application Risk Score - - - - - Credit Score - - - - - - false - - - <120 - - - <590 - - - "HIGH" - - - - - false - - - <120 - - - [590..610] - - - "MEDIUM" - - - - - false - - - <120 - - - >610 - - - LOW - - - - - false - - - [120..130] - - - <600 - - - "HIGH" - - - - - false - - - [120..130] - - - [600..625] - - - "MEDIUM" - - - - - false - - - [120..130] - - - >625 - - - "LOW" - - - - - false - - - >130 - - - - - - - "VERY LOW" - - - - - true - - - <=100 - - - <580 - - - "HIGH" - - - - - true - - - <=100 - - - [580.600] - - - "MEDIUM" - - - - - true - - - <=100 - - - >600 - - - "LOW" - - - - - true - - - >100 - - - <590 - - - "HIGH" - - - - - true - - - >100 - - - [590..615] - - - "MEDIUM" - - - - - true - - - >100 - - - >615 - - - "LOW" - - - - - - - - - - - - - - - - - - - Bureau call type table - - - - - Pre-Bureau Risk Category - - - - - - The Strategy decision logic (Figure 70) defines a complete, unique-hit decision table deriving Strategy from Eligibility and Bureau Call Type. - Is credit bureau call required? - Yes: Bureau; No: Decline or Through - - - - - - - - - - eligibility - - - - - bureauCallType - - - - - "DECLINE","BUREAU","THROUGH" - - - - - "INELIGIBLE" - - - - - - - "DECLINE" - - - - - "ELIGIBLE" - - - "FULL" - - - "BUREAU" - - - - - "ELIGIBLE" - - - "NONE" - - - "THROUGH" - - - - - - - - - - - - - - - - - - - - Eligibility rules - - - - - Applicant data.Age - - - - - - Pre-bureau risk category - - - - - - Pre-bureau affordability - - - - - - - - - - - - - - - - - Pre-bureau risk category table - - - - - Applicant data . ExistingCustomer - - - - - - Application risk score - - - - - - - - - - - Application risk score model - - - - - Applicant data . Age - - - - - - Applicant data . MaritalStatus - - - - - - Applicant data . EmploymentStatus - - - - - - - - - - - - - - - - - - - - Affordability calculation - - - - - Applicant data . Monthly . Income - - - - - - Applicant data . Monthly . Repayments - - - - - - Applicant data . Monthly . Expenses - - - - - - Pre-bureau risk category - - - - - - Required monthly installment - - - - - - - - - - - Affordability calculation - - - - - Applicant data . Monthly . Income - - - - - - Applicant data . Monthly . Repayments - - - - - - Applicant data . Monthly . Expenses - - - - - - Post-bureau risk category - - - - - - Required monthly installment - - - - - - - - - - - - - - Installment calculation - - - - - Requested product . ProductType - - - - - - Requested product . Rate - - - - - - Requested product . Term - - - - - - Requested product . Amount - - - - - - - - - - - - - - - - - - - - Post-bureau risk category table - - - - - Applicant data . ExistingCustomer - - - - - - Bureau data . CreditScore - - - - - - Application risk score - - - - - - - - - - - - - - - - - - + + + ns2:number + + + ns2:number + + + + + + ns2:boolean + + + ns2:number + + + + + ns2:string + + "STANDARD LOAN","SPECIAL LOAN" + + + + ns2:number + + + ns2:number + + + ns2:number + + + + ns2:string + + "ELIGIBLE","INELIGIBLE" + + + + ns2:string + + "FULL","MINI","NONE" + + + + ns2:string + + "BUREAU","DECLINE","THROUGH" + + + + ns2:string + + "ACCEPT","DECLINE","REFER" + + + + ns2:string + + + ns2:number + + + + + + + + + + + + + + + + + + + + + + + + + Pre-Bureau Risk Category + + + + + + "HIGH","MEDIUM" + + + "FULL" + + + + + "LOW" + + + "MINI" + + + + + "VERY LOW","DECLINE" + + + "NONE" + + + + + + + + + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + + false + + + <100 + + + "HIGH" + + + + + false + + + [100-120) + + + "MEDIUM" + + + + + false + + + [120-130] + + + "LOW" + + + + + false + + + >130 + + + "VERY LOW" + + + + + true + + + <80 + + + "DECLINE" + + + + + true + + + [80..90) + + + "HIGH" + + + + + true + + + [90..110] + + + "MEDIUM" + + + + + true + + + >110 + + + "LOW" + + + + + + + + + + + + + + Age + + + [18..120] + + + + + Marital Status + + + "S","M" + + + + + Employment Status + + + "UNEMPLOYED","EMPLOYED","SELF-EMPLOYED","STUDENT" + + + + + + [18..21] + + + - + + + - + + + 32 + + + + + [22..25] + + + - + + + - + + + 35 + + + + + [26..35] + + + - + + + - + + + 40 + + + + + [36..49] + + + - + + + - + + + 43 + + + + + >=50 + + + - + + + - + + + 48 + + + + + - + + + "S" + + + - + + + 25 + + + + + - + + + "M" + + + - + + + 45 + + + + + - + + + - + + + "UNEMPLOYED" + + + 15 + + + + + - + + + - + + + "STUDENT" + + + 18 + + + + + - + + + - + + + "EMPLOYED" + + + 45 + + + + + - + + + - + + + "SELF-EMPLOYED" + + + 36 + + + + + + + + + + + + + + + Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + + "HIGH","DECLINE" + + + 0.6 + + + + + "MEDIUM" + + + 0.7 + + + + + "LOW","VERY LOW" + + + 0.8 + + + + + + + + + + + + + + + + + + + + Monthly Income – (Monthly Repayments + Monthly Expenses) + + + + + - Routing rules + Credit contingency factor table - - - Bureau data . Bankrupt - - - - - - Bureau data . CreditScore - - - - - - Post-bureau risk category - + + + Risk Category + - - - - Post-bureau affordability - - - - - - - - - - - - - - - - - - + + + + + + if Disposable Income * Credit Contingency Factor > Required Monthly Installment then true +else false + + + + + Affordability + + + + + + + + + + + + + + + + + + + + Pre-Bureau Risk Category + + + + + Pre-Bureau Affordability + + + + + Age + + + + + "INELIGIBLE","ELIGIBLE" + + + + + "DECLINE" + + + - + + + - + + + "INELIGIBLE" + + + + + - + + + false + + + - + + + "INELIGIBLE" + + + + + - + + + - + + + <18 + + + "INELIGIBLE" + + + + + - + + + - + + + - + + + "ELIGIBLE" + + + + + + + + + + + + + + + + + + Post-Bureau Risk Category + + + + + Post-Bureau Affordability + + + + + Bankrupt + + + + + Credit Score + + + "null",[0..999] + + + + + "DECLINE","REFER","ACCEPT" + + + + + - + + + false + + + - + + + - + + + DECLINE + + + + + - + + + - + + + true + + + - + + + DECLINE + + + + + "HIGH" + + + - + + + - + + + - + + + REFER + + + + + - + + + - + + + - + + + <580 + + + "REFER" + + + + + - + + + - + + + - + + + - + + + "ACCEPT" + + + + + + + + + + + + + + + + if Product Type = "STANDARD LOAN" then 20.00 +else if Product Type = "SPECIAL LOAN" then 25.00 + else null + + + + + + PMT(Rate, Term, Amount) + + + + + Monthly Repayment + Monthly Fee + + + + + + + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + Credit Score + + + + + + false + + + <120 + + + <590 + + + "HIGH" + + + + + false + + + <120 + + + [590..610] + + + "MEDIUM" + + + + + false + + + <120 + + + >610 + + + LOW + + + + + false + + + [120..130] + + + <600 + + + "HIGH" + + + + + false + + + [120..130] + + + [600..625] + + + "MEDIUM" + + + + + false + + + [120..130] + + + >625 + + + "LOW" + + + + + false + + + >130 + + + - + + + "VERY LOW" + + + + + true + + + <=100 + + + <580 + + + "HIGH" + + + + + true + + + <=100 + + + [580.600] + + + "MEDIUM" + + + + + true + + + <=100 + + + >600 + + + "LOW" + + + + + true + + + >100 + + + <590 + + + "HIGH" + + + + + true + + + >100 + + + [590..615] + + + "MEDIUM" + + + + + true + + + >100 + + + >615 + + + "LOW" + + + + + + + + + + + + + + + + + + + Bureau call type table + + + + + Pre-Bureau Risk Category + + + + + + The Strategy decision logic (Figure 70) defines a complete, unique-hit decision table deriving Strategy from Eligibility and Bureau Call Type. + Is credit bureau call required? + Yes: Bureau; No: Decline or Through + + + + + + + + + + eligibility + + + + + bureauCallType + + + + + "DECLINE","BUREAU","THROUGH" + + + + + "INELIGIBLE" + + + - + + + "DECLINE" + + + + + "ELIGIBLE" + + + "FULL" + + + "BUREAU" + + + + + "ELIGIBLE" + + + "NONE" + + + "THROUGH" + + + + + + + + + + + + + + + + + + + + Eligibility rules + + + + + Applicant data.Age + + + + + + Pre-bureau risk category + + + + + + Pre-bureau affordability + + + + + + + + + + + + + + + + + Pre-bureau risk category table + + + + + Applicant data . ExistingCustomer + + + + + + Application risk score + + + + + + + + + + + Application risk score model + + + + + Applicant data . Age + + + + + + Applicant data . MaritalStatus + + + + + + Applicant data . EmploymentStatus + + + + + + + + + + + + + + + + + + + + Affordability calculation + + + + + Applicant data . Monthly . Income + + + + + + Applicant data . Monthly . Repayments + + + + + + Applicant data . Monthly . Expenses + + + + + + Pre-bureau risk category + + + + + + Required monthly installment + + + + + + + + + + + Affordability calculation + + + + + Applicant data . Monthly . Income + + + + + + Applicant data . Monthly . Repayments + + + + + + Applicant data . Monthly . Expenses + + + + + + Post-bureau risk category + + + + + + Required monthly installment + + + + + + + + + + + + + + Installment calculation + + + + + Requested product . ProductType + + + + + + Requested product . Rate + + + + + + Requested product . Term + + + + + + Requested product . Amount + + + + + + + + + + + + + + + + + + + + Post-bureau risk category table + + + + + Applicant data . ExistingCustomer + + + + + + Bureau data . CreditScore + + + + + + Application risk score + + + + + + + + + + + + + + + + + + + + Routing rules + + + + + Bureau data . Bankrupt + + + + + + Bureau data . CreditScore + + + + + + Post-bureau risk category + + + + + + Post-bureau affordability + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Chapter 11/Chapter 11 Example - Financial.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Chapter 11/Chapter 11 Example - Financial.dmn index 94d53a192af..555369c060a 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Chapter 11/Chapter 11 Example - Financial.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Chapter 11/Chapter 11 Example - Financial.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Chapter 11/Chapter 11 Example.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Chapter 11/Chapter 11 Example.dmn index 475fee3eb15..2f0f964b081 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Chapter 11/Chapter 11 Example.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Chapter 11/Chapter 11 Example.dmn @@ -1,4 +1,4 @@ - + - - - - - feel:string - - "DECLINE","BUREAU","THROUGH" - - - - feel:string - - "INELIGIBLE","ELIGIBLE" - - - - feel:string - - "FULL","MINI","NONE" - - - - feel:string - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - feel:number - - - feel:string - - "S","M" - - - - feel:string - - "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" - - - - feel:boolean - - - - feel:number - - - feel:number - - - feel:number - - - - - - feel:boolean - - - feel:number - - [0..999], null - - - - - feel:string - - "DECLINE","REFER","ACCEPT" - - - - - feel:string - - "STANDARD LOAN","SPECIAL LOAN" - - - - feel:number - - - feel:number - - - feel:number - - - - - - - - - - - - - - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Bureau call type&nbsp;</span>table, passing the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter.</span></p> - - - - - - - - - - Bureau call type table - - - - - Pre-bureau risk category - - - - - - <p><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Strategy&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, unique-hit decision table deriving Strategy from&nbsp;</span>Eligibility and Bureau call type.</span></p> - - - - - - - - - - - Eligibility - - - "INELIGIBLE","ELIGIBLE" - - - - - Bureau call type - - - "FULL","MINI","NONE" - - - - - "DECLINE","BUREAU","THROUGH" - - - - - "INELIGIBLE" - - - - - - - "DECLINE" - - - - - "ELIGIBLE" - - - "FULL", "MINI" - - - "BUREAU" - - - - - "ELIGIBLE" - - - "NONE" - - - "THROUGH" - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility&nbsp;</span></strong><span lang="JA">decision logic invokes the Eligibility rules business&nbsp;</span>knowledge model, passing Applicant data.Age as the Age parameter, the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter, and the output of the Pre-bureau affordability decision as the Pre-Bureau Affordability parameter.</span></p> - - - - - - - - - - - - - - - - Eligibility rules - - - - - Applicant data.Age - - - - - - Pre-bureau risk category - - - - - - Pre-bureau affordability - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility rules&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Eligibility from Pre-Bureau Risk Category, Pre-Bureau Affordability and Age.</span></p> - - - - - - - - - Pre-Bureau Risk Category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - Pre-Bureau Affordability - - - - - Age - - - - - "INELIGIBLE","ELIGIBLE" - - - - - "DECLINE" - - - - - - - - - - - "INELIGIBLE" - - - - - - - - - false - - - - - - - "INELIGIBLE" - - - - - - - - - - - - - < 18 - - - "INELIGIBLE" - - - - - - - - - - - - - - - - - "ELIGIBLE" - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing Rules&nbsp;</span></strong><span lang="JA">decision logic defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Routing from Post-Bureau Risk Category, Post-Bureau Affordability, Bankrupt and Credit Score.</span></p> - - - - - - - - - - Post-bureau risk category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - Post-bureau affordability - - - - - Bankrupt - - - - - Credit score - - - null, [0..999] - - - - - "DECLINE","REFER","ACCEPT" - - - - - - - - - false - - - - - - - - - - - "DECLINE" - - - - - - - - - - - - - true - - - - - - - "DECLINE" - - - - - "HIGH" - - - - - - - - - - - - - - - "REFER" - - - - - - - - - - - - - - - - - < 580 - - - "REFER" - - - - - - - - - - - - - - - - - - - - - "ACCEPT" - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing&nbsp;</span></strong><span lang="JA">decision logic invokes the Routing rules business&nbsp;</span>knowledge model, passing Bureau data . Bankrupt as the Bankrupt parameter, Bureau data . CreditScore as the Credit Score parameter, the output of the Post-bureau risk category decision as the Post-Bureau Risk Category parameter, and the output of the Post-bureau affordability decision as the Post-Bureau Affordability parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Bankrupt and Credit Score parameters will be null.</span></p> - - - - - - - - - - - - - - - - Routing rules - - - - - Bureau data.Bankrupt - - - - - - Bureau data.CreditScore - - - - - - Post-bureau risk category - - - - - - Post-bureau affordability - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table deriving&nbsp;</span>Bureau Call Type from Pre-Bureau Risk Category.</span></p> - - - - - - - Pre-Bureau Risk Category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - "FULL","MINI","NONE" - - - - - "HIGH", "MEDIUM" - - - "FULL" - - - - - "LOW" - - - "MINI" - - - - - "VERY LOW", "DECLINE" - - - "NONE" - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"></span><span lang="JA">The&nbsp;</span><strong><span lang="JA">Credit contingency factor table&nbsp;</span></strong><span lang="JA"><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;">decision</span> logic defines a complete, unique-hit decision table&nbsp;</span>deriving Credit contingency factor from Risk Category.</p> + + + + + feel:string + + "DECLINE","BUREAU","THROUGH" + + + + feel:string + + "INELIGIBLE","ELIGIBLE" + + + + feel:string + + "FULL","MINI","NONE" + + + + feel:string + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + feel:number + + + feel:string + + "S","M" + + + + feel:string + + "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" + + + + feel:boolean + + + + feel:number + + + feel:number + + + feel:number + + + + + + feel:boolean + + + feel:number + + [0..999], null + + + + + feel:string + + "DECLINE","REFER","ACCEPT" + + + + + feel:string + + "STANDARD LOAN","SPECIAL LOAN" + + + + feel:number + + + feel:number + + + feel:number + + + + + + + + + + + + + + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Bureau call type&nbsp;</span>table, passing the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter.</span></p> + + + + + + + + + + Bureau call type table + + + + + Pre-bureau risk category + + + + + + <p><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Strategy&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, unique-hit decision table deriving Strategy from&nbsp;</span>Eligibility and Bureau call type.</span></p> + + + + + + + + + + + Eligibility + + + "INELIGIBLE","ELIGIBLE" + + + + + Bureau call type + + + "FULL","MINI","NONE" + + + + + "DECLINE","BUREAU","THROUGH" + + + + + "INELIGIBLE" + + + - + + + "DECLINE" + + + + + "ELIGIBLE" + + + "FULL", "MINI" + + + "BUREAU" + + + + + "ELIGIBLE" + + + "NONE" + + + "THROUGH" + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility&nbsp;</span></strong><span lang="JA">decision logic invokes the Eligibility rules business&nbsp;</span>knowledge model, passing Applicant data.Age as the Age parameter, the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter, and the output of the Pre-bureau affordability decision as the Pre-Bureau Affordability parameter.</span></p> + + + + + + + + + + + + + + + + Eligibility rules + + + + + Applicant data.Age + + + + + + Pre-bureau risk category + + + + + + Pre-bureau affordability + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility rules&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Eligibility from Pre-Bureau Risk Category, Pre-Bureau Affordability and Age.</span></p> + + + + + + + + + Pre-Bureau Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + Pre-Bureau Affordability + + + + + Age + + + + + "INELIGIBLE","ELIGIBLE" + + + + + "DECLINE" + + + - + + + - + + + "INELIGIBLE" + + + + + - + + + false + + + - + + + "INELIGIBLE" + + + + + - + + + - + + + < 18 + + + "INELIGIBLE" + + + + + - + + + - + + + - + + + "ELIGIBLE" + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing Rules&nbsp;</span></strong><span lang="JA">decision logic defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Routing from Post-Bureau Risk Category, Post-Bureau Affordability, Bankrupt and Credit Score.</span></p> + + + + + + + + + + Post-bureau risk category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + Post-bureau affordability + + + + + Bankrupt + + + + + Credit score + + + null, [0..999] + + + + + "DECLINE","REFER","ACCEPT" + + + + + - + + + false + + + - + + + - + + + "DECLINE" + + + + + - + + + - + + + true + + + - + + + "DECLINE" + + + + + "HIGH" + + + - + + + - + + + - + + + "REFER" + + + + + - + + + - + + + - + + + < 580 + + + "REFER" + + + + + - + + + - + + + - + + + - + + + "ACCEPT" + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing&nbsp;</span></strong><span lang="JA">decision logic invokes the Routing rules business&nbsp;</span>knowledge model, passing Bureau data . Bankrupt as the Bankrupt parameter, Bureau data . CreditScore as the Credit Score parameter, the output of the Post-bureau risk category decision as the Post-Bureau Risk Category parameter, and the output of the Post-bureau affordability decision as the Post-Bureau Affordability parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Bankrupt and Credit Score parameters will be null.</span></p> + + + + + + + + + + + + + + + + Routing rules + + + + + Bureau data.Bankrupt + + + + + + Bureau data.CreditScore + + + + + + Post-bureau risk category + + + + + + Post-bureau affordability + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table deriving&nbsp;</span>Bureau Call Type from Pre-Bureau Risk Category.</span></p> + + + + + + + Pre-Bureau Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + "FULL","MINI","NONE" + + + + + "HIGH", "MEDIUM" + + + "FULL" + + + + + "LOW" + + + "MINI" + + + + + "VERY LOW", "DECLINE" + + + "NONE" + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"></span><span lang="JA">The&nbsp;</span><strong><span lang="JA">Credit contingency factor table&nbsp;</span></strong><span lang="JA"><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;">decision</span> logic defines a complete, unique-hit decision table&nbsp;</span>deriving Credit contingency factor from Risk Category.</p> <p>&nbsp;</p> - - - - - - - Risk Category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - - "HIGH", "DECLINE" - - - 0.6 - - - - - "MEDIUM" - - - 0.7 - - - - - "LOW", "VERY LOW" - - - 0.8 - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Affordability calculation&nbsp;</span></strong><span lang="JA">decision logic defines a boxed function deriving Affordability from&nbsp;</span>Monthly Income, Monthly Repayments, Monthly Expenses and Required Monthly Installment. One step in this calculation derives Credit contingency factor by invoking the Credit contingency factor table business</span></p> - - - - - - - - - - - - Monthly Income - (Monthly Repayments + Monthly Expenses) - - - - - - - Credit contingency factor table - - - - - Risk Category - - - - - - - - if Disposable Income * Credit Contingency Factor > Required Monthly Installment + + + + + + + Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + + "HIGH", "DECLINE" + + + 0.6 + + + + + "MEDIUM" + + + 0.7 + + + + + "LOW", "VERY LOW" + + + 0.8 + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Affordability calculation&nbsp;</span></strong><span lang="JA">decision logic defines a boxed function deriving Affordability from&nbsp;</span>Monthly Income, Monthly Repayments, Monthly Expenses and Required Monthly Installment. One step in this calculation derives Credit contingency factor by invoking the Credit contingency factor table business</span></p> + + + + + + + + + + + + Monthly Income - (Monthly Repayments + Monthly Expenses) + + + + + + + Credit contingency factor table + + + + + Risk Category + + + + + + + + if Disposable Income * Credit Contingency Factor > Required Monthly Installment then true else false - - - - - Affordability - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Pre-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> - - - - - - - - - - - - - - - - Affordability calculation - - - - - Applicant data.Monthly.Income - - - - - - Applicant data.Monthly.Repayments - - - - - - Applicant data.Monthly.Expenses - - - - - - Pre-bureau risk category - - - - - - Required monthly installment - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Post-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> - - - - - - - - - - - - - - - - Affordability calculation - - - - - Applicant data.Monthly.Income - - - - - - Applicant data.Monthly.Repayments - - - - - - Applicant data.Monthly.Expenses - - - - - - Post-bureau risk category - - - - - - Required monthly installment - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category&nbsp;</span></strong><span lang="JA">decision logic invokes the Post-bureau&nbsp;</span>risk category business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter, Bureau data.CreditScore as the Credit Score parameter, and the output of the Application risk score decision as the Application Risk Score parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Credit Score parameter will be null.</span></p> - - - - - - - - - - - - - - - - Post-bureau risk category table - - - - - Applicant data.ExistingCustomer - - - - - - Bureau data.CreditScore - - - - - - Application risk score - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Post-Bureau Risk Category from Existing Customer, Application Risk Score and Credit Score.</span></p> - - - - - - - - - Existing Customer - - - - - Application Risk Score - - - - - Credit Score - - - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - false - - - < 120 - - - < 590 - - - "HIGH" - - - - - false - - - < 120 - - - [590..610] - - - "MEDIUM" - - - - - false - - - < 120 - - - > 610 - - - "LOW" - - - - - false - - - [120..130] - - - < 600 - - - "HIGH" - - - - - false - - - [120..130] - - - [600..625] - - - "MEDIUM" - - - - - false - - - [120..130] - - - > 625 - - - "LOW" - - - - - false - - - > 130 - - - - - - - "VERY LOW" - - - - - true - - - <= 100 - - - < 580 - - - "HIGH" - - - - - true - - - <= 100 - - - [580..600] - - - "MEDIUM" - - - - - true - - - <= 100 - - - > 600 - - - "LOW" - - - - - true - - - > 100 - - - < 590 - - - "HIGH" - - - - - true - - - > 100 - - - [590..615] - - - "MEDIUM" - - - - - true - - - > 100 - - - > 615 - - - "LOW" - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-Bureau Risk Category&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Pre-bureau&nbsp;</span>risk category table business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter and the output of the Application risk score decision as the Application Risk Score parameter.</span></p> - - - - - - - - - - - - - Pre-bureau risk category table - - - - - Applicant data.ExistingCustomer - - - - - - Application risk score - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Pre-bureau risk category from Existing Customer and Application Risk Score.</span></p> - - - - - - - - Existing Customer - - - - - Application Risk Score - - - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - false - - - < 100 - - - "HIGH" - - - - - false - - - [100..120) - - - "MEDIUM" - - - - - false - - - [120..130] - - - "LOW" - - - - - false - - - > 130 - - - "VERY LOW" - - - - - true - - - < 80 - - - "DECLINE" - - - - - true - - - [80..90) - - - "HIGH" - - - - - true - - - [90..110] - - - "MEDIUM" - - - - - true - - - > 110 - - - "LOW" - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application Risk Score&nbsp;</span></strong><span lang="JA">decision logic invokes the Application&nbsp;</span>risk score model business knowledge model, passing Applicant data.Age as the Age parameter, Applicant data.MaritalStatus as the Marital Status parameter and Applicant data.EmploymentStatus as the Employment Status parameter.</span></p> - - - - - - - - - - Application risk score model - - - - - Applicant data.Age - - - - - - Applicant data.MartitalStatus - - - - - - Applicant data.EmploymentStatus - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application risk score model&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, no-order multiple-hit table&nbsp;</span>with aggregation, deriving Application risk score from Age, Marital Status and Employment Status, as the sum of the Partial scores of all matching rows (this is therefore a predictive scorecard represented as a decision table).</span></p> - - - - - - - - - Age - - - [18..120] - - - - - Marital Status - - - "S","M" - - - - - Employment Status - - - "UNEMPLOYED","STUDENT","EMPLOYED","SELF-EMPLOYED" - - - - - - [18..22) - - - - - - - - - - - 32 - - - - - [22..26) - - - - - - - - - - - 35 - - - - - [26..36) - - - - - - - - - - - 40 - - - - - [36..50) - - - - - - - - - - - 43 - - - - - >=50 - - - - - - - - - - - 48 - - - - - - - - - "S" - - - - - - - 25 - - - - - - - - - "M" - - - - - - - 45 - - - - - - - - - - - - - "UNEMPLOYED" - - - 15 - - - - - - - - - - - - - "STUDENT" - - - 18 - - - - - - - - - - - - - "EMPLOYED" - - - 45 - - - - - - - - - - - - - "SELF-EMPLOYED" - - - 36 - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Required monthly installment&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Installment calculation business knowledge model, passing Requested product.ProductType as the Product Type parameter, Requested product.Rate as the Rate parameter, Requested product.Term as the Term parameter, and Requested product.Amount as the Amount parameter.</span></p> - - - - - - - - - - Installment calculation - - - - - Requested product.ProductType - - - - - - Requested product.Rate - - - - - - Requested product.Term - - - - - - Requested product.Amount - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Installment calculation&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a boxed function deriving monthly installment&nbsp;</span>from Product Type, Rate, Term and Amount.</span></p> - - - - - - - - - - - if Product Type = "STANDARD LOAN" + + + + + Affordability + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Pre-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + + + + + + + + + + + + + + + + Affordability calculation + + + + + Applicant data.Monthly.Income + + + + + + Applicant data.Monthly.Repayments + + + + + + Applicant data.Monthly.Expenses + + + + + + Pre-bureau risk category + + + + + + Required monthly installment + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Post-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + + + + + + + + + + + + + + + + Affordability calculation + + + + + Applicant data.Monthly.Income + + + + + + Applicant data.Monthly.Repayments + + + + + + Applicant data.Monthly.Expenses + + + + + + Post-bureau risk category + + + + + + Required monthly installment + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category&nbsp;</span></strong><span lang="JA">decision logic invokes the Post-bureau&nbsp;</span>risk category business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter, Bureau data.CreditScore as the Credit Score parameter, and the output of the Application risk score decision as the Application Risk Score parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Credit Score parameter will be null.</span></p> + + + + + + + + + + + + + + + + Post-bureau risk category table + + + + + Applicant data.ExistingCustomer + + + + + + Bureau data.CreditScore + + + + + + Application risk score + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Post-Bureau Risk Category from Existing Customer, Application Risk Score and Credit Score.</span></p> + + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + Credit Score + + + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + false + + + < 120 + + + < 590 + + + "HIGH" + + + + + false + + + < 120 + + + [590..610] + + + "MEDIUM" + + + + + false + + + < 120 + + + > 610 + + + "LOW" + + + + + false + + + [120..130] + + + < 600 + + + "HIGH" + + + + + false + + + [120..130] + + + [600..625] + + + "MEDIUM" + + + + + false + + + [120..130] + + + > 625 + + + "LOW" + + + + + false + + + > 130 + + + - + + + "VERY LOW" + + + + + true + + + <= 100 + + + < 580 + + + "HIGH" + + + + + true + + + <= 100 + + + [580..600] + + + "MEDIUM" + + + + + true + + + <= 100 + + + > 600 + + + "LOW" + + + + + true + + + > 100 + + + < 590 + + + "HIGH" + + + + + true + + + > 100 + + + [590..615] + + + "MEDIUM" + + + + + true + + + > 100 + + + > 615 + + + "LOW" + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-Bureau Risk Category&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Pre-bureau&nbsp;</span>risk category table business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter and the output of the Application risk score decision as the Application Risk Score parameter.</span></p> + + + + + + + + + + + + + Pre-bureau risk category table + + + + + Applicant data.ExistingCustomer + + + + + + Application risk score + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Pre-bureau risk category from Existing Customer and Application Risk Score.</span></p> + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + false + + + < 100 + + + "HIGH" + + + + + false + + + [100..120) + + + "MEDIUM" + + + + + false + + + [120..130] + + + "LOW" + + + + + false + + + > 130 + + + "VERY LOW" + + + + + true + + + < 80 + + + "DECLINE" + + + + + true + + + [80..90) + + + "HIGH" + + + + + true + + + [90..110] + + + "MEDIUM" + + + + + true + + + > 110 + + + "LOW" + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application Risk Score&nbsp;</span></strong><span lang="JA">decision logic invokes the Application&nbsp;</span>risk score model business knowledge model, passing Applicant data.Age as the Age parameter, Applicant data.MaritalStatus as the Marital Status parameter and Applicant data.EmploymentStatus as the Employment Status parameter.</span></p> + + + + + + + + + + Application risk score model + + + + + Applicant data.Age + + + + + + Applicant data.MartitalStatus + + + + + + Applicant data.EmploymentStatus + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application risk score model&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, no-order multiple-hit table&nbsp;</span>with aggregation, deriving Application risk score from Age, Marital Status and Employment Status, as the sum of the Partial scores of all matching rows (this is therefore a predictive scorecard represented as a decision table).</span></p> + + + + + + + + + Age + + + [18..120] + + + + + Marital Status + + + "S","M" + + + + + Employment Status + + + "UNEMPLOYED","STUDENT","EMPLOYED","SELF-EMPLOYED" + + + + + + [18..22) + + + - + + + - + + + 32 + + + + + [22..26) + + + - + + + - + + + 35 + + + + + [26..36) + + + - + + + - + + + 40 + + + + + [36..50) + + + - + + + - + + + 43 + + + + + >=50 + + + - + + + - + + + 48 + + + + + - + + + "S" + + + - + + + 25 + + + + + - + + + "M" + + + - + + + 45 + + + + + - + + + - + + + "UNEMPLOYED" + + + 15 + + + + + - + + + - + + + "STUDENT" + + + 18 + + + + + - + + + - + + + "EMPLOYED" + + + 45 + + + + + - + + + - + + + "SELF-EMPLOYED" + + + 36 + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Required monthly installment&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Installment calculation business knowledge model, passing Requested product.ProductType as the Product Type parameter, Requested product.Rate as the Rate parameter, Requested product.Term as the Term parameter, and Requested product.Amount as the Amount parameter.</span></p> + + + + + + + + + + Installment calculation + + + + + Requested product.ProductType + + + + + + Requested product.Rate + + + + + + Requested product.Term + + + + + + Requested product.Amount + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Installment calculation&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a boxed function deriving monthly installment&nbsp;</span>from Product Type, Rate, Term and Amount.</span></p> + + + + + + + + + + + if Product Type = "STANDARD LOAN" then 20.00 else if Product Type = "SPECIAL LOAN" then 25.00 else null - - - - - - Financial.PMT(Rate, Term, Amount) - - - - - Monthly Repayment + Monthly Fee - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + Financial.PMT(Rate, Term, Amount) + + + + + Monthly Repayment + Monthly Fee + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Diagram Interchange/diagram-interchange-decision-service.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Diagram Interchange/diagram-interchange-decision-service.dmn index 7f9a72072ca..15c93f518b1 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Diagram Interchange/diagram-interchange-decision-service.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Diagram Interchange/diagram-interchange-decision-service.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/" +> - + - + - + @@ -40,7 +42,7 @@ - + @@ -124,7 +126,7 @@ - + @@ -161,7 +163,7 @@ - + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Diagram Interchange/diagram-interchange-shape-with-label-text.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Diagram Interchange/diagram-interchange-shape-with-label-text.dmn index 322443ad4ba..4759598d9a9 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Diagram Interchange/diagram-interchange-shape-with-label-text.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_2--examples/Diagram Interchange/diagram-interchange-shape-with-label-text.dmn @@ -1,4 +1,4 @@ - + - - - + + + string @@ -110,55 +134,59 @@ - <p><span lang="JA">Determine if&nbsp;an application requiring adjudication should be accepted or declined given the available application data and supporting documents.</span></p> - + <p><span lang="JA">Determine if&nbsp;an application requiring adjudication should be accepted or declined given the available application data and supporting documents.</span></p> + Should this application that has been referred for adjudication be accepted? Yes/No - + - + - + - + - + - + - <p>The collected wisdom of the credit officers as collected in their best practice wiki.</p> - + <p>The collected wisdom of the credit officers as collected in their best practice wiki.</p> + Expertise - <p>Documents associated with a loan that are not processed electronically but are available for manual adjudication.</p> - - + <p>Documents associated with a loan that are not processed electronically but are available for manual adjudication.</p> + + - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Bureau call type&nbsp;</span>table, passing the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter.</span></p> - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Bureau call type&nbsp;</span>table, passing the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter.</span></p> + How much data should be requested from the credit bureau for this application? A value from the explicit list "Full", "Mini", "None" - + - + - + Bureau call type table - + Pre-bureau risk category @@ -166,18 +194,25 @@ - <p><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Strategy&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, unique-hit decision table deriving Strategy from&nbsp;</span>Eligibility and Bureau call type.</span></p> - + <p><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Strategy&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, unique-hit decision table deriving Strategy from&nbsp;</span>Eligibility and Bureau call type.</span></p> + What is the appropriate handling strategy for this application? A value from the explicit list "Decline", "Bureau", "Through" - + - + - + - + Eligibility @@ -199,7 +234,7 @@ "DECLINE","BUREAU","THROUGH" - + "INELIGIBLE" @@ -211,7 +246,7 @@ "DECLINE" - + @@ -225,7 +260,7 @@ "BUREAU" - + @@ -239,47 +274,49 @@ "THROUGH" - + - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility&nbsp;</span></strong><span lang="JA">decision logic invokes the Eligibility rules business&nbsp;</span>knowledge model, passing Applicant data.Age as the Age parameter, the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter, and the output of the Pre-bureau affordability decision as the Pre-Bureau Affordability parameter.</span></p> - - Does this applicant appear eligible for the loan they applied for given only their application data? + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility&nbsp;</span></strong><span lang="JA">decision logic invokes the Eligibility rules business&nbsp;</span>knowledge model, passing Applicant data.Age as the Age parameter, the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter, and the output of the Pre-bureau affordability decision as the Pre-Bureau Affordability parameter.</span></p> + + Does this applicant appear eligible for the loan they applied for given only their application data? Value from the explicit list "Eligible", "Not Eligible" - + - + - + - + - + Eligibility rules - + Applicant data.Age - + Pre-bureau risk category - + Pre-bureau affordability @@ -287,14 +324,28 @@ - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility rules&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Eligibility from Pre-Bureau Risk Category, Pre-Bureau Affordability and Age.</span></p> - - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility rules&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Eligibility from Pre-Bureau Risk Category, Pre-Bureau Affordability and Age.</span></p> + + - - - - + + + + Pre-Bureau Risk Category @@ -318,7 +369,7 @@ "INELIGIBLE","ELIGIBLE" - + "DECLINE" @@ -333,7 +384,7 @@ "INELIGIBLE" - + @@ -350,7 +401,7 @@ "INELIGIBLE" - + @@ -367,7 +418,7 @@ "INELIGIBLE" - + @@ -384,30 +435,45 @@ "ELIGIBLE" - + - + - <p>Definitions of the products, their cost structure and eligibility criteria.</p> - + <p>Definitions of the products, their cost structure and eligibility criteria.</p> + Policy - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing Rules&nbsp;</span></strong><span lang="JA">decision logic defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Routing from Post-Bureau Risk Category, Post-Bureau Affordability, Bankrupt and Credit Score.</span></p> - - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing Rules&nbsp;</span></strong><span lang="JA">decision logic defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Routing from Post-Bureau Risk Category, Post-Bureau Affordability, Bankrupt and Credit Score.</span></p> + + - - - - - + + + + + Post-bureau risk category @@ -439,7 +505,7 @@ "DECLINE","REFER","ACCEPT" - + - @@ -457,7 +523,7 @@ "DECLINE" - + @@ -477,7 +543,7 @@ "DECLINE" - + @@ -497,7 +563,7 @@ "REFER" - + @@ -517,7 +583,7 @@ "REFER" - + @@ -537,57 +603,59 @@ "ACCEPT" - + - + - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing&nbsp;</span></strong><span lang="JA">decision logic invokes the Routing rules business&nbsp;</span>knowledge model, passing Bureau data . Bankrupt as the Bankrupt parameter, Bureau data . CreditScore as the Credit Score parameter, the output of the Post-bureau risk category decision as the Post-Bureau Risk Category parameter, and the output of the Post-bureau affordability decision as the Post-Bureau Affordability parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Bankrupt and Credit Score parameters will be null.</span></p> - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing&nbsp;</span></strong><span lang="JA">decision logic invokes the Routing rules business&nbsp;</span>knowledge model, passing Bureau data . Bankrupt as the Bankrupt parameter, Bureau data . CreditScore as the Credit Score parameter, the output of the Post-bureau risk category decision as the Post-Bureau Risk Category parameter, and the output of the Post-bureau affordability decision as the Post-Bureau Affordability parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Bankrupt and Credit Score parameters will be null.</span></p> + How this should this applicant be routed given all available data? - A value from the explicit list "Decline", "Refer for Adjudication", "Accept without Review" - + A value from the explicit list "Decline", "Refer for Adjudication", "Accept without Review" + - + - + - + - + Routing rules - + Bureau data.Bankrupt - + Bureau data.CreditScore - + Post-bureau risk category - + Post-bureau affordability @@ -595,12 +663,22 @@ - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table deriving&nbsp;</span>Bureau Call Type from Pre-Bureau Risk Category.</span></p> - - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table deriving&nbsp;</span>Bureau Call Type from Pre-Bureau Risk Category.</span></p> + + - - + + Pre-Bureau Risk Category @@ -614,7 +692,7 @@ "FULL","MINI","NONE" - + "HIGH", "MEDIUM" @@ -623,7 +701,7 @@ "FULL" - + @@ -634,7 +712,7 @@ "MINI" - + @@ -645,28 +723,35 @@ "NONE" - + - + - <p>Overall risk management approach for the financial institution including its approach to&nbsp;application risk, credit contingencies and credit risk scoring.</p> - + <p>Overall risk management approach for the financial institution including its approach to&nbsp;application risk, credit contingencies and credit risk scoring.</p> + Policy - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"></span><span lang="JA">The&nbsp;</span><strong><span lang="JA">Credit contingency factor table&nbsp;</span></strong><span lang="JA"><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;">decision</span> logic defines a complete, unique-hit decision table&nbsp;</span>deriving Credit contingency factor from Risk Category.</p> + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"></span><span lang="JA">The&nbsp;</span><strong><span lang="JA">Credit contingency factor table&nbsp;</span></strong><span lang="JA"><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;">decision</span> logic defines a complete, unique-hit decision table&nbsp;</span>deriving Credit contingency factor from Risk Category.</p> <p>&nbsp;</p> - - + + - - + + Risk Category @@ -675,8 +760,8 @@ "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - + + "HIGH", "DECLINE" @@ -685,7 +770,7 @@ 0.6 - + @@ -696,7 +781,7 @@ 0.7 - + @@ -707,45 +792,51 @@ 0.8 - + - + - <p>Internal spreadsheet showing the relationship of income, payments, expenses, risk and affordability.</p> - + <p>Internal spreadsheet showing the relationship of income, payments, expenses, risk and affordability.</p> + Policy - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Affordability calculation&nbsp;</span></strong><span lang="JA">decision logic defines a boxed function deriving Affordability from&nbsp;</span>Monthly Income, Monthly Repayments, Monthly Expenses and Required Monthly Installment. One step in this calculation derives Credit contingency factor by invoking the Credit contingency factor table business</span></p> - - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Affordability calculation&nbsp;</span></strong><span lang="JA">decision logic defines a boxed function deriving Affordability from&nbsp;</span>Monthly Income, Monthly Repayments, Monthly Expenses and Required Monthly Installment. One step in this calculation derives Credit contingency factor by invoking the Credit contingency factor table business</span></p> + + - - - - - + + + + + - + Monthly Income - (Monthly Repayments + Monthly Expenses) - + Credit contingency factor table - + Risk Category @@ -753,7 +844,7 @@ - + if Disposable Income * Credit Contingency Factor > Required Monthly Installment then true @@ -768,60 +859,61 @@ else false - + - + - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Pre-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Pre-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + Can the applicant afford the loan they applied for given only their application data? Yes/No - + - + - + - + - + Affordability calculation - + Applicant data.Monthly.Income - + Applicant data.Monthly.Repayments - + Applicant data.Monthly.Expenses - + Pre-bureau risk category - + Required monthly installment @@ -829,53 +921,54 @@ else false - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Post-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Post-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + Can the applicant afford the loan they applied for given all available data? Yes/No - + - + - + - + - + Affordability calculation - + Applicant data.Monthly.Income - + Applicant data.Monthly.Repayments - + Applicant data.Monthly.Expenses - + Post-bureau risk category - + Required monthly installment @@ -883,44 +976,46 @@ else false - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category&nbsp;</span></strong><span lang="JA">decision logic invokes the Post-bureau&nbsp;</span>risk category business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter, Bureau data.CreditScore as the Credit Score parameter, and the output of the Application risk score decision as the Application Risk Score parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Credit Score parameter will be null.</span></p> - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category&nbsp;</span></strong><span lang="JA">decision logic invokes the Post-bureau&nbsp;</span>risk category business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter, Bureau data.CreditScore as the Credit Score parameter, and the output of the Application risk score decision as the Application Risk Score parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Credit Score parameter will be null.</span></p> + Which risk category is most appropriate for this applicant given all available data? - A value from the explicit list "Decline", "High Risk", "Medium Risk", "Low Risk", "Very Low Risk" - + A value from the explicit list "Decline", "High Risk", "Medium Risk", "Low Risk", "Very Low Risk" + - + - + - + - + - + Post-bureau risk category table - + Applicant data.ExistingCustomer - + Bureau data.CreditScore - + Application risk score @@ -928,19 +1023,30 @@ else false - <p>External credit score and bankruptcy information provided by a bureau.</p> - - + <p>External credit score and bankruptcy information provided by a bureau.</p> + + - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Post-Bureau Risk Category from Existing Customer, Application Risk Score and Credit Score.</span></p> - - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Post-Bureau Risk Category from Existing Customer, Application Risk Score and Credit Score.</span></p> + + - - - - + + + + Existing Customer @@ -961,7 +1067,7 @@ else false "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - + false @@ -976,7 +1082,7 @@ else false "HIGH" - + @@ -993,7 +1099,7 @@ else false "MEDIUM" - + @@ -1010,7 +1116,7 @@ else false "LOW" - + @@ -1027,7 +1133,7 @@ else false "HIGH" - + @@ -1044,7 +1150,7 @@ else false "MEDIUM" - + @@ -1061,7 +1167,7 @@ else false "LOW" - + @@ -1078,7 +1184,7 @@ else false "VERY LOW" - + @@ -1095,7 +1201,7 @@ else false "HIGH" - + @@ -1112,7 +1218,7 @@ else false "MEDIUM" - + @@ -1129,7 +1235,7 @@ else false "LOW" - + @@ -1146,7 +1252,7 @@ else false "HIGH" - + @@ -1163,7 +1269,7 @@ else false "MEDIUM" - + @@ -1180,42 +1286,45 @@ else false "LOW" - + - + - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-Bureau Risk Category&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Pre-bureau&nbsp;</span>risk category table business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter and the output of the Application risk score decision as the Application Risk Score parameter.</span></p> - - Which risk category is most appropriate for this applicant given only their application data? - Value from explicit list "Decline", "High Risk", "Medium Risk", "Low Risk", "Very Low Risk" - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-Bureau Risk Category&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Pre-bureau&nbsp;</span>risk category table business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter and the output of the Application risk score decision as the Application Risk Score parameter.</span></p> + + Which risk category is most appropriate for this applicant given only their application data? + Value from explicit list "Decline", "High Risk", "Medium Risk", "Low Risk", "Very Low Risk" + - + - + - + Pre-bureau risk category table - + Applicant data.ExistingCustomer - + Application risk score @@ -1223,13 +1332,23 @@ else false - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Pre-bureau risk category from Existing Customer and Application Risk Score.</span></p> - - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Pre-bureau risk category from Existing Customer and Application Risk Score.</span></p> + + - - - + + + Existing Customer @@ -1245,7 +1364,7 @@ else false "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - + false @@ -1257,7 +1376,7 @@ else false "HIGH" - + @@ -1271,7 +1390,7 @@ else false "MEDIUM" - + @@ -1285,7 +1404,7 @@ else false "LOW" - + @@ -1299,7 +1418,7 @@ else false "VERY LOW" - + @@ -1313,7 +1432,7 @@ else false "DECLINE" - + @@ -1327,7 +1446,7 @@ else false "HIGH" - + @@ -1341,7 +1460,7 @@ else false "MEDIUM" - + @@ -1355,45 +1474,46 @@ else false "LOW" - + - + - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application Risk Score&nbsp;</span></strong><span lang="JA">decision logic invokes the Application&nbsp;</span>risk score model business knowledge model, passing Applicant data.Age as the Age parameter, Applicant data.MaritalStatus as the Marital Status parameter and Applicant data.EmploymentStatus as the Employment Status parameter.</span></p> - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application Risk Score&nbsp;</span></strong><span lang="JA">decision logic invokes the Application&nbsp;</span>risk score model business knowledge model, passing Applicant data.Age as the Age parameter, Applicant data.MaritalStatus as the Marital Status parameter and Applicant data.EmploymentStatus as the Employment Status parameter.</span></p> + What is the risk score for this applicant? A number greater than 70 and less than 150 - + - + - + Application risk score model - + Applicant data.Age - + Applicant data.MartitalStatus - + Applicant data.EmploymentStatus @@ -1401,28 +1521,36 @@ else false - <p>Credit risk scorecard analysis to determine the relevant factors for application risk scoring</p> - + <p>Credit risk scorecard analysis to determine the relevant factors for application risk scoring</p> + - + - + - + Analytic Insight - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application risk score model&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, no-order multiple-hit table&nbsp;</span>with aggregation, deriving Application risk score from Age, Marital Status and Employment Status, as the sum of the Partial scores of all matching rows (this is therefore a predictive scorecard represented as a decision table).</span></p> - - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application risk score model&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, no-order multiple-hit table&nbsp;</span>with aggregation, deriving Application risk score from Age, Marital Status and Employment Status, as the sum of the Partial scores of all matching rows (this is therefore a predictive scorecard represented as a decision table).</span></p> + + - - - - + + + + Age @@ -1447,8 +1575,8 @@ else false "UNEMPLOYED","STUDENT","EMPLOYED","SELF-EMPLOYED" - - + + [18..22) @@ -1463,7 +1591,7 @@ else false 32 - + @@ -1480,7 +1608,7 @@ else false 35 - + @@ -1497,7 +1625,7 @@ else false 40 - + @@ -1514,7 +1642,7 @@ else false 43 - + @@ -1531,7 +1659,7 @@ else false 48 - + @@ -1548,7 +1676,7 @@ else false 25 - + @@ -1565,7 +1693,7 @@ else false 45 - + @@ -1582,7 +1710,7 @@ else false 15 - + @@ -1599,7 +1727,7 @@ else false 18 - + @@ -1616,7 +1744,7 @@ else false 45 - + @@ -1633,59 +1761,61 @@ else false 36 - + - + - <p>Information about the applicant including personal information, marital status and household income/expenses.</p> - - + <p>Information about the applicant including personal information, marital status and household income/expenses.</p> + + - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Required monthly installment&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Installment calculation business knowledge model, passing Requested product.ProductType as the Product Type parameter, Requested product.Rate as the Rate parameter, Requested product.Term as the Term parameter, and Requested product.Amount as the Amount parameter.</span></p> - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Required monthly installment&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Installment calculation business knowledge model, passing Requested product.ProductType as the Product Type parameter, Requested product.Rate as the Rate parameter, Requested product.Term as the Term parameter, and Requested product.Amount as the Amount parameter.</span></p> + What is the minimum monthly installment payment required for this loan product? A dollar amount greater than zero - + - + - + - + Installment calculation - + Requested product.ProductType - + Requested product.Rate - + Requested product.Term - + Requested product.Amount @@ -1694,21 +1824,22 @@ else false <p>Details of the loan the applicant has applied for.</p> - - + + - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Installment calculation&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a boxed function deriving monthly installment&nbsp;</span>from Product Type, Rate, Term and Amount.</span></p> - - + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Installment calculation&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a boxed function deriving monthly installment&nbsp;</span>from Product Type, Rate, Term and Amount.</span></p> + + - - - - + + + + - + if Product Type = "STANDARD LOAN" then 20.00 @@ -1718,7 +1849,7 @@ else null - + Financial.PMT(Rate, Term, Amount) @@ -1731,65 +1862,68 @@ else null - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + <p>Information about historical loan defaults.</p> - - + + - The credit risk scorecard is built from past applicants' data and information about those loans that defaulted. It must conform to the overall risk management strategy. + The credit risk scorecard is built from past applicants' data and information about those loans that defaulted. It must conform to the overall risk management strategy. - - - - - - - - - - - - - + + + + + + + + + + + + + 50 120 150 - + 150 @@ -1802,928 +1936,1356 @@ else null 150 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 50 120 150 - + 150 @@ -2736,259 +3298,397 @@ else null 150 - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2999,7 +3699,7 @@ else null 120 150 - + 150 @@ -3014,262 +3714,380 @@ else null - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3280,7 +4098,7 @@ else null 120 150 - + 150 @@ -3293,261 +4111,366 @@ else null 150 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + 50 120 150 - + 150 @@ -3560,165 +4483,165 @@ else null 150 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 50 120 150 - + 150 @@ -3731,14 +4654,14 @@ else null 150 - - + + 50 120 150 - + 150 @@ -3751,43 +4674,43 @@ else null 150 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 50 120 150 - + 150 @@ -3800,1141 +4723,1696 @@ else null 150 - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - + + - + - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Chapter 11 Example 1 Originations/Financial.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Chapter 11 Example 1 Originations/Financial.dmn index eb01fd4ea81..e7241649ae6 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Chapter 11 Example 1 Originations/Financial.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Chapter 11 Example 1 Originations/Financial.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - <p><span lang="JA">Standard calculation of monthly installment&nbsp;</span>from Rate, Term and Amount.</p> - - - - - - - (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) - - - - - - - - - - - - - - + + + + + + + + + <p><span lang="JA">Standard calculation of monthly installment&nbsp;</span>from Rate, Term and Amount.</p> + + + + + + + (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Chapter 11 Example 2 Ranked Loan Products/Loan info.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Chapter 11 Example 2 Ranked Loan Products/Loan info.dmn index 2f50a35141f..c6ff53ab69a 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Chapter 11 Example 2 Ranked Loan Products/Loan info.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Chapter 11 Example 2 Ranked Loan Products/Loan info.dmn @@ -1,4 +1,4 @@ - + - - - - string - - - string - - - number - - - number - - - tAssets - - - tLiabilities - - - - - tAssetType - - - string - - - number - - - - tAsset - - - string - - "Checking Savings Brokerage account","Real Estate","Other Liquid","Other Non-Liquid" - - - - - tLiabilityType - - - string - - - number - - - number - - - boolean - - - - tLiability - - - string - - "Credit card","Auto loan","Student loan","Lease","Lien","Real estate loan","Alimony child support","Other" - - - - string - - "Fixed rate","Variable rate" - - - - - string - - - tProductName - - "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" - - - - tAmortizationType - - - tPercent - - - tPercent - - - number - - - number - - - - - - string - - - string - - - string - - - string - - - string - - - - number - - - number - - - number - - - number - - - - number - - - number - - - number - - [300..850] - - - - string - - "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" - - - - - number - - - number - - - tPercent - - - number - - - number - - - tPercent - - - tPercent - - - number - - - number - - - - - tProductName - - "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" - - - - tAmortizationType - - "Fixed rate","Variable rate" - - - - tPercent - - - number - - - tPercent - - - tPercent - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - decimal((Property.Purchase Price - Down Payment)*Loan Product.Points Pct/100,2) - - - - - - Property.Purchase Price - Down Payment + Loan Product.Fees Amount + Points Amount - - - - - - decimal(100*Note Amount/Property.Purchase Price,2) - - - - - - decimal(0.02*Note Amount,2) - - - - - - Note Amount - Loan Product.Fees Amount - Points Amount - Closing Costs - - - - - - Loan Product.Best Rate Pct + Rate Adjustment(Credit Score, LTV) - - - - - - if Loan Product.Type="Variable rate" then Interest Rate Percent+2 else Interest Rate Percent - - - - - - - payment - - - - - Note Amount - - - - - - Interest Rate Percent/100 - - - - - - Loan Product.Term - - - - - - - - - payment - - - - - Note Amount - - - - - - Qualifying Rate Percent/100 - - - - - - Loan Product.Term - - - - - - - - - - - - - - - - - - Credit Score - - - [300..850] - - - - - LTV - - - - - - - >=660 - - - <=60 - - - 0 - - - - - - - - [620..660) - - - <=60 - - - 0.125 - - - - - - - - >=700 - - - >60 - - - 0.125 - - - - - - - - [660..700) - - - (60..70] - - - 0.125 - - - - - - - - [620..660) - - - (60..70] - - - 0.25 - - - - - - - - [680..700) - - - >70 - - - 0.25 - - - - - - - - [640..680) - - - >70 - - - 0.375 - - - - - - - - [620..640) - - - (70..80] - - - 0.375 - - - - - - - - [620..640) - - - >80 - - - 0.5 - - - - - - - - <620 - - - - - - - 0.5 - - - - - - - - - - - - - - - - decimal(p*r/12/(1-(1+r/12)**-n),2) - - - - - - - - - - - - - - - - - - - - - - Loan Product.Product Name - - - - - - Loan Product.Type - - - - - - Loan Data.LTV - - - - - - Loan Data.Note Amount - - - - - - Loan Data.Interest Rate Percent - - - - - - Loan Data.Qualifying Rate Percent - - - - - - Loan Data.Monthly Payment - - - - - - Loan Data.Qualifying Payment - - - - - - Loan Data.Points Amount - - - - - - Loan Product.Fees Amount - - - - - - Loan Data.Funds Toward Purchase - - - - - - Down Payment - - - - - - Loan Data.Closing Costs - - - - - - Property.Purchase Price - Funds Toward Purchase - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + string + + + string + + + number + + + number + + + tAssets + + + tLiabilities + + + + + tAssetType + + + string + + + number + + + + tAsset + + + string + + "Checking Savings Brokerage account","Real Estate","Other Liquid","Other Non-Liquid" + + + + + tLiabilityType + + + string + + + number + + + number + + + boolean + + + + tLiability + + + string + + "Credit card","Auto loan","Student loan","Lease","Lien","Real estate loan","Alimony child support","Other" + + + + string + + "Fixed rate","Variable rate" + + + + + string + + + tProductName + + "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" + + + + tAmortizationType + + + tPercent + + + tPercent + + + number + + + number + + + + + + string + + + string + + + string + + + string + + + string + + + + number + + + number + + + number + + + number + + + + number + + + number + + + number + + [300..850] + + + + string + + "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" + + + + + number + + + number + + + tPercent + + + number + + + number + + + tPercent + + + tPercent + + + number + + + number + + + + + tProductName + + "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" + + + + tAmortizationType + + "Fixed rate","Variable rate" + + + + tPercent + + + number + + + tPercent + + + tPercent + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + decimal((Property.Purchase Price - Down Payment)*Loan Product.Points Pct/100,2) + + + + + + Property.Purchase Price - Down Payment + Loan Product.Fees Amount + Points Amount + + + + + + decimal(100*Note Amount/Property.Purchase Price,2) + + + + + + decimal(0.02*Note Amount,2) + + + + + + Note Amount - Loan Product.Fees Amount - Points Amount - Closing Costs + + + + + + Loan Product.Best Rate Pct + Rate Adjustment(Credit Score, LTV) + + + + + + if Loan Product.Type="Variable rate" then Interest Rate Percent+2 else Interest Rate Percent + + + + + + + payment + + + + + Note Amount + + + + + + Interest Rate Percent/100 + + + + + + Loan Product.Term + + + + + + + + + payment + + + + + Note Amount + + + + + + Qualifying Rate Percent/100 + + + + + + Loan Product.Term + + + + + + + + + + + + + + + + + + Credit Score + + + [300..850] + + + + + LTV + + + + + + + >=660 + + + <=60 + + + 0 + + + + + + + + [620..660) + + + <=60 + + + 0.125 + + + + + + + + >=700 + + + >60 + + + 0.125 + + + + + + + + [660..700) + + + (60..70] + + + 0.125 + + + + + + + + [620..660) + + + (60..70] + + + 0.25 + + + + + + + + [680..700) + + + >70 + + + 0.25 + + + + + + + + [640..680) + + + >70 + + + 0.375 + + + + + + + + [620..640) + + + (70..80] + + + 0.375 + + + + + + + + [620..640) + + + >80 + + + 0.5 + + + + + + + + <620 + + + - + + + 0.5 + + + + + + + + + + + + + + + + decimal(p*r/12/(1-(1+r/12)**-n),2) + + + + + + + + + + + + + + + + + + + + + + Loan Product.Product Name + + + + + + Loan Product.Type + + + + + + Loan Data.LTV + + + + + + Loan Data.Note Amount + + + + + + Loan Data.Interest Rate Percent + + + + + + Loan Data.Qualifying Rate Percent + + + + + + Loan Data.Monthly Payment + + + + + + Loan Data.Qualifying Payment + + + + + + Loan Data.Points Amount + + + + + + Loan Product.Fees Amount + + + + + + Loan Data.Funds Toward Purchase + + + + + + Down Payment + + + + + + Loan Data.Closing Costs + + + + + + Property.Purchase Price - Funds Toward Purchase + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Chapter 11 Example 2 Ranked Loan Products/Recommended Loan Products.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Chapter 11 Example 2 Ranked Loan Products/Recommended Loan Products.dmn index 02f1e3a9364..d7a56f45b75 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Chapter 11 Example 2 Ranked Loan Products/Recommended Loan Products.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Chapter 11 Example 2 Ranked Loan Products/Recommended Loan Products.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - - - number - - - number - - - tAssets - - - tLiabilities - - - - - tAssetType - - - string - - - number - - - - tAsset - - - string - - "Checking Savings Brokerage account","Real Estate","Other Liquid","Other Non-Liquid" - - - - - tLiabilityType - - - string - - - number - - - number - - - boolean - - - - tLiability - - - string - - "Credit card","Auto loan","Student loan","Lease","Lien","Real estate loan","Alimony child support","Other" - - - - string - - "Fixed rate","Variable rate" - - - - - tAmortizationType - - - number - - - number - - - number - - - number - - - - - - string - - - string - - - string - - - string - - - string - - - - number - - - number - - - number - - - number - - - - number - - - number - - - number - - [300..850] - - - - string - - "Affordable","Marginal","Unaffordable" - - - - string - - "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" - - - - - string - - - tProductName - - "Fixed30-NoPointsOrFees","Fixed30-Standard","Fixed30-LowestRate","Fixed15-NoPointsOrFees","Fixed15-Standard" - - - - tAmortizationType - - "Fixed rate","Variable rate" - - - - tPercent - - - tPercent - - - number - - - number - - - - tLoanProduct - - - - tProductName - - - tAmortizationType - - - tPercent - - - number - - - tPercent - - - tPercent - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - - tLoanInfoRow - - - tTableRow - - - string - - "Low","Medium","High" - - - - - tAffordability - - - number - - - tLTVCategory - - - - - tPercent - - - tAffordability - - "Affordable","Marginal","Unaffordable" - - - - tLTVCategory - - "Low","Medium","High" - - - - number - - - number - - - - - number - - - number - - - number - - - tPercent - - - number - - - number - - - number - - - number - - - - - string - - - number - - [1..5] - - - - - tLenderRating - - - string - - "Best","Good","Not Recommended","Ineligible" - - - - - string - - - number - - - tPercent - - - number - - - tPercent - - - tPercent - - - number - - - number - - - number - - - tCreditScore - - [300..850] - - - - tRecommendation - - "Best","Good","Not Recommended","Ineligible" - - - - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - tCreditScore - - - string - - - - tformattedrow_1 - - - - string - - - string - - - string - - - string - - - string - - - tCreditScore - - [300..850] - - - - string - - - - - - - - - - - - - - - - - - - - - - - - DTI - - - - - LTV - - - - - Reserves - - - - - [300..850] - - - - - - <=36 - - - <=75 - - - >2 - - - 620 - - - - - - - - <=36 - - - <=75 - - - >0 - - - 640 - - - - - - - - <=36 - - - (75..95] - - - >6 - - - 660 - - - - - - - - <=36 - - - (75..95] - - - >0 - - - 680 - - - - - - - - (36..45] - - - <=75 - - - >6 - - - 660 - - - - - - - - (36..45] - - - <=75 - - - >0 - - - 680 - - - - - - - - (36..45] - - - (75..95] - - - >6 - - - 700 - - - - - - - - (36..45] - - - (75..95] - - - >0 - - - 720 - - - - - - - - - - - - - - - - - - - - - "Lender A" - - - "Fixed30-NoPoints" - - - "Fixed rate" - - - 3.95 - - - 0 - - - 1925 - - - 360 - - - - - "Lender C" - - - "Fixed30-Standard" - - - "Fixed rate" - - - 3.75 - - - 0.972 - - - 1975 - - - 360 - - - - - "Lender A" - - - "Fixed15-NoPoints" - - - "Fixed rate" - - - 3.625 - - - 0 - - - 816 - - - 180 - - - - - "Lender C" - - - "Fixed15-Standard" - - - "Fixed rate" - - - 3.25 - - - 0.767 - - - 1975 - - - 180 - - - - - "Lender B" - - - "ARM5/1-NoPoints" - - - "Variable rate" - - - 3.875 - - - 0 - - - 1776 - - - 360 - - - - - "Lender B" - - - "ARM5/1-Standard" - - - "Variable rate" - - - 3.625 - - - 0.667 - - - 1975 - - - 360 - - - - - - - - - - - - - - - - - - - - - - - for x in Loan Products return Services.Loan Info Service(x,Down Payment,Property,Credit Score) - - - - - - - - - - - - - - - - - - - - - - - - - - - for i in 1..count(Loan Products) return Eligibility(Loan Products[i], Borrower, Loan Info Table[i], + + + + + string + + + string + + + number + + + number + + + tAssets + + + tLiabilities + + + + + tAssetType + + + string + + + number + + + + tAsset + + + string + + "Checking Savings Brokerage account","Real Estate","Other Liquid","Other Non-Liquid" + + + + + tLiabilityType + + + string + + + number + + + number + + + boolean + + + + tLiability + + + string + + "Credit card","Auto loan","Student loan","Lease","Lien","Real estate loan","Alimony child support","Other" + + + + string + + "Fixed rate","Variable rate" + + + + + tAmortizationType + + + number + + + number + + + number + + + number + + + + + + string + + + string + + + string + + + string + + + string + + + + number + + + number + + + number + + + number + + + + number + + + number + + + number + + [300..850] + + + + string + + "Affordable","Marginal","Unaffordable" + + + + string + + "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" + + + + + string + + + tProductName + + "Fixed30-NoPointsOrFees","Fixed30-Standard","Fixed30-LowestRate","Fixed15-NoPointsOrFees","Fixed15-Standard" + + + + tAmortizationType + + "Fixed rate","Variable rate" + + + + tPercent + + + tPercent + + + number + + + number + + + + tLoanProduct + + + + tProductName + + + tAmortizationType + + + tPercent + + + number + + + tPercent + + + tPercent + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + + tLoanInfoRow + + + tTableRow + + + string + + "Low","Medium","High" + + + + + tAffordability + + + number + + + tLTVCategory + + + + + tPercent + + + tAffordability + + "Affordable","Marginal","Unaffordable" + + + + tLTVCategory + + "Low","Medium","High" + + + + number + + + number + + + + + number + + + number + + + number + + + tPercent + + + number + + + number + + + number + + + number + + + + + string + + + number + + [1..5] + + + + + tLenderRating + + + string + + "Best","Good","Not Recommended","Ineligible" + + + + + string + + + number + + + tPercent + + + number + + + tPercent + + + tPercent + + + number + + + number + + + number + + + tCreditScore + + [300..850] + + + + tRecommendation + + "Best","Good","Not Recommended","Ineligible" + + + + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + tCreditScore + + + string + + + + tformattedrow_1 + + + + string + + + string + + + string + + + string + + + string + + + tCreditScore + + [300..850] + + + + string + + + + + + + + + + + + + + + + + + + + + + + + DTI + + + + + LTV + + + + + Reserves + + + + + [300..850] + + + + + + <=36 + + + <=75 + + + >2 + + + 620 + + + + + + + + <=36 + + + <=75 + + + >0 + + + 640 + + + + + + + + <=36 + + + (75..95] + + + >6 + + + 660 + + + + + + + + <=36 + + + (75..95] + + + >0 + + + 680 + + + + + + + + (36..45] + + + <=75 + + + >6 + + + 660 + + + + + + + + (36..45] + + + <=75 + + + >0 + + + 680 + + + + + + + + (36..45] + + + (75..95] + + + >6 + + + 700 + + + + + + + + (36..45] + + + (75..95] + + + >0 + + + 720 + + + + + + + + + + + + + + + + + + + + + "Lender A" + + + "Fixed30-NoPoints" + + + "Fixed rate" + + + 3.95 + + + 0 + + + 1925 + + + 360 + + + + + "Lender C" + + + "Fixed30-Standard" + + + "Fixed rate" + + + 3.75 + + + 0.972 + + + 1975 + + + 360 + + + + + "Lender A" + + + "Fixed15-NoPoints" + + + "Fixed rate" + + + 3.625 + + + 0 + + + 816 + + + 180 + + + + + "Lender C" + + + "Fixed15-Standard" + + + "Fixed rate" + + + 3.25 + + + 0.767 + + + 1975 + + + 180 + + + + + "Lender B" + + + "ARM5/1-NoPoints" + + + "Variable rate" + + + 3.875 + + + 0 + + + 1776 + + + 360 + + + + + "Lender B" + + + "ARM5/1-Standard" + + + "Variable rate" + + + 3.625 + + + 0.667 + + + 1975 + + + 360 + + + + + + + + + + + + + + + + + + + + + + + for x in Loan Products return Services.Loan Info Service(x,Down Payment,Property,Credit Score) + + + + + + + + + + + + + + + + + + + + + + + + + + + for i in 1..count(Loan Products) return Eligibility(Loan Products[i], Borrower, Loan Info Table[i], Property, Credit Score, Lender Ratings) - - - - - - - - - - - - - - - - Eligibility Parameters(Loan Product, Borrower, Loan Info, + + + + + + + + + + + + + + + + Eligibility Parameters(Loan Product, Borrower, Loan Info, Property, Credit Score) - - - - - - Min Credit Score(Params.DTI Pct, Loan Info.LTV, Params.Reserves) - - - - - - if Required Credit Score != null then + + + + + + Min Credit Score(Params.DTI Pct, Loan Info.LTV, Params.Reserves) + + + + + + if Required Credit Score != null then Credit Score >= Required Credit Score else false - - - - - - - - Loan Product - - - - - Eligible - - - - - "Best","Good","Not Recommended","Ineligible" - - - - - - count(Ratings[Lender Name=?.Lender Name and Customer Rating > 4] )>0 - - - true - - - "Best" - - - - - - - - count(Ratings[Lender Name=?.Lender Name and Customer Rating in [3..4]] )>0 - - - true - - - "Good" - - - - - - - - count(Ratings[Lender Name=?.Lender Name and Customer Rating <3] )>0 - - - true - - - "Not Recommended" - - - - - - - - - - - - - - - - "Ineligible" - - - - - - - - - - - - - - Loan Product.Lender Name + " - " + Loan Product.Product Name - - - - - - Loan Info.Note Amount - - - - - - Loan Info.Initial Rate Pct - - - - - - Loan Info.Initial Monthly Payment - - - - - - Loan Info.LTV - - - - - - Params.DTI Pct - - - - - - Loan Info.Cash to Close - - - - - - Params.Liquid Assets After Closing - - - - - - Params.Reserves - - - - - - Required Credit Score - - - - - - Recommendation - - - - - - - Table Row - - - - - - - - - - - - - - - - - - - - - - - - - - - if x.Recommendation != "Ineligible" and y.Recommendation != "Ineligible" + + + + + + + + Loan Product + + + + + Eligible + + + + + "Best","Good","Not Recommended","Ineligible" + + + + + + count(Ratings[Lender Name=?.Lender Name and Customer Rating > 4] )>0 + + + true + + + "Best" + + + + + + + + count(Ratings[Lender Name=?.Lender Name and Customer Rating in [3..4]] )>0 + + + true + + + "Good" + + + + + + + + count(Ratings[Lender Name=?.Lender Name and Customer Rating <3] )>0 + + + true + + + "Not Recommended" + + + + + + + + - + + + - + + + "Ineligible" + + + + + + + + + + + + + + Loan Product.Lender Name + " - " + Loan Product.Product Name + + + + + + Loan Info.Note Amount + + + + + + Loan Info.Initial Rate Pct + + + + + + Loan Info.Initial Monthly Payment + + + + + + Loan Info.LTV + + + + + + Params.DTI Pct + + + + + + Loan Info.Cash to Close + + + + + + Params.Liquid Assets After Closing + + + + + + Params.Reserves + + + + + + Required Credit Score + + + + + + Recommendation + + + + + + + Table Row + + + + + + + + + + + + + + + + + + + + + + + + + + + if x.Recommendation != "Ineligible" and y.Recommendation != "Ineligible" then x.Monthly Payment<y.Monthly Payment else if x.Recommendation != "Ineligible" and y.Recommendation = "Ineligible" then true else false - - - - - - - sort(Eligibility Table, precedes) - - - - - for row in Sorted Table return Format Row(row) - - - - - - - - - - - - - - - - - sum([Loan Info.Qualifying Monthly Payment, Property.Monthly Tax Payment, + + + + + + + sort(Eligibility Table, precedes) + + + + + for row in Sorted Table return Format Row(row) + + + + + + + + + + + + + + + + + sum([Loan Info.Qualifying Monthly Payment, Property.Monthly Tax Payment, Property.Monthly Insurance Payment, Property.Monthly HOA Condo Fee][item != null]) - - - - - - sum(Borrower.Liabilities[Type!="Real estate loan" and To be paid off + + + + + + sum(Borrower.Liabilities[Type!="Real estate loan" and To be paid off =false].Monthly payment) - - - - - - sum([Borrower.Employment Income, Borrower.Other Income][item != null]) - - - - - - decimal((Housing Expense+Non-Housing Debt Payments)/Income*100,2) - - - - - - sum(Borrower.Assets[Type="Checking Savings Brokerage account" + + + + + + sum([Borrower.Employment Income, Borrower.Other Income][item != null]) + + + + + + decimal((Housing Expense+Non-Housing Debt Payments)/Income*100,2) + + + + + + sum(Borrower.Assets[Type="Checking Savings Brokerage account" or Type="Other Liquid"].Value) - - - - - - sum(Borrower.Liabilities[Type!="Real estate loan" + + + + + + sum(Borrower.Liabilities[Type!="Real estate loan" and To be paid off=true].Balance[item!=null]) - - - - - - Liquid Assets Before Closing - Debts Paid Off By Closing - Loan Info.Cash to Close - - - - - - decimal(Liquid Assets After Closing/Housing Expense,2) - - - - - - - - - - - - - - - - - - - - - - - "java.lang.String" - - - - - - "format( java.lang.String, [Ljava.lang.Object; )" - - - - - - - - - - - - row.Product - - - - - - string format("$%,4.2f", row.Note Amount) - - - - - - string format(" %,4.2f", row.Interest Rate Pct) - - - - - - string format("$%,4.2f", row.Monthly Payment) - - - - - - string format("$%,4.2f", row.Cash to Close) - - - - - - row.Required Credit Score - - - - - - row.Recommendation - - - - - - - formatted row - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + Liquid Assets Before Closing - Debts Paid Off By Closing - Loan Info.Cash to Close + + + + + + decimal(Liquid Assets After Closing/Housing Expense,2) + + + + + + + + + + + + + + + + + + + + + + + "java.lang.String" + + + + + + "format( java.lang.String, [Ljava.lang.Object; )" + + + + + + + + + + + + row.Product + + + + + + string format("$%,4.2f", row.Note Amount) + + + + + + string format(" %,4.2f", row.Interest Rate Pct) + + + + + + string format("$%,4.2f", row.Monthly Payment) + + + + + + string format("$%,4.2f", row.Cash to Close) + + + + + + row.Required Credit Score + + + + + + row.Recommendation + + + + + + + formatted row + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Diagram Interchange/diagram-interchange-decision-service.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Diagram Interchange/diagram-interchange-decision-service.dmn index 022af643d01..a29cf3eebf9 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Diagram Interchange/diagram-interchange-decision-service.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Diagram Interchange/diagram-interchange-decision-service.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/" +> - + - + - + @@ -40,7 +42,7 @@ - + @@ -124,7 +126,7 @@ - + @@ -161,7 +163,7 @@ - + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Diagram Interchange/diagram-interchange-shape-with-label-text.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Diagram Interchange/diagram-interchange-shape-with-label-text.dmn index e2f9c1a8c10..a3ea378f7b7 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Diagram Interchange/diagram-interchange-shape-with-label-text.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_3--examples/Diagram Interchange/diagram-interchange-shape-with-label-text.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - string - - "DECLINE","BUREAU","THROUGH" - - - - string - + + + + + + + + + + + + string + + "DECLINE","BUREAU","THROUGH" + + + + string + + "INELIGIBLE","ELIGIBLE" + + + + string + + "FULL","MINI","NONE" + + + + string + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + number + + + string + + "S","M" + + + + string + + "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" + + + + boolean + + + + number + + + number + + + number + + + + + + boolean + + + number + + [0..999], null + + + + + string + + "DECLINE","REFER","ACCEPT" + + + + + string + + "STANDARD LOAN","SPECIAL LOAN" + + + + number + + + number + + + number + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <p><span lang="JA">Determine if&nbsp;an application requiring adjudication should be accepted or declined given the available application data and supporting documents.</span></p> + Should this application that has been referred for adjudication be accepted? + Yes/No + + + + + + + + + + + + + + + + + + + + + + + <p>The collected wisdom of the credit officers as collected in their best practice wiki.</p> + Expertise + + + + <p>Documents associated with a loan that are not processed electronically but are available for manual adjudication.</p> + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Bureau call type&nbsp;</span>table, passing the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter.</span></p> + How much data should be requested from the credit bureau for this application? + A value from the explicit list "Full", "Mini", "None" + + + + + + + + + + + + Bureau call type table + + + + + Pre-bureau risk category + + + + + + <p><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Strategy&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, unique-hit decision table deriving Strategy from&nbsp;</span>Eligibility and Bureau call type.</span></p> + What is the appropriate handling strategy for this application? + A value from the explicit list "Decline", "Bureau", "Through" + + + + + + + + + + + + + + + + Eligibility + + + "INELIGIBLE","ELIGIBLE" + + + + + Bureau call type + + + "FULL","MINI","NONE" + + + + + "DECLINE","BUREAU","THROUGH" + + + + + + "INELIGIBLE" + + + - + + + "DECLINE" + + + + + + + + "ELIGIBLE" + + + "FULL", "MINI" + + + "BUREAU" + + + + + + + + "ELIGIBLE" + + + "NONE" + + + "THROUGH" + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility&nbsp;</span></strong><span lang="JA">decision logic invokes the Eligibility rules business&nbsp;</span>knowledge model, passing Applicant data.Age as the Age parameter, the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter, and the output of the Pre-bureau affordability decision as the Pre-Bureau Affordability parameter.</span></p> + Does this applicant appear eligible for the loan they applied for given only their application data? + Value from the explicit list "Eligible", "Not Eligible" + + + + + + + + + + + + + + + + + Eligibility rules + + + + + Applicant data.Age + + + + + + Pre-bureau risk category + + + + + + Pre-bureau affordability + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility rules&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Eligibility from Pre-Bureau Risk Category, Pre-Bureau Affordability and Age.</span></p> + + + + + + + + + Pre-Bureau Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + Pre-Bureau Affordability + + + + + Age + + + + "INELIGIBLE","ELIGIBLE" - - - - string - - "FULL","MINI","NONE" - - - - string - + + + + + + "DECLINE" + + + - + + + - + + + "INELIGIBLE" + + + + + + + + - + + + false + + + - + + + "INELIGIBLE" + + + + + + + + - + + + - + + + < 18 + + + "INELIGIBLE" + + + + + + + + - + + + - + + + - + + + "ELIGIBLE" + + + + + + + + + + + + + <p>Definitions of the products, their cost structure and eligibility criteria.</p> + Policy + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing Rules&nbsp;</span></strong><span lang="JA">decision logic defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Routing from Post-Bureau Risk Category, Post-Bureau Affordability, Bankrupt and Credit Score.</span></p> + + + + + + + + + + Post-bureau risk category + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - number - - - string - - "S","M" - - - - string - - "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" - - - - boolean - - - - number - - - number - - - number - - - - - - boolean - - - number - - [0..999], null - - - - - string - + + + + + Post-bureau affordability + + + + + Bankrupt + + + + + Credit score + + + null, [0..999] + + + + "DECLINE","REFER","ACCEPT" - - - - - string - - "STANDARD LOAN","SPECIAL LOAN" - - - - number - - - number - - - number - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <p><span lang="JA">Determine if&nbsp;an application requiring adjudication should be accepted or declined given the available application data and supporting documents.</span></p> - Should this application that has been referred for adjudication be accepted? - Yes/No - - - - - - - - - - - - - - - - - - - - - - - <p>The collected wisdom of the credit officers as collected in their best practice wiki.</p> - Expertise - - - - <p>Documents associated with a loan that are not processed electronically but are available for manual adjudication.</p> - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Bureau call type&nbsp;</span>table, passing the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter.</span></p> - How much data should be requested from the credit bureau for this application? - A value from the explicit list "Full", "Mini", "None" - - - - - - - - - - - - Bureau call type table - - - - - Pre-bureau risk category - - - - - - <p><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Strategy&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, unique-hit decision table deriving Strategy from&nbsp;</span>Eligibility and Bureau call type.</span></p> - What is the appropriate handling strategy for this application? - A value from the explicit list "Decline", "Bureau", "Through" - - - - - - - - - - - - - - - - Eligibility - - - "INELIGIBLE","ELIGIBLE" - - - - - Bureau call type - - - "FULL","MINI","NONE" - - - - - "DECLINE","BUREAU","THROUGH" - - - - - - "INELIGIBLE" - - - - - - - "DECLINE" - - - - - - - - "ELIGIBLE" - - - "FULL", "MINI" - - - "BUREAU" - - - - - - - - "ELIGIBLE" - - - "NONE" - - - "THROUGH" - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility&nbsp;</span></strong><span lang="JA">decision logic invokes the Eligibility rules business&nbsp;</span>knowledge model, passing Applicant data.Age as the Age parameter, the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter, and the output of the Pre-bureau affordability decision as the Pre-Bureau Affordability parameter.</span></p> - Does this applicant appear eligible for the loan they applied for given only their application data? - Value from the explicit list "Eligible", "Not Eligible" - - - - - - - - - - - - - - - - - Eligibility rules - - - - - Applicant data.Age - - - - - - Pre-bureau risk category - - - - - - Pre-bureau affordability - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility rules&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Eligibility from Pre-Bureau Risk Category, Pre-Bureau Affordability and Age.</span></p> - - - - - - - - - Pre-Bureau Risk Category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - Pre-Bureau Affordability - - - - - Age - - - - - "INELIGIBLE","ELIGIBLE" - - - - - - "DECLINE" - - - - - - - - - - - "INELIGIBLE" - - - - - - - - - - - - false - - - - - - - "INELIGIBLE" - - - - - - - - - - - - - - - - < 18 - - - "INELIGIBLE" - - - - - - - - - - - - - - - - - - - - "ELIGIBLE" - - - - - - - - - - - - - <p>Definitions of the products, their cost structure and eligibility criteria.</p> - Policy - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing Rules&nbsp;</span></strong><span lang="JA">decision logic defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Routing from Post-Bureau Risk Category, Post-Bureau Affordability, Bankrupt and Credit Score.</span></p> - - - - - - - - - - Post-bureau risk category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - Post-bureau affordability - - - - - Bankrupt - - - - - Credit score - - - null, [0..999] - - - - - "DECLINE","REFER","ACCEPT" - - - - - - - - - - false - - - - - - - - - - - "DECLINE" - - - - - - - - - - - - - - - - true - - - - - - - "DECLINE" - - - - - - - - "HIGH" - - - - - - - - - - - - - - - "REFER" - - - - - - - - - - - - - - - - - - - - < 580 - - - "REFER" - - - - - - - - - - - - - - - - - - - - - - - - "ACCEPT" - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing&nbsp;</span></strong><span lang="JA">decision logic invokes the Routing rules business&nbsp;</span>knowledge model, passing Bureau data . Bankrupt as the Bankrupt parameter, Bureau data . CreditScore as the Credit Score parameter, the output of the Post-bureau risk category decision as the Post-Bureau Risk Category parameter, and the output of the Post-bureau affordability decision as the Post-Bureau Affordability parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Bankrupt and Credit Score parameters will be null.</span></p> - How this should this applicant be routed given all available data? - A value from the explicit list "Decline", "Refer for Adjudication", "Accept without Review" - - - - - - - - - - - - - - - - - - - - - Routing rules + + + + + + - + + + false + + + - + + + - + + + "DECLINE" + + + + + + + + - + + + - + + + true + + + - + + + "DECLINE" + + + + + + + + "HIGH" + + + - + + + - + + + - + + + "REFER" + + + + + + + + - + + + - + + + - + + + < 580 + + + "REFER" + + + + + + + + - + + + - + + + - + + + - + + + "ACCEPT" + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing&nbsp;</span></strong><span lang="JA">decision logic invokes the Routing rules business&nbsp;</span>knowledge model, passing Bureau data . Bankrupt as the Bankrupt parameter, Bureau data . CreditScore as the Credit Score parameter, the output of the Post-bureau risk category decision as the Post-Bureau Risk Category parameter, and the output of the Post-bureau affordability decision as the Post-Bureau Affordability parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Bankrupt and Credit Score parameters will be null.</span></p> + How this should this applicant be routed given all available data? + A value from the explicit list "Decline", "Refer for Adjudication", "Accept without Review" + + + + + + + + + + + + + + + + + + + + + Routing rules + + + + + Bureau data.Bankrupt + + + + + + Bureau data.CreditScore + + + + + + Post-bureau risk category + + + + + + Post-bureau affordability + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table deriving&nbsp;</span>Bureau Call Type from Pre-Bureau Risk Category.</span></p> + + + + + + + Pre-Bureau Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + "FULL","MINI","NONE" + + + + + + "HIGH", "MEDIUM" + + + "FULL" + + + + + + + + "LOW" + + + "MINI" + + + + + + + + "VERY LOW", "DECLINE" + + + "NONE" + + + + + + + + + + + + + <p>Overall risk management approach for the financial institution including its approach to&nbsp;application risk, credit contingencies and credit risk scoring.</p> + Policy + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"></span><span lang="JA">The&nbsp;</span><strong><span lang="JA">Credit contingency factor table&nbsp;</span></strong><span lang="JA"><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;">decision</span> logic defines a complete, unique-hit decision table&nbsp;</span>deriving Credit contingency factor from Risk Category.</p> +<p>&nbsp;</p> + + + + + + + Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + + + "HIGH", "DECLINE" + + + 0.6 + + + + + + + + "MEDIUM" + + + 0.7 + + + + + + + + "LOW", "VERY LOW" + + + 0.8 + + + + + + + + + + + + + <p>Internal spreadsheet showing the relationship of income, payments, expenses, risk and affordability.</p> + Policy + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Affordability calculation&nbsp;</span></strong><span lang="JA">decision logic defines a boxed function deriving Affordability from&nbsp;</span>Monthly Income, Monthly Repayments, Monthly Expenses and Required Monthly Installment. One step in this calculation derives Credit contingency factor by invoking the Credit contingency factor table business</span></p> + + + + + + + + + + + + Monthly Income - (Monthly Repayments + Monthly Expenses) + + + + + + + Credit contingency factor table - - - Bureau data.Bankrupt - - - - - - Bureau data.CreditScore - - - - - - Post-bureau risk category - - - - - - Post-bureau affordability - + + + Risk Category + - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table deriving&nbsp;</span>Bureau Call Type from Pre-Bureau Risk Category.</span></p> - - - - - - - Pre-Bureau Risk Category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - "FULL","MINI","NONE" - - - - - - "HIGH", "MEDIUM" - - - "FULL" - - - - - - - - "LOW" - - - "MINI" - - - - - - - - "VERY LOW", "DECLINE" - - - "NONE" - - - - - - - - - - - - - <p>Overall risk management approach for the financial institution including its approach to&nbsp;application risk, credit contingencies and credit risk scoring.</p> - Policy - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"></span><span lang="JA">The&nbsp;</span><strong><span lang="JA">Credit contingency factor table&nbsp;</span></strong><span lang="JA"><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;">decision</span> logic defines a complete, unique-hit decision table&nbsp;</span>deriving Credit contingency factor from Risk Category.</p> -<p>&nbsp;</p> - - - - - - - Risk Category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - - - "HIGH", "DECLINE" - - - 0.6 - - - - - - - - "MEDIUM" - - - 0.7 - - - - - - - - "LOW", "VERY LOW" - - - 0.8 - - - - - - - - - - - - - <p>Internal spreadsheet showing the relationship of income, payments, expenses, risk and affordability.</p> - Policy - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Affordability calculation&nbsp;</span></strong><span lang="JA">decision logic defines a boxed function deriving Affordability from&nbsp;</span>Monthly Income, Monthly Repayments, Monthly Expenses and Required Monthly Installment. One step in this calculation derives Credit contingency factor by invoking the Credit contingency factor table business</span></p> - - - - - - - - - - - - Monthly Income - (Monthly Repayments + Monthly Expenses) - - - - - - - Credit contingency factor table - - - - - Risk Category - - - - - - - - if Disposable Income * Credit Contingency Factor > Required Monthly Installment + + + + + + if Disposable Income * Credit Contingency Factor > Required Monthly Installment then true else false - - - - - Affordability - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Pre-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> - Can the applicant afford the loan they applied for given only their application data? - Yes/No - - - - - - - - - - - - - - - - - Affordability calculation - - - - - Applicant data.Monthly.Income - - - - - - Applicant data.Monthly.Repayments - - - - - - Applicant data.Monthly.Expenses - - - - - - Pre-bureau risk category - - - - - - Required monthly installment - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Post-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> - Can the applicant afford the loan they applied for given all available data? - Yes/No - - - - - - - - - - - - - - - - - Affordability calculation - - - - - Applicant data.Monthly.Income - - - - - - Applicant data.Monthly.Repayments - - - - - - Applicant data.Monthly.Expenses - - - - - - Post-bureau risk category - - - - - - Required monthly installment - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category&nbsp;</span></strong><span lang="JA">decision logic invokes the Post-bureau&nbsp;</span>risk category business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter, Bureau data.CreditScore as the Credit Score parameter, and the output of the Application risk score decision as the Application Risk Score parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Credit Score parameter will be null.</span></p> - Which risk category is most appropriate for this applicant given all available data? - A value from the explicit list "Decline", "High Risk", "Medium Risk", "Low Risk", "Very Low Risk" - - - - - - - - - - - - - - - - - Post-bureau risk category table - - - - - Applicant data.ExistingCustomer - - - - - - Bureau data.CreditScore - - - - - - Application risk score - - - - - - <p>External credit score and bankruptcy information provided by a bureau.</p> - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Post-Bureau Risk Category from Existing Customer, Application Risk Score and Credit Score.</span></p> - - - - - - - - - Existing Customer - - - - - Application Risk Score - - - - - Credit Score - - - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - - false - - - < 120 - - - < 590 - - - "HIGH" - - - - - - - - false - - - < 120 - - - [590..610] - - - "MEDIUM" - - - - - - - - false - - - < 120 - - - > 610 - - - "LOW" - - - - - - - - false - - - [120..130] - - - < 600 - - - "HIGH" - - - - - - - - false - - - [120..130] - - - [600..625] - - - "MEDIUM" - - - - - - - - false - - - [120..130] - - - > 625 - - - "LOW" - - - - - - - - false - - - > 130 - - - - - - - "VERY LOW" - - - - - - - - true - - - <= 100 - - - < 580 - - - "HIGH" - - - - - - - - true - - - <= 100 - - - [580..600] - - - "MEDIUM" - - - - - - - - true - - - <= 100 - - - > 600 - - - "LOW" - - - - - - - - true - - - > 100 - - - < 590 - - - "HIGH" - - - - - - - - true - - - > 100 - - - [590..615] - - - "MEDIUM" - - - - - - - - true - - - > 100 - - - > 615 - - - "LOW" - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-Bureau Risk Category&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Pre-bureau&nbsp;</span>risk category table business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter and the output of the Application risk score decision as the Application Risk Score parameter.</span></p> - Which risk category is most appropriate for this applicant given only their application data? - Value from explicit list "Decline", "High Risk", "Medium Risk", "Low Risk", "Very Low Risk" - - - - - - - - - - - - - - Pre-bureau risk category table - - - - - Applicant data.ExistingCustomer - - - - - - Application risk score - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Pre-bureau risk category from Existing Customer and Application Risk Score.</span></p> - - - - - - - - Existing Customer - - - - - Application Risk Score - - - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - - false - - - < 100 - - - "HIGH" - - - - - - - - false - - - [100..120) - - - "MEDIUM" - - - - - - - - false - - - [120..130] - - - "LOW" - - - - - - - - false - - - > 130 - - - "VERY LOW" - - - - - - - - true - - - < 80 - - - "DECLINE" - - - - - - - - true - - - [80..90) - - - "HIGH" - - - - - - - - true - - - [90..110] - - - "MEDIUM" - - - - - - - - true - - - > 110 - - - "LOW" - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application Risk Score&nbsp;</span></strong><span lang="JA">decision logic invokes the Application&nbsp;</span>risk score model business knowledge model, passing Applicant data.Age as the Age parameter, Applicant data.MaritalStatus as the Marital Status parameter and Applicant data.EmploymentStatus as the Employment Status parameter.</span></p> - What is the risk score for this applicant? - A number greater than 70 and less than 150 - - - - - - - - - - - - Application risk score model - - - - - Applicant data.Age - - - - - - Applicant data.MaritalStatus - - - - - - Applicant data.EmploymentStatus - - - - - - <p>Credit risk scorecard analysis to determine the relevant factors for application risk scoring</p> - - - - - - - - - - Analytic Insight - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application risk score model&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, no-order multiple-hit table&nbsp;</span>with aggregation, deriving Application risk score from Age, Marital Status and Employment Status, as the sum of the Partial scores of all matching rows (this is therefore a predictive scorecard represented as a decision table).</span></p> - - - - - - - - - Age - - - [18..120] - - - - - Marital Status - - - "S","M" - - - - - Employment Status - - - "UNEMPLOYED","STUDENT","EMPLOYED","SELF-EMPLOYED" - - - - - - - [18..22) - - - - - - - - - - - 32 - - - - - - - - [22..26) - - - - - - - - - - - 35 - - - - - - - - [26..36) - - - - - - - - - - - 40 - - - - - - - - [36..50) - - - - - - - - - - - 43 - - - - - - - - >=50 - - - - - - - - - - - 48 - - - - - - - - - - - - "S" - - - - - - - 25 - - - - - - - - - - - - "M" - - - - - - - 45 - - - - - - - - - - - - - - - - "UNEMPLOYED" - - - 15 - - - - - - - - - - - - - - - - "STUDENT" - - - 18 - - - - - - - - - - - - - - - - "EMPLOYED" - - - 45 - - - - - - - - - - - - - - - - "SELF-EMPLOYED" - - - 36 - - - - - - - - - - - - - <p>Information about the applicant including personal information, marital status and household income/expenses.</p> - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Required monthly installment&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Installment calculation business knowledge model, passing Requested product.ProductType as the Product Type parameter, Requested product.Rate as the Rate parameter, Requested product.Term as the Term parameter, and Requested product.Amount as the Amount parameter.</span></p> - What is the minimum monthly installment payment required for this loan product? - A dollar amount greater than zero - - - - - - - - - - - Installment calculation - - - - - Requested product.ProductType - - - - - - Requested product.Rate - - - - - - Requested product.Term - - - - - - Requested product.Amount - - - - - - <p>Details of the loan the applicant has applied for.</p> - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Installment calculation&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a boxed function deriving monthly installment&nbsp;</span>from Product Type, Rate, Term and Amount.</span></p> - - - - - - - - - - - if Product Type = "STANDARD LOAN" + + + + + Affordability + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Pre-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + Can the applicant afford the loan they applied for given only their application data? + Yes/No + + + + + + + + + + + + + + + + + Affordability calculation + + + + + Applicant data.Monthly.Income + + + + + + Applicant data.Monthly.Repayments + + + + + + Applicant data.Monthly.Expenses + + + + + + Pre-bureau risk category + + + + + + Required monthly installment + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Post-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + Can the applicant afford the loan they applied for given all available data? + Yes/No + + + + + + + + + + + + + + + + + Affordability calculation + + + + + Applicant data.Monthly.Income + + + + + + Applicant data.Monthly.Repayments + + + + + + Applicant data.Monthly.Expenses + + + + + + Post-bureau risk category + + + + + + Required monthly installment + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category&nbsp;</span></strong><span lang="JA">decision logic invokes the Post-bureau&nbsp;</span>risk category business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter, Bureau data.CreditScore as the Credit Score parameter, and the output of the Application risk score decision as the Application Risk Score parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Credit Score parameter will be null.</span></p> + Which risk category is most appropriate for this applicant given all available data? + A value from the explicit list "Decline", "High Risk", "Medium Risk", "Low Risk", "Very Low Risk" + + + + + + + + + + + + + + + + + Post-bureau risk category table + + + + + Applicant data.ExistingCustomer + + + + + + Bureau data.CreditScore + + + + + + Application risk score + + + + + + <p>External credit score and bankruptcy information provided by a bureau.</p> + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Post-Bureau Risk Category from Existing Customer, Application Risk Score and Credit Score.</span></p> + + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + Credit Score + + + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + + false + + + < 120 + + + < 590 + + + "HIGH" + + + + + + + + false + + + < 120 + + + [590..610] + + + "MEDIUM" + + + + + + + + false + + + < 120 + + + > 610 + + + "LOW" + + + + + + + + false + + + [120..130] + + + < 600 + + + "HIGH" + + + + + + + + false + + + [120..130] + + + [600..625] + + + "MEDIUM" + + + + + + + + false + + + [120..130] + + + > 625 + + + "LOW" + + + + + + + + false + + + > 130 + + + - + + + "VERY LOW" + + + + + + + + true + + + <= 100 + + + < 580 + + + "HIGH" + + + + + + + + true + + + <= 100 + + + [580..600] + + + "MEDIUM" + + + + + + + + true + + + <= 100 + + + > 600 + + + "LOW" + + + + + + + + true + + + > 100 + + + < 590 + + + "HIGH" + + + + + + + + true + + + > 100 + + + [590..615] + + + "MEDIUM" + + + + + + + + true + + + > 100 + + + > 615 + + + "LOW" + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-Bureau Risk Category&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Pre-bureau&nbsp;</span>risk category table business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter and the output of the Application risk score decision as the Application Risk Score parameter.</span></p> + Which risk category is most appropriate for this applicant given only their application data? + Value from explicit list "Decline", "High Risk", "Medium Risk", "Low Risk", "Very Low Risk" + + + + + + + + + + + + + + Pre-bureau risk category table + + + + + Applicant data.ExistingCustomer + + + + + + Application risk score + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Pre-bureau risk category from Existing Customer and Application Risk Score.</span></p> + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + + false + + + < 100 + + + "HIGH" + + + + + + + + false + + + [100..120) + + + "MEDIUM" + + + + + + + + false + + + [120..130] + + + "LOW" + + + + + + + + false + + + > 130 + + + "VERY LOW" + + + + + + + + true + + + < 80 + + + "DECLINE" + + + + + + + + true + + + [80..90) + + + "HIGH" + + + + + + + + true + + + [90..110] + + + "MEDIUM" + + + + + + + + true + + + > 110 + + + "LOW" + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application Risk Score&nbsp;</span></strong><span lang="JA">decision logic invokes the Application&nbsp;</span>risk score model business knowledge model, passing Applicant data.Age as the Age parameter, Applicant data.MaritalStatus as the Marital Status parameter and Applicant data.EmploymentStatus as the Employment Status parameter.</span></p> + What is the risk score for this applicant? + A number greater than 70 and less than 150 + + + + + + + + + + + + Application risk score model + + + + + Applicant data.Age + + + + + + Applicant data.MaritalStatus + + + + + + Applicant data.EmploymentStatus + + + + + + <p>Credit risk scorecard analysis to determine the relevant factors for application risk scoring</p> + + + + + + + + + + Analytic Insight + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application risk score model&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, no-order multiple-hit table&nbsp;</span>with aggregation, deriving Application risk score from Age, Marital Status and Employment Status, as the sum of the Partial scores of all matching rows (this is therefore a predictive scorecard represented as a decision table).</span></p> + + + + + + + + + Age + + + [18..120] + + + + + Marital Status + + + "S","M" + + + + + Employment Status + + + "UNEMPLOYED","STUDENT","EMPLOYED","SELF-EMPLOYED" + + + + + + + [18..22) + + + - + + + - + + + 32 + + + + + + + + [22..26) + + + - + + + - + + + 35 + + + + + + + + [26..36) + + + - + + + - + + + 40 + + + + + + + + [36..50) + + + - + + + - + + + 43 + + + + + + + + >=50 + + + - + + + - + + + 48 + + + + + + + + - + + + "S" + + + - + + + 25 + + + + + + + + - + + + "M" + + + - + + + 45 + + + + + + + + - + + + - + + + "UNEMPLOYED" + + + 15 + + + + + + + + - + + + - + + + "STUDENT" + + + 18 + + + + + + + + - + + + - + + + "EMPLOYED" + + + 45 + + + + + + + + - + + + - + + + "SELF-EMPLOYED" + + + 36 + + + + + + + + + + + + + <p>Information about the applicant including personal information, marital status and household income/expenses.</p> + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Required monthly installment&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Installment calculation business knowledge model, passing Requested product.ProductType as the Product Type parameter, Requested product.Rate as the Rate parameter, Requested product.Term as the Term parameter, and Requested product.Amount as the Amount parameter.</span></p> + What is the minimum monthly installment payment required for this loan product? + A dollar amount greater than zero + + + + + + + + + + + Installment calculation + + + + + Requested product.ProductType + + + + + + Requested product.Rate + + + + + + Requested product.Term + + + + + + Requested product.Amount + + + + + + <p>Details of the loan the applicant has applied for.</p> + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Installment calculation&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a boxed function deriving monthly installment&nbsp;</span>from Product Type, Rate, Term and Amount.</span></p> + + + + + + + + + + + if Product Type = "STANDARD LOAN" then 20.00 else if Product Type = "SPECIAL LOAN" then 25.00 else null - - - - - - Financial.PMT(Rate, Term, Amount) - - - - - Monthly Repayment + Monthly Fee - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <p>Information about historical loan defaults.</p> - - - - The credit risk scorecard is built from past applicants' data and information about those loans that defaulted. It must conform to the overall risk management strategy. - - - <p>Individuals in the Retail Banking organization responsible for manual adjudication of loans.</p> - - - - <p>Organization responsible for defining loan and other banking products, how those products are priced, sold and tracked for profitability.</p> - - - - - - <p>Organization within the bank responsible for defining credit risk strategies and policies and providing tools for managing against these.</p> - - - - - - - - - - <p>Organization responsible for credit risk models and the use of data to predict credit risk for customers and loan applicants.</p> - - - - <p>The percentage of loans accepted in a calendar month.</p> - - - - - - <p>The percentage of loans that did not require a credit officer to review the case in a calendar month.</p> - - - - - <p>The total value of Loans written in a calendar month</p> - - - - - - <p>By end of the current year, have an auto-adjudication rate of at least 90 percent</p> - - - - - <p>The total cost charged by the bureau for all Bureau Data requested while originating Loans in a calendar month.</p> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + Financial.PMT(Rate, Term, Amount) + + + + + Monthly Repayment + Monthly Fee + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <p>Information about historical loan defaults.</p> + + + + The credit risk scorecard is built from past applicants' data and information about those loans that defaulted. It must conform to the overall risk management strategy. + + + <p>Individuals in the Retail Banking organization responsible for manual adjudication of loans.</p> + + + + <p>Organization responsible for defining loan and other banking products, how those products are priced, sold and tracked for profitability.</p> + + + + + + <p>Organization within the bank responsible for defining credit risk strategies and policies and providing tools for managing against these.</p> + + + + + + + + + + <p>Organization responsible for credit risk models and the use of data to predict credit risk for customers and loan applicants.</p> + + + + <p>The percentage of loans accepted in a calendar month.</p> + + + + + + <p>The percentage of loans that did not require a credit officer to review the case in a calendar month.</p> + + + + + <p>The total value of Loans written in a calendar month</p> + + + + + + <p>By end of the current year, have an auto-adjudication rate of at least 90 percent</p> + + + + + <p>The total cost charged by the bureau for all Bureau Data requested while originating Loans in a calendar month.</p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Chapter 11 Example 1 Originations/Financial.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Chapter 11 Example 1 Originations/Financial.dmn index 945c768d59d..93dadbbc68f 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Chapter 11 Example 1 Originations/Financial.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Chapter 11 Example 1 Originations/Financial.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - <p><span lang="JA">Standard calculation of monthly installment&nbsp;</span>from Rate, Term and Amount.</p> - - - - - - - (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) - - - - - - - - - - - - - - + + + + + + + + + <p><span lang="JA">Standard calculation of monthly installment&nbsp;</span>from Rate, Term and Amount.</p> + + + + + + + (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Chapter 11 Example 2 Ranked Loan Products/Loan info.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Chapter 11 Example 2 Ranked Loan Products/Loan info.dmn index 227bf41bf78..0669e160a30 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Chapter 11 Example 2 Ranked Loan Products/Loan info.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Chapter 11 Example 2 Ranked Loan Products/Loan info.dmn @@ -1,4 +1,4 @@ - + - - - - string - - - string - - - number - - - number - - - tAssets - - - tLiabilities - - - - - tAssetType - - - string - - - number - - - - tAsset - - - string - - "Checking Savings Brokerage account","Real Estate","Other Liquid","Other Non-Liquid" - - - - - tLiabilityType - - - string - - - number - - - number - - - boolean - - - - tLiability - - - string - - "Credit card","Auto loan","Student loan","Lease","Lien","Real estate loan","Alimony child support","Other" - - - - string - - "Fixed rate","Variable rate" - - - - - string - - - tProductName - - "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" - - - - tAmortizationType - - - tPercent - - - tPercent - - - number - - - number - - - - - - string - - - string - - - string - - - string - - - string - - - - number - - - number - - - number - - - number - - - - number - - - number - - - number - - [300..850] - - - - string - - "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" - - - - - number - - - number - - - tPercent - - - number - - - number - - - tPercent - - - tPercent - - - number - - - number - - - - - tProductName - - "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" - - - - tAmortizationType - - "Fixed rate","Variable rate" - - - - tPercent - - - number - - - tPercent - - - tPercent - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - decimal((Property.Purchase Price - Down Payment)*Loan Product.Points Pct/100,2) - - - - - - Property.Purchase Price - Down Payment + Loan Product.Fees Amount + Points Amount - - - - - - decimal(100*Note Amount/Property.Purchase Price,2) - - - - - - decimal(0.02*Note Amount,2) - - - - - - Note Amount - Loan Product.Fees Amount - Points Amount - Closing Costs - - - - - - Loan Product.Best Rate Pct + Rate Adjustment(Credit Score, LTV) - - - - - - if Loan Product.Type="Variable rate" then Interest Rate Percent+2 else Interest Rate Percent - - - - - - - payment - - - - - Note Amount - - - - - - Interest Rate Percent/100 - - - - - - Loan Product.Term - - - - - - - - - payment - - - - - Note Amount - - - - - - Qualifying Rate Percent/100 - - - - - - Loan Product.Term - - - - - - - - - - - - - - - - - - Credit Score - - - [300..850] - - - - - LTV - - - - - - - >=660 - - - <=60 - - - 0 - - - - - - - - [620..660) - - - <=60 - - - 0.125 - - - - - - - - >=700 - - - >60 - - - 0.125 - - - - - - - - [660..700) - - - (60..70] - - - 0.125 - - - - - - - - [620..660) - - - (60..70] - - - 0.25 - - - - - - - - [680..700) - - - >70 - - - 0.25 - - - - - - - - [640..680) - - - >70 - - - 0.375 - - - - - - - - [620..640) - - - (70..80] - - - 0.375 - - - - - - - - [620..640) - - - >80 - - - 0.5 - - - - - - - - <620 - - - - - - - 0.5 - - - - - - - - - - - - - - - - decimal(p*r/12/(1-(1+r/12)**-n),2) - - - - - - - - - - - - - - - - - - - - - - Loan Product.Product Name - - - - - - Loan Product.Type - - - - - - Loan Data.LTV - - - - - - Loan Data.Note Amount - - - - - - Loan Data.Interest Rate Percent - - - - - - Loan Data.Qualifying Rate Percent - - - - - - Loan Data.Monthly Payment - - - - - - Loan Data.Qualifying Payment - - - - - - Loan Data.Points Amount - - - - - - Loan Product.Fees Amount - - - - - - Loan Data.Funds Toward Purchase - - - - - - Down Payment - - - - - - Loan Data.Closing Costs - - - - - - Property.Purchase Price - Funds Toward Purchase - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + string + + + string + + + number + + + number + + + tAssets + + + tLiabilities + + + + + tAssetType + + + string + + + number + + + + tAsset + + + string + + "Checking Savings Brokerage account","Real Estate","Other Liquid","Other Non-Liquid" + + + + + tLiabilityType + + + string + + + number + + + number + + + boolean + + + + tLiability + + + string + + "Credit card","Auto loan","Student loan","Lease","Lien","Real estate loan","Alimony child support","Other" + + + + string + + "Fixed rate","Variable rate" + + + + + string + + + tProductName + + "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" + + + + tAmortizationType + + + tPercent + + + tPercent + + + number + + + number + + + + + + string + + + string + + + string + + + string + + + string + + + + number + + + number + + + number + + + number + + + + number + + + number + + + number + + [300..850] + + + + string + + "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" + + + + + number + + + number + + + tPercent + + + number + + + number + + + tPercent + + + tPercent + + + number + + + number + + + + + tProductName + + "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" + + + + tAmortizationType + + "Fixed rate","Variable rate" + + + + tPercent + + + number + + + tPercent + + + tPercent + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + decimal((Property.Purchase Price - Down Payment)*Loan Product.Points Pct/100,2) + + + + + + Property.Purchase Price - Down Payment + Loan Product.Fees Amount + Points Amount + + + + + + decimal(100*Note Amount/Property.Purchase Price,2) + + + + + + decimal(0.02*Note Amount,2) + + + + + + Note Amount - Loan Product.Fees Amount - Points Amount - Closing Costs + + + + + + Loan Product.Best Rate Pct + Rate Adjustment(Credit Score, LTV) + + + + + + if Loan Product.Type="Variable rate" then Interest Rate Percent+2 else Interest Rate Percent + + + + + + + payment + + + + + Note Amount + + + + + + Interest Rate Percent/100 + + + + + + Loan Product.Term + + + + + + + + + payment + + + + + Note Amount + + + + + + Qualifying Rate Percent/100 + + + + + + Loan Product.Term + + + + + + + + + + + + + + + + + + Credit Score + + + [300..850] + + + + + LTV + + + + + + + >=660 + + + <=60 + + + 0 + + + + + + + + [620..660) + + + <=60 + + + 0.125 + + + + + + + + >=700 + + + >60 + + + 0.125 + + + + + + + + [660..700) + + + (60..70] + + + 0.125 + + + + + + + + [620..660) + + + (60..70] + + + 0.25 + + + + + + + + [680..700) + + + >70 + + + 0.25 + + + + + + + + [640..680) + + + >70 + + + 0.375 + + + + + + + + [620..640) + + + (70..80] + + + 0.375 + + + + + + + + [620..640) + + + >80 + + + 0.5 + + + + + + + + <620 + + + - + + + 0.5 + + + + + + + + + + + + + + + + decimal(p*r/12/(1-(1+r/12)**-n),2) + + + + + + + + + + + + + + + + + + + + + + Loan Product.Product Name + + + + + + Loan Product.Type + + + + + + Loan Data.LTV + + + + + + Loan Data.Note Amount + + + + + + Loan Data.Interest Rate Percent + + + + + + Loan Data.Qualifying Rate Percent + + + + + + Loan Data.Monthly Payment + + + + + + Loan Data.Qualifying Payment + + + + + + Loan Data.Points Amount + + + + + + Loan Product.Fees Amount + + + + + + Loan Data.Funds Toward Purchase + + + + + + Down Payment + + + + + + Loan Data.Closing Costs + + + + + + Property.Purchase Price - Funds Toward Purchase + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Chapter 11 Example 2 Ranked Loan Products/Recommended Loan Products.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Chapter 11 Example 2 Ranked Loan Products/Recommended Loan Products.dmn index 2ca920449a7..44b0bdd35ea 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Chapter 11 Example 2 Ranked Loan Products/Recommended Loan Products.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Chapter 11 Example 2 Ranked Loan Products/Recommended Loan Products.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - - - number - - - number - - - tAssets - - - tLiabilities - - - - - tAssetType - - - string - - - number - - - - tAsset - - - string - - "Checking Savings Brokerage account","Real Estate","Other Liquid","Other Non-Liquid" - - - - - tLiabilityType - - - string - - - number - - - number - - - boolean - - - - tLiability - - - string - - "Credit card","Auto loan","Student loan","Lease","Lien","Real estate loan","Alimony child support","Other" - - - - string - - "Fixed rate","Variable rate" - - - - - tAmortizationType - - - number - - - number - - - number - - - number - - - - - - string - - - string - - - string - - - string - - - string - - - - number - - - number - - - number - - - number - - - - number - - - number - - - number - - [300..850] - - - - string - - "Affordable","Marginal","Unaffordable" - - - - string - - "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" - - - - - string - - - tProductName - - "Fixed30-NoPoints","Fixed30-Standard","Fixed30-LowestRate","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" - - - - tAmortizationType - - "Fixed rate","Variable rate" - - - - tPercent - - - tPercent - - - number - - - number - - - - tLoanProduct - - - - tProductName - - - tAmortizationType - - - tPercent - - - number - - - tPercent - - - tPercent - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - - tLoanInfoRow - - - tTableRow - - - string - - "Low","Medium","High" - - - - - tAffordability - - - number - - - tLTVCategory - - - - - tPercent - - - tAffordability - - "Affordable","Marginal","Unaffordable" - - - - tLTVCategory - - "Low","Medium","High" - - - - number - - - number - - - - - number - - - number - - - number - - - tPercent - - - number - - - number - - - number - - - number - - - - - string - - - number - - [1..5] - - - - - tLenderRating - - - string - - "Best","Good","Not Recommended","Ineligible" - - - - - string - - - number - - - tPercent - - - number - - - tPercent - - - tPercent - - - number - - - number - - - number - - - tCreditScore - - [300..850] - - - - tRecommendation - - "Best","Good","Not Recommended","Ineligible" - - - - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - tCreditScore - - - string - - - - tformattedrow_1 - - - - string - - - string - - - string - - - string - - - string - - - tCreditScore - - [300..850] - - - - string - - - - - - - - - - - - - - - - - - - - - - - - DTI - - - - - LTV - - - - - Reserves - - - - - [300..850] - - - - - - <=36 - - - <=75 - - - >2 - - - 620 - - - - - - - - <=36 - - - <=75 - - - >0 - - - 640 - - - - - - - - <=36 - - - (75..95] - - - >6 - - - 660 - - - - - - - - <=36 - - - (75..95] - - - >0 - - - 680 - - - - - - - - (36..45] - - - <=75 - - - >6 - - - 660 - - - - - - - - (36..45] - - - <=75 - - - >0 - - - 680 - - - - - - - - (36..45] - - - (75..95] - - - >6 - - - 700 - - - - - - - - (36..45] - - - (75..95] - - - >0 - - - 720 - - - - - - - - - - - - - - - - - - - - - "Lender A" - - - "Fixed30-NoPoints" - - - "Fixed rate" - - - 3.95 - - - 0 - - - 1925 - - - 360 - - - - - "Lender C" - - - "Fixed30-Standard" - - - "Fixed rate" - - - 3.75 - - - 0.972 - - - 1975 - - - 360 - - - - - "Lender A" - - - "Fixed15-NoPoints" - - - "Fixed rate" - - - 3.625 - - - 0 - - - 816 - - - 180 - - - - - "Lender C" - - - "Fixed15-Standard" - - - "Fixed rate" - - - 3.25 - - - 0.767 - - - 1975 - - - 180 - - - - - "Lender B" - - - "ARM5/1-NoPoints" - - - "Variable rate" - - - 3.875 - - - 0 - - - 1776 - - - 360 - - - - - "Lender B" - - - "ARM5/1-Standard" - - - "Variable rate" - - - 3.625 - - - 0.667 - - - 1975 - - - 360 - - - - - - - - - - - - - - - - - - - - - - - for x in Loan Products return Services.Loan Info Service(x,Down Payment,Property,Credit Score) - - - - - - - - - - - - - - - - - - - - - - - - - - - for i in 1..count(Loan Products) return Eligibility(Loan Products[i], Borrower, Loan Info Table[i], + + + + + string + + + string + + + number + + + number + + + tAssets + + + tLiabilities + + + + + tAssetType + + + string + + + number + + + + tAsset + + + string + + "Checking Savings Brokerage account","Real Estate","Other Liquid","Other Non-Liquid" + + + + + tLiabilityType + + + string + + + number + + + number + + + boolean + + + + tLiability + + + string + + "Credit card","Auto loan","Student loan","Lease","Lien","Real estate loan","Alimony child support","Other" + + + + string + + "Fixed rate","Variable rate" + + + + + tAmortizationType + + + number + + + number + + + number + + + number + + + + + + string + + + string + + + string + + + string + + + string + + + + number + + + number + + + number + + + number + + + + number + + + number + + + number + + [300..850] + + + + string + + "Affordable","Marginal","Unaffordable" + + + + string + + "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" + + + + + string + + + tProductName + + "Fixed30-NoPoints","Fixed30-Standard","Fixed30-LowestRate","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" + + + + tAmortizationType + + "Fixed rate","Variable rate" + + + + tPercent + + + tPercent + + + number + + + number + + + + tLoanProduct + + + + tProductName + + + tAmortizationType + + + tPercent + + + number + + + tPercent + + + tPercent + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + + tLoanInfoRow + + + tTableRow + + + string + + "Low","Medium","High" + + + + + tAffordability + + + number + + + tLTVCategory + + + + + tPercent + + + tAffordability + + "Affordable","Marginal","Unaffordable" + + + + tLTVCategory + + "Low","Medium","High" + + + + number + + + number + + + + + number + + + number + + + number + + + tPercent + + + number + + + number + + + number + + + number + + + + + string + + + number + + [1..5] + + + + + tLenderRating + + + string + + "Best","Good","Not Recommended","Ineligible" + + + + + string + + + number + + + tPercent + + + number + + + tPercent + + + tPercent + + + number + + + number + + + number + + + tCreditScore + + [300..850] + + + + tRecommendation + + "Best","Good","Not Recommended","Ineligible" + + + + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + tCreditScore + + + string + + + + tformattedrow_1 + + + + string + + + string + + + string + + + string + + + string + + + tCreditScore + + [300..850] + + + + string + + + + + + + + + + + + + + + + + + + + + + + + DTI + + + + + LTV + + + + + Reserves + + + + + [300..850] + + + + + + <=36 + + + <=75 + + + >2 + + + 620 + + + + + + + + <=36 + + + <=75 + + + >0 + + + 640 + + + + + + + + <=36 + + + (75..95] + + + >6 + + + 660 + + + + + + + + <=36 + + + (75..95] + + + >0 + + + 680 + + + + + + + + (36..45] + + + <=75 + + + >6 + + + 660 + + + + + + + + (36..45] + + + <=75 + + + >0 + + + 680 + + + + + + + + (36..45] + + + (75..95] + + + >6 + + + 700 + + + + + + + + (36..45] + + + (75..95] + + + >0 + + + 720 + + + + + + + + + + + + + + + + + + + + + "Lender A" + + + "Fixed30-NoPoints" + + + "Fixed rate" + + + 3.95 + + + 0 + + + 1925 + + + 360 + + + + + "Lender C" + + + "Fixed30-Standard" + + + "Fixed rate" + + + 3.75 + + + 0.972 + + + 1975 + + + 360 + + + + + "Lender A" + + + "Fixed15-NoPoints" + + + "Fixed rate" + + + 3.625 + + + 0 + + + 816 + + + 180 + + + + + "Lender C" + + + "Fixed15-Standard" + + + "Fixed rate" + + + 3.25 + + + 0.767 + + + 1975 + + + 180 + + + + + "Lender B" + + + "ARM5/1-NoPoints" + + + "Variable rate" + + + 3.875 + + + 0 + + + 1776 + + + 360 + + + + + "Lender B" + + + "ARM5/1-Standard" + + + "Variable rate" + + + 3.625 + + + 0.667 + + + 1975 + + + 360 + + + + + + + + + + + + + + + + + + + + + + + for x in Loan Products return Services.Loan Info Service(x,Down Payment,Property,Credit Score) + + + + + + + + + + + + + + + + + + + + + + + + + + + for i in 1..count(Loan Products) return Eligibility(Loan Products[i], Borrower, Loan Info Table[i], Property, Credit Score, Lender Ratings) - - - - - - - - - - - - - - - - Eligibility Parameters(Loan Product, Borrower, Loan Info, + + + + + + + + + + + + + + + + Eligibility Parameters(Loan Product, Borrower, Loan Info, Property, Credit Score) - - - - - - Min Credit Score(Params.DTI Pct, Loan Info.LTV, Params.Reserves) - - - - - - if Required Credit Score != null then + + + + + + Min Credit Score(Params.DTI Pct, Loan Info.LTV, Params.Reserves) + + + + + + if Required Credit Score != null then Credit Score >= Required Credit Score else false - - - - - - - - Loan Product - - - - - Eligible - - - - - "Best","Good","Not Recommended","Ineligible" - - - - - - count(Ratings[Lender Name=?.Lender Name and Customer Rating > 4] )>0 - - - true - - - "Best" - - - - - - - - count(Ratings[Lender Name=?.Lender Name and Customer Rating in [3..4]] )>0 - - - true - - - "Good" - - - - - - - - count(Ratings[Lender Name=?.Lender Name and Customer Rating <3] )>0 - - - true - - - "Not Recommended" - - - - - - - - - - - - - - - - "Ineligible" - - - - - - - - - - - - - - Loan Product.Lender Name + " - " + Loan Product.Product Name - - - - - - Loan Info.Note Amount - - - - - - Loan Info.Initial Rate Pct - - - - - - Loan Info.Initial Monthly Payment - - - - - - Loan Info.LTV - - - - - - Params.DTI Pct - - - - - - Loan Info.Cash to Close - - - - - - Params.Liquid Assets After Closing - - - - - - Params.Reserves - - - - - - Required Credit Score - - - - - - Recommendation - - - - - - - Table Row - - - - - - - - - - - - - - - - - - - - - - - - - - - if x.Recommendation != "Ineligible" and y.Recommendation != "Ineligible" + + + + + + + + Loan Product + + + + + Eligible + + + + + "Best","Good","Not Recommended","Ineligible" + + + + + + count(Ratings[Lender Name=?.Lender Name and Customer Rating > 4] )>0 + + + true + + + "Best" + + + + + + + + count(Ratings[Lender Name=?.Lender Name and Customer Rating in [3..4]] )>0 + + + true + + + "Good" + + + + + + + + count(Ratings[Lender Name=?.Lender Name and Customer Rating <3] )>0 + + + true + + + "Not Recommended" + + + + + + + + - + + + - + + + "Ineligible" + + + + + + + + + + + + + + Loan Product.Lender Name + " - " + Loan Product.Product Name + + + + + + Loan Info.Note Amount + + + + + + Loan Info.Initial Rate Pct + + + + + + Loan Info.Initial Monthly Payment + + + + + + Loan Info.LTV + + + + + + Params.DTI Pct + + + + + + Loan Info.Cash to Close + + + + + + Params.Liquid Assets After Closing + + + + + + Params.Reserves + + + + + + Required Credit Score + + + + + + Recommendation + + + + + + + Table Row + + + + + + + + + + + + + + + + + + + + + + + + + + + if x.Recommendation != "Ineligible" and y.Recommendation != "Ineligible" then x.Monthly Payment<y.Monthly Payment else if x.Recommendation != "Ineligible" and y.Recommendation = "Ineligible" then true else false - - - - - - - sort(Eligibility Table, precedes) - - - - - for row in Sorted Table return Format Row(row) - - - - - - - - - - - - - - - - - sum([Loan Info.Qualifying Monthly Payment, Property.Monthly Tax Payment, + + + + + + + sort(Eligibility Table, precedes) + + + + + for row in Sorted Table return Format Row(row) + + + + + + + + + + + + + + + + + sum([Loan Info.Qualifying Monthly Payment, Property.Monthly Tax Payment, Property.Monthly Insurance Payment, Property.Monthly HOA Condo Fee][item != null]) - - - - - - sum(Borrower.Liabilities[Type!="Real estate loan" and To be paid off + + + + + + sum(Borrower.Liabilities[Type!="Real estate loan" and To be paid off =false].Monthly payment) - - - - - - sum([Borrower.Employment Income, Borrower.Other Income][item != null]) - - - - - - decimal((Housing Expense+Non-Housing Debt Payments)/Income*100,2) - - - - - - sum(Borrower.Assets[Type="Checking Savings Brokerage account" + + + + + + sum([Borrower.Employment Income, Borrower.Other Income][item != null]) + + + + + + decimal((Housing Expense+Non-Housing Debt Payments)/Income*100,2) + + + + + + sum(Borrower.Assets[Type="Checking Savings Brokerage account" or Type="Other Liquid"].Value) - - - - - - sum(Borrower.Liabilities[Type!="Real estate loan" + + + + + + sum(Borrower.Liabilities[Type!="Real estate loan" and To be paid off=true].Balance[item!=null]) - - - - - - Liquid Assets Before Closing - Debts Paid Off By Closing - Loan Info.Cash to Close - - - - - - decimal(Liquid Assets After Closing/Housing Expense,2) - - - - - - - - - - - - - - - - - - - - - - - "java.lang.String" - - - - - - "format( java.lang.String, [Ljava.lang.Object; )" - - - - - - - - - - - - row.Product - - - - - - string format("$%,4.2f", row.Note Amount) - - - - - - string format(" %,4.2f", row.Interest Rate Pct) - - - - - - string format("$%,4.2f", row.Monthly Payment) - - - - - - string format("$%,4.2f", row.Cash to Close) - - - - - - row.Required Credit Score - - - - - - row.Recommendation - - - - - - - formatted row - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + Liquid Assets Before Closing - Debts Paid Off By Closing - Loan Info.Cash to Close + + + + + + decimal(Liquid Assets After Closing/Housing Expense,2) + + + + + + + + + + + + + + + + + + + + + + + "java.lang.String" + + + + + + "format( java.lang.String, [Ljava.lang.Object; )" + + + + + + + + + + + + row.Product + + + + + + string format("$%,4.2f", row.Note Amount) + + + + + + string format(" %,4.2f", row.Interest Rate Pct) + + + + + + string format("$%,4.2f", row.Monthly Payment) + + + + + + string format("$%,4.2f", row.Cash to Close) + + + + + + row.Required Credit Score + + + + + + row.Recommendation + + + + + + + formatted row + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Diagram Interchange/diagram-interchange-decision-service.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Diagram Interchange/diagram-interchange-decision-service.dmn index cadc86639a8..7832aea5176 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Diagram Interchange/diagram-interchange-decision-service.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Diagram Interchange/diagram-interchange-decision-service.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/" +> - + - + - + @@ -40,7 +42,7 @@ - + @@ -124,7 +126,7 @@ - + @@ -161,7 +163,7 @@ - + diff --git a/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Diagram Interchange/diagram-interchange-shape-with-label-text.dmn b/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Diagram Interchange/diagram-interchange-shape-with-label-text.dmn index 470c0b0d787..837d1e14e17 100644 --- a/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Diagram Interchange/diagram-interchange-shape-with-label-text.dmn +++ b/packages/dmn-marshaller/tests-data--manual/dmn-1_4--examples/Diagram Interchange/diagram-interchange-shape-with-label-text.dmn @@ -1,4 +1,4 @@ - + - - - + + + - - + + - + - + TextAnnotation-1 @@ -36,39 +55,51 @@ - + - + - - - + + + - - + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-marshaller/tests-data--manual/other/decisionAndInput.dmn b/packages/dmn-marshaller/tests-data--manual/other/decisionAndInput.dmn index bc11edd0a9f..5667edf5e8e 100644 --- a/packages/dmn-marshaller/tests-data--manual/other/decisionAndInput.dmn +++ b/packages/dmn-marshaller/tests-data--manual/other/decisionAndInput.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - "New Decision" - - - - - - - - 190 - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + "New Decision" + + + + + + + + 190 + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/other/decisionAndInputWithAddition.dmn b/packages/dmn-marshaller/tests-data--manual/other/decisionAndInputWithAddition.dmn index f89b3566444..598278202db 100644 --- a/packages/dmn-marshaller/tests-data--manual/other/decisionAndInputWithAddition.dmn +++ b/packages/dmn-marshaller/tests-data--manual/other/decisionAndInputWithAddition.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - "New Decision" - - - - - - - - - 190 - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + "New Decision" + + + + + + + + + 190 + + + + + + + + + + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/other/decisionAndInput_wrongSequenceOrder.dmn b/packages/dmn-marshaller/tests-data--manual/other/decisionAndInput_wrongSequenceOrder.dmn index beb2cdae15d..ebed623324b 100644 --- a/packages/dmn-marshaller/tests-data--manual/other/decisionAndInput_wrongSequenceOrder.dmn +++ b/packages/dmn-marshaller/tests-data--manual/other/decisionAndInput_wrongSequenceOrder.dmn @@ -1,4 +1,4 @@ - + - + xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/" + xmlns:kie="https://kie.org/dmn/extensions/1.0" +> - - + + - + - + targetElement="_1E49EEEB-9296-4AE5-B37C-2EE0044C0CC2" + > @@ -57,8 +72,7 @@ - + "New Decision" @@ -66,4 +80,4 @@ - \ No newline at end of file + diff --git a/packages/dmn-marshaller/tests-data--manual/other/empty13.dmn b/packages/dmn-marshaller/tests-data--manual/other/empty13.dmn index 1135961165c..a5b77d165a7 100644 --- a/packages/dmn-marshaller/tests-data--manual/other/empty13.dmn +++ b/packages/dmn-marshaller/tests-data--manual/other/empty13.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - \ No newline at end of file + + + + + + + + + + diff --git a/packages/dmn-marshaller/tests-data--manual/other/external.dmn b/packages/dmn-marshaller/tests-data--manual/other/external.dmn index e9ad5ff02ea..a4cb52799c4 100644 --- a/packages/dmn-marshaller/tests-data--manual/other/external.dmn +++ b/packages/dmn-marshaller/tests-data--manual/other/external.dmn @@ -1,4 +1,4 @@ - + - + diff --git a/packages/dmn-marshaller/tests-data--manual/other/list.dmn b/packages/dmn-marshaller/tests-data--manual/other/list.dmn index 7da8026d4de..8e72230186a 100644 --- a/packages/dmn-marshaller/tests-data--manual/other/list.dmn +++ b/packages/dmn-marshaller/tests-data--manual/other/list.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + A - + C @@ -71,15 +83,19 @@ - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-marshaller/tests-data--manual/other/list2.dmn b/packages/dmn-marshaller/tests-data--manual/other/list2.dmn index 91eab708ba7..58eed7ca4ae 100644 --- a/packages/dmn-marshaller/tests-data--manual/other/list2.dmn +++ b/packages/dmn-marshaller/tests-data--manual/other/list2.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + A - + C @@ -45,7 +57,7 @@ C - + D @@ -84,15 +96,19 @@ - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/dmn-marshaller/tests-data--manual/other/sample12.dmn b/packages/dmn-marshaller/tests-data--manual/other/sample12.dmn index 6cdce84e87a..99e8f7e669a 100644 --- a/packages/dmn-marshaller/tests-data--manual/other/sample12.dmn +++ b/packages/dmn-marshaller/tests-data--manual/other/sample12.dmn @@ -1,4 +1,4 @@ - + - - + + Product_Type @@ -163,12 +176,12 @@ - - + + - - + + 0.36 @@ -176,47 +189,48 @@ - - + + - + - + - + - + - + PITI - + - (Requested Product.Amount*((Requested Product.Rate/100)/12))/(1-(1/(1+(Requested Product.Rate/100)/12)**-Requested Product.Term)) + (Requested Product.Amount*((Requested Product.Rate/100)/12))/(1-(1/(1+(Requested Product.Rate/100)/12)**-Requested Product.Term)) - + Applicant Data.Monthly.Tax - + Applicant Data.Monthly.Insurance - + Applicant Data.Monthly.Income @@ -233,49 +247,49 @@ else "Insufficient" - - + + - - - - + + + + (pmt+tax+insurance)/income - - + + - - + + - + - + - + - + DTI - + Applicant Data.Monthly.Repayments + Applicant Data.Monthly.Expenses - + Applicant Data.Monthly.Income @@ -292,10 +306,10 @@ else "Insufficient" - - + + - + @@ -303,8 +317,8 @@ else "Insufficient" Credit Score.FICO - - + + >= 750 @@ -313,7 +327,7 @@ else "Insufficient" "Excellent" - + @@ -324,7 +338,7 @@ else "Insufficient" "Good" - + @@ -335,7 +349,7 @@ else "Insufficient" "Fair" - + @@ -346,7 +360,7 @@ else "Insufficient" "Poor" - + @@ -357,22 +371,26 @@ else "Insufficient" "Bad" - + - - + + - + - + - + @@ -390,9 +408,9 @@ else "Insufficient" Front End Ratio - - - + + + "Poor", "Bad" @@ -410,7 +428,7 @@ else "Insufficient" "Credit Score too low." - + @@ -430,7 +448,7 @@ else "Insufficient" "Debt to income ratio is too high." - + @@ -450,7 +468,7 @@ else "Insufficient" "Mortgage payment to income ratio is too high." - + @@ -470,7 +488,7 @@ else "Insufficient" "Debt to income ratio is too high AND mortgage payment to income ratio is too high." - + @@ -490,29 +508,29 @@ else "Insufficient" "The borrower has been successfully prequalified for the requested loan." - + - - + + - - + + - - + + d/i - - + + 0.28 @@ -540,7 +558,7 @@ else "Insufficient" 100 1110 - + 1110 @@ -573,7 +591,7 @@ else "Insufficient" 100 632 - + 632 @@ -614,148 +632,225 @@ else "Insufficient" - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/dmn-marshaller/tests-data--manual/other/weird.dmn b/packages/dmn-marshaller/tests-data--manual/other/weird.dmn index a30a2ffa48e..7e0af552ddf 100644 --- a/packages/dmn-marshaller/tests-data--manual/other/weird.dmn +++ b/packages/dmn-marshaller/tests-data--manual/other/weird.dmn @@ -1,4 +1,4 @@ - + - - - number - - - - - - - - 12 * Monthly Salary - - - - - + + + number + + + + + + + + 12 * Monthly Salary + + + + + diff --git a/packages/dmn-runner/jest.config.js b/packages/dmn-runner/jest.config.js deleted file mode 100644 index 4cb535a2841..00000000000 --- a/packages/dmn-runner/jest.config.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transformIgnorePatterns: [], - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, -}; diff --git a/packages/dmn-runner/package.json b/packages/dmn-runner/package.json index 55d4746728f..fb35b390812 100644 --- a/packages/dmn-runner/package.json +++ b/packages/dmn-runner/package.json @@ -20,9 +20,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools-core/react-hooks": "workspace:*", @@ -47,15 +46,11 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", "@types/json-schema": "^7.0.11", "@types/lodash": "^4.14.168", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/dmn-testing-models/package.json b/packages/dmn-testing-models/package.json index 8105ac9a720..99540911e69 100644 --- a/packages/dmn-testing-models/package.json +++ b/packages/dmn-testing-models/package.json @@ -39,4 +39,4 @@ "mvn" ] } -} \ No newline at end of file +} diff --git a/packages/dmn-testing-models/pom.xml b/packages/dmn-testing-models/pom.xml index 375bd3f7310..c54c2efa9c2 100644 --- a/packages/dmn-testing-models/pom.xml +++ b/packages/dmn-testing-models/pom.xml @@ -22,84 +22,82 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" > + + org.kie + kie-tools-maven-base + ${revision} + ./node_modules/@kie-tools/maven-base/pom.xml + - - org.kie - kie-tools-maven-base - ${revision} - ./node_modules/@kie-tools/maven-base/pom.xml - - - 4.0.0 - org.kie.tools - dmn-testing-models + 4.0.0 + org.kie.tools + dmn-testing-models - DMN Testing Models - Testing models for DMN marshaller + DMN Testing Models + Testing models for DMN marshaller - - - Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - + + + Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + - - 3.6.1 - - - - - - org.kie - kie-dmn-test-resources - ${version.org.kie.kogito} - tests - - - + + 3.6.1 + + - - org.kie - kie-dmn-test-resources - tests - + + org.kie + kie-dmn-test-resources + ${version.org.kie.kogito} + tests + + - - - - - org.apache.maven.plugins - maven-dependency-plugin - ${dependency-plugin.version} - - - unpack - generate-resources - - unpack - - - - - org.kie - kie-dmn-test-resources - ${version.org.kie.kogito} - tests - jar - true - ${project.basedir}/dist - valid_models/**/*.dmn - - - - - - - - + + + org.kie + kie-dmn-test-resources + tests + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + ${dependency-plugin.version} + + + unpack + generate-resources + + unpack + + + + + org.kie + kie-dmn-test-resources + ${version.org.kie.kogito} + tests + jar + true + ${project.basedir}/dist + valid_models/**/*.dmn + + + + + + + + diff --git a/packages/dmn-vscode-extension/package.json b/packages/dmn-vscode-extension/package.json index ef0e3695974..f0f13b79113 100644 --- a/packages/dmn-vscode-extension/package.json +++ b/packages/dmn-vscode-extension/package.json @@ -189,4 +189,4 @@ "supported": false } } -} \ No newline at end of file +} diff --git a/packages/dmn-vscode-extension/src/extension/extension.ts b/packages/dmn-vscode-extension/src/extension/extension.ts index e1d41e18389..d6cf46b97b5 100644 --- a/packages/dmn-vscode-extension/src/extension/extension.ts +++ b/packages/dmn-vscode-extension/src/extension/extension.ts @@ -72,6 +72,8 @@ export function activate(context: vscode.ExtensionContext) { backendProxy: backendProxy, }); + KogitoVsCode.VsCodeRecommendation.showExtendedServicesRecommendation(context); + console.info("Extension is successfully setup."); } diff --git a/packages/editor/jest.config.js b/packages/editor/jest.config.js index 6240ed76eb3..d29469878e2 100644 --- a/packages/editor/jest.config.js +++ b/packages/editor/jest.config.js @@ -17,22 +17,14 @@ * under the License. */ +const { config, jestSetupPath, styleMock } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, + ...config, + testEnvironment: "jsdom", moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", + ...styleMock, }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], + setupFilesAfterEnv: [jestSetupPath], }; diff --git a/packages/editor/package.json b/packages/editor/package.json index 58192f5e450..5242c02e443 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -47,25 +47,24 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", - "@testing-library/react-hooks": "^5.1.2", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@testing-library/jest-dom": "^6.4.6", + "@testing-library/react": "^12.1.5", + "@testing-library/react-hooks": "^8.0.1", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/minimatch": "^3.0.5", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", - "@types/testing-library__react-hooks": "^3.4.0", "copyfiles": "^2.4.1", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/editor/src/api/EditorEnvelopeLocator.ts b/packages/editor/src/api/EditorEnvelopeLocator.ts index f2e039e35c3..a73c647866e 100644 --- a/packages/editor/src/api/EditorEnvelopeLocator.ts +++ b/packages/editor/src/api/EditorEnvelopeLocator.ts @@ -66,7 +66,10 @@ export class EnvelopeMapping { } export class EditorEnvelopeLocator { - constructor(public readonly targetOrigin: string, public readonly envelopeMappings: EnvelopeMapping[]) {} + constructor( + public readonly targetOrigin: string, + public readonly envelopeMappings: EnvelopeMapping[] + ) {} public getEnvelopeMapping(path: string) { return this.envelopeMappings.find((mapping) => { diff --git a/packages/editor/src/api/EditorFactory.ts b/packages/editor/src/api/EditorFactory.ts index c29600c5e1f..e0528b27674 100644 --- a/packages/editor/src/api/EditorFactory.ts +++ b/packages/editor/src/api/EditorFactory.ts @@ -28,7 +28,7 @@ import { KogitoEditorChannelApi } from "./KogitoEditorChannelApi"; */ export interface EditorFactory< E extends Editor, - ChannelApi extends KogitoEditorChannelApi & ApiDefinition + ChannelApi extends KogitoEditorChannelApi & ApiDefinition, > { /** * Returns an Editor instance. diff --git a/packages/editor/src/api/KogitoEditorEnvelopeContext.ts b/packages/editor/src/api/KogitoEditorEnvelopeContext.ts index cd917e8b1ff..481486ff6d5 100644 --- a/packages/editor/src/api/KogitoEditorEnvelopeContext.ts +++ b/packages/editor/src/api/KogitoEditorEnvelopeContext.ts @@ -27,7 +27,7 @@ import { KeyboardShortcutsService } from "@kie-tools-core/keyboard-shortcuts/dis import { EditorTheme } from "./EditorTheme"; export interface KogitoEditorEnvelopeContextType< - ChannelApi extends KogitoEditorChannelApi & ApiDefinition + ChannelApi extends KogitoEditorChannelApi & ApiDefinition, > { channelApi: MessageBusClientApi; operatingSystem?: OperatingSystem; @@ -41,7 +41,7 @@ export interface KogitoEditorEnvelopeContextType< export const KogitoEditorEnvelopeContext = React.createContext>({} as any); export function useKogitoEditorEnvelopeContext< - ChannelApi extends KogitoEditorChannelApi & ApiDefinition = KogitoEditorChannelApi + ChannelApi extends KogitoEditorChannelApi & ApiDefinition = KogitoEditorChannelApi, >() { return useContext(KogitoEditorEnvelopeContext) as KogitoEditorEnvelopeContextType; } diff --git a/packages/editor/src/embedded/embedded/EmbeddedEditor.tsx b/packages/editor/src/embedded/embedded/EmbeddedEditor.tsx index 175fdc108e2..107218ce624 100644 --- a/packages/editor/src/embedded/embedded/EmbeddedEditor.tsx +++ b/packages/editor/src/embedded/embedded/EmbeddedEditor.tsx @@ -171,34 +171,30 @@ const RefForwardingEmbeddedEditor: React.ForwardRefRenderFunction { - if (!iframeRef.current) { - return undefined; - } - - return { - iframeRef, - isReady: props.isReady ?? isReady, - getStateControl: () => stateControl, - getEnvelopeServer: () => envelopeServer, - undo: () => Promise.resolve(envelopeServer.envelopeApi.notifications.kogitoEditor_editorUndo.send()), - redo: () => Promise.resolve(envelopeServer.envelopeApi.notifications.kogitoEditor_editorRedo.send()), - getContent: () => envelopeServer.envelopeApi.requests.kogitoEditor_contentRequest().then((c) => c.content), - getPreview: () => envelopeServer.envelopeApi.requests.kogitoEditor_previewRequest(), - setContent: (normalizedPosixPathRelativeToTheWorkspaceRoot, content) => - envelopeServer.envelopeApi.requests.kogitoEditor_contentChanged( - { normalizedPosixPathRelativeToTheWorkspaceRoot, content }, - { showLoadingOverlay: false } - ), - validate: () => envelopeServer.envelopeApi.requests.kogitoEditor_validate(), - setTheme: (theme) => Promise.resolve(envelopeServer.shared.kogitoEditor_theme.set(theme)), - onKeyDown: (ke: React.KeyboardEvent) => onKeyDown(envelopeServer, ke), - }; - }, - [props.isReady, isReady, stateControl, envelopeServer, onKeyDown] - ); + useImperativeHandle(forwardedRef, () => { + if (!iframeRef.current) { + return undefined; + } + + return { + iframeRef, + isReady: props.isReady ?? isReady, + getStateControl: () => stateControl, + getEnvelopeServer: () => envelopeServer, + undo: () => Promise.resolve(envelopeServer.envelopeApi.notifications.kogitoEditor_editorUndo.send()), + redo: () => Promise.resolve(envelopeServer.envelopeApi.notifications.kogitoEditor_editorRedo.send()), + getContent: () => envelopeServer.envelopeApi.requests.kogitoEditor_contentRequest().then((c) => c.content), + getPreview: () => envelopeServer.envelopeApi.requests.kogitoEditor_previewRequest(), + setContent: (normalizedPosixPathRelativeToTheWorkspaceRoot, content) => + envelopeServer.envelopeApi.requests.kogitoEditor_contentChanged( + { normalizedPosixPathRelativeToTheWorkspaceRoot, content }, + { showLoadingOverlay: false } + ), + validate: () => envelopeServer.envelopeApi.requests.kogitoEditor_validate(), + setTheme: (theme) => Promise.resolve(envelopeServer.shared.kogitoEditor_theme.set(theme)), + onKeyDown: (ke: React.KeyboardEvent) => onKeyDown(envelopeServer, ke), + }; + }, [props.isReady, isReady, stateControl, envelopeServer, onKeyDown]); return ( <> diff --git a/packages/editor/src/envelope/EditorEnvelopeView.tsx b/packages/editor/src/envelope/EditorEnvelopeView.tsx index 53f865ef285..2185e30966f 100644 --- a/packages/editor/src/envelope/EditorEnvelopeView.tsx +++ b/packages/editor/src/envelope/EditorEnvelopeView.tsx @@ -43,19 +43,15 @@ export const EditorEnvelopeViewRef: React.ForwardRefRenderFunction(undefined); const [loading, setLoading] = useState(true); - useImperativeHandle( - forwardingRef, - () => { - return { - getEditor: () => editor, - setEditor: (newEditor) => setEditor(newEditor), - setLoading: () => setLoading(true), - setLoadingFinished: () => setLoading(false), - setLocale: (locale) => props.setLocale(locale), - }; - }, - [props, editor] - ); + useImperativeHandle(forwardingRef, () => { + return { + getEditor: () => editor, + setEditor: (newEditor) => setEditor(newEditor), + setLoading: () => setLoading(true), + setLoadingFinished: () => setLoading(false), + setLocale: (locale) => props.setLocale(locale), + }; + }, [props, editor]); return ( <> diff --git a/packages/editor/src/envelope/KogitoEditorEnvelope.tsx b/packages/editor/src/envelope/KogitoEditorEnvelope.tsx index bf1a6c572ae..e14fcc0f680 100644 --- a/packages/editor/src/envelope/KogitoEditorEnvelope.tsx +++ b/packages/editor/src/envelope/KogitoEditorEnvelope.tsx @@ -38,7 +38,7 @@ import { KeyboardShortcutsService } from "@kie-tools-core/keyboard-shortcuts/dis export class KogitoEditorEnvelope< E extends Editor, EnvelopeApi extends KogitoEditorEnvelopeApi & ApiDefinition, - ChannelApi extends KogitoEditorChannelApi & ApiDefinition + ChannelApi extends KogitoEditorChannelApi & ApiDefinition, > { constructor( private readonly kogitoEditorEnvelopeApiFactory: EnvelopeApiFactory< diff --git a/packages/editor/src/envelope/KogitoEditorEnvelopeApiImpl.ts b/packages/editor/src/envelope/KogitoEditorEnvelopeApiImpl.ts index c45c374f1d0..b0a69f981e6 100644 --- a/packages/editor/src/envelope/KogitoEditorEnvelopeApiImpl.ts +++ b/packages/editor/src/envelope/KogitoEditorEnvelopeApiImpl.ts @@ -40,7 +40,7 @@ import { ApiDefinition } from "@kie-tools-core/envelope-bus/dist/api"; export class KogitoEditorEnvelopeApiImpl< E extends Editor, EnvelopeApi extends KogitoEditorEnvelopeApi & ApiDefinition = KogitoEditorEnvelopeApi, - ChannelApi extends KogitoEditorChannelApi & ApiDefinition = KogitoEditorChannelApi + ChannelApi extends KogitoEditorChannelApi & ApiDefinition = KogitoEditorChannelApi, > implements KogitoEditorEnvelopeApi { protected view: () => EditorEnvelopeViewApi; diff --git a/packages/editor/src/envelope/index.ts b/packages/editor/src/envelope/index.ts index 8c11dc1eec5..728af9b5fd3 100644 --- a/packages/editor/src/envelope/index.ts +++ b/packages/editor/src/envelope/index.ts @@ -61,7 +61,7 @@ export function init(args: { export function initCustom< E extends Editor, EnvelopeApi extends KogitoEditorEnvelopeApi & ApiDefinition, - ChannelApi extends KogitoEditorChannelApi & ApiDefinition + ChannelApi extends KogitoEditorChannelApi & ApiDefinition, >(args: { container: HTMLElement; bus: EnvelopeBus; diff --git a/packages/editor/tests/embedded/embedded/EmbeddedEditor.test.tsx b/packages/editor/tests/embedded/embedded/EmbeddedEditor.test.tsx index 6c5bb420e8a..bdde62b6975 100644 --- a/packages/editor/tests/embedded/embedded/EmbeddedEditor.test.tsx +++ b/packages/editor/tests/embedded/embedded/EmbeddedEditor.test.tsx @@ -92,7 +92,7 @@ describe("EmbeddedEditor::ONLINE", () => { editorRef.current?.setContent("test-path-relative-to-the-workspace-root", "content"); - expect(spyOnContentChangedNotification).toBeCalledWith( + expect(spyOnContentChangedNotification).toHaveBeenCalledWith( { content: "content", normalizedPosixPathRelativeToTheWorkspaceRoot: "test-path-relative-to-the-workspace-root" }, { showLoadingOverlay: false } ); @@ -115,7 +115,7 @@ describe("EmbeddedEditor::ONLINE", () => { ); editorRef.current?.getContent(); - expect(spyRequest_contentResponse).toBeCalled(); + expect(spyRequest_contentResponse).toHaveBeenCalled(); }); test("EmbeddedEditor::requestPreview", () => { @@ -135,7 +135,7 @@ describe("EmbeddedEditor::ONLINE", () => { ); editorRef.current?.getPreview(); - expect(spyRequest_previewResponse).toBeCalled(); + expect(spyRequest_previewResponse).toHaveBeenCalled(); }); test("EmbeddedEditor::onSetContentError", async () => { @@ -159,7 +159,7 @@ describe("EmbeddedEditor::ONLINE", () => { data: [], }); - expect(onSetContentError).toBeCalled(); + expect(onSetContentError).toHaveBeenCalled(); expect(container.firstChild).toMatchSnapshot(); }); @@ -184,7 +184,7 @@ describe("EmbeddedEditor::ONLINE", () => { data: [], }); - expect(onReady).toBeCalled(); + expect(onReady).toHaveBeenCalled(); expect(container.firstChild).toMatchSnapshot(); }); @@ -210,7 +210,7 @@ describe("EmbeddedEditor::ONLINE", () => { data: [{ normalizedPosixPathRelativeToTheWorkspaceRoot: "" } as ResourceContent], }); - expect(onResourceContentRequest).toBeCalled(); + expect(onResourceContentRequest).toHaveBeenCalled(); expect(container.firstChild).toMatchSnapshot(); }); @@ -236,7 +236,7 @@ describe("EmbeddedEditor::ONLINE", () => { data: [{ pattern: "", normalizedPosixPathsRelativeToTheWorkspaceRoot: [] } as ResourcesList], }); - expect(onResourceListRequest).toBeCalled(); + expect(onResourceListRequest).toHaveBeenCalled(); expect(container.firstChild).toMatchSnapshot(); }); @@ -262,7 +262,7 @@ describe("EmbeddedEditor::ONLINE", () => { }); expect(editorRef.current?.getStateControl().getCommandStack()).toEqual([{ id: "1" }]); - expect(onNewEdit).toBeCalled(); + expect(onNewEdit).toHaveBeenCalled(); expect(container.firstChild).toMatchSnapshot(); }); }); diff --git a/packages/editor/tests/embedded/embedded/EmbeddedViewer.test.tsx b/packages/editor/tests/embedded/embedded/EmbeddedViewer.test.tsx index e861bd49c3b..c6c14d0e873 100644 --- a/packages/editor/tests/embedded/embedded/EmbeddedViewer.test.tsx +++ b/packages/editor/tests/embedded/embedded/EmbeddedViewer.test.tsx @@ -94,7 +94,7 @@ describe("EmbeddedViewer::ONLINE", () => { data: [{ path: "" }], }); - expect(onResourceContentRequest).toBeCalled(); + expect(onResourceContentRequest).toHaveBeenCalled(); expect(container.firstChild).toMatchSnapshot(); }); @@ -119,7 +119,7 @@ describe("EmbeddedViewer::ONLINE", () => { data: [{ pattern: "", paths: [] }], }); - expect(onResourceListRequest).toBeCalled(); + expect(onResourceListRequest).toHaveBeenCalled(); expect(container.firstChild).toMatchSnapshot(); }); }); diff --git a/packages/editor/tests/embedded/stateControl/Hooks.test.ts b/packages/editor/tests/embedded/stateControl/Hooks.test.ts index 94307058a66..372669f81e8 100644 --- a/packages/editor/tests/embedded/stateControl/Hooks.test.ts +++ b/packages/editor/tests/embedded/stateControl/Hooks.test.ts @@ -32,7 +32,7 @@ describe("useDirtyState", () => { iframeRef: React.createRef(), isReady: true, getStateControl: () => stateControl, - getEnvelopeServer: () => ({} as any), + getEnvelopeServer: () => ({}) as any, undo: jest.fn(), redo: jest.fn(), getContent: jest.fn(), diff --git a/packages/editor/tsconfig.json b/packages/editor/tsconfig.json index 3855f0f523c..f9286f63878 100644 --- a/packages/editor/tsconfig.json +++ b/packages/editor/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "@kie-tools/tsconfig/tsconfig.json", "compilerOptions": { - "outDir": "dist" + "outDir": "dist", + "types": ["@testing-library/jest-dom"] }, "include": ["src"] } diff --git a/packages/envelope-bus/jest.config.js b/packages/envelope-bus/jest.config.js index 1f92703d294..c39f95c1aeb 100644 --- a/packages/envelope-bus/jest.config.js +++ b/packages/envelope-bus/jest.config.js @@ -17,21 +17,16 @@ * under the License. */ +const { config, babelTransform, styleMock } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.tests.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", + ...config, + testEnvironment: "jsdom", transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", + ...babelTransform, }, moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", + ...styleMock, }, }; diff --git a/packages/envelope-bus/package.json b/packages/envelope-bus/package.json index 069e140ea5a..39987748d7d 100644 --- a/packages/envelope-bus/package.json +++ b/packages/envelope-bus/package.json @@ -33,16 +33,18 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/react": "^17.0.6", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/envelope-bus/src/api/index.ts b/packages/envelope-bus/src/api/index.ts index 7b885fdc503..7042e35ba41 100644 --- a/packages/envelope-bus/src/api/index.ts +++ b/packages/envelope-bus/src/api/index.ts @@ -19,7 +19,7 @@ export type NotificationCallback< ApiToConsume extends ApiDefinition, - M extends NotificationPropertyNames + M extends NotificationPropertyNames, > = (...args: ArgsType) => void; export type SharedValueProviderPropertyNames> = { @@ -96,7 +96,7 @@ export interface MessageBusClientApi> { export interface MessageBusServer< ApiToProvide extends ApiDefinition, - ApiToConsume extends ApiDefinition + ApiToConsume extends ApiDefinition, > { receive( message: EnvelopeBusMessage | FunctionPropertyNames>, diff --git a/packages/envelope-bus/src/channel/EnvelopeServer.ts b/packages/envelope-bus/src/channel/EnvelopeServer.ts index e82eeebb50b..5fcff6fa767 100644 --- a/packages/envelope-bus/src/channel/EnvelopeServer.ts +++ b/packages/envelope-bus/src/channel/EnvelopeServer.ts @@ -34,7 +34,7 @@ export enum EnvelopeServerType { export class EnvelopeServer< ApiToProvide extends ApiDefinition, - ApiToConsume extends ApiDefinition + ApiToConsume extends ApiDefinition, > { public static INIT_POLLING_TIMEOUT_IN_MS = 60000; public static INIT_POLLING_INTERVAL_IN_MS = 100; diff --git a/packages/envelope-bus/src/common/EnvelopeBusMessageManager.ts b/packages/envelope-bus/src/common/EnvelopeBusMessageManager.ts index 6501c80549b..96504b45b68 100644 --- a/packages/envelope-bus/src/common/EnvelopeBusMessageManager.ts +++ b/packages/envelope-bus/src/common/EnvelopeBusMessageManager.ts @@ -43,7 +43,7 @@ interface StoredPromise { export class EnvelopeBusMessageManager< ApiToProvide extends ApiDefinition, - ApiToConsume extends ApiDefinition + ApiToConsume extends ApiDefinition, > { private readonly requestHandlers = new Map(); @@ -124,7 +124,7 @@ export class EnvelopeBusMessageManager< } private setSharedValue< - M extends SharedValueProviderPropertyNames | SharedValueProviderPropertyNames + M extends SharedValueProviderPropertyNames | SharedValueProviderPropertyNames, >(method: M, value: any) { this.localSharedValuesStore.set(method, value); this.localSharedValueSubscriptions.get(method)?.forEach((callback) => callback(value)); @@ -136,7 +136,7 @@ export class EnvelopeBusMessageManager< } private subscribeToSharedValue< - M extends SharedValueProviderPropertyNames | SharedValueProviderPropertyNames + M extends SharedValueProviderPropertyNames | SharedValueProviderPropertyNames, >(method: M, callback: Func, config: { owned: boolean }) { const activeSubscriptions = this.localSharedValueSubscriptions.get(method) ?? []; this.localSharedValueSubscriptions.set(method, [...activeSubscriptions, callback]); @@ -153,7 +153,7 @@ export class EnvelopeBusMessageManager< } private unsubscribeFromSharedValue< - M extends SharedValueProviderPropertyNames | SharedValueProviderPropertyNames + M extends SharedValueProviderPropertyNames | SharedValueProviderPropertyNames, >(name: M, callback: any) { const activeSubscriptions = this.localSharedValueSubscriptions.get(name); if (!activeSubscriptions) { @@ -169,7 +169,7 @@ export class EnvelopeBusMessageManager< } private getCurrentStoredSharedValueOrDefault< - M extends SharedValueProviderPropertyNames | SharedValueProviderPropertyNames + M extends SharedValueProviderPropertyNames | SharedValueProviderPropertyNames, >(method: M, apiImpl?: ApiToProvide) { const m = method as SharedValueProviderPropertyNames; return ( diff --git a/packages/envelope-bus/src/envelope/EnvelopeClient.ts b/packages/envelope-bus/src/envelope/EnvelopeClient.ts index 4222bc6a2d7..e25baf6f25d 100644 --- a/packages/envelope-bus/src/envelope/EnvelopeClient.ts +++ b/packages/envelope-bus/src/envelope/EnvelopeClient.ts @@ -29,7 +29,7 @@ import { EnvelopeBusMessageManager } from "../common"; export class EnvelopeClient< ApiToProvide extends ApiDefinition, - ApiToConsume extends ApiDefinition + ApiToConsume extends ApiDefinition, > { public targetOrigin?: string; public associatedEnvelopeServerId?: string; @@ -40,7 +40,10 @@ export class EnvelopeClient< return this.manager.clientApi; } - constructor(private readonly bus: EnvelopeBus, private readonly envelopeId?: string) { + constructor( + private readonly bus: EnvelopeBus, + private readonly envelopeId?: string + ) { this.manager = new EnvelopeBusMessageManager((message) => this.send(message), "KogitoEnvelopeBus"); } diff --git a/packages/envelope-bus/tests/channel/EnvelopeServer.test.ts b/packages/envelope-bus/tests/channel/EnvelopeServer.test.ts index ba3bb8de182..aed45dc9525 100644 --- a/packages/envelope-bus/tests/channel/EnvelopeServer.test.ts +++ b/packages/envelope-bus/tests/channel/EnvelopeServer.test.ts @@ -142,7 +142,7 @@ describe("receive", () => { apiImpl ); - expect(receive).not.toBeCalled(); + expect(receive).not.toHaveBeenCalled(); }); test("any request with targetEnvelopeId", () => { @@ -160,7 +160,7 @@ describe("receive", () => { apiImpl ); - expect(receive).not.toBeCalled(); + expect(receive).not.toHaveBeenCalled(); }); test("any request with the same targetEnvelopeServerId", async () => { @@ -179,7 +179,7 @@ describe("receive", () => { await delay(0); expect(sentMessages.length).toStrictEqual(1); - expect(apiImpl.someRequest).toBeCalledWith("param1"); + expect(apiImpl.someRequest).toHaveBeenCalledWith("param1"); }); test("any notification with different targetEnvelopeServerId", () => { @@ -194,7 +194,7 @@ describe("receive", () => { apiImpl ); - expect(apiImpl.setText).not.toBeCalled(); + expect(apiImpl.setText).not.toHaveBeenCalled(); }); test("any notification with the same targetEnvelopeServerId", () => { @@ -209,7 +209,7 @@ describe("receive", () => { apiImpl ); - expect(apiImpl.setText).toBeCalledWith("some text"); + expect(apiImpl.setText).toHaveBeenCalledWith("some text"); }); test("any request from another EnvelopeServer", async () => { diff --git a/packages/envelope-bus/tests/common/EnvelopeBusMessageManager.test.ts b/packages/envelope-bus/tests/common/EnvelopeBusMessageManager.test.ts index 56c10533949..4249fbc26ab 100644 --- a/packages/envelope-bus/tests/common/EnvelopeBusMessageManager.test.ts +++ b/packages/envelope-bus/tests/common/EnvelopeBusMessageManager.test.ts @@ -386,7 +386,7 @@ describe("receive", () => { }, apiImpl ); - }).toThrowError(); + }).toThrow(); }); test("response with no corresponding request", () => { @@ -400,7 +400,7 @@ describe("receive", () => { }, apiImpl ); - }).toThrowError(); + }).toThrow(); }); test("simple notification", () => { diff --git a/packages/envelope-bus/tests/envelope/EnvelopeClient.test.ts b/packages/envelope-bus/tests/envelope/EnvelopeClient.test.ts index 62905b30ebe..21a9f784ef1 100644 --- a/packages/envelope-bus/tests/envelope/EnvelopeClient.test.ts +++ b/packages/envelope-bus/tests/envelope/EnvelopeClient.test.ts @@ -82,7 +82,7 @@ describe("event listening", () => { }); test("activates when requested", async () => { - spyOn(envelopeClient, "receive"); + jest.spyOn(envelopeClient, "receive"); envelopeClient.startListening(apiImpl); await incomingMessage("a-message"); @@ -90,7 +90,7 @@ describe("event listening", () => { }); test("deactivates when requested", async () => { - spyOn(envelopeClient, "receive"); + jest.spyOn(envelopeClient, "receive"); envelopeClient.startListening(apiImpl); envelopeClient.stopListening(); @@ -99,7 +99,7 @@ describe("event listening", () => { }); test("activation is idempotent", async () => { - spyOn(envelopeClient, "receive"); + jest.spyOn(envelopeClient, "receive"); envelopeClient.startListening(apiImpl); envelopeClient.startListening(apiImpl); @@ -108,7 +108,7 @@ describe("event listening", () => { }); test("deactivation is idempotent", async () => { - spyOn(envelopeClient, "receive"); + jest.spyOn(envelopeClient, "receive"); envelopeClient.startListening(apiImpl); envelopeClient.stopListening(); envelopeClient.stopListening(); @@ -118,7 +118,7 @@ describe("event listening", () => { }); test("deactivation does not fail when not started", async () => { - spyOn(envelopeClient, "receive"); + jest.spyOn(envelopeClient, "receive"); envelopeClient.stopListening(); await incomingMessage("a-message"); diff --git a/packages/envelope/jest.config.js b/packages/envelope/jest.config.js deleted file mode 100644 index 5927d9bb888..00000000000 --- a/packages/envelope/jest.config.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, -}; diff --git a/packages/envelope/package.json b/packages/envelope/package.json index 2f149195e3a..c3fe69fd4cc 100644 --- a/packages/envelope/package.json +++ b/packages/envelope/package.json @@ -20,9 +20,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools-core/envelope-bus": "workspace:*", @@ -37,15 +36,9 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/envelope/src/Envelope.ts b/packages/envelope/src/Envelope.ts index 179dd5b5a44..b27d0fe572b 100644 --- a/packages/envelope/src/Envelope.ts +++ b/packages/envelope/src/Envelope.ts @@ -35,7 +35,7 @@ export class Envelope< ApiToProvide extends ApiDefinition, ApiToConsume extends ApiDefinition, ViewType, - ContextType + ContextType, > { constructor( bus: EnvelopeBus, diff --git a/packages/envelope/src/EnvelopeApiFactory.ts b/packages/envelope/src/EnvelopeApiFactory.ts index 9496f4c520c..91d84801cd2 100644 --- a/packages/envelope/src/EnvelopeApiFactory.ts +++ b/packages/envelope/src/EnvelopeApiFactory.ts @@ -24,7 +24,7 @@ export interface EnvelopeApiFactoryArgs< ApiToProvide extends ApiDefinition, ApiToConsume extends ApiDefinition, ViewType, - ContextType + ContextType, > { viewDelegate: () => Promise<() => ViewType>; envelopeContext: ContextType; @@ -35,7 +35,7 @@ export interface EnvelopeApiFactory< ApiToProvide extends ApiDefinition, ApiToConsume extends ApiDefinition, ViewType, - ContextType + ContextType, > { create(args: EnvelopeApiFactoryArgs): ApiToProvide; } diff --git a/packages/envelope/src/embedded/EmbeddedEnvelopeFactory.tsx b/packages/envelope/src/embedded/EmbeddedEnvelopeFactory.tsx index 74860841141..28693ad8ee2 100644 --- a/packages/envelope/src/embedded/EmbeddedEnvelopeFactory.tsx +++ b/packages/envelope/src/embedded/EmbeddedEnvelopeFactory.tsx @@ -49,7 +49,7 @@ export interface EnvelopeIFrameConfig { export interface EmbeddedEnvelopeProps< ApiToProvide extends ApiDefinition, ApiToConsume extends ApiDefinition, - Ref + Ref, > { refDelegate: (envelopeServer: EnvelopeServer) => Ref; apiImpl: ApiToProvide; @@ -64,7 +64,7 @@ export interface EmbeddedEnvelopeProps< export function RefForwardingEmbeddedEnvelope< ApiToProvide extends ApiDefinition, ApiToConsume extends ApiDefinition, - Ref + Ref, >(props: EmbeddedEnvelopeProps, forwardRef: React.RefObject) { const iframeRef = useRef(null); const divRef = useRef(null); @@ -96,13 +96,9 @@ export function RefForwardingEmbeddedEnvelope< [bus, props.origin, props.pollInit, props.config.containerType] ); - useImperativeHandle( - forwardRef, - () => { - return props.refDelegate(envelopeServer); - }, - [envelopeServer, props.refDelegate] - ); + useImperativeHandle(forwardRef, () => { + return props.refDelegate(envelopeServer); + }, [envelopeServer, props.refDelegate]); useConnectedEnvelopeServer(envelopeServer, props.apiImpl); diff --git a/packages/eslint/package.json b/packages/eslint/package.json index 41e1196baff..6cc4d778aef 100644 --- a/packages/eslint/package.json +++ b/packages/eslint/package.json @@ -15,4 +15,4 @@ "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0" } -} \ No newline at end of file +} diff --git a/packages/extended-services-api/jest.config.js b/packages/extended-services-api/jest.config.js deleted file mode 100644 index 5927d9bb888..00000000000 --- a/packages/extended-services-api/jest.config.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, -}; diff --git a/packages/extended-services-api/package.json b/packages/extended-services-api/package.json index faf2fcd1be6..67fd054d4d7 100644 --- a/packages/extended-services-api/package.json +++ b/packages/extended-services-api/package.json @@ -19,9 +19,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools-core/notifications": "workspace:*" @@ -32,13 +31,7 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/extended-services-java/package.json b/packages/extended-services-java/package.json index 8b4424c8a59..eb924c5c1b2 100644 --- a/packages/extended-services-java/package.json +++ b/packages/extended-services-java/package.json @@ -4,6 +4,7 @@ "version": "0.0.0", "description": "", "license": "Apache-2.0", + "keywords": [], "homepage": "https://github.com/apache/incubator-kie-tools", "repository": { "type": "git", @@ -20,8 +21,8 @@ "build:dev:linux:darwin": "mvn clean install -DskipTests -DskipITs && pnpm dist", "build:dev:win32": "pnpm powershell \"mvn clean install `-DskipTests `-DskipITs\" && pnpm dist", "build:prod": "run-script-os", - "build:prod:linux:darwin": "mvn clean install -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures) -DskipITs=$(build-env endToEndTests.run --not) && pnpm dist", - "build:prod:win32": "pnpm powershell \"mvn clean install `-DskipTests=$(build-env tests.run --not) `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures) `-DskipITs=$(build-env endToEndTests.run --not)\" && pnpm dist", + "build:prod:linux:darwin": "mvn clean install -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures) -DskipITs=$(build-env endToEndTests.run --not) -Dreproducible && pnpm dist", + "build:prod:win32": "pnpm powershell \"mvn clean install `-DskipTests=$(build-env tests.run --not) `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures) `-DskipITs=$(build-env endToEndTests.run --not) `-Dreproducible\" && pnpm dist", "copy:app": "run-script-os", "copy:app:linux:darwin": "copyfiles -u 1 \"target/quarkus-app/**/*\" dist/", "copy:app:win32": "copyfiles -u 1 \"target/quarkus-app/**\" dist/", @@ -49,4 +50,4 @@ "mvn" ] } -} \ No newline at end of file +} diff --git a/packages/extended-services-java/pom.xml b/packages/extended-services-java/pom.xml index 4baa7df37bf..7eb6467d1da 100644 --- a/packages/extended-services-java/pom.xml +++ b/packages/extended-services-java/pom.xml @@ -45,6 +45,7 @@ + 2024-01-12T00:00:00Z org.kie.tools.extended-services @@ -74,11 +75,11 @@ - src/main/resources - true - - **/*.properties - + src/main/resources + true + + **/*.properties + @@ -132,5 +133,4 @@ - diff --git a/packages/extended-services-vscode-extension/.vscode/launch.json b/packages/extended-services-vscode-extension/.vscode/launch.json new file mode 100644 index 00000000000..a52320823cc --- /dev/null +++ b/packages/extended-services-vscode-extension/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Run Extension", + "type": "extensionHost", + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": ["--extensionDevelopmentPath=${workspaceRoot}"], + "outFiles": ["${workspaceRoot}/dist/**/*.js"], + "preLaunchTask": "npm: watch" + }, + { + "name": "Run Extension (web)", + "type": "extensionHost", + "debugWebWorkerHost": true, + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": ["--extensionDevelopmentPath=${workspaceRoot}", "--extensionDevelopmentKind=web"], + "outFiles": ["${workspaceRoot}/dist/**/*.js"], + "preLaunchTask": "npm: watch" + } + ] +} diff --git a/packages/extended-services-vscode-extension/.vscode/settings.json b/packages/extended-services-vscode-extension/.vscode/settings.json new file mode 100644 index 00000000000..0d55a3308e5 --- /dev/null +++ b/packages/extended-services-vscode-extension/.vscode/settings.json @@ -0,0 +1,9 @@ +{ + "files.exclude": { + "out": false + }, + "search.exclude": { + "out": true + }, + "typescript.tsc.autoDetect": "off" +} diff --git a/packages/extended-services-vscode-extension/.vscode/tasks.json b/packages/extended-services-vscode-extension/.vscode/tasks.json new file mode 100644 index 00000000000..34edf970fde --- /dev/null +++ b/packages/extended-services-vscode-extension/.vscode/tasks.json @@ -0,0 +1,18 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "watch", + "problemMatcher": "$tsc-watch", + "isBackground": true, + "presentation": { + "reveal": "never" + }, + "group": { + "kind": "build", + "isDefault": true + } + } + ] +} diff --git a/packages/extended-services-vscode-extension/LICENSE b/packages/extended-services-vscode-extension/LICENSE new file mode 100644 index 00000000000..261eeb9e9f8 --- /dev/null +++ b/packages/extended-services-vscode-extension/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/extended-services-vscode-extension/env/index.js b/packages/extended-services-vscode-extension/env/index.js new file mode 100644 index 00000000000..61bc742bd66 --- /dev/null +++ b/packages/extended-services-vscode-extension/env/index.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); + +module.exports = composeEnv([require("@kie-tools/root-env/env")], { + vars: varsWithName({}), + get env() { + return {}; + }, +}); diff --git a/packages/extended-services-vscode-extension/icon.png b/packages/extended-services-vscode-extension/icon.png new file mode 100644 index 00000000000..07950c876dd Binary files /dev/null and b/packages/extended-services-vscode-extension/icon.png differ diff --git a/packages/xml-parser-ts-codegen/jest.config.js b/packages/extended-services-vscode-extension/jest.config.js similarity index 97% rename from packages/xml-parser-ts-codegen/jest.config.js rename to packages/extended-services-vscode-extension/jest.config.js index 995eed8f0e8..d2561921988 100644 --- a/packages/xml-parser-ts-codegen/jest.config.js +++ b/packages/extended-services-vscode-extension/jest.config.js @@ -31,4 +31,5 @@ module.exports = { "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], "^.+\\.tsx?$": "ts-jest", }, + setupFiles: ["./setupTests.ts"], }; diff --git a/packages/extended-services-vscode-extension/package.json b/packages/extended-services-vscode-extension/package.json new file mode 100644 index 00000000000..e7500e4ed6e --- /dev/null +++ b/packages/extended-services-vscode-extension/package.json @@ -0,0 +1,171 @@ +{ + "name": "extended-services-vscode-extension", + "version": "0.0.0", + "description": "Enhance KIE DMN and BPMN editors capabilities", + "license": "Apache-2.0", + "publisher": "kie-group", + "keywords": [], + "homepage": "https://github.com/kiegroup/kie-tools", + "repository": { + "type": "git", + "url": "https://github.com/kiegroup/kie-tools.git" + }, + "bugs": { + "url": "https://github.com/kiegroup/kie-tools/issues" + }, + "browser": "dist/extension/extension-browser.js", + "main": "dist/extension/extension-main.js", + "scripts": { + "build:dev": "pnpm dist && webpack --env dev", + "build:prod": "pnpm dist && webpack && pnpm pack:prod", + "compile": "webpack", + "copy:extended-services-java": "cp -R ../extended-services-java/dist/extended-services-java ./dist/extended-services-java", + "dist": "rimraf dist && mkdir dist && pnpm copy:extended-services-java", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", + "open-in-browser": "vscode-test-web --extensionDevelopmentPath=. .", + "pack:prod": "vsce package --githubBranch main --no-dependencies -o ./dist/extended_services_vscode_extension_$npm_package_version.vsix", + "run:webmode": "pnpm vscode-test-web --browserType=chromium --extensionDevelopmentPath=. --version=stable", + "watch": "webpack" + }, + "dependencies": { + "@kie-tools-core/vscode-extension": "workspace:*" + }, + "devDependencies": { + "@babel/core": "^7.16.0", + "@babel/preset-env": "^7.16.0", + "@babel/preset-react": "^7.16.0", + "@kie-tools-core/webpack-base": "workspace:*", + "@kie-tools/eslint": "workspace:*", + "@kie-tools/extended-services-java": "workspace:*", + "@kie-tools/root-env": "workspace:*", + "@kie-tools/tsconfig": "workspace:*", + "@types/vscode": "1.67.0", + "@vscode/test-web": "^0.0.30", + "@vscode/vsce": "^2.22.0", + "copy-webpack-plugin": "^11.0.0", + "node-fetch": "^3.3.1", + "rimraf": "^3.0.2", + "webpack": "^5.88.2", + "webpack-cli": "^4.10.0", + "webpack-dev-server": "^4.15.1", + "webpack-merge": "^5.9.0" + }, + "engines": { + "vscode": "^1.67.0" + }, + "displayName": "Apache KIE Extended Services", + "categories": [ + "Other" + ], + "contributes": { + "commands": [ + { + "category": "Extended-Services", + "command": "extended-services-vscode-extension.startExtendedServices", + "title": "Connect Apache KIE Extended-Services", + "when": "extended-services-vscode-extension.connected" + }, + { + "category": "Extended-Services", + "command": "extended-services-vscode-extension.stopExtendedServices", + "title": "Disconnect Apache KIE Extended-Services" + } + ], + "configuration": { + "properties": { + "extendedServices.connectionHeartbeatIntervalinSecs": { + "default": 1, + "description": "Specifies the interval (in seconds) between each connection check.", + "format": "time", + "order": 2, + "type": "integer" + }, + "extendedServices.enableAutorun": { + "default": true, + "description": "Automatically run a local instance of the service.", + "order": 0, + "type": "boolean" + }, + "extendedServices.extendedServicesURL": { + "default": "http://localhost:21345", + "description": "Specifies the Exnteded Services URL.", + "format": "uri", + "order": 1, + "type": "string" + } + }, + "title": "Apache KIE Extended Services" + }, + "icons": { + "extended-services-connected": { + "default": { + "fontCharacter": "\\E000", + "fontPath": "./static/extended-services-font.woff" + }, + "description": "Connected to the Apache KIE Extended-Services" + }, + "extended-services-disconnected": { + "default": { + "fontCharacter": "\\E001", + "fontPath": "./static/extended-services-font.woff" + }, + "description": "Apache KIE Extended-Services are Disconnected" + } + }, + "languages": [ + { + "aliases": [ + "bpmn", + "bpmn2", + "BPMN", + "BPMN2", + "Business Process Model and Notation" + ], + "extensions": [ + ".bpmn", + ".bpmn2", + ".BPMN", + ".BPMN2" + ], + "id": "bpmn" + }, + { + "aliases": [ + "dmn", + "DMN", + "Decision Model and Notation" + ], + "extensions": [ + ".dmn", + ".DMN" + ], + "id": "dmn" + } + ], + "menus": { + "commandPalette": [ + { + "command": "extended-services-vscode-extension.startExtendedServices", + "when": "!extended-services-vscode-extension.connected" + }, + { + "command": "extended-services-vscode-extension.stopExtendedServices", + "when": "extended-services-vscode-extension.connected" + } + ] + } + }, + "activationEvents": [ + "onLanguage:bpmn", + "onLanguage:dmn", + "onCustomEditor:kieKogitoWebviewEditorsBpmn", + "onCustomEditor:kieKogitoWebviewEditorsDmn", + "onCustomEditor:kieToolsDmnEditor" + ], + "icon": "icon.png", + "capabilities": { + "untrustedWorkspaces": { + "supported": false + } + } +} diff --git a/packages/vscode-extension/setupTests.ts b/packages/extended-services-vscode-extension/setupTests.ts similarity index 100% rename from packages/vscode-extension/setupTests.ts rename to packages/extended-services-vscode-extension/setupTests.ts diff --git a/packages/extended-services-vscode-extension/src/Connection.ts b/packages/extended-services-vscode-extension/src/Connection.ts new file mode 100644 index 00000000000..0984a04f05c --- /dev/null +++ b/packages/extended-services-vscode-extension/src/Connection.ts @@ -0,0 +1,100 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { ping } from "./requests/PingRequest"; +import { PingResponse } from "./requests/PingResponse"; + +export class Connection { + private connectedHandler: (() => void) | null = null; + private connectionLostHandler: ((errorMessage: string) => void) | null = null; + private disconnectedHandler: (() => void) | null = null; + + private timeout: NodeJS.Timeout | null = null; + private connected: boolean = false; + + public async start(extendedServicesURL: URL, connectionHeartbeatIntervalinSecs: number): Promise { + this.timeout = setInterval(async () => { + this.performHeartbeatCheck(extendedServicesURL); + }, connectionHeartbeatIntervalinSecs * 1000); + } + + public stop(): void { + if (this.timeout) { + this.fireDisconnectedEvent(); + clearInterval(this.timeout); + this.timeout = null; + this.connected = false; + } + } + + private async performHeartbeatCheck(extendedServicesURL: URL): Promise { + try { + const pingResponse: PingResponse = await ping(extendedServicesURL); + if (pingResponse.started && !this.connected) { + this.fireConnectedEvent(); + this.connected = true; + } + } catch (error) { + this.fireConnectionLost(error.message); + } + } + + private fireConnectedEvent() { + this.connectedHandler?.(); + } + + private fireConnectionLost(errorMessage: string) { + this.connectionLostHandler?.(errorMessage); + } + + private fireDisconnectedEvent() { + this.disconnectedHandler?.(); + } + + public subscribeConnected(handler: () => void) { + this.connectedHandler = handler; + } + + public subscribeConnectionLost(handler: (errorMessage: string) => void) { + this.connectionLostHandler = handler; + } + + public subscribeDisconnected(handler: () => void) { + this.disconnectedHandler = handler; + } + + public unsubscribeConnected() { + this.connectedHandler = null; + } + + public unsubscribeConnectionLost() { + this.connectionLostHandler = null; + } + + public unsubscribeDisconnected() { + this.disconnectedHandler = null; + } + + public dispose(): void { + this.stop(); + this.unsubscribeConnected(); + this.unsubscribeConnectionLost(); + this.unsubscribeDisconnected(); + } +} diff --git a/packages/extended-services-vscode-extension/src/LocalExtendedServices.ts b/packages/extended-services-vscode-extension/src/LocalExtendedServices.ts new file mode 100644 index 00000000000..090e3404ef4 --- /dev/null +++ b/packages/extended-services-vscode-extension/src/LocalExtendedServices.ts @@ -0,0 +1,163 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as path from "path"; +import { ChildProcess, SpawnOptions, spawn, spawnSync } from "child_process"; + +export class LocalExtendedServices { + private localExtendedServicesStartedHandler: (() => void) | null = null; + private localExtendedServicesOutputChangedHandler: ((output: string) => void) | null = null; + private localExtendedServicesErrorOutputChangedHandler: ((output: string) => void) | null = null; + private localExtendedServicesStoppedHandler: (() => void) | null = null; + + private serviceProcess: ChildProcess | null = null; + + public start(extendedServicesURL: URL, extensionAbsoluteFsPath: string): void { + const distDirectory: string = "dist"; + const extendedServicesDirectory: string = "extended-services-java"; + const extendedServicesJarFileName: string = "quarkus-run.jar"; + const jarAbsoluteFilePath: string = path.join( + extensionAbsoluteFsPath, + distDirectory, + extendedServicesDirectory, + extendedServicesJarFileName + ); + + const hostname = extendedServicesURL.hostname; + const port = extendedServicesURL.port; + const command = + "java -jar -Dquarkus.http.host=" + hostname + " -Dquarkus.http.port=" + port + " " + jarAbsoluteFilePath; + + const options: SpawnOptions = { + shell: true, + stdio: "pipe", + detached: process.platform != "win32", + }; + + try { + this.serviceProcess = spawn(command, options); + + if (this.serviceProcess.stdout) { + this.serviceProcess.stdout.on("data", (data) => { + const output = data.toString(); + if (output.includes("Listening on: " + extendedServicesURL.origin)) { + this.fileLocalExtendedServicesOutputChangedEvent(output); + this.fireLocalExtendedServicesStartedEvent(); + } + }); + } + + if (this.serviceProcess.stderr) { + this.serviceProcess.stderr.on("data", (data) => { + const errorOutput = data.toString(); + this.fileLocalExtendedServicesErrorOutputChangedEvent(errorOutput); + }); + } + + this.serviceProcess.on("exit", () => { + this.fireLocalExtendedServicesStoppedEvent(); + this.serviceProcess = null; + }); + } catch (error) { + throw new Error("LOCAL EXTENDED SERVICES ERROR: " + error.message); + } + } + + public stop(): void { + if (!this.serviceProcess) { + return; + } + + if (!this.serviceProcess.pid) { + this.serviceProcess = null; + return; + } + + /* + * On Windows, simply calling this.serviceProcess.kill() does not kill the process and it remains running. + * This is because the kill() method sends a SIGTERM signal to the process, which is not supported on Windows. + * To kill the process, we need to use the taskkill command. + * + * On Unix-based systems, this.serviceProcess.kill() works as expected. + * + * For more information, see: + * https://nodejs.org/api/child_process.html#subprocesskillsignal + */ + if (process.platform == "win32") { + spawnSync("taskkill", ["/pid", this.serviceProcess.pid.toString(), "/f", "/t"]); + } else { + process.kill(-this.serviceProcess.pid); + } + } + + private fireLocalExtendedServicesStartedEvent() { + this.localExtendedServicesStartedHandler?.(); + } + + private fileLocalExtendedServicesOutputChangedEvent(output: string) { + this.localExtendedServicesOutputChangedHandler?.(output); + } + + private fileLocalExtendedServicesErrorOutputChangedEvent(output: string) { + this.localExtendedServicesErrorOutputChangedHandler?.(output); + } + + private fireLocalExtendedServicesStoppedEvent() { + this.localExtendedServicesStoppedHandler?.(); + } + + public subscribeLocalExtendedServicesStarted(handler: () => void) { + this.localExtendedServicesStartedHandler = handler; + } + + public subscribeLocalExtendedServicesOutputChanged(handler: (output: string) => void) { + this.localExtendedServicesOutputChangedHandler = handler; + } + + public subscribeLocalExtendedServicesErrorOutputChanged(handler: (output: string) => void) { + this.localExtendedServicesErrorOutputChangedHandler = handler; + } + + public subscribeLocalExtendedServicesStopped(handler: () => void) { + this.localExtendedServicesStoppedHandler = handler; + } + + public unsubscribeLocalExtendedServicesStarted() { + this.localExtendedServicesStartedHandler = null; + } + + public unsubscribeLocalExtendedServicesOutputChanged() { + this.localExtendedServicesOutputChangedHandler = null; + } + + public unsubscribeLocalExtendedServicesErrorOutputChanged() { + this.localExtendedServicesErrorOutputChangedHandler = null; + } + + public unsubscribeLocalExtendedServicesStopped() { + this.localExtendedServicesStoppedHandler = null; + } + + public dispose(): void { + this.stop(); + this.unsubscribeLocalExtendedServicesStarted(); + this.unsubscribeLocalExtendedServicesOutputChanged(); + this.unsubscribeLocalExtendedServicesStopped(); + } +} diff --git a/packages/extended-services-vscode-extension/src/Validator.ts b/packages/extended-services-vscode-extension/src/Validator.ts new file mode 100644 index 00000000000..501a8440d07 --- /dev/null +++ b/packages/extended-services-vscode-extension/src/Validator.ts @@ -0,0 +1,74 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as kieFile from "./kieFiles/KieFile"; +import * as validationRequests from "./requests/ValidationRequests"; +import * as validationResponse from "./requests/ValidationResponse"; +import * as vscode from "vscode"; + +const source: string = "Apache KIE Extended Services"; + +function createBPMNDiagnostics(validationResponses: validationResponse.BPMNValidationResponse[]): vscode.Diagnostic[] { + return validationResponses.map((validationResponse) => { + const diagnostic = new vscode.Diagnostic( + new vscode.Range(0, 0, 0, 0), + validationResponse.error, + vscode.DiagnosticSeverity.Error + ); + diagnostic.source = source; + return diagnostic; + }); +} + +function createDMNDiagnostics(validationResponses: validationResponse.DMNValidationResponse[]): vscode.Diagnostic[] { + return validationResponses.map((validationResponse) => { + const diagnostic = new vscode.Diagnostic( + new vscode.Range(0, 0, 0, 0), + validationResponse.message, + vscode.DiagnosticSeverity.Error + ); + diagnostic.code = validationResponse.messageType; + diagnostic.source = source; + return diagnostic; + }); +} + +export async function validateBPMN(serviceURL: URL, kieFile: kieFile.KieFile): Promise { + try { + const validationResponses: validationResponse.BPMNValidationResponse[] = await validationRequests.validateBPMN( + serviceURL, + kieFile + ); + return createBPMNDiagnostics(validationResponses); + } catch (error) { + throw new Error("VALIDATE BPMN ERROR - " + error.message); + } +} + +export async function validateDMN(serviceURL: URL, kieFile: kieFile.KieFile): Promise { + try { + const validationResponses: validationResponse.DMNValidationResponse[] = await validationRequests.validateDMN( + serviceURL, + kieFile + ); + return createDMNDiagnostics(validationResponses); + } catch (error) { + throw new Error("VALIDATE DMN ERROR - " + error.message); + } +} diff --git a/packages/extended-services-vscode-extension/src/configurations/Configuration.ts b/packages/extended-services-vscode-extension/src/configurations/Configuration.ts new file mode 100644 index 00000000000..5beb698fa88 --- /dev/null +++ b/packages/extended-services-vscode-extension/src/configurations/Configuration.ts @@ -0,0 +1,99 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as vscode from "vscode"; + +export const enableAutoRunID: string = "extendedServices.enableAutorun"; +export const connectionHeartbeatIntervalinSecsID: string = "extendedServices.connectionHeartbeatIntervalinSecs"; +export const extendedServicesURLID: string = "extendedServices.extendedServicesURL"; + +export class Configuration { + readonly enableAutoRun: boolean; + readonly connectionHeartbeatIntervalinSecs: number; + readonly extendedServicesURL: URL; + + constructor(enableAutoRun: boolean, connectionHeartbeatIntervalinSecs: number, extendedServicesURL: URL) { + this.enableAutoRun = enableAutoRun; + this.connectionHeartbeatIntervalinSecs = connectionHeartbeatIntervalinSecs; + this.extendedServicesURL = extendedServicesURL; + } +} + +function fetchEnableAutoRun(): boolean { + const enableAutoRun = vscode.workspace.getConfiguration().get(enableAutoRunID); + if (!enableAutoRun) { + throw new Error("Enable Auto Run configuration not found"); + } + return enableAutoRun; +} + +function fetchConnectionHeartbeatIntervalinSecs(): number { + const connectionHeartbeatIntervalinSecs = vscode.workspace + .getConfiguration() + .get(connectionHeartbeatIntervalinSecsID); + if (!connectionHeartbeatIntervalinSecs) { + throw new Error("Connection Heartbeat Interval configuration not found"); + } + + return connectionHeartbeatIntervalinSecs; +} + +function fetchExtendedServicesURL(): URL { + const extendedServicesURL = vscode.workspace.getConfiguration().get(extendedServicesURLID); + if (!extendedServicesURL) { + throw new Error("Extended Services URL configuration not found"); + } + + try { + return new URL(extendedServicesURL); + } catch (error) { + throw new Error("Invalid service URL:" + error.message); + } +} + +export function fetchConfiguration(): Configuration { + let errorMessages: string[] = []; + let enableAutoRun: any; + let connectionHeartbeatIntervalinSecs: any; + let extendedServicesURL: any; + + try { + enableAutoRun = fetchEnableAutoRun(); + } catch (error) { + errorMessages.push(error.message); + } + + try { + connectionHeartbeatIntervalinSecs = fetchConnectionHeartbeatIntervalinSecs(); + } catch (error) { + errorMessages.push(error.message); + } + + try { + extendedServicesURL = fetchExtendedServicesURL(); + } catch (error) { + errorMessages.push(error.message); + } + + if (errorMessages.length < 0) { + throw new Error("CONFIGURATION ERROR - " + errorMessages.join(", ")); + } else { + return new Configuration(enableAutoRun, connectionHeartbeatIntervalinSecs, extendedServicesURL); + } +} diff --git a/packages/extended-services-vscode-extension/src/configurations/ConfigurationWatcher.ts b/packages/extended-services-vscode-extension/src/configurations/ConfigurationWatcher.ts new file mode 100644 index 00000000000..62d6e7b4bfb --- /dev/null +++ b/packages/extended-services-vscode-extension/src/configurations/ConfigurationWatcher.ts @@ -0,0 +1,59 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as vscode from "vscode"; +import * as configuration from "./Configuration"; + +export class ConfigurationWatcher { + private configurationChangedHandler: (() => void) | null; + private configurationChangeListener: vscode.Disposable | undefined; + + constructor() { + this.configurationChangeListener = vscode.workspace.onDidChangeConfiguration(this.handleConfigurationChange, this); + } + + private handleConfigurationChange(configurationChange: vscode.ConfigurationChangeEvent) { + const enableAutoRunChanged = configurationChange.affectsConfiguration(configuration.enableAutoRunID); + const connectionHeartbeatIntervalinSecsChanged = configurationChange.affectsConfiguration( + configuration.connectionHeartbeatIntervalinSecsID + ); + const extendedServicesURLChanged = configurationChange.affectsConfiguration(configuration.extendedServicesURLID); + + if (enableAutoRunChanged || connectionHeartbeatIntervalinSecsChanged || extendedServicesURLChanged) { + this.fireConfigurationChangedEvent(); + } + } + + private fireConfigurationChangedEvent() { + this.configurationChangedHandler?.(); + } + + public subscribeSettingsChanged(handler: () => void) { + this.configurationChangedHandler = handler; + } + + public unsubscribeSettingsChanged() { + this.configurationChangedHandler = null; + } + + public dispose(): void { + this.unsubscribeSettingsChanged(); + this.configurationChangeListener?.dispose(); + } +} diff --git a/packages/extended-services-vscode-extension/src/extension/extension-browser.ts b/packages/extended-services-vscode-extension/src/extension/extension-browser.ts new file mode 100644 index 00000000000..eee98f3ea0a --- /dev/null +++ b/packages/extended-services-vscode-extension/src/extension/extension-browser.ts @@ -0,0 +1,205 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as kiefilesfetcher from "../kieFiles/KieFilesFetcher"; +import * as vscode from "vscode"; +import * as validator from "../Validator"; +import { Configuration, fetchConfiguration } from "../configurations/Configuration"; +import { ConfigurationWatcher } from "../configurations/ConfigurationWatcher"; +import { Connection } from "../Connection"; +import { KieFile } from "../kieFiles/KieFile"; +import { KieFilesWatcher } from "../kieFiles/KieFilesWatcher"; + +const startExtendedServicesCommandUID: string = "extended-services-vscode-extension.startExtendedServices"; +const stopExtendedServicesCommandUID: string = "extended-services-vscode-extension.stopExtendedServices"; +const connectedEnablementUID: string = "extended-services-vscode-extension.connected"; + +let connectExtendedServicesCommand: vscode.Disposable; +let disconnectExtendedServicesCommand: vscode.Disposable; + +let statusBarItem: vscode.StatusBarItem; +let diagnosticCollection: vscode.DiagnosticCollection; + +let kieFilesWatcher: KieFilesWatcher; +let configurationWatcher: ConfigurationWatcher; +let connection: Connection; + +let userDisconnected: boolean = false; +let configuration: Configuration | null = null; + +function initializeCommands(context: vscode.ExtensionContext) { + connectExtendedServicesCommand = vscode.commands.registerCommand(startExtendedServicesCommandUID, () => { + userDisconnected = false; + startExtendedServices(); + }); + disconnectExtendedServicesCommand = vscode.commands.registerCommand(stopExtendedServicesCommandUID, () => { + userDisconnected = true; + stopExtendedServices(); + }); +} + +function initializeVSCodeElements() { + vscode.commands.executeCommand("setContext", connectedEnablementUID, false); + + statusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 100); + statusBarItem.text = "$(extended-services-disconnected)"; + statusBarItem.tooltip = "Apache KIE Extended Services are not connected. \n" + "Click to connect."; + statusBarItem.command = startExtendedServicesCommandUID; + statusBarItem.hide(); + + diagnosticCollection = vscode.languages.createDiagnosticCollection("KIE Files Diagnostics"); +} + +function startExtendedServices(): void { + try { + statusBarItem.show(); + configuration = fetchConfiguration(); + } catch (error) { + stopExtendedServices(); + vscode.window.showErrorMessage("An error happened while trying to start the Extended Services: " + error.message); + return; + } + + try { + connection.start(configuration.extendedServicesURL, configuration.connectionHeartbeatIntervalinSecs); + } catch (error) { + stopExtendedServices(); + vscode.window.showErrorMessage("An error happened while trying to connect to the service:" + error.message); + } +} + +function stopExtendedServices() { + configuration = null; + connection.stop(); +} + +async function validate(configuration: Configuration) { + diagnosticCollection.clear(); + + const bpmnFiles: KieFile[] = await kiefilesfetcher.findActiveKieFiles([kiefilesfetcher.bpmnDocumentFilter]); + const dmnFiles: KieFile[] = await kiefilesfetcher.findActiveKieFiles([kiefilesfetcher.dmnDocumentFilter]); + + for (const bpmnFile of bpmnFiles) { + try { + const bpmnDiagnostics: vscode.Diagnostic[] = await validator.validateBPMN( + configuration.extendedServicesURL, + bpmnFile + ); + diagnosticCollection.set(bpmnFile.uri, bpmnDiagnostics); + } catch (error) { + stopExtendedServices(); + vscode.window.showErrorMessage( + "An error happened while trying to validate " + bpmnFile.uri.path + ": " + error.message + ); + } + } + + for (const dmnFile of dmnFiles) { + try { + const bpmnDiagnostics: vscode.Diagnostic[] = await validator.validateDMN( + configuration.extendedServicesURL, + dmnFile + ); + diagnosticCollection.set(dmnFile.uri, bpmnDiagnostics); + } catch (error) { + stopExtendedServices(); + vscode.window.showErrorMessage( + "An error happened while trying to validate " + dmnFile.uri.path + ": " + error.message + ); + } + } +} + +export function activate(context: vscode.ExtensionContext) { + configurationWatcher = new ConfigurationWatcher(); + kieFilesWatcher = new KieFilesWatcher(); + connection = new Connection(); + + configurationWatcher.subscribeSettingsChanged(() => { + stopExtendedServices(); + if (!userDisconnected && kieFilesWatcher.watchedKieFiles.length > 0) { + startExtendedServices(); + } + }); + + kieFilesWatcher.subscribeKieFilesOpened(() => { + statusBarItem.show(); + if (userDisconnected) { + return; + } + + if (configuration) { + validate(configuration); + } else { + startExtendedServices(); + } + }); + + kieFilesWatcher.subscribeKieFileChanged(() => { + if (configuration) { + validate(configuration); + } + }); + + kieFilesWatcher.subscribeKieFilesClosed(() => { + if (kieFilesWatcher.watchedKieFiles.length === 0) { + stopExtendedServices(); + statusBarItem.hide(); + } else if (configuration) { + validate(configuration); + } + }); + + connection.subscribeConnected(() => { + vscode.commands.executeCommand("setContext", connectedEnablementUID, true); + if (configuration) { + validate(configuration); + statusBarItem.text = "$(extended-services-connected)"; + statusBarItem.tooltip = "Apache KIE Extended Services are connected. Click to disconnect."; + statusBarItem.command = stopExtendedServicesCommandUID; + } + }); + + connection.subscribeConnectionLost((errorMessage: string) => { + vscode.window.showErrorMessage("Connection error: " + errorMessage); + stopExtendedServices(); + }); + + connection.subscribeDisconnected(() => { + vscode.commands.executeCommand("setContext", connectedEnablementUID, false); + statusBarItem.text = "$(extended-services-disconnected)"; + statusBarItem.tooltip = "Apache KIE Extended Services are not connected. Click to connect."; + statusBarItem.command = startExtendedServicesCommandUID; + diagnosticCollection.clear(); + }); + + initializeCommands(context); + initializeVSCodeElements(); + + kieFilesWatcher.updateWatchedKieFiles(); +} + +export function deactivate(): void { + connectExtendedServicesCommand.dispose(); + disconnectExtendedServicesCommand.dispose(); + statusBarItem.dispose(); + connection.dispose(); + kieFilesWatcher.dispose(); + configurationWatcher.dispose(); +} diff --git a/packages/extended-services-vscode-extension/src/extension/extension-main.ts b/packages/extended-services-vscode-extension/src/extension/extension-main.ts new file mode 100644 index 00000000000..ea25c14f787 --- /dev/null +++ b/packages/extended-services-vscode-extension/src/extension/extension-main.ts @@ -0,0 +1,255 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as kiefilesfetcher from "../kieFiles/KieFilesFetcher"; +import * as vscode from "vscode"; +import * as validator from "../Validator"; +import { Configuration, fetchConfiguration } from "../configurations/Configuration"; +import { ConfigurationWatcher } from "../configurations/ConfigurationWatcher"; +import { Connection } from "../Connection"; +import { KieFile } from "../kieFiles/KieFile"; +import { KieFilesWatcher } from "../kieFiles/KieFilesWatcher"; +import { LocalExtendedServices } from "../LocalExtendedServices"; + +const startExtendedServicesCommandUID: string = "extended-services-vscode-extension.startExtendedServices"; +const stopExtendedServicesCommandUID: string = "extended-services-vscode-extension.stopExtendedServices"; +const connectedEnablementUID: string = "extended-services-vscode-extension.connected"; + +let connectExtendedServicesCommand: vscode.Disposable; +let disconnectExtendedServicesCommand: vscode.Disposable; + +let statusBarItem: vscode.StatusBarItem; +let diagnosticCollection: vscode.DiagnosticCollection; +let outputChannel: vscode.OutputChannel; + +let kieFilesWatcher: KieFilesWatcher; +let configurationWatcher: ConfigurationWatcher; +let connection: Connection; +let localService: LocalExtendedServices; + +let userDisconnected: boolean = false; +let configuration: Configuration | null; + +function initializeCommands(context: vscode.ExtensionContext) { + connectExtendedServicesCommand = vscode.commands.registerCommand(startExtendedServicesCommandUID, () => { + userDisconnected = false; + startExtendedServices(context); + }); + disconnectExtendedServicesCommand = vscode.commands.registerCommand(stopExtendedServicesCommandUID, () => { + userDisconnected = true; + if (configuration) { + stopExtendedServices(configuration); + } + }); +} + +function initializeVSCodeElements() { + vscode.commands.executeCommand("setContext", connectedEnablementUID, false); + + statusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 100); + statusBarItem.hide(); + + outputChannel = vscode.window.createOutputChannel("Extended Services VS Code Extension"); + + diagnosticCollection = vscode.languages.createDiagnosticCollection("KIE Files Diagnostics"); +} + +function startExtendedServices(context: vscode.ExtensionContext): void { + let config: Configuration; + try { + statusBarItem.command = undefined; + statusBarItem.show(); + configuration = fetchConfiguration(); + } catch (error) { + stopExtendedServices(null); + vscode.window.showErrorMessage("An error happened while trying to start the Extended Services: " + error.message); + return; + } + + if (configuration.enableAutoRun) { + startLocalExtendedServices(configuration, context); + } else { + startConnection(configuration); + } +} + +function stopExtendedServices(configuration: Configuration | null) { + statusBarItem.command = undefined; + if (configuration?.enableAutoRun) { + localService.stop(); + } else { + connection.stop(); + } +} + +function startLocalExtendedServices(configuration: Configuration, context: vscode.ExtensionContext): void { + try { + localService.start(configuration.extendedServicesURL, context.extensionPath); + } catch (error) { + stopExtendedServices(configuration); + vscode.window.showErrorMessage("An error happened while trying to start the local service:" + error.message); + } +} + +function startConnection(configuration: Configuration) { + try { + connection.start(configuration.extendedServicesURL, configuration.connectionHeartbeatIntervalinSecs); + } catch (error) { + stopExtendedServices(configuration); + vscode.window.showErrorMessage("An error happened while trying to connect to the service:" + error.message); + } +} + +async function validate(configuration: Configuration) { + diagnosticCollection.clear(); + + const bpmnFiles: KieFile[] = await kiefilesfetcher.findActiveKieFiles([kiefilesfetcher.bpmnDocumentFilter]); + const dmnFiles: KieFile[] = await kiefilesfetcher.findActiveKieFiles([kiefilesfetcher.dmnDocumentFilter]); + + for (const bpmnFile of bpmnFiles) { + try { + const bpmnDiagnostics: vscode.Diagnostic[] = await validator.validateBPMN( + configuration.extendedServicesURL, + bpmnFile + ); + diagnosticCollection.set(bpmnFile.uri, bpmnDiagnostics); + } catch (error) { + vscode.window.showErrorMessage( + "An error happened while trying to validate " + bpmnFile.uri.path + ": " + error.message + ); + } + } + + for (const dmnFile of dmnFiles) { + try { + const bpmnDiagnostics: vscode.Diagnostic[] = await validator.validateDMN( + configuration.extendedServicesURL, + dmnFile + ); + diagnosticCollection.set(dmnFile.uri, bpmnDiagnostics); + } catch (error) { + stopExtendedServices(configuration); + vscode.window.showErrorMessage( + "An error happened while trying to validate " + dmnFile.uri.path + ": " + error.message + ); + } + } +} + +export function activate(context: vscode.ExtensionContext) { + configurationWatcher = new ConfigurationWatcher(); + kieFilesWatcher = new KieFilesWatcher(); + localService = new LocalExtendedServices(); + connection = new Connection(); + + configurationWatcher.subscribeSettingsChanged(() => { + stopExtendedServices(configuration); + if (!userDisconnected && kieFilesWatcher.watchedKieFiles.length > 0) { + startExtendedServices(context); + } + }); + + kieFilesWatcher.subscribeKieFilesOpened(() => { + statusBarItem.show(); + if (userDisconnected) { + return; + } + + if (configuration) { + validate(configuration); + } else { + startExtendedServices(context); + } + }); + + kieFilesWatcher.subscribeKieFileChanged(() => { + if (configuration) { + validate(configuration); + } + }); + + kieFilesWatcher.subscribeKieFilesClosed(() => { + if (kieFilesWatcher.watchedKieFiles.length === 0) { + stopExtendedServices(configuration); + statusBarItem.hide(); + } else if (configuration) { + validate(configuration); + } + }); + + localService.subscribeLocalExtendedServicesStarted(() => { + if (configuration) { + startConnection(configuration); + } + }); + + localService.subscribeLocalExtendedServicesOutputChanged((output: string) => { + outputChannel.append(output); + }); + + localService.subscribeLocalExtendedServicesErrorOutputChanged((output: string) => { + outputChannel.append(output); + outputChannel.show(); + }); + + localService.subscribeLocalExtendedServicesStopped(() => { + connection.stop(); + }); + + connection.subscribeConnected(() => { + vscode.commands.executeCommand("setContext", connectedEnablementUID, true); + if (configuration) { + validate(configuration); + statusBarItem.text = "$(extended-services-connected)"; + statusBarItem.tooltip = "Apache KIE Extended Services are connected. Click to disconnect."; + statusBarItem.command = stopExtendedServicesCommandUID; + } + }); + + connection.subscribeConnectionLost((errorMessage: string) => { + stopExtendedServices(configuration); + vscode.window.showErrorMessage("Connection error: " + errorMessage); + }); + + connection.subscribeDisconnected(() => { + vscode.commands.executeCommand("setContext", connectedEnablementUID, false); + statusBarItem.text = "$(extended-services-disconnected)"; + statusBarItem.tooltip = "Apache KIE Extended Services are not connected. Click to connect."; + statusBarItem.command = startExtendedServicesCommandUID; + diagnosticCollection.clear(); + }); + + initializeCommands(context); + initializeVSCodeElements(); + + kieFilesWatcher.updateWatchedKieFiles(); +} + +export function deactivate(): void { + connectExtendedServicesCommand.dispose(); + disconnectExtendedServicesCommand.dispose(); + + statusBarItem.dispose(); + outputChannel.dispose(); + + localService.dispose(); + connection.dispose(); + kieFilesWatcher.dispose(); + configurationWatcher.dispose(); +} diff --git a/packages/extended-services-vscode-extension/src/kieFiles/KieFile.ts b/packages/extended-services-vscode-extension/src/kieFiles/KieFile.ts new file mode 100644 index 00000000000..ae1f00ad8e1 --- /dev/null +++ b/packages/extended-services-vscode-extension/src/kieFiles/KieFile.ts @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as vscode from "vscode"; + +export class KieFile { + public readonly uri: vscode.Uri; + + private onDidChangeTextDocumentListener: vscode.Disposable; + private kieFileChangedEventHandler: (() => void) | null; + + constructor(textDocument: vscode.TextDocument) { + this.uri = textDocument.uri; + this.onDidChangeTextDocumentListener = vscode.workspace.onDidChangeTextDocument(this.fireKieFileChangedEvent, this); + } + + private fireKieFileChangedEvent() { + this.kieFileChangedEventHandler?.(); + } + + public subscribeKieFileChanged(handler: () => void) { + this.kieFileChangedEventHandler = handler; + } + + public unsubscribeKieFileChanged() { + this.kieFileChangedEventHandler = null; + } + + public dispose() { + this.onDidChangeTextDocumentListener.dispose(); + this.unsubscribeKieFileChanged(); + } +} diff --git a/packages/extended-services-vscode-extension/src/kieFiles/KieFilesFetcher.ts b/packages/extended-services-vscode-extension/src/kieFiles/KieFilesFetcher.ts new file mode 100644 index 00000000000..66a84db2e5c --- /dev/null +++ b/packages/extended-services-vscode-extension/src/kieFiles/KieFilesFetcher.ts @@ -0,0 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as vscode from "vscode"; +import { KieFile } from "./KieFile"; + +interface KieDocumentFilter extends vscode.DocumentFilter { + language: string; + scheme: "file"; +} + +export const bpmnDocumentFilter: KieDocumentFilter = { + language: "bpmn", + scheme: "file", +}; + +export const dmnDocumentFilter: KieDocumentFilter = { + language: "dmn", + scheme: "file", +}; + +export async function findActiveKieFiles(kieDocumentFilters: KieDocumentFilter[]): Promise { + const tabGroups: readonly vscode.TabGroup[] = vscode.window.tabGroups.all; + + const activeUris: vscode.Uri[] = tabGroups + .flatMap((tabGroup) => tabGroup.tabs) + .map((tab) => tab.input) + .filter((input) => input instanceof vscode.TabInputCustom || input instanceof vscode.TabInputText) + .map((input: vscode.TabInputCustom | vscode.TabInputText) => input.uri); + + const uniqueActiveUris: vscode.Uri[] = activeUris.reduce((unique, uri) => { + if (!unique.some((u) => u.fsPath === uri.fsPath)) { + unique.push(uri); + } + return unique; + }, [] as vscode.Uri[]); + + const activeTextDocuments: vscode.TextDocument[] = await Promise.all( + uniqueActiveUris.map((uri) => vscode.workspace.openTextDocument(uri)) + ); + + const activeKieFiles: KieFile[] = activeTextDocuments + .filter((textDocument) => vscode.languages.match(kieDocumentFilters, textDocument) > 0) + .map((textDocument) => new KieFile(textDocument)); + + return activeKieFiles; +} diff --git a/packages/extended-services-vscode-extension/src/kieFiles/KieFilesWatcher.ts b/packages/extended-services-vscode-extension/src/kieFiles/KieFilesWatcher.ts new file mode 100644 index 00000000000..e2e003e5a89 --- /dev/null +++ b/packages/extended-services-vscode-extension/src/kieFiles/KieFilesWatcher.ts @@ -0,0 +1,113 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as vscode from "vscode"; +import { KieFile } from "./KieFile"; +import { bpmnDocumentFilter, dmnDocumentFilter, findActiveKieFiles } from "./KieFilesFetcher"; + +export class KieFilesWatcher { + private kieFilesOpenedHandler: ((openedKieFiles: KieFile[]) => void) | null = null; + private kieFileChangedHandler: ((changedKieFile: KieFile) => void) | null = null; + private kieFilesClosedHandler: ((closedKieFiles: KieFile[]) => void) | null = null; + + private tabChangeListener: vscode.Disposable; + + public watchedKieFiles: readonly KieFile[]; + + public constructor() { + this.watchedKieFiles = []; + this.tabChangeListener = vscode.window.tabGroups.onDidChangeTabs(this.updateWatchedKieFiles, this); + } + + public async updateWatchedKieFiles() { + const activeKieFiles: KieFile[] = await findActiveKieFiles([bpmnDocumentFilter, dmnDocumentFilter]); + + const kieFilesToStartWatching: KieFile[] = activeKieFiles.filter( + (activeFile) => !this.watchedKieFiles.some((watchedFile) => watchedFile.uri.fsPath === activeFile.uri.fsPath) + ); + kieFilesToStartWatching.forEach((kieFile) => + kieFile.subscribeKieFileChanged(() => this.fireKieFileChangedEvent(kieFile)) + ); + + const kieFilesToStopWatching: KieFile[] = this.watchedKieFiles.filter( + (watchedFile) => !activeKieFiles.some((activeFile) => activeFile.uri.fsPath === watchedFile.uri.fsPath) + ); + kieFilesToStopWatching.forEach((kieFile) => kieFile.dispose()); + + const kieFilesToKeepWatching: KieFile[] = this.watchedKieFiles.filter((watchedFile) => + activeKieFiles.some((activeFile) => activeFile.uri.fsPath === watchedFile.uri.fsPath) + ); + + this.watchedKieFiles = [...kieFilesToStartWatching, ...kieFilesToKeepWatching]; + + if (kieFilesToStartWatching.length > 0) { + this.fireKieFilesOpenedEvent(kieFilesToStartWatching); + } + + if (kieFilesToStopWatching.length > 0) { + this.fireKieFilesClosedEvent(kieFilesToStopWatching); + } + } + + private fireKieFilesOpenedEvent(openedKieFiles: KieFile[]) { + this.kieFilesOpenedHandler?.(openedKieFiles); + } + + private fireKieFileChangedEvent(changedKieFile: KieFile) { + this.kieFileChangedHandler?.(changedKieFile); + } + + private fireKieFilesClosedEvent(closedKieFiles: KieFile[]) { + this.kieFilesClosedHandler?.(closedKieFiles); + } + + public subscribeKieFilesOpened(handler: (opendKieFiles: KieFile[]) => void) { + this.kieFilesOpenedHandler = handler; + } + + public subscribeKieFileChanged(handler: (changedKieFile: KieFile) => void) { + this.kieFileChangedHandler = handler; + } + + public subscribeKieFilesClosed(handler: (closedKieFiles: KieFile[]) => void) { + this.kieFilesClosedHandler = handler; + } + + public unsubscribeKieFilesOpened() { + this.kieFilesOpenedHandler = null; + } + + public unsubscribeKieFileChanged() { + this.kieFileChangedHandler = null; + } + + public unsubscribeKieFilesClosed() { + this.kieFilesClosedHandler = null; + } + + public dispose(): void { + this.watchedKieFiles.forEach((kieFile) => kieFile.dispose()); + this.watchedKieFiles = []; + + this.tabChangeListener?.dispose(); + this.unsubscribeKieFilesOpened(); + this.unsubscribeKieFilesClosed(); + this.unsubscribeKieFileChanged(); + } +} diff --git a/packages/cors-proxy/src/proxy/dnsFix.ts b/packages/extended-services-vscode-extension/src/requests/PingRequest.ts similarity index 52% rename from packages/cors-proxy/src/proxy/dnsFix.ts rename to packages/extended-services-vscode-extension/src/requests/PingRequest.ts index ef77e14ae41..0e26fd641ca 100644 --- a/packages/cors-proxy/src/proxy/dnsFix.ts +++ b/packages/extended-services-vscode-extension/src/requests/PingRequest.ts @@ -17,16 +17,27 @@ * under the License. */ -import * as dns from "dns"; -import * as os from "os"; +import * as pingresponse from "./PingResponse"; -/* -Fix to allow the cors-proxy to correctly connect with local applications when running in macOs. More info: https://github.com/nodejs/node/issues/40702 -TODO: this is already fixed on Node 20: Remove this as part of https://github.com/apache/incubator-kie-issues/issues/392 -*/ -export const dnsFix = () => { - const nodeVersion = +process.versions.node.split(".")[0]; - if (os.platform() === "darwin" && nodeVersion < 20) { - dns.setDefaultResultOrder("ipv4first"); +export async function ping(extendedServicesURL: URL): Promise { + const url = new URL("/ping", extendedServicesURL); + + try { + const response = await fetch(url.toString()); + if (response.ok) { + const responseData = (await response.json()) as pingresponse.PingResponse; + return responseData; + } else { + throw new Error( + "Failed to ping service at " + + extendedServicesURL + + " with error " + + response.status + + "and message " + + response.statusText + ); + } + } catch (error) { + throw new Error("Failed to ping service at " + extendedServicesURL + " with error " + error.message); } -}; +} diff --git a/packages/dashbuilder-editor/tests/jest.setup.ts b/packages/extended-services-vscode-extension/src/requests/PingResponse.ts similarity index 91% rename from packages/dashbuilder-editor/tests/jest.setup.ts rename to packages/extended-services-vscode-extension/src/requests/PingResponse.ts index 1c413b1660e..59cc2393d8b 100644 --- a/packages/dashbuilder-editor/tests/jest.setup.ts +++ b/packages/extended-services-vscode-extension/src/requests/PingResponse.ts @@ -17,4 +17,7 @@ * under the License. */ -import "@testing-library/jest-dom"; +export interface PingResponse { + version: string; + started: boolean; +} diff --git a/packages/extended-services-vscode-extension/src/requests/ValidationRequests.ts b/packages/extended-services-vscode-extension/src/requests/ValidationRequests.ts new file mode 100644 index 00000000000..53436866b3c --- /dev/null +++ b/packages/extended-services-vscode-extension/src/requests/ValidationRequests.ts @@ -0,0 +1,91 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as vscode from "vscode"; +import * as validationresponse from "./ValidationResponse"; +import * as kiefile from "../kieFiles/KieFile"; + +interface ValidationBody { + mainURI: string; + resources: ValidationResource[]; +} + +interface ValidationResource { + URI: string; + content: string; +} + +function buildRequestBody(document: vscode.TextDocument): string { + const body: ValidationBody = { + mainURI: "VS Code KIE files", + resources: [ + { + URI: document.fileName, + content: document.getText(), + }, + ], + }; + + return JSON.stringify(body); +} + +async function validate( + serviceURL: URL, + kieFile: kiefile.KieFile, + endpoint: string, + parseFunction: (data: any) => any[] +): Promise { + let textDocument = vscode.workspace.textDocuments.find((doc) => doc.uri === kieFile.uri); + if (!textDocument) { + textDocument = await vscode.workspace.openTextDocument(kieFile.uri); + } + const url = new URL(endpoint, serviceURL); + const response = await fetch(url.toString(), { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: buildRequestBody(textDocument), + }); + + const responseData: any = await response.json(); + return parseFunction(responseData); +} + +export async function validateBPMN( + serviceURL: URL, + kieFile: kiefile.KieFile +): Promise { + try { + return validate(serviceURL, kieFile, "/jitbpmn/validate", validationresponse.parseBPMNValidationResponse); + } catch (error) { + throw new Error("VALIDATE BPMN REQUEST ERROR: \n", error.message); + } +} + +export async function validateDMN( + serviceURL: URL, + kieFile: kiefile.KieFile +): Promise { + try { + return validate(serviceURL, kieFile, "/jitdmn/validate", validationresponse.parseDMNValidationResponse); + } catch (error) { + throw new Error("VALIDATE DMN REQUEST ERROR: \n", error.message); + } +} diff --git a/packages/extended-services-vscode-extension/src/requests/ValidationResponse.ts b/packages/extended-services-vscode-extension/src/requests/ValidationResponse.ts new file mode 100644 index 00000000000..87db2fd2c38 --- /dev/null +++ b/packages/extended-services-vscode-extension/src/requests/ValidationResponse.ts @@ -0,0 +1,74 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import * as vscode from "vscode"; + +export interface BPMNValidationResponse { + uri: vscode.Uri; + processID: string; + name: string; + error: string; +} + +export interface DMNValidationResponse { + severity: string; + message: string; + messageType: string; + sourceId: string; + level: string; +} + +export function parseBPMNValidationResponse(jsonResponse: string[]): BPMNValidationResponse[] { + if (jsonResponse.length > 0) { + return jsonResponse.map((response) => { + const uriMarker = "Uri: "; + const processIdMarker = "Process id: "; + const nameMarker = "name : "; + const errorMarker = "error : "; + + const splitResponse = response.split(" - "); + + const uriResponse = splitResponse.find((resp) => resp.startsWith(uriMarker)); + const processIdResponse = splitResponse.find((resp) => resp.startsWith(processIdMarker)); + const nameResponse = splitResponse.find((resp) => resp.startsWith(nameMarker)); + const errorResponse = splitResponse.find((resp) => resp.startsWith(errorMarker)); + + const uri = uriResponse ? uriResponse.substring(uriMarker.length).trim() : ""; + const processId = processIdResponse ? processIdResponse.substring(processIdMarker.length).trim() : ""; + const name = nameResponse ? nameResponse.substring(nameMarker.length).trim() : ""; + const error = errorResponse ? errorResponse.substring(errorMarker.length).trim() : response; + + return { + uri: vscode.Uri.parse(uri), + processID: processId, + name: name, + error: error, + }; + }); + } else { + return []; + } +} + +export function parseDMNValidationResponse(json: any): DMNValidationResponse[] { + if (json && !json.details) { + return json as DMNValidationResponse[]; + } else { + return []; + } +} diff --git a/packages/extended-services-vscode-extension/static/extended-services-connected.svg b/packages/extended-services-vscode-extension/static/extended-services-connected.svg new file mode 100644 index 00000000000..06a85063e78 --- /dev/null +++ b/packages/extended-services-vscode-extension/static/extended-services-connected.svg @@ -0,0 +1,7 @@ + + + diff --git a/packages/extended-services-vscode-extension/static/extended-services-disconnected.svg b/packages/extended-services-vscode-extension/static/extended-services-disconnected.svg new file mode 100644 index 00000000000..c161ba27f01 --- /dev/null +++ b/packages/extended-services-vscode-extension/static/extended-services-disconnected.svg @@ -0,0 +1,7 @@ + + + diff --git a/packages/extended-services-vscode-extension/static/extended-services-font.woff b/packages/extended-services-vscode-extension/static/extended-services-font.woff new file mode 100644 index 00000000000..0a2894792e4 Binary files /dev/null and b/packages/extended-services-vscode-extension/static/extended-services-font.woff differ diff --git a/packages/extended-services-vscode-extension/tsconfig.json b/packages/extended-services-vscode-extension/tsconfig.json new file mode 100644 index 00000000000..3609d3e6a64 --- /dev/null +++ b/packages/extended-services-vscode-extension/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "@kie-tools/tsconfig/tsconfig.json", + "compilerOptions": { + "module": "commonjs", + "declaration": false, + "declarationMap": false + }, + "include": ["src"] +} diff --git a/packages/dashbuilder-component-dev/jest.config.js b/packages/extended-services-vscode-extension/webpack.config.js similarity index 52% rename from packages/dashbuilder-component-dev/jest.config.js rename to packages/extended-services-vscode-extension/webpack.config.js index 6240ed76eb3..3d9f05537b0 100644 --- a/packages/dashbuilder-component-dev/jest.config.js +++ b/packages/extended-services-vscode-extension/webpack.config.js @@ -17,22 +17,34 @@ * under the License. */ -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", +const { merge } = require("webpack-merge"); +const common = require("@kie-tools-core/webpack-base/webpack.common.config"); + +const commonConfig = (env) => + merge(common(env), { + output: { + library: "ExtendedServices", + libraryTarget: "umd", + umdNamedDefine: true, + globalObject: "this", + }, + externals: { + vscode: "commonjs vscode", + }, + plugins: [], + }); + +module.exports = async (env) => [ + merge(commonConfig(env), { + target: "node", + entry: { + "extension/extension-main": "./src/extension/extension-main.ts", + }, + }), + merge(commonConfig(env), { + target: "web", + entry: { + "extension/extension-browser": "./src/extension/extension-browser.ts", }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], -}; + }), +]; diff --git a/packages/extended-services/README.md b/packages/extended-services/README.md index e5afc13a727..e4a6f569167 100644 --- a/packages/extended-services/README.md +++ b/packages/extended-services/README.md @@ -17,7 +17,7 @@ ## Extended Services -Powers the DMN Runner and Dev deployments features. +Powers the DMN Runner and Dev Deployments features. ## Parameters diff --git a/packages/extended-services/env/index.js b/packages/extended-services/env/index.js index 790273631a5..dc69b156cb2 100644 --- a/packages/extended-services/env/index.js +++ b/packages/extended-services/env/index.js @@ -19,7 +19,9 @@ const { getOrDefault, varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); -module.exports = composeEnv([require("@kie-tools/root-env/env")], { +const rootEnv = require("@kie-tools/root-env/env"); + +module.exports = composeEnv([rootEnv], { vars: varsWithName({ EXTENDED_SERVICES__kieSandboxUrl: { default: "https://localhost:9001", @@ -27,7 +29,7 @@ module.exports = composeEnv([require("@kie-tools/root-env/env")], { }, EXTENDED_SERVICES__version: { default: require("../package.json").version, - description: "Extended Services version", + description: "Extended Services version. Used by clients for checking compatibility.", }, EXTENDED_SERVICES__ip: { default: "0.0.0.0", @@ -35,18 +37,18 @@ module.exports = composeEnv([require("@kie-tools/root-env/env")], { }, EXTENDED_SERVICES__port: { default: "21345", - description: "Extended Services port", + description: "HTTP port", }, EXTENDED_SERVICES__nativeBinaryPath_macOS: { - default: "./node_modules/@kie-tools/jitexecutor-native/dist/darwin/jitexecutor", + default: `./dist-dev/jitexecutor-native-darwin-${rootEnv.env.kogitoRuntime.version}-runner`, description: "", }, EXTENDED_SERVICES__nativeBinaryPath_linux: { - default: "./node_modules/@kie-tools/jitexecutor-native/dist/linux/jitexecutor", + default: `./dist-dev/jitexecutor-native-linux-${rootEnv.env.kogitoRuntime.version}-runner`, description: "", }, EXTENDED_SERVICES__nativeBinaryPath_win32: { - default: ".\\node_modules\\@kie-tools\\jitexecutor-native\\dist\\win32\\jitexecutor.exe", + default: `.\\dist-dev\\jitexecutor-native-win32-${rootEnv.env.kogitoRuntime.version}-runner.exe`, description: "", }, }), diff --git a/packages/extended-services/package.json b/packages/extended-services/package.json index 405ca614de6..18463b0268c 100644 --- a/packages/extended-services/package.json +++ b/packages/extended-services/package.json @@ -17,7 +17,6 @@ ], "scripts": { "build": "run-script-os", - "build-headless": "pnpm copy-jitexecutor-linux-headless && make linux-headless", "build:darwin": "make darwin", "build:darwin:amd": "make darwin-amd64", "build:darwin:arm": "make darwin-arm64", @@ -25,22 +24,30 @@ "build:linux": "make linux", "build:prod": "rimraf dist jitexecutor && pnpm build-headless && pnpm copy-jitexecutor && pnpm build && pnpm pack-app", "build:win32": "make win32", + "build-headless": "pnpm copy-jitexecutor-linux-headless && make linux-headless", "copy-jitexecutor": "run-script-os", - "copy-jitexecutor-linux-headless": "run-script-os", - "copy-jitexecutor-linux-headless:linux:darwin": "cp $(build-env extendedServices.jitexecutor.nativeBinaryPath.linux) jitexecutor && chmod +x jitexecutor", - "copy-jitexecutor-linux-headless:win32": "pnpm powershell \"Copy-Item $(build-env extendedServices.jitexecutor.nativeBinaryPath.linux) jitexecutor\"", "copy-jitexecutor:darwin": "cp $(build-env extendedServices.jitexecutor.nativeBinaryPath.macOS) jitexecutor && chmod +x jitexecutor", "copy-jitexecutor:linux": "cp $(build-env extendedServices.jitexecutor.nativeBinaryPath.linux) jitexecutor && chmod +x jitexecutor", "copy-jitexecutor:win32": "pnpm powershell \"Copy-Item $(build-env extendedServices.jitexecutor.nativeBinaryPath.win32) jitexecutor\"", - "install": "go mod tidy", + "copy-jitexecutor-linux-headless": "run-script-os", + "copy-jitexecutor-linux-headless:darwin": "cp $(build-env extendedServices.jitexecutor.nativeBinaryPath.macOS) jitexecutor && chmod +x jitexecutor", + "copy-jitexecutor-linux-headless:linux": "cp $(build-env extendedServices.jitexecutor.nativeBinaryPath.linux) jitexecutor && chmod +x jitexecutor", + "copy-jitexecutor-linux-headless:win32": "pnpm powershell \"Copy-Item $(build-env extendedServices.jitexecutor.nativeBinaryPath.win32) jitexecutor\"", + "download:mvn:jitexecutor-native": "run-script-os", + "download:mvn:jitexecutor-native:darwin": "mvn dependency:get -Dartifact=\"org.kie.kogito:jitexecutor-native-darwin:$(build-env kogitoRuntime.version):jar:binaries\"", + "download:mvn:jitexecutor-native:linux": "mvn dependency:get -Dartifact=\"org.kie.kogito:jitexecutor-native-linux:$(build-env kogitoRuntime.version):jar:binaries\"", + "download:mvn:jitexecutor-native:win32": "pnpm powershell \"mvn dependency:get `-Dartifact=org.kie.kogito:jitexecutor-native-win32:$(build-env kogitoRuntime.version):jar:binaries\"", + "install": "go mod tidy && pnpm download:mvn:jitexecutor-native && pnpm unpack:mvn:jitexecutor-native", "pack-app": "run-script-os", "pack-app:darwin": "cd ./scripts/macos && ./build.sh", "pack-app:linux": "cd ./dist/linux && tar -pcvzf kie_sandbox_extended_services.tar.gz kie_sandbox_extended_services", "pack-app:win32": "echo 'Nothing to do'", - "start": "cross-env ENV=dev make start" - }, - "dependencies": { - "@kie-tools/jitexecutor-native": "999.0.0-20240505-SNAPSHOT" + "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command", + "start": "cross-env ENV=dev make start", + "unpack:mvn:jitexecutor-native": "run-script-os", + "unpack:mvn:jitexecutor-native:darwin": "mvn dependency:unpack -DoutputDirectory=dist-dev -Dartifact=\"org.kie.kogito:jitexecutor-native-darwin:$(build-env kogitoRuntime.version):jar:binaries\"", + "unpack:mvn:jitexecutor-native:linux": "mvn dependency:unpack -DoutputDirectory=dist-dev -Dartifact=\"org.kie.kogito:jitexecutor-native-linux:$(build-env kogitoRuntime.version):jar:binaries\"", + "unpack:mvn:jitexecutor-native:win32": "pnpm powershell \"mvn dependency:unpack `-DoutputDirectory=dist-dev `-Dartifact=org.kie.kogito:jitexecutor-native-win32:$(build-env kogitoRuntime.version):jar:binaries\"" }, "devDependencies": { "@kie-tools/root-env": "workspace:*", @@ -55,4 +62,4 @@ "make" ] } -} \ No newline at end of file +} diff --git a/packages/extended-services/pom.xml b/packages/extended-services/pom.xml new file mode 100644 index 00000000000..9db5063a8c1 --- /dev/null +++ b/packages/extended-services/pom.xml @@ -0,0 +1,40 @@ + + + + + + + + + + org.apache + apache + 32 + + + 4.0.0 + org.kie.tools + extended-services + irrelevant + diff --git a/packages/extended-services/scripts/macos/src/Info.plist b/packages/extended-services/scripts/macos/src/Info.plist index 0ed2fd45d75..fb5aa7ef2ce 100644 --- a/packages/extended-services/scripts/macos/src/Info.plist +++ b/packages/extended-services/scripts/macos/src/Info.plist @@ -1,34 +1,34 @@ - + - - CFBundleDevelopmentRegion - English - CFBundleExecutable - kogito - CFBundleIconFile - KieLogo.png - CFBundleIdentifier - org.kie.kogito - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Kogito - CFBundlePackageType - APPL - CFBundleSignature - kieKogito - CFBundleVersion - 1.0 - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - CFBundleDisplayName - Kogito - LSUIElement - - NSWidgetBackgroundColorName - white - - \ No newline at end of file + + CFBundleDevelopmentRegion + English + CFBundleExecutable + kogito + CFBundleIconFile + KieLogo.png + CFBundleIdentifier + org.kie.kogito + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Kogito + CFBundlePackageType + APPL + CFBundleSignature + kieKogito + CFBundleVersion + 1.0 + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + CFBundleDisplayName + Kogito + LSUIElement + + NSWidgetBackgroundColorName + white + + diff --git a/packages/feel-input-component/env/index.js b/packages/feel-input-component/env/index.js index 3da4f5c1567..d1a03e8e3b4 100644 --- a/packages/feel-input-component/env/index.js +++ b/packages/feel-input-component/env/index.js @@ -23,7 +23,7 @@ module.exports = composeEnv([require("@kie-tools/root-env/env")], { vars: varsWithName({ FEEL_INPUT_COMPONENT_DEV_WEBAPP__feelServerUrl: { default: "", - description: "", + description: "For development only.", }, }), get env() { diff --git a/packages/feel-input-component/jest.config.js b/packages/feel-input-component/jest.config.js deleted file mode 100644 index 5e60a0a7890..00000000000 --- a/packages/feel-input-component/jest.config.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - "@kie-tools-core/monaco-editor": "/tests/__mocks__/monacoMock.js", - }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], -}; diff --git a/packages/feel-input-component/package.json b/packages/feel-input-component/package.json index 1d27b557a4b..97f205409d7 100644 --- a/packages/feel-input-component/package.json +++ b/packages/feel-input-component/package.json @@ -8,13 +8,12 @@ "main": "dist/index.js", "scripts": { "build:dev": "rimraf dist && pnpm copy:css && tsc -p tsconfig.json", - "build:prod": "rimraf dist && pnpm copy:css && pnpm lint && tsc -p tsconfig.json && pnpm test", + "build:prod": "rimraf dist && pnpm copy:css && pnpm lint && tsc -p tsconfig.json", "build:showcase": "rimraf ./dist-dev && webpack -c ./showcase/webpack.config.js --env prod", "copy:css": "copyfiles -u 1 \"src/**/*.{sass,scss,css}\" dist/", "deploy": "gh-pages -d dist-dev", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "start": "webpack serve -c ./showcase/webpack.config.js --host 0.0.0.0 --env dev", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "start": "webpack serve -c ./showcase/webpack.config.js --host 0.0.0.0 --env dev" }, "dependencies": { "@kie-tools-core/i18n": "workspace:*", @@ -35,26 +34,16 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", "copy-webpack-plugin": "^11.0.0", "copyfiles": "^2.4.1", "file-loader": "^6.2.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/feel-input-component/showcase/static/feel_kogito_logo.svg b/packages/feel-input-component/showcase/static/feel_kogito_logo.svg index 4a1dadcac5e..b47ca0f5e6d 100644 --- a/packages/feel-input-component/showcase/static/feel_kogito_logo.svg +++ b/packages/feel-input-component/showcase/static/feel_kogito_logo.svg @@ -1,6 +1,16 @@ - + - + - - + + F - + E - + E - + L - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + diff --git a/packages/feel-input-component/showcase/static/index.html b/packages/feel-input-component/showcase/static/index.html index 81daea80c4c..bfec6e815a3 100644 --- a/packages/feel-input-component/showcase/static/index.html +++ b/packages/feel-input-component/showcase/static/index.html @@ -1,4 +1,4 @@ - + + +## @kie-tools/jest-base + +--- + +Apache KIE (incubating) is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + +Some of the incubating project’s releases may not be fully compliant with ASF +policy. For example, releases may have incomplete or un-reviewed licensing +conditions. What follows is a list of known issues the project is currently +aware of (note that this list, by definition, is likely to be incomplete): + +- Hibernate, an LGPL project, is being used. Hibernate is in the process of relicensing to ASL v2 +- Some files, particularly test files, and those not supporting comments, may be missing the ASF Licensing Header +- + +- Hibernate, an LGPL project, is being used. Hibernate is in the process of + relicensing to ASL v2 +- Some files, particularly test files, and those not supporting comments, may + be missing the ASF Licensing Header + +If you are planning to incorporate this work into your product/project, please +be aware that you will need to conduct a thorough licensing review to determine +the overall implications of including this work. For the current status of this +project through the Apache Incubator visit: +https://incubator.apache.org/projects/kie.html diff --git a/packages/jest-base/env/index.js b/packages/jest-base/env/index.js new file mode 100644 index 00000000000..61bc742bd66 --- /dev/null +++ b/packages/jest-base/env/index.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); + +module.exports = composeEnv([require("@kie-tools/root-env/env")], { + vars: varsWithName({}), + get env() { + return {}; + }, +}); diff --git a/packages/dashbuilder-component-echarts-base/jest.config.js b/packages/jest-base/jest.config.js similarity index 58% rename from packages/dashbuilder-component-echarts-base/jest.config.js rename to packages/jest-base/jest.config.js index 6240ed76eb3..1fc226d1f44 100644 --- a/packages/dashbuilder-component-echarts-base/jest.config.js +++ b/packages/jest-base/jest.config.js @@ -17,22 +17,42 @@ * under the License. */ -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, +/** @type {import('jest').Config} */ +const config = { + preset: "ts-jest", reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], moduleDirectories: ["node_modules"], moduleFileExtensions: ["js", "jsx", "ts", "tsx"], testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], +}; + +/** + * Jest setup file should be located on `tests/jest.setup.ts` + */ +const jestSetupPath = "/tests/jest.setup.ts"; + +/** + * Style mock should be located on `__mocks_/styleMock.js` + */ +const styleMock = { + "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", +}; + +/** + * Monaco mock should be located on `__mocks_/monacoMock.js` + */ +const monacoMock = { + "@kie-tools-core/monaco-editor": "/tests/__mocks__/monacoMock.js", +}; + +const babelTransform = { + "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], +}; + +module.exports = { + babelTransform, + config, + jestSetupPath, + monacoMock, + styleMock, }; diff --git a/packages/jest-base/package.json b/packages/jest-base/package.json new file mode 100644 index 00000000000..394acf00dad --- /dev/null +++ b/packages/jest-base/package.json @@ -0,0 +1,24 @@ +{ + "name": "@kie-tools/jest-base", + "version": "0.0.0", + "description": "", + "license": "Apache-2.0", + "keywords": [], + "homepage": "https://github.com/apache/incubator-kie-tools", + "repository": { + "type": "git", + "url": "https://github.com/apache/incubator-kie-tools.git" + }, + "bugs": { + "url": "https://github.com/apache/incubator-kie-tools/issues" + }, + "types": "index.d.ts", + "main": "index.js", + "files": [ + "index.js" + ], + "devDependencies": { + "@kie-tools/root-env": "workspace:*", + "jest": "^29.7.0" + } +} diff --git a/packages/json-yaml-language-service/jest.config.js b/packages/json-yaml-language-service/jest.config.js index 995eed8f0e8..c86898252b5 100644 --- a/packages/json-yaml-language-service/jest.config.js +++ b/packages/json-yaml-language-service/jest.config.js @@ -17,18 +17,13 @@ * under the License. */ +const { config, babelTransform } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", + ...config, + testEnvironment: "jsdom", transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", + ...babelTransform, }, }; diff --git a/packages/json-yaml-language-service/package.json b/packages/json-yaml-language-service/package.json index 4dd533ab1dd..0fcc3133512 100644 --- a/packages/json-yaml-language-service/package.json +++ b/packages/json-yaml-language-service/package.json @@ -38,15 +38,17 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/json-yaml-language-service/tests/__snapshots__/EditorJsonLanguageService.test.ts.snap b/packages/json-yaml-language-service/tests/__snapshots__/EditorJsonLanguageService.test.ts.snap index bcb1810ec82..0920fc58cf6 100644 --- a/packages/json-yaml-language-service/tests/__snapshots__/EditorJsonLanguageService.test.ts.snap +++ b/packages/json-yaml-language-service/tests/__snapshots__/EditorJsonLanguageService.test.ts.snap @@ -3,23 +3,23 @@ exports[`TEST LS JSON code completion empty file completion empty file with a newline after the cursor 1`] = `1`; exports[`TEST LS JSON code completion empty file completion empty file with a newline after the cursor 2`] = ` -Array [ - Object { +[ + { "detail": "Start with an empty Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Empty Serverless Workflow", "sortText": "100_Empty Serverless Workflow", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"id\\": \\"Empty code completion test\\" + "id": "Empty code completion test" }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, @@ -32,23 +32,23 @@ Array [ exports[`TEST LS JSON code completion empty file completion empty file with a newline before the cursor 1`] = `1`; exports[`TEST LS JSON code completion empty file completion empty file with a newline before the cursor 2`] = ` -Array [ - Object { +[ + { "detail": "Start with an empty Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Empty Serverless Workflow", "sortText": "100_Empty Serverless Workflow", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"id\\": \\"Empty code completion test\\" + "id": "Empty code completion test" }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, @@ -61,23 +61,23 @@ Array [ exports[`TEST LS JSON code completion empty file completion total empty file 1`] = `1`; exports[`TEST LS JSON code completion empty file completion total empty file 2`] = ` -Array [ - Object { +[ + { "detail": "Start with an empty Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Empty Serverless Workflow", "sortText": "100_Empty Serverless Workflow", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"id\\": \\"Empty code completion test\\" + "id": "Empty code completion test" }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, @@ -89,43 +89,43 @@ Array [ exports[`TEST LS JSON code completion functions completion add at the beginning of the array 1`] = `0`; -exports[`TEST LS JSON code completion functions completion add at the beginning of the array 2`] = `Array []`; +exports[`TEST LS JSON code completion functions completion add at the beginning of the array 2`] = `[]`; exports[`TEST LS JSON code completion functions completion add at the end of the array 1`] = `0`; -exports[`TEST LS JSON code completion functions completion add at the end of the array 2`] = `Array []`; +exports[`TEST LS JSON code completion functions completion add at the end of the array 2`] = `[]`; exports[`TEST LS JSON code completion functions completion add in the middle of the array / with comma at the end 1`] = `0`; -exports[`TEST LS JSON code completion functions completion add in the middle of the array / with comma at the end 2`] = `Array []`; +exports[`TEST LS JSON code completion functions completion add in the middle of the array / with comma at the end 2`] = `[]`; exports[`TEST LS JSON code completion functions completion add in the middle of the array 1`] = `0`; -exports[`TEST LS JSON code completion functions completion add in the middle of the array 2`] = `Array []`; +exports[`TEST LS JSON code completion functions completion add in the middle of the array 2`] = `[]`; exports[`TEST LS JSON code completion functions completion add into empty array 1`] = `0`; -exports[`TEST LS JSON code completion functions completion add into empty array 2`] = `Array []`; +exports[`TEST LS JSON code completion functions completion add into empty array 2`] = `[]`; exports[`TEST LS JSON code completion functions completion pointing after the array 1`] = `1`; exports[`TEST LS JSON code completion functions completion pointing after the array 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new function", "filterText": "New function completion", "insertTextFormat": 2, "kind": 8, "label": "New function completion", "sortText": "100_New function completion", - "textEdit": Object { - "newText": "\\"Function Code completed!\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""Function Code completed!"", + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, @@ -138,22 +138,22 @@ Array [ exports[`TEST LS JSON code completion functions completion pointing before the array 1`] = `1`; exports[`TEST LS JSON code completion functions completion pointing before the array 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new function", "filterText": "New function completion", "insertTextFormat": 2, "kind": 8, "label": "New function completion", "sortText": "100_New function completion", - "textEdit": Object { - "newText": "\\"Function Code completed!\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""Function Code completed!",", + "range": { + "end": { "character": 14, "line": 0, }, - "start": Object { + "start": { "character": 14, "line": 0, }, @@ -166,22 +166,22 @@ Array [ exports[`TEST LS JSON code completion functions completion pointing before the array 3`] = `1`; exports[`TEST LS JSON code completion functions completion pointing before the array 4`] = ` -Array [ - Object { +[ + { "detail": "Add a new function", "filterText": "New function completion", "insertTextFormat": 2, "kind": 8, "label": "New function completion", "sortText": "100_New function completion", - "textEdit": Object { - "newText": "\\"Function Code completed!\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""Function Code completed!",", + "range": { + "end": { "character": 15, "line": 0, }, - "start": Object { + "start": { "character": 15, "line": 0, }, @@ -193,27 +193,27 @@ Array [ exports[`TEST LS JSON code completion functions completion pointing inside an object of the array 1`] = `0`; -exports[`TEST LS JSON code completion functions completion pointing inside an object of the array 2`] = `Array []`; +exports[`TEST LS JSON code completion functions completion pointing inside an object of the array 2`] = `[]`; exports[`TEST LS JSON code completion start completion inside double quotes / with same level content after / with comma at the end 1`] = `1`; exports[`TEST LS JSON code completion start completion inside double quotes / with same level content after / with comma at the end 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new start completion", "filterText": "New start completion", "insertTextFormat": 2, "kind": 8, "label": "New start completion", "sortText": "100_New start completion", - "textEdit": Object { - "newText": "\\"Start Code completed!\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""Start Code completed!"", + "range": { + "end": { "character": 13, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, @@ -226,22 +226,22 @@ Array [ exports[`TEST LS JSON code completion start completion inside double quotes / with same level content after / with spaces and comma at the end 1`] = `1`; exports[`TEST LS JSON code completion start completion inside double quotes / with same level content after / with spaces and comma at the end 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new start completion", "filterText": "New start completion", "insertTextFormat": 2, "kind": 8, "label": "New start completion", "sortText": "100_New start completion", - "textEdit": Object { - "newText": "\\"Start Code completed!\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""Start Code completed!"", + "range": { + "end": { "character": 13, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, @@ -254,22 +254,22 @@ Array [ exports[`TEST LS JSON code completion start completion inside double quotes / with same level content after 1`] = `1`; exports[`TEST LS JSON code completion start completion inside double quotes / with same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new start completion", "filterText": "New start completion", "insertTextFormat": 2, "kind": 8, "label": "New start completion", "sortText": "100_New start completion", - "textEdit": Object { - "newText": "\\"Start Code completed!\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""Start Code completed!",", + "range": { + "end": { "character": 13, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, @@ -282,22 +282,22 @@ Array [ exports[`TEST LS JSON code completion start completion inside double quotes / without same level content after 1`] = `1`; exports[`TEST LS JSON code completion start completion inside double quotes / without same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new start completion", "filterText": "New start completion", "insertTextFormat": 2, "kind": 8, "label": "New start completion", "sortText": "100_New start completion", - "textEdit": Object { - "newText": "\\"Start Code completed!\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""Start Code completed!"", + "range": { + "end": { "character": 13, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, @@ -310,22 +310,22 @@ Array [ exports[`TEST LS JSON code completion start completion not in quotes / with same level content after 1`] = `1`; exports[`TEST LS JSON code completion start completion not in quotes / with same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new start completion", "filterText": "New start completion", "insertTextFormat": 2, "kind": 8, "label": "New start completion", "sortText": "100_New start completion", - "textEdit": Object { - "newText": "\\"Start Code completed!\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""Start Code completed!",", + "range": { + "end": { "character": 11, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, @@ -338,22 +338,22 @@ Array [ exports[`TEST LS JSON code completion start completion not in quotes / without same level content after 1`] = `1`; exports[`TEST LS JSON code completion start completion not in quotes / without same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new start completion", "filterText": "New start completion", "insertTextFormat": 2, "kind": 8, "label": "New start completion", "sortText": "100_New start completion", - "textEdit": Object { - "newText": "\\"Start Code completed!\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""Start Code completed!"", + "range": { + "end": { "character": 11, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, @@ -364,11 +364,11 @@ Array [ `; exports[`TEST LS JSON code lenses functions code lenses add function - unformatted 1`] = ` -Object { - "command": Object { - "arguments": Array [ - Object { - "newCursorPosition": Object { +{ + "command": { + "arguments": [ + { + "newCursorPosition": { "character": 14, "line": 0, }, @@ -377,12 +377,12 @@ Object { "command": "editor.ls.commands.OpenCompletionItems", "title": "+ Add function...", }, - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 0, }, - "start": Object { + "start": { "character": 13, "line": 0, }, @@ -392,35 +392,35 @@ Object { exports[`TEST LS JSON diagnostic empty file 1`] = `0`; -exports[`TEST LS JSON diagnostic empty file 2`] = `Array []`; +exports[`TEST LS JSON diagnostic empty file 2`] = `[]`; exports[`TEST LS JSON diagnostic missing property value 1`] = `2`; exports[`TEST LS JSON diagnostic missing property value 2`] = ` -Array [ - Object { - "message": "Missing property \\"type\\".", - "range": Object { - "end": Object { +[ + { + "message": "Missing property "type".", + "range": { + "end": { "character": 11, "line": 5, }, - "start": Object { + "start": { "character": 10, "line": 5, }, }, "severity": 2, }, - Object { + { "code": 516, "message": "Value expected", - "range": Object { - "end": Object { + "range": { + "end": { "character": 11, "line": 10, }, - "start": Object { + "start": { "character": 10, "line": 10, }, @@ -434,15 +434,15 @@ Array [ exports[`TEST LS JSON diagnostic missing state type 1`] = `1`; exports[`TEST LS JSON diagnostic missing state type 2`] = ` -Array [ - Object { - "message": "Missing property \\"type\\".", - "range": Object { - "end": Object { +[ + { + "message": "Missing property "type".", + "range": { + "end": { "character": 11, "line": 5, }, - "start": Object { + "start": { "character": 10, "line": 5, }, @@ -455,16 +455,16 @@ Array [ exports[`TEST LS JSON diagnostic unclosed brackets 1`] = `2`; exports[`TEST LS JSON diagnostic unclosed brackets 2`] = ` -Array [ - Object { +[ + { "code": 514, "message": "Expected comma", - "range": Object { - "end": Object { + "range": { + "end": { "character": 9, "line": 10, }, - "start": Object { + "start": { "character": 8, "line": 10, }, @@ -472,15 +472,15 @@ Array [ "severity": 1, "source": "json", }, - Object { + { "code": 517, "message": "Expected comma or closing bracket", - "range": Object { - "end": Object { + "range": { + "end": { "character": 7, "line": 11, }, - "start": Object { + "start": { "character": 6, "line": 11, }, @@ -493,20 +493,20 @@ Array [ exports[`TEST LS JSON diagnostic valid 1`] = `0`; -exports[`TEST LS JSON diagnostic valid 2`] = `Array []`; +exports[`TEST LS JSON diagnostic valid 2`] = `[]`; exports[`TEST LS JSON diagnostic wrong start state 1`] = `1`; exports[`TEST LS JSON diagnostic wrong start state 2`] = ` -Array [ - Object { +[ + { "message": "Missing 'Wrong state name' in 'states'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 3, }, - "start": Object { + "start": { "character": 17, "line": 3, }, @@ -518,15 +518,15 @@ Array [ exports[`TEST LS JSON diagnostic wrong states type 1`] = `1`; exports[`TEST LS JSON diagnostic wrong states type 2`] = ` -Array [ - Object { - "message": "Incorrect type. Expected \\"array\\".", - "range": Object { - "end": Object { +[ + { + "message": "Incorrect type. Expected "array".", + "range": { + "end": { "character": 37, "line": 3, }, - "start": Object { + "start": { "character": 18, "line": 3, }, diff --git a/packages/json-yaml-language-service/tests/__snapshots__/EditorYamlLanguageService.test.ts.snap b/packages/json-yaml-language-service/tests/__snapshots__/EditorYamlLanguageService.test.ts.snap index dbee4169d6e..300d4212872 100644 --- a/packages/json-yaml-language-service/tests/__snapshots__/EditorYamlLanguageService.test.ts.snap +++ b/packages/json-yaml-language-service/tests/__snapshots__/EditorYamlLanguageService.test.ts.snap @@ -3,21 +3,21 @@ exports[`TEST LS YAML code completion empty file completion empty file with a newline after the cursor 1`] = `1`; exports[`TEST LS YAML code completion empty file completion empty file with a newline after the cursor 2`] = ` -Array [ - Object { +[ + { "detail": "Start with an empty Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Empty Serverless Workflow", "sortText": "100_Empty Serverless Workflow", - "textEdit": Object { + "textEdit": { "newText": "id: Empty code completion test", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, @@ -30,21 +30,21 @@ Array [ exports[`TEST LS YAML code completion empty file completion empty file with a newline before the cursor 1`] = `1`; exports[`TEST LS YAML code completion empty file completion empty file with a newline before the cursor 2`] = ` -Array [ - Object { +[ + { "detail": "Start with an empty Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Empty Serverless Workflow", "sortText": "100_Empty Serverless Workflow", - "textEdit": Object { + "textEdit": { "newText": "id: Empty code completion test", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, @@ -57,21 +57,21 @@ Array [ exports[`TEST LS YAML code completion empty file completion total empty file 1`] = `1`; exports[`TEST LS YAML code completion empty file completion total empty file 2`] = ` -Array [ - Object { +[ + { "detail": "Start with an empty Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Empty Serverless Workflow", "sortText": "100_Empty Serverless Workflow", - "textEdit": Object { + "textEdit": { "newText": "id: Empty code completion test", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, @@ -84,23 +84,23 @@ Array [ exports[`TEST LS YAML code completion functions completion add at the beginning / with double extra indentation / using the code lenses 1`] = `1`; exports[`TEST LS YAML code completion functions completion add at the beginning / with double extra indentation / using the code lenses 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new function", "filterText": "New function completion", "insertTextFormat": 2, "kind": 8, "label": "New function completion", "sortText": "100_New function completion", - "textEdit": Object { + "textEdit": { "newText": "- 'Function Code completed!' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 4, "line": 1, }, - "start": Object { + "start": { "character": 4, "line": 1, }, @@ -113,23 +113,23 @@ Array [ exports[`TEST LS YAML code completion functions completion add at the beginning / with extra indentation / using the code lenses 1`] = `1`; exports[`TEST LS YAML code completion functions completion add at the beginning / with extra indentation / using the code lenses 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new function", "filterText": "New function completion", "insertTextFormat": 2, "kind": 8, "label": "New function completion", "sortText": "100_New function completion", - "textEdit": Object { + "textEdit": { "newText": "- 'Function Code completed!' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, @@ -142,22 +142,22 @@ Array [ exports[`TEST LS YAML code completion functions completion add at the beginning 1`] = `1`; exports[`TEST LS YAML code completion functions completion add at the beginning 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new function", "filterText": "New function completion", "insertTextFormat": 2, "kind": 8, "label": "New function completion", "sortText": "100_New function completion", - "textEdit": Object { + "textEdit": { "newText": "'Function Code completed!'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, @@ -170,23 +170,23 @@ Array [ exports[`TEST LS YAML code completion functions completion add at the beginning, using the code lenses 1`] = `1`; exports[`TEST LS YAML code completion functions completion add at the beginning, using the code lenses 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new function", "filterText": "New function completion", "insertTextFormat": 2, "kind": 8, "label": "New function completion", "sortText": "100_New function completion", - "textEdit": Object { + "textEdit": { "newText": "- 'Function Code completed!' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, @@ -199,22 +199,22 @@ Array [ exports[`TEST LS YAML code completion functions completion add at the end 1`] = `1`; exports[`TEST LS YAML code completion functions completion add at the end 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new function", "filterText": "New function completion", "insertTextFormat": 2, "kind": 8, "label": "New function completion", "sortText": "100_New function completion", - "textEdit": Object { + "textEdit": { "newText": "'Function Code completed!'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, @@ -226,27 +226,27 @@ Array [ exports[`TEST LS YAML code completion functions completion add in the middle / without dash character 1`] = `0`; -exports[`TEST LS YAML code completion functions completion add in the middle / without dash character 2`] = `Array []`; +exports[`TEST LS YAML code completion functions completion add in the middle / without dash character 2`] = `[]`; exports[`TEST LS YAML code completion functions completion add in the middle 1`] = `1`; exports[`TEST LS YAML code completion functions completion add in the middle 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new function", "filterText": "New function completion", "insertTextFormat": 2, "kind": 8, "label": "New function completion", "sortText": "100_New function completion", - "textEdit": Object { + "textEdit": { "newText": "'Function Code completed!'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, @@ -259,22 +259,22 @@ Array [ exports[`TEST LS YAML code completion functions completion empty completion items / with extra space 1`] = `1`; exports[`TEST LS YAML code completion functions completion empty completion items / with extra space 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new function", "filterText": "New function completion", "insertTextFormat": 2, "kind": 8, "label": "New function completion", "sortText": "100_New function completion", - "textEdit": Object { + "textEdit": { "newText": "'Function Code completed!'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, @@ -286,28 +286,28 @@ Array [ exports[`TEST LS YAML code completion functions completion empty completion items 1`] = `0`; -exports[`TEST LS YAML code completion functions completion empty completion items 2`] = `Array []`; +exports[`TEST LS YAML code completion functions completion empty completion items 2`] = `[]`; exports[`TEST LS YAML code completion start completion inside double quotes 1`] = `1`; exports[`TEST LS YAML code completion start completion inside double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new start completion", "filterText": "New start completion", "insertTextFormat": 2, "kind": 8, "label": "New start completion", "sortText": "100_New start completion", - "textEdit": Object { + "textEdit": { "newText": "- 'Start Code completed!' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 9, "line": 0, }, - "start": Object { + "start": { "character": 7, "line": 0, }, @@ -320,23 +320,23 @@ Array [ exports[`TEST LS YAML code completion start completion inside single quotes 1`] = `1`; exports[`TEST LS YAML code completion start completion inside single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new start completion", "filterText": "New start completion", "insertTextFormat": 2, "kind": 8, "label": "New start completion", "sortText": "100_New start completion", - "textEdit": Object { + "textEdit": { "newText": "- 'Start Code completed!' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 9, "line": 0, }, - "start": Object { + "start": { "character": 7, "line": 0, }, @@ -348,27 +348,27 @@ Array [ exports[`TEST LS YAML code completion start completion not in quotes / without space after property name 1`] = `0`; -exports[`TEST LS YAML code completion start completion not in quotes / without space after property name 2`] = `Array []`; +exports[`TEST LS YAML code completion start completion not in quotes / without space after property name 2`] = `[]`; exports[`TEST LS YAML code completion start completion not in quotes 1`] = `1`; exports[`TEST LS YAML code completion start completion not in quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new start completion", "filterText": "New start completion", "insertTextFormat": 2, "kind": 8, "label": "New start completion", "sortText": "100_New start completion", - "textEdit": Object { + "textEdit": { "newText": "'Start Code completed!'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 7, "line": 0, }, - "start": Object { + "start": { "character": 7, "line": 0, }, @@ -380,26 +380,26 @@ Array [ exports[`TEST LS YAML diagnostic empty file 1`] = `0`; -exports[`TEST LS YAML diagnostic empty file 2`] = `Array []`; +exports[`TEST LS YAML diagnostic empty file 2`] = `[]`; exports[`TEST LS YAML diagnostic missing state type 1`] = `1`; exports[`TEST LS YAML diagnostic missing state type 2`] = ` -Array [ - Object { +[ + { "code": 0, - "data": Object { - "schemaUri": Array [ + "data": { + "schemaUri": [ "https://serverlessworkflow.io/schemas/0.8/workflow.json", ], }, - "message": "Missing property \\"type\\".", - "range": Object { - "end": Object { + "message": "Missing property "type".", + "range": { + "end": { "character": 5, "line": 4, }, - "start": Object { + "start": { "character": 4, "line": 4, }, @@ -413,15 +413,15 @@ Array [ exports[`TEST LS YAML diagnostic using JSON format unclosed brackets 1`] = `1`; exports[`TEST LS YAML diagnostic using JSON format unclosed brackets 2`] = ` -Array [ - Object { +[ + { "message": "JS-YAML: missed comma between flow collection entries at line 13, column 1", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 12, }, - "start": Object { + "start": { "character": 0, "line": 12, }, @@ -433,20 +433,20 @@ Array [ exports[`TEST LS YAML diagnostic valid 1`] = `0`; -exports[`TEST LS YAML diagnostic valid 2`] = `Array []`; +exports[`TEST LS YAML diagnostic valid 2`] = `[]`; exports[`TEST LS YAML diagnostic wrong start state 1`] = `1`; exports[`TEST LS YAML diagnostic wrong start state 2`] = ` -Array [ - Object { +[ + { "message": "Missing 'Wrong state name' in 'states'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 23, "line": 2, }, - "start": Object { + "start": { "character": 7, "line": 2, }, @@ -458,21 +458,21 @@ Array [ exports[`TEST LS YAML diagnostic wrong states type 1`] = `1`; exports[`TEST LS YAML diagnostic wrong states type 2`] = ` -Array [ - Object { +[ + { "code": 0, - "data": Object { - "schemaUri": Array [ + "data": { + "schemaUri": [ "https://serverlessworkflow.io/schemas/0.8/workflow.json", ], }, - "message": "Incorrect type. Expected \\"array\\".", - "range": Object { - "end": Object { + "message": "Incorrect type. Expected "array".", + "range": { + "end": { "character": 25, "line": 2, }, - "start": Object { + "start": { "character": 8, "line": 2, }, @@ -484,19 +484,19 @@ Array [ `; exports[`TEST LS YAML parsing content parsing content with empty function array 1`] = ` -Object { - "children": Array [ - Object { - "children": Array [ - Object { +{ + "children": [ + { + "children": [ + { "length": 9, "offset": 4, "parent": [Circular], "type": "string", "value": "functions", }, - Object { - "children": Array [], + { + "children": [], "length": 2, "offset": 15, "parent": [Circular], @@ -508,18 +508,18 @@ Object { "offset": 4, "parent": [Circular], "type": "property", - "value": Object { + "value": { "endPosition": 17, - "errors": Array [], - "items": Array [], + "errors": [], + "items": [], "kind": 3, - "parent": Object { + "parent": { "endPosition": 17, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 13, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -528,11 +528,11 @@ Object { "value": "functions", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 17, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ + "mappings": [ [Circular], ], "parent": null, @@ -554,31 +554,31 @@ Object { `; exports[`TEST LS YAML parsing content parsing content with one state and one function 1`] = ` -Object { - "children": Array [ - Object { - "children": Array [ - Object { +{ + "children": [ + { + "children": [ + { "length": 9, "offset": 4, "parent": [Circular], "type": "string", "value": "functions", }, - Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [ - Object { + { + "children": [ + { + "children": [ + { + "children": [ + { "length": 4, "offset": 17, "parent": [Circular], "type": "string", "value": "name", }, - Object { + { "length": 6, "offset": 23, "parent": [Circular], @@ -591,18 +591,18 @@ Object { "offset": 17, "parent": [Circular], "type": "property", - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 29, - "errors": Array [], + "errors": [], "kind": 0, - "parent": Object { + "parent": { "endPosition": 29, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 21, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -611,19 +611,19 @@ Object { "value": "name", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ + "mappings": [ [Circular], - Object { + { "endPosition": 69, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 41, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -634,24 +634,24 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 32, - "value": Object { + "value": { "doubleQuoted": true, "endPosition": 69, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"./specs/myService#myFunc\\"", + "rawValue": ""./specs/myService#myFunc"", "startPosition": 43, "value": "./specs/myService#myFunc", }, }, - Object { + { "endPosition": 82, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 76, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -662,10 +662,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 72, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -675,20 +675,20 @@ Object { }, }, ], - "parent": Object { + "parent": { "endPosition": 83, - "errors": Array [], - "items": Array [ + "errors": [], + "items": [ [Circular], ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 83, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 13, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -697,44 +697,44 @@ Object { "value": "functions", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ + "mappings": [ [Circular], - Object { + { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": true, "endPosition": 91, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"states\\"", + "rawValue": ""states"", "startPosition": 83, "value": "states", }, "kind": 1, "parent": [Circular], "startPosition": 83, - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 225, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 110, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 99, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -745,10 +745,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 95, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 110, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -757,13 +757,13 @@ Object { "value": "testState", }, }, - Object { + { "endPosition": 128, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 117, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -774,10 +774,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 113, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 128, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -786,13 +786,13 @@ Object { "value": "operation", }, }, - Object { + { "endPosition": 146, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 141, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -803,10 +803,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 131, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 146, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -815,13 +815,13 @@ Object { "value": "end", }, }, - Object { + { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 156, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -832,22 +832,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 149, - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 183, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 166, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -858,10 +858,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 162, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 183, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -870,13 +870,13 @@ Object { "value": "testStateAction", }, }, - Object { + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 199, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -887,18 +887,18 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 188, - "value": Object { + "value": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 214, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -909,10 +909,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 207, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "rawValue": "", @@ -966,16 +966,16 @@ Object { "value": "myFunc", }, }, - Object { - "children": Array [ - Object { + { + "children": [ + { "length": 9, "offset": 32, "parent": [Circular], "type": "string", "value": "operation", }, - Object { + { "length": 26, "offset": 43, "parent": [Circular], @@ -988,18 +988,18 @@ Object { "offset": 32, "parent": [Circular], "type": "property", - "value": Object { + "value": { "doubleQuoted": true, "endPosition": 69, - "errors": Array [], + "errors": [], "kind": 0, - "parent": Object { + "parent": { "endPosition": 69, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 41, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1008,18 +1008,18 @@ Object { "value": "operation", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 29, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 21, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1030,10 +1030,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 17, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 29, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1043,13 +1043,13 @@ Object { }, }, [Circular], - Object { + { "endPosition": 82, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 76, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1060,10 +1060,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 72, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1073,20 +1073,20 @@ Object { }, }, ], - "parent": Object { + "parent": { "endPosition": 83, - "errors": Array [], - "items": Array [ + "errors": [], + "items": [ [Circular], ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 83, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 13, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1095,44 +1095,44 @@ Object { "value": "functions", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ + "mappings": [ [Circular], - Object { + { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": true, "endPosition": 91, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"states\\"", + "rawValue": ""states"", "startPosition": 83, "value": "states", }, "kind": 1, "parent": [Circular], "startPosition": 83, - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 225, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 110, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 99, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1143,10 +1143,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 95, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 110, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1155,13 +1155,13 @@ Object { "value": "testState", }, }, - Object { + { "endPosition": 128, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 117, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1172,10 +1172,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 113, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 128, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1184,13 +1184,13 @@ Object { "value": "operation", }, }, - Object { + { "endPosition": 146, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 141, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1201,10 +1201,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 131, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 146, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1213,13 +1213,13 @@ Object { "value": "end", }, }, - Object { + { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 156, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1230,22 +1230,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 149, - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 183, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 166, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1256,10 +1256,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 162, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 183, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1268,13 +1268,13 @@ Object { "value": "testStateAction", }, }, - Object { + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 199, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1285,18 +1285,18 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 188, - "value": Object { + "value": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 214, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1307,10 +1307,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 207, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "rawValue": "", @@ -1358,21 +1358,21 @@ Object { "startPosition": 32, "value": [Circular], }, - "rawValue": "\\"./specs/myService#myFunc\\"", + "rawValue": ""./specs/myService#myFunc"", "startPosition": 43, "value": "./specs/myService#myFunc", }, }, - Object { - "children": Array [ - Object { + { + "children": [ + { "length": 4, "offset": 72, "parent": [Circular], "type": "string", "value": "type", }, - Object { + { "length": 4, "offset": 78, "parent": [Circular], @@ -1385,18 +1385,18 @@ Object { "offset": 72, "parent": [Circular], "type": "property", - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 0, - "parent": Object { + "parent": { "endPosition": 82, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 76, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1405,18 +1405,18 @@ Object { "value": "type", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 29, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 21, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1427,10 +1427,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 17, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 29, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1439,13 +1439,13 @@ Object { "value": "myFunc", }, }, - Object { + { "endPosition": 69, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 41, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1456,33 +1456,33 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 32, - "value": Object { + "value": { "doubleQuoted": true, "endPosition": 69, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"./specs/myService#myFunc\\"", + "rawValue": ""./specs/myService#myFunc"", "startPosition": 43, "value": "./specs/myService#myFunc", }, }, [Circular], ], - "parent": Object { + "parent": { "endPosition": 83, - "errors": Array [], - "items": Array [ + "errors": [], + "items": [ [Circular], ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 83, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 13, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1491,44 +1491,44 @@ Object { "value": "functions", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ + "mappings": [ [Circular], - Object { + { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": true, "endPosition": 91, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"states\\"", + "rawValue": ""states"", "startPosition": 83, "value": "states", }, "kind": 1, "parent": [Circular], "startPosition": 83, - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 225, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 110, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 99, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1539,10 +1539,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 95, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 110, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1551,13 +1551,13 @@ Object { "value": "testState", }, }, - Object { + { "endPosition": 128, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 117, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1568,10 +1568,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 113, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 128, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1580,13 +1580,13 @@ Object { "value": "operation", }, }, - Object { + { "endPosition": 146, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 141, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1597,10 +1597,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 131, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 146, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1609,13 +1609,13 @@ Object { "value": "end", }, }, - Object { + { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 156, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1626,22 +1626,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 149, - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 183, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 166, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1652,10 +1652,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 162, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 183, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1664,13 +1664,13 @@ Object { "value": "testStateAction", }, }, - Object { + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 199, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1681,18 +1681,18 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 188, - "value": Object { + "value": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 214, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1703,10 +1703,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 207, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "rawValue": "", @@ -1779,22 +1779,22 @@ Object { "offset": 4, "parent": [Circular], "type": "property", - "value": Object { + "value": { "endPosition": 83, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 29, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 21, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1805,10 +1805,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 17, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 29, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1817,13 +1817,13 @@ Object { "value": "myFunc", }, }, - Object { + { "endPosition": 69, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 41, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1834,24 +1834,24 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 32, - "value": Object { + "value": { "doubleQuoted": true, "endPosition": 69, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"./specs/myService#myFunc\\"", + "rawValue": ""./specs/myService#myFunc"", "startPosition": 43, "value": "./specs/myService#myFunc", }, }, - Object { + { "endPosition": 82, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 76, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1862,10 +1862,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 72, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1880,13 +1880,13 @@ Object { }, ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 83, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 13, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1895,44 +1895,44 @@ Object { "value": "functions", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ + "mappings": [ [Circular], - Object { + { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": true, "endPosition": 91, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"states\\"", + "rawValue": ""states"", "startPosition": 83, "value": "states", }, "kind": 1, "parent": [Circular], "startPosition": 83, - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 225, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 110, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 99, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1943,10 +1943,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 95, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 110, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1955,13 +1955,13 @@ Object { "value": "testState", }, }, - Object { + { "endPosition": 128, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 117, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1972,10 +1972,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 113, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 128, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -1984,13 +1984,13 @@ Object { "value": "operation", }, }, - Object { + { "endPosition": 146, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 141, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2001,10 +2001,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 131, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 146, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2013,13 +2013,13 @@ Object { "value": "end", }, }, - Object { + { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 156, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2030,22 +2030,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 149, - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 183, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 166, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2056,10 +2056,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 162, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 183, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2068,13 +2068,13 @@ Object { "value": "testStateAction", }, }, - Object { + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 199, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2085,18 +2085,18 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 188, - "value": Object { + "value": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 214, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2107,10 +2107,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 207, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "rawValue": "", @@ -2154,29 +2154,29 @@ Object { "startPosition": 15, }, }, - Object { - "children": Array [ - Object { + { + "children": [ + { "length": 8, "offset": 83, "parent": [Circular], "type": "string", "value": "states", }, - Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [ - Object { + { + "children": [ + { + "children": [ + { + "children": [ + { "length": 4, "offset": 95, "parent": [Circular], "type": "string", "value": "name", }, - Object { + { "length": 9, "offset": 101, "parent": [Circular], @@ -2189,18 +2189,18 @@ Object { "offset": 95, "parent": [Circular], "type": "property", - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 110, - "errors": Array [], + "errors": [], "kind": 0, - "parent": Object { + "parent": { "endPosition": 110, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 99, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2209,19 +2209,19 @@ Object { "value": "name", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ + "mappings": [ [Circular], - Object { + { "endPosition": 128, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 117, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2232,10 +2232,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 113, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 128, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2244,13 +2244,13 @@ Object { "value": "operation", }, }, - Object { + { "endPosition": 146, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 141, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2261,10 +2261,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 131, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 146, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2273,13 +2273,13 @@ Object { "value": "end", }, }, - Object { + { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 156, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2290,22 +2290,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 149, - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 183, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 166, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2316,10 +2316,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 162, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 183, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2328,13 +2328,13 @@ Object { "value": "testStateAction", }, }, - Object { + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 199, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2345,18 +2345,18 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 188, - "value": Object { + "value": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 214, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2367,10 +2367,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 207, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "rawValue": "", @@ -2395,39 +2395,39 @@ Object { }, }, ], - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "items": Array [ + "errors": [], + "items": [ [Circular], ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": true, "endPosition": 91, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"states\\"", + "rawValue": ""states"", "startPosition": 83, "value": "states", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 83, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 13, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2438,22 +2438,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 4, - "value": Object { + "value": { "endPosition": 83, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 29, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 21, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2464,10 +2464,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 17, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 29, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2476,13 +2476,13 @@ Object { "value": "myFunc", }, }, - Object { + { "endPosition": 69, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 41, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2493,24 +2493,24 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 32, - "value": Object { + "value": { "doubleQuoted": true, "endPosition": 69, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"./specs/myService#myFunc\\"", + "rawValue": ""./specs/myService#myFunc"", "startPosition": 43, "value": "./specs/myService#myFunc", }, }, - Object { + { "endPosition": 82, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 76, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2521,10 +2521,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 72, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2564,16 +2564,16 @@ Object { "value": "testState", }, }, - Object { - "children": Array [ - Object { + { + "children": [ + { "length": 4, "offset": 113, "parent": [Circular], "type": "string", "value": "type", }, - Object { + { "length": 9, "offset": 119, "parent": [Circular], @@ -2586,18 +2586,18 @@ Object { "offset": 113, "parent": [Circular], "type": "property", - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 128, - "errors": Array [], + "errors": [], "kind": 0, - "parent": Object { + "parent": { "endPosition": 128, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 117, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2606,18 +2606,18 @@ Object { "value": "type", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 110, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 99, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2628,10 +2628,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 95, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 110, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2641,13 +2641,13 @@ Object { }, }, [Circular], - Object { + { "endPosition": 146, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 141, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2658,10 +2658,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 131, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 146, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2670,13 +2670,13 @@ Object { "value": "end", }, }, - Object { + { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 156, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2687,22 +2687,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 149, - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 183, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 166, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2713,10 +2713,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 162, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 183, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2725,13 +2725,13 @@ Object { "value": "testStateAction", }, }, - Object { + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 199, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2742,18 +2742,18 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 188, - "value": Object { + "value": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 214, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2764,10 +2764,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 207, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "rawValue": "", @@ -2792,39 +2792,39 @@ Object { }, }, ], - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "items": Array [ + "errors": [], + "items": [ [Circular], ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": true, "endPosition": 91, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"states\\"", + "rawValue": ""states"", "startPosition": 83, "value": "states", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 83, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 13, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2835,22 +2835,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 4, - "value": Object { + "value": { "endPosition": 83, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 29, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 21, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2861,10 +2861,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 17, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 29, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2873,13 +2873,13 @@ Object { "value": "myFunc", }, }, - Object { + { "endPosition": 69, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 41, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2890,24 +2890,24 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 32, - "value": Object { + "value": { "doubleQuoted": true, "endPosition": 69, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"./specs/myService#myFunc\\"", + "rawValue": ""./specs/myService#myFunc"", "startPosition": 43, "value": "./specs/myService#myFunc", }, }, - Object { + { "endPosition": 82, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 76, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2918,10 +2918,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 72, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -2961,16 +2961,16 @@ Object { "value": "operation", }, }, - Object { - "children": Array [ - Object { + { + "children": [ + { "length": 10, "offset": 131, "parent": [Circular], "type": "string", "value": "transition", }, - Object { + { "length": 3, "offset": 143, "parent": [Circular], @@ -2983,18 +2983,18 @@ Object { "offset": 131, "parent": [Circular], "type": "property", - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 146, - "errors": Array [], + "errors": [], "kind": 0, - "parent": Object { + "parent": { "endPosition": 146, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 141, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3003,18 +3003,18 @@ Object { "value": "transition", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 110, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 99, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3025,10 +3025,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 95, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 110, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3037,13 +3037,13 @@ Object { "value": "testState", }, }, - Object { + { "endPosition": 128, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 117, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3054,10 +3054,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 113, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 128, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3067,13 +3067,13 @@ Object { }, }, [Circular], - Object { + { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 156, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3084,22 +3084,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 149, - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 183, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 166, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3110,10 +3110,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 162, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 183, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3122,13 +3122,13 @@ Object { "value": "testStateAction", }, }, - Object { + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 199, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3139,18 +3139,18 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 188, - "value": Object { + "value": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 214, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3161,10 +3161,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 207, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "rawValue": "", @@ -3189,39 +3189,39 @@ Object { }, }, ], - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "items": Array [ + "errors": [], + "items": [ [Circular], ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": true, "endPosition": 91, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"states\\"", + "rawValue": ""states"", "startPosition": 83, "value": "states", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 83, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 13, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3232,22 +3232,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 4, - "value": Object { + "value": { "endPosition": 83, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 29, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 21, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3258,10 +3258,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 17, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 29, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3270,13 +3270,13 @@ Object { "value": "myFunc", }, }, - Object { + { "endPosition": 69, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 41, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3287,24 +3287,24 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 32, - "value": Object { + "value": { "doubleQuoted": true, "endPosition": 69, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"./specs/myService#myFunc\\"", + "rawValue": ""./specs/myService#myFunc"", "startPosition": 43, "value": "./specs/myService#myFunc", }, }, - Object { + { "endPosition": 82, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 76, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3315,10 +3315,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 72, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3358,29 +3358,29 @@ Object { "value": "end", }, }, - Object { - "children": Array [ - Object { + { + "children": [ + { "length": 7, "offset": 149, "parent": [Circular], "type": "string", "value": "actions", }, - Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [ - Object { + { + "children": [ + { + "children": [ + { + "children": [ + { "length": 4, "offset": 162, "parent": [Circular], "type": "string", "value": "name", }, - Object { + { "length": 15, "offset": 168, "parent": [Circular], @@ -3393,18 +3393,18 @@ Object { "offset": 162, "parent": [Circular], "type": "property", - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 183, - "errors": Array [], + "errors": [], "kind": 0, - "parent": Object { + "parent": { "endPosition": 183, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 166, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3413,19 +3413,19 @@ Object { "value": "name", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ + "mappings": [ [Circular], - Object { + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 199, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3436,18 +3436,18 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 188, - "value": Object { + "value": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 214, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3458,10 +3458,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 207, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "rawValue": "", @@ -3476,20 +3476,20 @@ Object { }, }, ], - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "items": Array [ + "errors": [], + "items": [ [Circular], ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 156, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3498,18 +3498,18 @@ Object { "value": "actions", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 110, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 99, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3520,10 +3520,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 95, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 110, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3532,13 +3532,13 @@ Object { "value": "testState", }, }, - Object { + { "endPosition": 128, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 117, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3549,10 +3549,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 113, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 128, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3561,13 +3561,13 @@ Object { "value": "operation", }, }, - Object { + { "endPosition": 146, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 141, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3578,10 +3578,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 131, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 146, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3592,39 +3592,39 @@ Object { }, [Circular], ], - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "items": Array [ + "errors": [], + "items": [ [Circular], ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": true, "endPosition": 91, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"states\\"", + "rawValue": ""states"", "startPosition": 83, "value": "states", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 83, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 13, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3635,22 +3635,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 4, - "value": Object { + "value": { "endPosition": 83, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 29, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 21, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3661,10 +3661,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 17, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 29, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3673,13 +3673,13 @@ Object { "value": "myFunc", }, }, - Object { + { "endPosition": 69, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 41, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3690,24 +3690,24 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 32, - "value": Object { + "value": { "doubleQuoted": true, "endPosition": 69, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"./specs/myService#myFunc\\"", + "rawValue": ""./specs/myService#myFunc"", "startPosition": 43, "value": "./specs/myService#myFunc", }, }, - Object { + { "endPosition": 82, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 76, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3718,10 +3718,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 72, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3768,27 +3768,27 @@ Object { "value": "testStateAction", }, }, - Object { - "children": Array [ - Object { + { + "children": [ + { "length": 11, "offset": 188, "parent": [Circular], "type": "string", "value": "functionRef", }, - Object { - "children": Array [ - Object { - "children": Array [ - Object { + { + "children": [ + { + "children": [ + { "length": 7, "offset": 207, "parent": [Circular], "type": "string", "value": "refName", }, - Object { + { "length": 8, "offset": 216, "parent": [Circular], @@ -3801,18 +3801,18 @@ Object { "offset": 207, "parent": [Circular], "type": "property", - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 0, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 214, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3821,20 +3821,20 @@ Object { "value": "refName", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ + "mappings": [ [Circular], ], - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 199, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3843,18 +3843,18 @@ Object { "value": "functionRef", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 183, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 166, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3865,10 +3865,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 162, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 183, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3879,20 +3879,20 @@ Object { }, [Circular], ], - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "items": Array [ + "errors": [], + "items": [ [Circular], ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 156, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3901,18 +3901,18 @@ Object { "value": "actions", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 110, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 99, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3923,10 +3923,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 95, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 110, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3935,13 +3935,13 @@ Object { "value": "testState", }, }, - Object { + { "endPosition": 128, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 117, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3952,10 +3952,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 113, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 128, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3964,13 +3964,13 @@ Object { "value": "operation", }, }, - Object { + { "endPosition": 146, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 141, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3981,10 +3981,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 131, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 146, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -3995,39 +3995,39 @@ Object { }, [Circular], ], - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "items": Array [ + "errors": [], + "items": [ [Circular], ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": true, "endPosition": 91, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"states\\"", + "rawValue": ""states"", "startPosition": 83, "value": "states", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 83, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 13, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4038,22 +4038,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 4, - "value": Object { + "value": { "endPosition": 83, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 29, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 21, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4064,10 +4064,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 17, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 29, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4076,13 +4076,13 @@ Object { "value": "myFunc", }, }, - Object { + { "endPosition": 69, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 41, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4093,24 +4093,24 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 32, - "value": Object { + "value": { "doubleQuoted": true, "endPosition": 69, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"./specs/myService#myFunc\\"", + "rawValue": ""./specs/myService#myFunc"", "startPosition": 43, "value": "./specs/myService#myFunc", }, }, - Object { + { "endPosition": 82, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 76, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4121,10 +4121,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 72, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4189,18 +4189,18 @@ Object { "offset": 188, "parent": [Circular], "type": "property", - "value": Object { + "value": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 214, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4211,10 +4211,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 207, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "rawValue": "", @@ -4224,13 +4224,13 @@ Object { }, }, ], - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 199, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4239,18 +4239,18 @@ Object { "value": "functionRef", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 183, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 166, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4261,10 +4261,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 162, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 183, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4275,20 +4275,20 @@ Object { }, [Circular], ], - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "items": Array [ + "errors": [], + "items": [ [Circular], ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 156, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4297,18 +4297,18 @@ Object { "value": "actions", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 110, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 99, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4319,10 +4319,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 95, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 110, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4331,13 +4331,13 @@ Object { "value": "testState", }, }, - Object { + { "endPosition": 128, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 117, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4348,10 +4348,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 113, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 128, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4360,13 +4360,13 @@ Object { "value": "operation", }, }, - Object { + { "endPosition": 146, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 141, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4377,10 +4377,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 131, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 146, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4391,39 +4391,39 @@ Object { }, [Circular], ], - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "items": Array [ + "errors": [], + "items": [ [Circular], ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": true, "endPosition": 91, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"states\\"", + "rawValue": ""states"", "startPosition": 83, "value": "states", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 83, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 13, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4434,22 +4434,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 4, - "value": Object { + "value": { "endPosition": 83, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 29, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 21, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4460,10 +4460,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 17, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 29, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4472,13 +4472,13 @@ Object { "value": "myFunc", }, }, - Object { + { "endPosition": 69, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 41, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4489,24 +4489,24 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 32, - "value": Object { + "value": { "doubleQuoted": true, "endPosition": 69, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"./specs/myService#myFunc\\"", + "rawValue": ""./specs/myService#myFunc"", "startPosition": 43, "value": "./specs/myService#myFunc", }, }, - Object { + { "endPosition": 82, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 76, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4517,10 +4517,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 72, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4583,22 +4583,22 @@ Object { "offset": 149, "parent": [Circular], "type": "property", - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 183, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 166, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4609,10 +4609,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 162, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 183, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4621,13 +4621,13 @@ Object { "value": "testStateAction", }, }, - Object { + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 199, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4638,18 +4638,18 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 188, - "value": Object { + "value": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 214, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4660,10 +4660,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 207, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "rawValue": "", @@ -4683,13 +4683,13 @@ Object { }, ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 156, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4698,18 +4698,18 @@ Object { "value": "actions", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 110, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 99, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4720,10 +4720,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 95, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 110, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4732,13 +4732,13 @@ Object { "value": "testState", }, }, - Object { + { "endPosition": 128, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 117, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4749,10 +4749,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 113, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 128, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4761,13 +4761,13 @@ Object { "value": "operation", }, }, - Object { + { "endPosition": 146, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 141, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4778,10 +4778,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 131, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 146, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4792,39 +4792,39 @@ Object { }, [Circular], ], - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "items": Array [ + "errors": [], + "items": [ [Circular], ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": true, "endPosition": 91, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"states\\"", + "rawValue": ""states"", "startPosition": 83, "value": "states", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 83, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 13, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4835,22 +4835,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 4, - "value": Object { + "value": { "endPosition": 83, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 29, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 21, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4861,10 +4861,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 17, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 29, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4873,13 +4873,13 @@ Object { "value": "myFunc", }, }, - Object { + { "endPosition": 69, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 41, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4890,24 +4890,24 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 32, - "value": Object { + "value": { "doubleQuoted": true, "endPosition": 69, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"./specs/myService#myFunc\\"", + "rawValue": ""./specs/myService#myFunc"", "startPosition": 43, "value": "./specs/myService#myFunc", }, }, - Object { + { "endPosition": 82, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 76, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4918,10 +4918,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 72, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -4977,22 +4977,22 @@ Object { "offset": 83, "parent": [Circular], "type": "property", - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 225, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 110, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 99, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5003,10 +5003,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 95, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 110, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5015,13 +5015,13 @@ Object { "value": "testState", }, }, - Object { + { "endPosition": 128, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 117, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5032,10 +5032,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 113, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 128, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5044,13 +5044,13 @@ Object { "value": "operation", }, }, - Object { + { "endPosition": 146, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 141, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5061,10 +5061,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 131, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 146, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5073,13 +5073,13 @@ Object { "value": "end", }, }, - Object { + { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 156, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5090,22 +5090,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 149, - "value": Object { + "value": { "endPosition": 225, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 183, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 166, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5116,10 +5116,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 162, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 183, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5128,13 +5128,13 @@ Object { "value": "testStateAction", }, }, - Object { + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 199, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5145,18 +5145,18 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 188, - "value": Object { + "value": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 224, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 214, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5167,10 +5167,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 207, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "rawValue": "", @@ -5200,32 +5200,32 @@ Object { }, ], "kind": 3, - "parent": Object { + "parent": { "endPosition": 225, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": true, "endPosition": 91, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"states\\"", + "rawValue": ""states"", "startPosition": 83, "value": "states", }, "kind": 1, - "parent": Object { + "parent": { "endPosition": 224, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 83, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 13, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5236,22 +5236,22 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 4, - "value": Object { + "value": { "endPosition": 83, - "errors": Array [], - "items": Array [ - Object { + "errors": [], + "items": [ + { "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 2, - "mappings": Array [ - Object { + "mappings": [ + { "endPosition": 29, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 21, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5262,10 +5262,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 17, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 29, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5274,13 +5274,13 @@ Object { "value": "myFunc", }, }, - Object { + { "endPosition": 69, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 41, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5291,24 +5291,24 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 32, - "value": Object { + "value": { "doubleQuoted": true, "endPosition": 69, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], - "rawValue": "\\"./specs/myService#myFunc\\"", + "rawValue": ""./specs/myService#myFunc"", "startPosition": 43, "value": "./specs/myService#myFunc", }, }, - Object { + { "endPosition": 82, - "errors": Array [], - "key": Object { + "errors": [], + "key": { "doubleQuoted": false, "endPosition": 76, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, @@ -5319,10 +5319,10 @@ Object { "kind": 1, "parent": [Circular], "startPosition": 72, - "value": Object { + "value": { "doubleQuoted": false, "endPosition": 82, - "errors": Array [], + "errors": [], "kind": 0, "parent": [Circular], "plainScalar": true, diff --git a/packages/k8s-yaml-to-apiserver-requests/package.json b/packages/k8s-yaml-to-apiserver-requests/package.json index 341662a5a28..0c236d9cc35 100644 --- a/packages/k8s-yaml-to-apiserver-requests/package.json +++ b/packages/k8s-yaml-to-apiserver-requests/package.json @@ -33,15 +33,11 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", "@types/js-yaml": "^4.0.5", "@types/react-router": "^5.1.20", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", "react-router": "^5.3.4", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "ts-node": "^10.9.1", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/keyboard-shortcuts/jest.config.js b/packages/keyboard-shortcuts/jest.config.js index 6240ed76eb3..d29469878e2 100644 --- a/packages/keyboard-shortcuts/jest.config.js +++ b/packages/keyboard-shortcuts/jest.config.js @@ -17,22 +17,14 @@ * under the License. */ +const { config, jestSetupPath, styleMock } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, + ...config, + testEnvironment: "jsdom", moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", + ...styleMock, }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], + setupFilesAfterEnv: [jestSetupPath], }; diff --git a/packages/keyboard-shortcuts/package.json b/packages/keyboard-shortcuts/package.json index 16081a67ade..6b9359a335c 100644 --- a/packages/keyboard-shortcuts/package.json +++ b/packages/keyboard-shortcuts/package.json @@ -32,22 +32,21 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", - "@testing-library/react-hooks": "^5.1.2", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@testing-library/jest-dom": "^6.4.6", + "@testing-library/react": "^12.1.5", + "@testing-library/react-hooks": "^8.0.1", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/react": "^17.0.6", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", - "@types/testing-library__react-hooks": "^3.4.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/keyboard-shortcuts/tsconfig.json b/packages/keyboard-shortcuts/tsconfig.json index 3855f0f523c..f9286f63878 100644 --- a/packages/keyboard-shortcuts/tsconfig.json +++ b/packages/keyboard-shortcuts/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "@kie-tools/tsconfig/tsconfig.json", "compilerOptions": { - "outDir": "dist" + "outDir": "dist", + "types": ["@testing-library/jest-dom"] }, "include": ["src"] } diff --git a/packages/kie-bc-editors/jest.config.js b/packages/kie-bc-editors/jest.config.js index 6240ed76eb3..d29469878e2 100644 --- a/packages/kie-bc-editors/jest.config.js +++ b/packages/kie-bc-editors/jest.config.js @@ -17,22 +17,14 @@ * under the License. */ +const { config, jestSetupPath, styleMock } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, + ...config, + testEnvironment: "jsdom", moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", + ...styleMock, }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], + setupFilesAfterEnv: [jestSetupPath], }; diff --git a/packages/kie-bc-editors/package.json b/packages/kie-bc-editors/package.json index e238493eac1..98f410e4b65 100644 --- a/packages/kie-bc-editors/package.json +++ b/packages/kie-bc-editors/package.json @@ -44,19 +44,20 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@testing-library/jest-dom": "^6.4.6", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/react": "^17.0.6", - "@types/testing-library__jest-dom": "^5.9.1", "copyfiles": "^2.4.1", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/kie-bc-editors/tests/GwtAppFormerApi.test.ts b/packages/kie-bc-editors/tests/GwtAppFormerApi.test.ts index 1c00c0f362b..08eb6985d7f 100644 --- a/packages/kie-bc-editors/tests/GwtAppFormerApi.test.ts +++ b/packages/kie-bc-editors/tests/GwtAppFormerApi.test.ts @@ -49,6 +49,6 @@ describe("AppFormerGwtApi", () => { }); test("get non existing editor", () => { - expect(() => appFormerGwtApi.getEditor("X")).toThrowError(); + expect(() => appFormerGwtApi.getEditor("X")).toThrow(); }); }); diff --git a/packages/kie-bc-editors/tests/gwtStateControl/GwtCommandRegistry.test.ts b/packages/kie-bc-editors/tests/gwtStateControl/GwtCommandRegistry.test.ts index f787afa4d98..566312727b5 100644 --- a/packages/kie-bc-editors/tests/gwtStateControl/GwtCommandRegistry.test.ts +++ b/packages/kie-bc-editors/tests/gwtStateControl/GwtCommandRegistry.test.ts @@ -50,26 +50,26 @@ describe("DefaultKogitoCommandRegistry", () => { test("test basic add/remove elements", () => { registry.register(COMMAND1.getId, COMMAND1); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledWith( + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledWith( expect.objectContaining({ id: "1" }) ); registry.register(COMMAND2.getId, COMMAND2); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledWith( + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledWith( expect.objectContaining({ id: "2" }) ); registry.register(COMMAND3.getId, COMMAND3); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledWith( + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledWith( expect.objectContaining({ id: "3" }) ); registry.register(COMMAND4.getId, COMMAND4); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledWith( + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledWith( expect.objectContaining({ id: "4" }) ); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledTimes(4); + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledTimes(4); expect(registry.getCommands()).toHaveLength(4); expect(registry.getCommands()).toContain(COMMAND1); @@ -106,16 +106,16 @@ describe("DefaultKogitoCommandRegistry", () => { registry.register(COMMAND1.getId, COMMAND1); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledWith( + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledWith( expect.objectContaining({ id: "1" }) ); registry.register(COMMAND2.getId, COMMAND2); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledWith( + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledWith( expect.objectContaining({ id: "2" }) ); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledTimes(2); + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledTimes(2); expect(registry.getCommands()).toHaveLength(2); expect(registry.getCommands()).toContain(COMMAND1); @@ -139,16 +139,16 @@ describe("DefaultKogitoCommandRegistry", () => { test("test basic adding elements after remove", () => { registry.register(COMMAND1.getId, COMMAND1); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledWith( + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledWith( expect.objectContaining({ id: "1" }) ); registry.register(COMMAND2.getId, COMMAND2); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledWith( + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledWith( expect.objectContaining({ id: "2" }) ); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledTimes(2); + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledTimes(2); expect(registry.getCommands()).toHaveLength(2); expect(registry.getCommands()).toContain(COMMAND1); @@ -165,7 +165,7 @@ describe("DefaultKogitoCommandRegistry", () => { registry.register(COMMAND2.getId, COMMAND2); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledTimes(2); + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledTimes(2); expect(registry.getCommands()).toHaveLength(1); expect(registry.getCommands()).toContain(COMMAND2); expect(registry.getUndoneCommands()).toHaveLength(1); @@ -174,7 +174,7 @@ describe("DefaultKogitoCommandRegistry", () => { registry.register(COMMAND1.getId, COMMAND1); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledTimes(2); + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledTimes(2); expect(registry.getCommands()).toHaveLength(2); expect(registry.getCommands()).toContain(COMMAND1); expect(registry.getCommands()).toContain(COMMAND2); @@ -182,10 +182,10 @@ describe("DefaultKogitoCommandRegistry", () => { expect(registry.isEmpty()).toBeFalsy(); registry.register(COMMAND3.getId, COMMAND3); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledWith( + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledWith( expect.objectContaining({ id: "3" }) ); - expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toBeCalledTimes(3); + expect(channelApiImpl.notifications.kogitoWorkspace_newEdit.send).toHaveBeenCalledTimes(3); expect(registry.getCommands()).toHaveLength(3); expect(registry.getCommands()).toContain(COMMAND1); expect(registry.getCommands()).toContain(COMMAND2); diff --git a/packages/kie-bc-editors/tests/gwtStateControl/GwtStateControl.test.ts b/packages/kie-bc-editors/tests/gwtStateControl/GwtStateControl.test.ts index 650c80608bb..b54c9b461de 100644 --- a/packages/kie-bc-editors/tests/gwtStateControl/GwtStateControl.test.ts +++ b/packages/kie-bc-editors/tests/gwtStateControl/GwtStateControl.test.ts @@ -48,10 +48,10 @@ describe("StateControl", () => { stateControlService.undo(); - expect(undoCommand).toBeCalled(); + expect(undoCommand).toHaveBeenCalled(); stateControlService.redo(); - expect(redoCommand).toBeCalled(); + expect(redoCommand).toHaveBeenCalled(); }); }); diff --git a/packages/kie-bc-editors/tsconfig.json b/packages/kie-bc-editors/tsconfig.json index 3855f0f523c..f9286f63878 100644 --- a/packages/kie-bc-editors/tsconfig.json +++ b/packages/kie-bc-editors/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "@kie-tools/tsconfig/tsconfig.json", "compilerOptions": { - "outDir": "dist" + "outDir": "dist", + "types": ["@testing-library/jest-dom"] }, "include": ["src"] } diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-bpmn.test.ts b/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-bpmn.test.ts index 244b03db203..c4204bbfc7a 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-bpmn.test.ts +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-bpmn.test.ts @@ -44,7 +44,7 @@ import ImplementationExecutionHelper from "./helpers/bpmn/ImplementationExecutio describe("KIE Editors End to End Test Suite - BPMN Editor", () => { const RESOURCES: string = path.resolve("e2e-tests-tmp", "resources"); - const DIST_E2E_TESTS_FOLDER: string = path.resolve("dist-e2e-tests"); + const DIST_E2E_TESTS_FOLDER: string = path.resolve("dist-tests-e2e"); const MULTIPLE_INSTANCE_BPMN: string = "MultipleInstanceSubprocess.bpmn"; const USER_TASK_BPMN: string = "UserTask.bpmn"; const WID_BPMN: string = "process-wid.bpmn"; @@ -162,9 +162,8 @@ describe("KIE Editors End to End Test Suite - BPMN Editor", () => { propertiesPanel = await propertiesPanel.expandPropertySection(PropertiesPanelSection.PROCESS_DATA); const processVariableNameInputField = await propertiesPanel.rootElement.findElement(processVariableNameInput()); - const processVariableDataTypeInputField = await propertiesPanel.rootElement.findElement( - processVariableDataTypeInput() - ); + const processVariableDataTypeInputField = + await propertiesPanel.rootElement.findElement(processVariableDataTypeInput()); await bpmnEditorTester.scrollElementIntoView(processVariableNameInputField); await processVariableDataTypeInputField.click(); const customDataTypeEditOption = await processVariableDataTypeInputField.findElement( diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-dmn.test.ts b/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-dmn.test.ts index 2d9e3873072..b7135425431 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-dmn.test.ts +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-dmn.test.ts @@ -35,7 +35,7 @@ import DecisionNavigatorHelper from "./helpers/dmn/DecisionNavigatorHelper"; */ describe("KIE Editors End to End Test Suite - DMN Editor", () => { const RESOURCES: string = path.resolve("e2e-tests-tmp", "resources"); - const DIST_E2E_TESTS_FOLDER: string = path.resolve("dist-e2e-tests"); + const DIST_E2E_TESTS_FOLDER: string = path.resolve("dist-tests-e2e"); const DEMO_DMN: string = "demo.dmn"; const DEMO_EXPRESSION_DMN: string = "demo-expression.dmn"; const REUSABLE_DMN: string = "reusable-model.dmn"; diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-scesim.test.ts b/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-scesim.test.ts index 1b885cb4237..1f6cf487e5d 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-scesim.test.ts +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-scesim.test.ts @@ -34,7 +34,7 @@ import { assert } from "chai"; */ describe("KIE Editors End to End Test Suite - SCESIM Editor", () => { const RESOURCES: string = path.resolve("e2e-tests-tmp", "resources"); - const DIST_E2E_TESTS_FOLDER: string = path.resolve("dist-e2e-tests"); + const DIST_E2E_TESTS_FOLDER: string = path.resolve("dist-tests-e2e"); const DEMO_DMN: string = "demo.dmn"; const DEMO_DMN_SCESIM: string = "demo-dmn.scesim"; diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-smoke.test.ts b/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-smoke.test.ts index 956d59730b8..c9650e55884 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-smoke.test.ts +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/extension-editors-smoke.test.ts @@ -31,7 +31,7 @@ import PmmlEditorTestHelper from "./helpers/PmmlEditorTestHelper"; */ describe("KIE Editors End to End Test Suite - Smoke tests", () => { const RESOURCES: string = path.resolve("e2e-tests-tmp", "resources"); - const DIST_E2E_TESTS_FOLDER: string = path.resolve("dist-e2e-tests"); + const DIST_E2E_TESTS_FOLDER: string = path.resolve("dist-tests-e2e"); const DEMO_BPMN: string = "demo.bpmn"; const DEMO_DMN: string = "demo.dmn"; const DEMO_SCESIM: string = "demo.scesim"; diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/helpers/PmmlEditorTestHelper.ts b/packages/kie-editors-dev-vscode-extension/e2e-tests/helpers/PmmlEditorTestHelper.ts index e85365039db..fbe666f7d50 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/helpers/PmmlEditorTestHelper.ts +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/helpers/PmmlEditorTestHelper.ts @@ -21,7 +21,10 @@ import { By, WebElement, WebView } from "vscode-extension-tester"; import { assertWebElementIsDisplayedEnabled, EditorTestHelper } from "@kie-tools/vscode-extension-common-test-helpers"; export class Modal { - constructor(readonly webview: WebElement, private closeButton: WebElement) {} + constructor( + readonly webview: WebElement, + private closeButton: WebElement + ) {} public close = () => { this.closeButton.click(); diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/helpers/bpmn/DataInputAssignment.ts b/packages/kie-editors-dev-vscode-extension/e2e-tests/helpers/bpmn/DataInputAssignment.ts index 86a3aaa93b1..e9ab5056d1e 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/helpers/bpmn/DataInputAssignment.ts +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/helpers/bpmn/DataInputAssignment.ts @@ -21,7 +21,11 @@ * Class to represent dataInputAssignment of a task. */ export default class DataInputAssignment { - constructor(private readonly name: string, private readonly dataType: string, private readonly source: string) {} + constructor( + private readonly name: string, + private readonly dataType: string, + private readonly source: string + ) {} public getName(): string { return this.name; diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/helpers/bpmn/ProcessVariable.ts b/packages/kie-editors-dev-vscode-extension/e2e-tests/helpers/bpmn/ProcessVariable.ts index 89e4e755b5f..0d46795e99b 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/helpers/bpmn/ProcessVariable.ts +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/helpers/bpmn/ProcessVariable.ts @@ -21,7 +21,10 @@ * Class to represent process variable */ export default class ProcessVariable { - constructor(private readonly name: string, private readonly dataType: string) {} + constructor( + private readonly name: string, + private readonly dataType: string + ) {} public getName(): string { return this.name; diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/MultipleInstanceSubprocess.bpmn b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/MultipleInstanceSubprocess.bpmn index 76a5b1f8def..490debfd5ac 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/MultipleInstanceSubprocess.bpmn +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/MultipleInstanceSubprocess.bpmn @@ -1,4 +1,4 @@ - + - - - - - + + + + + - + - - - - - + + + + + _16096D51-148C-4316-B4D0-B1BB4E4AF32E @@ -45,8 +77,16 @@ _EE37CBD6-7504-46C7-9862-D65495D754A4 _16096D51-148C-4316-B4D0-B1BB4E4AF32E - - + + _8347DA8F-DD89-4CD9-9D2E-38E604F06ECC_fInputX @@ -55,10 +95,22 @@ - - + + - + _46C8423D-4799-4D44-A43B-1D62E51F6705 @@ -69,33 +121,57 @@ - - + + - - + + - - + + - - - + + + - - + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/ProcessWithCollaboration.bpmn b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/ProcessWithCollaboration.bpmn index 4c7411d8d73..cd89d9ad1af 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/ProcessWithCollaboration.bpmn +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/ProcessWithCollaboration.bpmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - "Message Expression" + + "Message Expression" - - 1 + + 1 - + - - + + - + CP_ID_1 CP_ID_2 @@ -66,15 +103,39 @@ CP_ID_4 - + - + - - - - - + + + + + _DCFEEB02-32C7-4C6D-B80F-A28A6A30659A @@ -89,7 +150,7 @@ _A084E597-01C7-4A39-93F8-E0A013907265 _DCFEEB02-32C7-4C6D-B80F-A28A6A30659A - + @@ -107,70 +168,118 @@ _BAD67FC8-4FE8-476B-A42B-8B4D9ADCA1A8 - + - + _AFF90966-B994-4FC8-B883-22AE53DC6028 - + - "Data expression" + "Data expression" - 2 + 2 - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/ProcessWithGenerics.bpmn b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/ProcessWithGenerics.bpmn index 9c6c1f15d35..c6a6f61c0eb 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/ProcessWithGenerics.bpmn +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/ProcessWithGenerics.bpmn @@ -1,4 +1,4 @@ - + - - - - - - - - + + + + + + + + - + - + - + - - - - - + + + + + _ADAAAF8E-4E84-4641-8200-587B932BC5F7 - + @@ -49,7 +98,12 @@ _B441BB87-010E-4217-93C3-25428F1A063E _ADAAAF8E-4E84-4641-8200-587B932BC5F7 - + _AFC5B451-F8DB-4C4B-A535-2B584CCAF53A_m_inputInputX @@ -65,23 +119,38 @@ - - + + - - + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/SaveAssetTest.bpmn b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/SaveAssetTest.bpmn index 1a0c3f8237f..c7fdbc59901 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/SaveAssetTest.bpmn +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/SaveAssetTest.bpmn @@ -1,4 +1,4 @@ - + - - - - - - - + + + + + + + - + _2EB912A4-0FFD-4F5B-B1F2-86B7F8C298DC _599CFBD2-3AD6-49C8-B466-127B2FFF8845 - + @@ -75,51 +125,90 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/UserTask.bpmn b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/UserTask.bpmn index 92e53cdfcea..c992af957a4 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/UserTask.bpmn +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/UserTask.bpmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - - + + + _AF6D04EC-6882-40FD-9A08-1BF6FE889956 @@ -48,8 +85,18 @@ _CC119B2D-0C8D-4BA6-BD63-48547C74626D _AF6D04EC-6882-40FD-9A08-1BF6FE889956 - - + + _996661E6-1877-4A18-B7AB-E5509C6C62F3_TaskNameInputX _996661E6-1877-4A18-B7AB-E5509C6C62F3_SkippableInputX @@ -59,14 +106,18 @@ _996661E6-1877-4A18-B7AB-E5509C6C62F3_TaskNameInputX - + _996661E6-1877-4A18-B7AB-E5509C6C62F3_SkippableInputX - + @@ -76,23 +127,38 @@ - - + + - - + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo-expression.dmn b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo-expression.dmn index 1673dbed21c..635495961b8 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo-expression.dmn +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo-expression.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + "demo" @@ -29,11 +41,11 @@ - - + + - + null // auto-filled by the editor to avoid missing empty expression. @@ -46,16 +58,16 @@ - - + + input-1 - - + + - @@ -64,7 +76,7 @@ "demo" - + @@ -99,33 +111,45 @@ - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo.bpmn b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo.bpmn index 4b11cfb7857..0e84459b13c 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo.bpmn +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo.bpmn @@ -1,4 +1,4 @@ - + - - - + + + targetRef="_5608A4FB-F7C1-45D7-BDE2-FEE3299BF346" + > @@ -46,20 +58,25 @@ - + - + + bpmnElement="_DF895919-2754-40EA-91F0-A8A00984E8D5" + > - \ No newline at end of file + diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo.dmn b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo.dmn index 8f0693549b2..4328b641bc9 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo.dmn +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - - + + - + - - + + Demo text @@ -40,43 +52,61 @@ - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo.scesim b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo.scesim index f1a3e50c34b..1b87285ff13 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo.scesim +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/demo.scesim @@ -22,7 +22,7 @@ - + Index OTHER @@ -37,7 +37,7 @@ NOT_EXPRESSION - + Description OTHER @@ -52,7 +52,7 @@ NOT_EXPRESSION - + 1|1 GIVEN @@ -68,7 +68,7 @@ NOT_EXPRESSION - + 1|2 EXPECT @@ -138,7 +138,7 @@ - + 1|1 GIVEN @@ -178,6 +178,6 @@ false - + - \ No newline at end of file + diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/example.bpmn b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/example.bpmn index fd5d52acde6..089fb240d91 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/example.bpmn +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/example.bpmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -71,9 +90,24 @@ _B7E46E20-8DF5-4A5B-AB56-064165E376CA _2D745241-AC6E-448F-A14E-F109C3905873 - - - + + + _6063D302-9D81-4C86-920B-E808A45377C2_reasonInputX _6063D302-9D81-4C86-920B-E808A45377C2_SkippableInputX @@ -90,7 +124,10 @@ _6063D302-9D81-4C86-920B-E808A45377C2_SkippableInputX true - _6063D302-9D81-4C86-920B-E808A45377C2_SkippableInputX + _6063D302-9D81-4C86-920B-E808A45377C2_SkippableInputX @@ -120,7 +157,7 @@ _52C590CA-F91A-46AC-917C-C0B49AA90F53 - + @@ -132,13 +169,48 @@ _A97AA50D-38CB-40FE-B151-AEE5BDF22D42 _52C590CA-F91A-46AC-917C-C0B49AA90F53 - - - - - - - + + + + + + + @@ -148,17 +220,37 @@ _B09334B4-29CA-414A-A071-B57C08D3CBBE _A97AA50D-38CB-40FE-B151-AEE5BDF22D42 - - - - + + + + _88233779-B395-4B8C-A086-9EF43698426C_reasonInputX _88233779-B395-4B8C-A086-9EF43698426C_performanceInputX _88233779-B395-4B8C-A086-9EF43698426C_SkippableInputX _88233779-B395-4B8C-A086-9EF43698426C_GroupIdInputX - + reason @@ -172,14 +264,20 @@ _88233779-B395-4B8C-A086-9EF43698426C_GroupIdInputX - _88233779-B395-4B8C-A086-9EF43698426C_GroupIdInputX + _88233779-B395-4B8C-A086-9EF43698426C_GroupIdInputX _88233779-B395-4B8C-A086-9EF43698426C_SkippableInputX true - _88233779-B395-4B8C-A086-9EF43698426C_SkippableInputX + _88233779-B395-4B8C-A086-9EF43698426C_SkippableInputX @@ -192,17 +290,37 @@ _F9F81024-E5D9-4540-9E43-11B29F6920B0 _A2F01016-5F80-4EED-BEEF-79084949CA8A - - - - + + + + _AE5BF0DC-B720-4FDE-9499-5ED89D41FB1A_reasonInputX _AE5BF0DC-B720-4FDE-9499-5ED89D41FB1A_performanceInputX _AE5BF0DC-B720-4FDE-9499-5ED89D41FB1A_SkippableInputX _AE5BF0DC-B720-4FDE-9499-5ED89D41FB1A_GroupIdInputX - + reason @@ -216,14 +334,20 @@ _AE5BF0DC-B720-4FDE-9499-5ED89D41FB1A_GroupIdInputX - _AE5BF0DC-B720-4FDE-9499-5ED89D41FB1A_GroupIdInputX + _AE5BF0DC-B720-4FDE-9499-5ED89D41FB1A_GroupIdInputX _AE5BF0DC-B720-4FDE-9499-5ED89D41FB1A_SkippableInputX true - _AE5BF0DC-B720-4FDE-9499-5ED89D41FB1A_SkippableInputX + _AE5BF0DC-B720-4FDE-9499-5ED89D41FB1A_SkippableInputX @@ -231,60 +355,95 @@ - + - + - + - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - + - + - + - \ No newline at end of file + diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/reusable-model.dmn b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/reusable-model.dmn index 3058709dc34..f4bd1116405 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/reusable-model.dmn +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/reusable-model.dmn @@ -1,4 +1,4 @@ - + - + Additional model for included models feature testing. - + - - + + - + aNum + 1 - - + + - + aNum - 1 @@ -60,24 +72,32 @@ - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/src/main/java/org/kie/businessapp/process-wid.bpmn b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/src/main/java/org/kie/businessapp/process-wid.bpmn index 31c24b5c4ce..9ce2e5ad099 100644 --- a/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/src/main/java/org/kie/businessapp/process-wid.bpmn +++ b/packages/kie-editors-dev-vscode-extension/e2e-tests/resources/src/main/java/org/kie/businessapp/process-wid.bpmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -41,14 +86,22 @@ - + - + @@ -67,11 +120,35 @@ _294612B0-488B-483C-9347-435DA1EB184E _5FA302FB-DC3E-4130-B0EB-6EF19D0EBFE5 - - - - - + + + + + _C80D7EEB-5EC3-4EA9-A555-9F1D2C0673F7_BodyInputX _C80D7EEB-5EC3-4EA9-A555-9F1D2C0673F7_FromInputX @@ -84,12 +161,19 @@ _C80D7EEB-5EC3-4EA9-A555-9F1D2C0673F7_TaskNameInputX - + - - + + @@ -98,18 +182,63 @@ _51124C4E-DC64-4565-9C89-5453DFFC1128 _294612B0-488B-483C-9347-435DA1EB184E - - - - - - - - - + + + + + + + + + _87CD6C38-CCB7-42B0-A7A6-A20EA1E1FB70_in_customer_idInputX - _87CD6C38-CCB7-42B0-A7A6-A20EA1E1FB70_in_customer_initial_balanceInputX + _87CD6C38-CCB7-42B0-A7A6-A20EA1E1FB70_in_customer_initial_balanceInputX _87CD6C38-CCB7-42B0-A7A6-A20EA1E1FB70_in_customer_level_idInputX _87CD6C38-CCB7-42B0-A7A6-A20EA1E1FB70_in_customer_level_labelInputX _87CD6C38-CCB7-42B0-A7A6-A20EA1E1FB70_in_customer_rolesInputX @@ -118,14 +247,17 @@ _87CD6C38-CCB7-42B0-A7A6-A20EA1E1FB70_TaskNameInputX - _87CD6C38-CCB7-42B0-A7A6-A20EA1E1FB70_out_operation_successOutputX + _87CD6C38-CCB7-42B0-A7A6-A20EA1E1FB70_out_operation_successOutputX _87CD6C38-CCB7-42B0-A7A6-A20EA1E1FB70_TaskNameInputX - + @@ -135,30 +267,51 @@ - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/kie-editors-dev-vscode-extension/jest.config.js b/packages/kie-editors-dev-vscode-extension/jest.config.js deleted file mode 100644 index 388e73dbb60..00000000000 --- a/packages/kie-editors-dev-vscode-extension/jest.config.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/__tests__/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, -}; diff --git a/packages/kie-editors-dev-vscode-extension/mocha-reporter-config.json b/packages/kie-editors-dev-vscode-extension/mocha-reporter-config.json index 0e2e29573d9..cf66f3d723e 100644 --- a/packages/kie-editors-dev-vscode-extension/mocha-reporter-config.json +++ b/packages/kie-editors-dev-vscode-extension/mocha-reporter-config.json @@ -2,12 +2,12 @@ "reporterEnabled": "mocha-jenkins-reporter, mocha-junit-reporter", "mochaJenkinsReporterReporterOptions": { "junit_report_name": "@kie-tools/kie-editors-dev-vscode-extension", - "junit_report_path": "./dist-e2e-tests/junit-vscode-e2e-tests.xml", + "junit_report_path": "./dist-tests-e2e/junit-vscode-e2e-tests.xml", "junit_report_stack": 0 }, "mochaJunitReporterReporterOptions": { "testsuitesTitle": "BPMN, DMN, and SceSim :: VS Code Extension", - "mochaFile": "./dist-e2e-tests/junit-report-[hash].xml", + "mochaFile": "./dist-tests-e2e/junit-report-[hash].xml", "testCaseSwitchClassnameAndName": true, "suiteTitleSeparatedBy": ".", "useFullSuiteTitle": true diff --git a/packages/kie-editors-dev-vscode-extension/package.json b/packages/kie-editors-dev-vscode-extension/package.json index e592e7667c7..d00c51edfeb 100644 --- a/packages/kie-editors-dev-vscode-extension/package.json +++ b/packages/kie-editors-dev-vscode-extension/package.json @@ -17,17 +17,16 @@ "main": "dist/extension/extension.js", "scripts": { "build:dev": "rimraf dist && webpack --env dev", - "build:prod": "rimraf dist && pnpm lint && webpack && pnpm test && pnpm package:prod && pnpm test:e2e", + "build:prod": "rimraf dist && pnpm lint && webpack && pnpm package:prod && pnpm test-e2e", "compile": "pnpm build:dev", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", "package:prod": "vsce package --no-dependencies -o ./dist/kie_editors_dev_vscode_extension_$npm_package_version.vsix", "run:webmode": "pnpm vscode-test-web --browserType=chromium --extensionDevelopmentPath=. --version=stable", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"", - "test:e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm test:e2e:clean\" \"cpr e2e-tests/resources e2e-tests-tmp/resources\" \"tsc --project tsconfig.e2e-tests.json --skipLibCheck --sourceMap true\" \"extest setup-and-run --yarn -c max -u -e ./test-resources -o e2e-tests/settings.json out/*.test.js\"", - "test:e2e:clean": "rimraf ./dist-e2e-tests && rimraf ./test-resources && rimraf ./out && rimraf ./e2e-tests-tmp && rimraf *.vsix", - "test:e2e:clean:offline": "rimraf ./dist-e2e-tests && rimraf ./out && rimraf ./e2e-tests-tmp && rimraf *.vsix", - "test:e2e:insider": "rimraf ./test-resources && rimraf ./out && tsc --project tsconfig.e2e-tests.json --skipLibCheck --sourceMap true && extest setup-and-run --yarn -t insider -u -e ./test-resources -o e2e-tests/settings.json out/*.test.js", - "test:e2e:offline": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm test:e2e:clean:offline\" \"cpr e2e-tests/resources e2e-tests-tmp/resources\" \"tsc --project tsconfig.e2e-tests.json --skipLibCheck --sourceMap true\" \"extest setup-and-run --offline --yarn -c max -u -e ./test-resources -o e2e-tests/settings.json out/*.test.js\"", + "test-e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm test-e2e:clean\" \"cpr e2e-tests/resources e2e-tests-tmp/resources\" \"tsc --project tsconfig.e2e-tests.json --skipLibCheck --sourceMap true\" \"extest setup-and-run --yarn -c max -u -e ./test-resources -o e2e-tests/settings.json out/*.test.js\"", + "test-e2e:clean": "rimraf ./dist-tests-e2e && rimraf ./test-resources && rimraf ./out && rimraf ./e2e-tests-tmp && rimraf *.vsix", + "test-e2e:clean:offline": "rimraf ./dist-tests-e2e && rimraf ./out && rimraf ./e2e-tests-tmp && rimraf *.vsix", + "test-e2e:insider": "rimraf ./test-resources && rimraf ./out && tsc --project tsconfig.e2e-tests.json --skipLibCheck --sourceMap true && extest setup-and-run --yarn -t insider -u -e ./test-resources -o e2e-tests/settings.json out/*.test.js", + "test-e2e:offline": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm test-e2e:clean:offline\" \"cpr e2e-tests/resources e2e-tests-tmp/resources\" \"tsc --project tsconfig.e2e-tests.json --skipLibCheck --sourceMap true\" \"extest setup-and-run --offline --yarn -c max -u -e ./test-resources -o e2e-tests/settings.json out/*.test.js\"", "watch": "export WEBPACK__sourceMaps=true; WEBPACK__minimize=false; webpack --env dev" }, "dependencies": { @@ -58,8 +57,6 @@ "@kie-tools/vscode-extension-common-test-helpers": "workspace:*", "@types/chai": "^4.3.6", "@types/fs-extra": "^11.0.1", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/minimatch": "^3.0.5", "@types/mocha": "^8.2.2", "@types/vscode": "1.67.0", @@ -70,9 +67,6 @@ "copy-webpack-plugin": "^11.0.0", "cpr": "^3.0.1", "file-loader": "^6.2.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "mocha": "^9.2.0", "mocha-jenkins-reporter": "^0.4.5", "mocha-junit-reporter": "^2.0.2", @@ -80,7 +74,6 @@ "process": "^0.11.10", "rimraf": "^3.0.2", "sanitize-filename-ts": "^1.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2", "vscode-extension-tester": "5.10.0", "webpack": "^5.88.2", @@ -254,4 +247,4 @@ "vsce": { "dependencies": false } -} \ No newline at end of file +} diff --git a/packages/kie-editors-standalone/e2e-tests/cypress.config.ts b/packages/kie-editors-standalone/e2e-tests/cypress.config.ts index 8b2df7f52c9..f3cadf0fa21 100644 --- a/packages/kie-editors-standalone/e2e-tests/cypress.config.ts +++ b/packages/kie-editors-standalone/e2e-tests/cypress.config.ts @@ -21,11 +21,11 @@ import { defineConfig } from "cypress"; export default defineConfig({ fixturesFolder: "./cypress/fixtures", - screenshotsFolder: "../dist-e2e-tests/screenshots", - videosFolder: "../dist-e2e-tests/videos", + screenshotsFolder: "../dist-tests-e2e/screenshots", + videosFolder: "../dist-tests-e2e/videos", reporter: "junit", reporterOptions: { - mochaFile: "../dist-e2e-tests/junit-report-[hash].xml", + mochaFile: "../dist-tests-e2e/junit-report-[hash].xml", testsuitesTitle: "BPMN and DMN Standalone Editors", testCaseSwitchClassnameAndName: true, suiteTitleSeparatedBy: ".", diff --git a/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/Traffic Violation.dmn b/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/Traffic Violation.dmn index fd301f27424..567e74d9f1e 100644 --- a/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/Traffic Violation.dmn +++ b/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/Traffic Violation.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -65,12 +78,12 @@ - + - + - + @@ -83,8 +96,8 @@ Violation.Actual Speed - Violation.Speed Limit - - + + "speed" @@ -144,21 +157,21 @@ - + Should the driver be suspended due to points on his license? "Yes", "No" - + - + - + - + Driver.Points + Fine.Points @@ -195,54 +208,79 @@ - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/call centre drd.dmn b/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/call centre drd.dmn index 333317826fd..ebfbc0f566b 100644 --- a/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/call centre drd.dmn +++ b/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/call centre drd.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -61,49 +74,49 @@ - - - - - - + + + + + + - - + + - - + + - - + + - - + + - + - + - + - + - + office accepts the call - + incoming call @@ -111,7 +124,11 @@ - + employees[work location = office.location] @@ -124,13 +141,13 @@ - - + + - + - + @@ -148,7 +165,7 @@ true, false - + false @@ -160,7 +177,7 @@ true - + @@ -174,7 +191,7 @@ false - + @@ -188,29 +205,29 @@ false - + - - + + - + - + list contains(banned phone numbers, call.phone) - - + + - + @@ -221,8 +238,8 @@ "help", "objection" - - + + "help" @@ -231,7 +248,7 @@ true - + @@ -249,15 +266,15 @@ - - + + - - + + - - + + "+420" @@ -279,184 +296,259 @@ - + - - - - - - - - - + + + + + + + + + - + - - - + + + - - + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - - - + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/process-string.bpmn b/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/process-string.bpmn index 9ede4095f0d..33b5b8728e1 100644 --- a/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/process-string.bpmn +++ b/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/process-string.bpmn @@ -1,4 +1,4 @@ - + - - - - + + + + - + - - + + @@ -39,7 +63,11 @@ - + @@ -49,16 +77,34 @@ - - + + - - + + - + _228E7366-9427-450F-8B8A-67A52AE699AD - + _D0DD8211-3377-4D40-B4B7-CA89C5292181 @@ -81,7 +127,12 @@ _1D9B9BBB-2D5E-4AE0-B482-AFAF80B22BF7 _D0DD8211-3377-4D40-B4B7-CA89C5292181 - + _448A379A-CB17-4D92-B2B7-7EEB6D277896 _1D9B9BBB-2D5E-4AE0-B482-AFAF80B22BF7 _3F17672B-DA63-478D-95DB-433485162E12 @@ -92,44 +143,77 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/process-wid.bpmn b/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/process-wid.bpmn index 0ad18166249..39c0c1d87c8 100644 --- a/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/process-wid.bpmn +++ b/packages/kie-editors-standalone/e2e-tests/cypress/fixtures/process-wid.bpmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -39,18 +93,63 @@ _1A053C7C-BD89-447E-9FC1-9B9A88F1ED96 _A4CA7B8A-5F99-4DEE-A703-5F606FCFAA97 - - - - - - - - - + + + + + + + + + _5A0F59BB-0760-40A9-A889-528D95DEA503_in_customer_idInputX - _5A0F59BB-0760-40A9-A889-528D95DEA503_in_customer_initial_balanceInputX + _5A0F59BB-0760-40A9-A889-528D95DEA503_in_customer_initial_balanceInputX _5A0F59BB-0760-40A9-A889-528D95DEA503_in_customer_level_idInputX _5A0F59BB-0760-40A9-A889-528D95DEA503_in_customer_level_labelInputX _5A0F59BB-0760-40A9-A889-528D95DEA503_in_customer_rolesInputX @@ -59,14 +158,17 @@ _5A0F59BB-0760-40A9-A889-528D95DEA503_TaskNameInputX - _5A0F59BB-0760-40A9-A889-528D95DEA503_out_operation_successOutputX + _5A0F59BB-0760-40A9-A889-528D95DEA503_out_operation_successOutputX _5A0F59BB-0760-40A9-A889-528D95DEA503_TaskNameInputX - + @@ -79,23 +181,38 @@ - - + + - - + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/kie-editors-standalone/e2e-tests/public/index.html b/packages/kie-editors-standalone/e2e-tests/public/index.html index 483592a1d7a..37c23357b97 100644 --- a/packages/kie-editors-standalone/e2e-tests/public/index.html +++ b/packages/kie-editors-standalone/e2e-tests/public/index.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + diff --git a/packages/kie-editors-standalone/e2e-tests/src/resources/processWithWidDefinition.bpmn2 b/packages/kie-editors-standalone/e2e-tests/src/resources/processWithWidDefinition.bpmn2 index 590993b59ba..39c0c1d87c8 100644 --- a/packages/kie-editors-standalone/e2e-tests/src/resources/processWithWidDefinition.bpmn2 +++ b/packages/kie-editors-standalone/e2e-tests/src/resources/processWithWidDefinition.bpmn2 @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -39,18 +93,63 @@ _1A053C7C-BD89-447E-9FC1-9B9A88F1ED96 _A4CA7B8A-5F99-4DEE-A703-5F606FCFAA97 - - - - - - - - - + + + + + + + + + _5A0F59BB-0760-40A9-A889-528D95DEA503_in_customer_idInputX - _5A0F59BB-0760-40A9-A889-528D95DEA503_in_customer_initial_balanceInputX + _5A0F59BB-0760-40A9-A889-528D95DEA503_in_customer_initial_balanceInputX _5A0F59BB-0760-40A9-A889-528D95DEA503_in_customer_level_idInputX _5A0F59BB-0760-40A9-A889-528D95DEA503_in_customer_level_labelInputX _5A0F59BB-0760-40A9-A889-528D95DEA503_in_customer_rolesInputX @@ -59,14 +158,17 @@ _5A0F59BB-0760-40A9-A889-528D95DEA503_TaskNameInputX - _5A0F59BB-0760-40A9-A889-528D95DEA503_out_operation_successOutputX + _5A0F59BB-0760-40A9-A889-528D95DEA503_out_operation_successOutputX _5A0F59BB-0760-40A9-A889-528D95DEA503_TaskNameInputX - + @@ -79,22 +181,37 @@ - - + + - - + + - - + + - - - + + + - - - + + + diff --git a/packages/kie-editors-standalone/jest.config.js b/packages/kie-editors-standalone/jest.config.js index 279609294ee..9f9746ded4c 100644 --- a/packages/kie-editors-standalone/jest.config.js +++ b/packages/kie-editors-standalone/jest.config.js @@ -17,21 +17,10 @@ * under the License. */ +const { config } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/__tests__/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/__mocks__/styleMock.js", - }, + ...config, + testEnvironment: "jsdom", }; diff --git a/packages/kie-editors-standalone/package.json b/packages/kie-editors-standalone/package.json index 82b03dfa2e9..4b5f516c68c 100644 --- a/packages/kie-editors-standalone/package.json +++ b/packages/kie-editors-standalone/package.json @@ -21,7 +21,7 @@ "scripts": { "build:dev": "rimraf dist && webpack --env dev --config webpack.build-resources.config.js && pnpm build:preprocessor && webpack --env dev --config webpack.package-resources.config.js", "build:preprocessor": "node dist/preprocessor/preprocessor.js", - "build:prod": "pnpm lint && pnpm test && rimraf dist && webpack --config webpack.build-resources.config.js && pnpm build:preprocessor && webpack --config webpack.package-resources.config.js && pnpm test:e2e", + "build:prod": "pnpm lint && pnpm test && rimraf dist && webpack --config webpack.build-resources.config.js && pnpm build:preprocessor && webpack --config webpack.package-resources.config.js && pnpm test-e2e", "build:productization": "pnpm build:prod", "cy:open": "run-script-os", "cy:open:darwin:linux": "cypress open --project e2e-tests --config \"baseUrl=http://localhost:$(build-env standaloneEditors.dev.port)\"", @@ -30,12 +30,12 @@ "cy:run:darwin:linux": "cypress run -b chrome --project e2e-tests --config \"baseUrl=http://localhost:$(build-env standaloneEditors.dev.port)\"", "cy:run:win32": "pnpm powershell \"cypress run -b chrome --project e2e-tests --config \"baseUrl=http://localhost:$(build-env standaloneEditors.dev.port)\"\"", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", + "postreport": "jrm ./dist-tests-e2e/junit-transformed.xml \"./dist-tests-e2e/junit-report*.xml\"", "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command", - "postreport": "jrm ./dist-e2e-tests/junit-transformed.xml \"./dist-e2e-tests/junit-report*.xml\"", "start": "webpack serve --host 0.0.0.0 --config webpack.package-resources.config.js", "start:it": "webpack serve --host 0.0.0.0 --config ./e2e-tests/webpack.config.js", "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"", - "test:e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm rimraf ./dist-e2e-tests\" \"pnpm start-server-and-test start:it http-get://0.0.0.0:$(build-env standaloneEditors.dev.port) cy:run\" \"pnpm postreport\"" + "test-e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm rimraf ./dist-tests-e2e\" \"pnpm start-server-and-test start:it http-get://0.0.0.0:$(build-env standaloneEditors.dev.port) cy:run\" \"pnpm postreport\"" }, "dependencies": { "@kie-tools/kie-bc-editors": "workspace:*" @@ -53,11 +53,12 @@ "@kie-tools-core/webpack-base": "workspace:*", "@kie-tools-core/workspace": "workspace:*", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/stunner-editors": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/minimatch": "^3.0.5", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", @@ -69,9 +70,10 @@ "cypress-iframe": "^1.0.1", "cypress-log-to-output": "^1.1.2", "html-webpack-plugin": "^5.3.2", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "junit-report-merger": "^4.0.0", "minimatch": "^3.0.5", "process": "^0.11.10", @@ -82,7 +84,7 @@ "rimraf": "^3.0.2", "run-script-os": "^1.1.6", "start-server-and-test": "^2.0.3", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2", "underscore": "^1.13.1", "webpack": "^5.88.2", @@ -90,4 +92,4 @@ "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/kie-editors-standalone/resources/bpmn/index.html b/packages/kie-editors-standalone/resources/bpmn/index.html index 1a18caa874f..9927d8f5b09 100644 --- a/packages/kie-editors-standalone/resources/bpmn/index.html +++ b/packages/kie-editors-standalone/resources/bpmn/index.html @@ -19,7 +19,7 @@ - + - - + </defs> + <title> kie_icon_rgb_fullcolor_default - - - - - - - + + + + + + + diff --git a/packages/online-editor/static/images/app_logo_rgb_fullcolor_default.svg b/packages/online-editor/static/images/app_logo_rgb_fullcolor_default.svg index 28ad7d598d5..6de747dc489 100644 --- a/packages/online-editor/static/images/app_logo_rgb_fullcolor_default.svg +++ b/packages/online-editor/static/images/app_logo_rgb_fullcolor_default.svg @@ -1,6 +1,6 @@ - + - - - + + + + + + + + + + + + + + + + + diff --git a/packages/online-editor/static/images/app_logo_rgb_fullcolor_reverse.svg b/packages/online-editor/static/images/app_logo_rgb_fullcolor_reverse.svg index 2cd885c3761..84e3d508ef0 100644 --- a/packages/online-editor/static/images/app_logo_rgb_fullcolor_reverse.svg +++ b/packages/online-editor/static/images/app_logo_rgb_fullcolor_reverse.svg @@ -1,6 +1,6 @@ - + - - - + + + + + + + + + + + + + + + + + diff --git a/packages/online-editor/static/images/bitbucket-logo.svg b/packages/online-editor/static/images/bitbucket-logo.svg index 028fba7c95d..61d135076e0 100644 --- a/packages/online-editor/static/images/bitbucket-logo.svg +++ b/packages/online-editor/static/images/bitbucket-logo.svg @@ -1,5 +1,5 @@ - - - - - - - - - + + + + + + + + diff --git a/packages/online-editor/static/images/gitlab-logo.svg b/packages/online-editor/static/images/gitlab-logo.svg index 6ab4c4632f6..779b7306d68 100644 --- a/packages/online-editor/static/images/gitlab-logo.svg +++ b/packages/online-editor/static/images/gitlab-logo.svg @@ -1,5 +1,5 @@ - - - + diff --git a/packages/online-editor/static/images/kubernetes-logo.svg b/packages/online-editor/static/images/kubernetes-logo.svg index 0b086f0d4de..4a3afb2f1d1 100644 --- a/packages/online-editor/static/images/kubernetes-logo.svg +++ b/packages/online-editor/static/images/kubernetes-logo.svg @@ -1,7 +1,24 @@ - + - - - + Kubernetes logo with no border - - - - - - + + + + + + image/svg+xml - - + <type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <title> Kubernetes logo with no border - + "kubectl" is pronounced "kyoob kuttel" - - - - - - - - - + + + + + + + + + diff --git a/packages/online-editor/static/images/openshift-logo.svg b/packages/online-editor/static/images/openshift-logo.svg index 886aeab1eac..c1c97fab810 100644 --- a/packages/online-editor/static/images/openshift-logo.svg +++ b/packages/online-editor/static/images/openshift-logo.svg @@ -1,5 +1,5 @@ - - - - + + + diff --git a/packages/online-editor/static/images/vscode-alt.svg b/packages/online-editor/static/images/vscode-alt.svg index 064ec4ec7a4..8900718df2d 100644 --- a/packages/online-editor/static/images/vscode-alt.svg +++ b/packages/online-editor/static/images/vscode-alt.svg @@ -1,5 +1,5 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/online-editor/static/images/vscode.svg b/packages/online-editor/static/images/vscode.svg index e76df3697f8..40f30f17a28 100644 --- a/packages/online-editor/static/images/vscode.svg +++ b/packages/online-editor/static/images/vscode.svg @@ -1,5 +1,5 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/online-editor/static/index.html b/packages/online-editor/static/index.html index 65412fe5b7c..4931e680432 100644 --- a/packages/online-editor/static/index.html +++ b/packages/online-editor/static/index.html @@ -17,7 +17,7 @@ ~ under the License. --> - + diff --git a/packages/online-editor/static/samples/Sample.bpmn b/packages/online-editor/static/samples/Sample.bpmn index 4b1f79d97c2..99af89b305c 100644 --- a/packages/online-editor/static/samples/Sample.bpmn +++ b/packages/online-editor/static/samples/Sample.bpmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -133,43 +172,114 @@ - - - + + + - - - + + + - + - - + + - - - - - - - - + + + + + + + + - + @@ -181,7 +291,11 @@ _C500BCB4-FBE1-43A0-A7C8-5F72670CD927 _730573E5-BCD9-42BC-9AC8-AE003784831D - + @@ -192,13 +306,17 @@ System.out.println("###################################"); System.out.println("To: " + candidate); System.out.println("Subject: Congratulations you made it!"); -System.out.println("Dear " + candidate + ", we are happy to tell you that you've successfuly went trhough the hiring process. You'll find the fina Offer details in attached."); +System.out.println("Dear " + candidate + ", we are happy to tell you that you've successfully went through the hiring process. You'll find the final Offer details in attached."); System.out.println("Job Category: " + category); System.out.println("Base salary: " + salary + "$"); System.out.println("Bonus: " + bonus + "$"); System.out.println("###################################"); - + @@ -236,7 +354,11 @@ System.out.println("###################################"); _527D3164-4989-4D2C-B80B-9BA9D4C8FB89 - + @@ -249,23 +371,42 @@ System.out.println("Candidate " + candidate + " don't meet the requirements for System.out.println("###################################"); - + _5334FFDC-1FCB-47E6-8085-36DC9A3D17B9 _B7FC63DD-C08F-4CB3-A51A-79C1B8B18E6E _C6E61C53-FD35-4347-B69E-30AA93AE4404 _94172225-E124-4F14-98DA-C3D62C11254A - + _5162ABF0-DD2E-4BDC-9A46-DDCFCB010287 _C6E61C53-FD35-4347-B69E-30AA93AE4404 _59F9A0E6-7F9C-43A9-8920-5B40A91169E6 - + _C62F7EFB-A009-450A-81C7-57D36F0DF766 _B7FC63DD-C08F-4CB3-A51A-79C1B8B18E6E _B11455DE-F77A-4251-A85B-4C66636E3CD9 - + @@ -278,7 +419,11 @@ System.out.println("Interviews have been skipped after reasonable time"); System.out.println("###################################"); - + @@ -300,14 +445,54 @@ kcontext.setVariable("it_approval", false); _A76C6603-0406-423C-940B-3403948DCA1F _C62F7EFB-A009-450A-81C7-57D36F0DF766 - - - - - - - - + + + + + + + + _8962C15F-55EC-46F7-B926-5D5A1FD8D35E_TaskNameInputX _8962C15F-55EC-46F7-B926-5D5A1FD8D35E_candidateInputX @@ -325,7 +510,9 @@ kcontext.setVariable("it_approval", false); _8962C15F-55EC-46F7-B926-5D5A1FD8D35E_TaskNameInputX - + @@ -352,7 +539,9 @@ kcontext.setVariable("it_approval", false); _8962C15F-55EC-46F7-B926-5D5A1FD8D35E_SkippableInputX - + @@ -374,17 +563,72 @@ kcontext.setVariable("it_approval", false); _ACEE7578-B7D2-4EDF-B104-9ECF3DD8A383 _A76C6603-0406-423C-940B-3403948DCA1F - - - - - - - - - - - + + + + + + + + + + + _B8C4F63C-81AD-4291-9C1B-84967277EEF6_TaskNameInputX _B8C4F63C-81AD-4291-9C1B-84967277EEF6_candidateInputX @@ -405,7 +649,9 @@ kcontext.setVariable("it_approval", false); _B8C4F63C-81AD-4291-9C1B-84967277EEF6_TaskNameInputX - + @@ -432,7 +678,9 @@ kcontext.setVariable("it_approval", false); _B8C4F63C-81AD-4291-9C1B-84967277EEF6_SkippableInputX - + @@ -460,13 +708,23 @@ kcontext.setVariable("it_approval", false); _8863B46B-9B0F-40B9-AAB1-A7503CF9AA0A - + _7B41F971-C74D-4036-8A5E-EFF81C37986A PT180S - + _C500BCB4-FBE1-43A0-A7C8-5F72670CD927 PT180S @@ -475,118 +733,214 @@ kcontext.setVariable("it_approval", false); - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -594,151 +948,151 @@ kcontext.setVariable("it_approval", false); - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -748,4 +1102,4 @@ kcontext.setVariable("it_approval", false); _aqSNwAZBED210Zu9Nz4qtg _aqSNwAZBED210Zu9Nz4qtg - \ No newline at end of file + diff --git a/packages/online-editor/static/samples/Sample.dmn b/packages/online-editor/static/samples/Sample.dmn index ff68f668423..ac0e03fc7a8 100644 --- a/packages/online-editor/static/samples/Sample.dmn +++ b/packages/online-editor/static/samples/Sample.dmn @@ -1,4 +1,4 @@ - + - - + + Product_Type @@ -163,12 +176,12 @@ - - + + - - + + 0.36 @@ -176,47 +189,48 @@ - - + + - + - + - + - + - + PITI - + - (Requested Product.Amount * ((Requested Product.Rate/100)/12)) / (1-(1/(1+(Requested Product.Rate/100)/12) * -Requested Product.Term)) + (Requested Product.Amount * ((Requested Product.Rate/100)/12)) / (1-(1/(1+(Requested Product.Rate/100)/12) * -Requested Product.Term)) - + Applicant Data.Monthly.Tax - + Applicant Data.Monthly.Insurance - + Applicant Data.Monthly.Income @@ -233,49 +247,49 @@ - - + + - - - - + + + + (pmt+tax+insurance) / income - - + + - - + + - + - + - + - + DTI - + Applicant Data.Monthly.Repayments + Applicant Data.Monthly.Expenses - + Applicant Data.Monthly.Income @@ -292,10 +306,10 @@ - - + + - + @@ -303,8 +317,8 @@ Credit Score.FICO - - + + >= 750 @@ -313,7 +327,7 @@ "Excellent" - + @@ -324,7 +338,7 @@ "Good" - + @@ -335,7 +349,7 @@ "Fair" - + @@ -346,7 +360,7 @@ "Poor" - + @@ -357,22 +371,26 @@ "Bad" - + - - + + - + - + - + @@ -390,9 +408,9 @@ Front End Ratio - - - + + + "Poor", "Bad" @@ -410,7 +428,7 @@ "Credit Score too low." - + @@ -430,7 +448,7 @@ "Debt to income ratio is too high." - + @@ -450,7 +468,7 @@ "Mortgage payment to income ratio is too high." - + @@ -470,7 +488,7 @@ "Debt to income ratio is too high AND mortgage payment to income ratio is too high." - + @@ -490,29 +508,29 @@ "The borrower has been successfully prequalified for the requested loan." - + - - + + - - + + - - + + d/i - - + + 0.28 @@ -523,8 +541,8 @@ - - + + 50 120 @@ -535,7 +553,7 @@ 120 100 - + 100 @@ -551,165 +569,242 @@ 290 - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/online-editor/tests/e2e/__fixtures__/base.ts b/packages/online-editor/tests-e2e/__fixtures__/base.ts similarity index 95% rename from packages/online-editor/tests/e2e/__fixtures__/base.ts rename to packages/online-editor/tests-e2e/__fixtures__/base.ts index c2874572163..1d1e6d1adb1 100644 --- a/packages/online-editor/tests/e2e/__fixtures__/base.ts +++ b/packages/online-editor/tests-e2e/__fixtures__/base.ts @@ -26,7 +26,10 @@ type BaseFixtures = { }; class KieSandbox { - constructor(public page: Page, public baseURL?: string) { + constructor( + public page: Page, + public baseURL?: string + ) { this.page = page; } diff --git a/packages/online-editor/tests/e2e/__fixtures__/upload.ts b/packages/online-editor/tests-e2e/__fixtures__/upload.ts similarity index 100% rename from packages/online-editor/tests/e2e/__fixtures__/upload.ts rename to packages/online-editor/tests-e2e/__fixtures__/upload.ts diff --git a/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/new-file-bpmn.png b/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/new-file-bpmn.png new file mode 100644 index 00000000000..ec46dc162ca Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/new-file-bpmn.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/new-file-dmn.png b/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/new-file-dmn.png new file mode 100644 index 00000000000..fa002cd3e23 Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/new-file-dmn.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/new-file-pmml.png b/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/new-file-pmml.png new file mode 100644 index 00000000000..603407f563b Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/new-file-pmml.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/sample-bpmn.png b/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/sample-bpmn.png new file mode 100644 index 00000000000..98a58175e6f Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/sample-bpmn.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/sample-dmn.png b/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/sample-dmn.png new file mode 100644 index 00000000000..c1c7aff145d Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/sample-dmn.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/sample-pmml.png b/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/sample-pmml.png new file mode 100644 index 00000000000..3abbf8f2a23 Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/Google-Chrome/createFiles/sample-pmml.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/new-file-bpmn.png b/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/new-file-bpmn.png new file mode 100644 index 00000000000..8c47af38ee6 Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/new-file-bpmn.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/new-file-dmn.png b/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/new-file-dmn.png new file mode 100644 index 00000000000..73ec82ace70 Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/new-file-dmn.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/new-file-pmml.png b/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/new-file-pmml.png new file mode 100644 index 00000000000..fb5a20b6825 Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/new-file-pmml.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/sample-bpmn.png b/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/sample-bpmn.png new file mode 100644 index 00000000000..bca0c232987 Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/sample-bpmn.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/sample-dmn.png b/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/sample-dmn.png new file mode 100644 index 00000000000..c1c7aff145d Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/sample-dmn.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/sample-pmml.png b/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/sample-pmml.png new file mode 100644 index 00000000000..7073f6dc41d Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/chromium/createFiles/sample-pmml.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/new-file-bpmn.png b/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/new-file-bpmn.png new file mode 100644 index 00000000000..1f31607e27f Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/new-file-bpmn.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/new-file-dmn.png b/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/new-file-dmn.png new file mode 100644 index 00000000000..dd3f53b0938 Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/new-file-dmn.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/new-file-pmml.png b/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/new-file-pmml.png new file mode 100644 index 00000000000..9dc3c999f05 Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/new-file-pmml.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/sample-bpmn.png b/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/sample-bpmn.png new file mode 100644 index 00000000000..e6347b8fe27 Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/sample-bpmn.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/sample-dmn.png b/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/sample-dmn.png new file mode 100644 index 00000000000..c1c7aff145d Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/sample-dmn.png differ diff --git a/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/sample-pmml.png b/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/sample-pmml.png new file mode 100644 index 00000000000..33fe388f5c6 Binary files /dev/null and b/packages/online-editor/tests-e2e/__screenshots__/webkit/createFiles/sample-pmml.png differ diff --git a/packages/online-editor/tests/e2e/createFiles/newFile.spec.ts b/packages/online-editor/tests-e2e/createFiles/newFile.spec.ts similarity index 100% rename from packages/online-editor/tests/e2e/createFiles/newFile.spec.ts rename to packages/online-editor/tests-e2e/createFiles/newFile.spec.ts diff --git a/packages/online-editor/tests/e2e/createFiles/samples.spec.ts b/packages/online-editor/tests-e2e/createFiles/samples.spec.ts similarity index 100% rename from packages/online-editor/tests/e2e/createFiles/samples.spec.ts rename to packages/online-editor/tests-e2e/createFiles/samples.spec.ts diff --git a/packages/online-editor/tests/e2e/editorPage/dmnRunner.spec.ts b/packages/online-editor/tests-e2e/editorPage/dmnRunner.spec.ts similarity index 100% rename from packages/online-editor/tests/e2e/editorPage/dmnRunner.spec.ts rename to packages/online-editor/tests-e2e/editorPage/dmnRunner.spec.ts diff --git a/packages/online-editor/tests/e2e/files/testFolder/testScoreCard.pmml b/packages/online-editor/tests-e2e/files/testFolder/testScoreCard.pmml similarity index 100% rename from packages/online-editor/tests/e2e/files/testFolder/testScoreCard.pmml rename to packages/online-editor/tests-e2e/files/testFolder/testScoreCard.pmml diff --git a/packages/online-editor/tests/e2e/files/testModel.dmn b/packages/online-editor/tests-e2e/files/testModel.dmn similarity index 50% rename from packages/online-editor/tests/e2e/files/testModel.dmn rename to packages/online-editor/tests-e2e/files/testModel.dmn index 972d5c4b520..1b1edeb50b0 100644 --- a/packages/online-editor/tests/e2e/files/testModel.dmn +++ b/packages/online-editor/tests-e2e/files/testModel.dmn @@ -1,4 +1,4 @@ - + - + This is test model. - + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/online-editor/tests/e2e/files/testModelBroken.dmn b/packages/online-editor/tests-e2e/files/testModelBroken.dmn similarity index 50% rename from packages/online-editor/tests/e2e/files/testModelBroken.dmn rename to packages/online-editor/tests-e2e/files/testModelBroken.dmn index 2a5c2d0dade..081af7335ce 100644 --- a/packages/online-editor/tests/e2e/files/testModelBroken.dmn +++ b/packages/online-editor/tests-e2e/files/testModelBroken.dmn @@ -1,4 +1,4 @@ - + - + This is an intentionally broken test model. - + - - + + - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/online-editor/tests/e2e/files/testModelDocumentation.dmn b/packages/online-editor/tests-e2e/files/testModelDocumentation.dmn similarity index 58% rename from packages/online-editor/tests/e2e/files/testModelDocumentation.dmn rename to packages/online-editor/tests-e2e/files/testModelDocumentation.dmn index 49ab1fb12de..c2a7127ea6c 100644 --- a/packages/online-editor/tests/e2e/files/testModelDocumentation.dmn +++ b/packages/online-editor/tests-e2e/files/testModelDocumentation.dmn @@ -1,4 +1,4 @@ - + - + This is test model. - + - + What is output? Always a constant 0. - + 0 @@ -38,15 +50,19 @@ - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/online-editor/tests/e2e/files/testModelWithCustomDataType.dmn b/packages/online-editor/tests-e2e/files/testModelWithCustomDataType.dmn similarity index 62% rename from packages/online-editor/tests/e2e/files/testModelWithCustomDataType.dmn rename to packages/online-editor/tests-e2e/files/testModelWithCustomDataType.dmn index 51db319dca9..ea00e1c3a9d 100644 --- a/packages/online-editor/tests/e2e/files/testModelWithCustomDataType.dmn +++ b/packages/online-editor/tests-e2e/files/testModelWithCustomDataType.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - - + + - + - + @@ -38,9 +50,9 @@ Offered Currency - - - + + + - @@ -52,24 +64,28 @@ 10000 * Salary Coefficient(Offered Currency) - + - - + + - - + + currency - - + + "USD" @@ -78,7 +94,7 @@ 1 - + @@ -89,7 +105,7 @@ 0.85 - + @@ -118,40 +134,58 @@ - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + diff --git a/packages/online-editor/tests/e2e/files/testModelWithoutLayout.dmn b/packages/online-editor/tests-e2e/files/testModelWithoutLayout.dmn similarity index 56% rename from packages/online-editor/tests/e2e/files/testModelWithoutLayout.dmn rename to packages/online-editor/tests-e2e/files/testModelWithoutLayout.dmn index 66ca39e820a..0a759fedbda 100644 --- a/packages/online-editor/tests/e2e/files/testModelWithoutLayout.dmn +++ b/packages/online-editor/tests-e2e/files/testModelWithoutLayout.dmn @@ -1,4 +1,4 @@ - + - + This is test model without layout. - + - - + + - \ No newline at end of file + diff --git a/packages/online-editor/tests/e2e/files/testProcess.bpmn b/packages/online-editor/tests-e2e/files/testProcess.bpmn similarity index 55% rename from packages/online-editor/tests/e2e/files/testProcess.bpmn rename to packages/online-editor/tests-e2e/files/testProcess.bpmn index 1ea18556aeb..91eada836b4 100644 --- a/packages/online-editor/tests/e2e/files/testProcess.bpmn +++ b/packages/online-editor/tests-e2e/files/testProcess.bpmn @@ -1,4 +1,4 @@ - + - - + + @@ -29,9 +48,12 @@ - - + + - \ No newline at end of file + diff --git a/packages/online-editor/tests/e2e/files/testScoreCard.pmml b/packages/online-editor/tests-e2e/files/testScoreCard.pmml similarity index 100% rename from packages/online-editor/tests/e2e/files/testScoreCard.pmml rename to packages/online-editor/tests-e2e/files/testScoreCard.pmml diff --git a/packages/online-editor/tests/e2e/homePage/recentModels.spec.ts b/packages/online-editor/tests-e2e/homePage/recentModels.spec.ts similarity index 100% rename from packages/online-editor/tests/e2e/homePage/recentModels.spec.ts rename to packages/online-editor/tests-e2e/homePage/recentModels.spec.ts diff --git a/packages/online-editor/tests/e2e/importFromUrl/importFromUrl.spec.ts b/packages/online-editor/tests-e2e/importFromUrl/importFromUrl.spec.ts similarity index 100% rename from packages/online-editor/tests/e2e/importFromUrl/importFromUrl.spec.ts rename to packages/online-editor/tests-e2e/importFromUrl/importFromUrl.spec.ts diff --git a/packages/online-editor/tests/e2e/upload/upload.spec.ts b/packages/online-editor/tests-e2e/upload/upload.spec.ts similarity index 100% rename from packages/online-editor/tests/e2e/upload/upload.spec.ts rename to packages/online-editor/tests-e2e/upload/upload.spec.ts diff --git a/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/new-file-bpmn.png b/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/new-file-bpmn.png deleted file mode 100644 index 607e2119251..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/new-file-bpmn.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/new-file-dmn.png b/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/new-file-dmn.png deleted file mode 100644 index 5d0b26938a8..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/new-file-dmn.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/new-file-pmml.png b/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/new-file-pmml.png deleted file mode 100644 index be9dc4ab4db..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/new-file-pmml.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/sample-bpmn.png b/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/sample-bpmn.png deleted file mode 100644 index 056ced5816f..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/sample-bpmn.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/sample-dmn.png b/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/sample-dmn.png deleted file mode 100644 index f0ff3c99415..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/sample-dmn.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/sample-pmml.png b/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/sample-pmml.png deleted file mode 100644 index 6a340de675d..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/Google-Chrome/createFiles/sample-pmml.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/new-file-bpmn.png b/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/new-file-bpmn.png deleted file mode 100644 index 99d61bc4b41..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/new-file-bpmn.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/new-file-dmn.png b/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/new-file-dmn.png deleted file mode 100644 index 62948dc939f..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/new-file-dmn.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/new-file-pmml.png b/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/new-file-pmml.png deleted file mode 100644 index be9dc4ab4db..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/new-file-pmml.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/sample-bpmn.png b/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/sample-bpmn.png deleted file mode 100644 index 056ced5816f..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/sample-bpmn.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/sample-dmn.png b/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/sample-dmn.png deleted file mode 100644 index 33fb82658f3..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/sample-dmn.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/sample-pmml.png b/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/sample-pmml.png deleted file mode 100644 index 6a340de675d..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/chromium/createFiles/sample-pmml.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/new-file-bpmn.png b/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/new-file-bpmn.png deleted file mode 100644 index ce8d07f7231..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/new-file-bpmn.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/new-file-dmn.png b/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/new-file-dmn.png deleted file mode 100644 index 1f86c6c1fd7..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/new-file-dmn.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/new-file-pmml.png b/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/new-file-pmml.png deleted file mode 100644 index 620b7edd4ed..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/new-file-pmml.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/sample-bpmn.png b/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/sample-bpmn.png deleted file mode 100644 index 056ced5816f..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/sample-bpmn.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/sample-dmn.png b/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/sample-dmn.png deleted file mode 100644 index 39afe54d573..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/sample-dmn.png and /dev/null differ diff --git a/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/sample-pmml.png b/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/sample-pmml.png deleted file mode 100644 index 359e5543a50..00000000000 Binary files a/packages/online-editor/tests/e2e/__screenshots__/webkit/createFiles/sample-pmml.png and /dev/null differ diff --git a/packages/dashbuilder-component-echarts/tests/jest.setup.ts b/packages/online-editor/tests/jest.setup.ts similarity index 100% rename from packages/dashbuilder-component-echarts/tests/jest.setup.ts rename to packages/online-editor/tests/jest.setup.ts diff --git a/packages/online-editor/tests/unit/json/JsonParse.test.ts b/packages/online-editor/tests/json/JsonParse.test.ts similarity index 89% rename from packages/online-editor/tests/unit/json/JsonParse.test.ts rename to packages/online-editor/tests/json/JsonParse.test.ts index 2048d4de403..adecbb67288 100644 --- a/packages/online-editor/tests/unit/json/JsonParse.test.ts +++ b/packages/online-editor/tests/json/JsonParse.test.ts @@ -17,11 +17,10 @@ * under the License. */ -import { describe, it, expect } from "@jest/globals"; -import { jsonParseWithDate } from "../../../src/json/JsonParse"; +import { jsonParseWithDate } from "../../src/json/JsonParse"; describe("utils::jsonParseWithDate", () => { - it("should parse JSON strings with dates properly", () => { + test("should parse JSON strings with dates properly", () => { const myObject = { myNumber: 1, myString: "myValue", diff --git a/packages/online-editor/tests/unit/kieToolingExtendedServices/AnimatedTripleDotLabel.test.tsx b/packages/online-editor/tests/kieToolingExtendedServices/AnimatedTripleDotLabel.test.tsx similarity index 94% rename from packages/online-editor/tests/unit/kieToolingExtendedServices/AnimatedTripleDotLabel.test.tsx rename to packages/online-editor/tests/kieToolingExtendedServices/AnimatedTripleDotLabel.test.tsx index a32733331c7..4b4e9c0bfc6 100644 --- a/packages/online-editor/tests/unit/kieToolingExtendedServices/AnimatedTripleDotLabel.test.tsx +++ b/packages/online-editor/tests/kieToolingExtendedServices/AnimatedTripleDotLabel.test.tsx @@ -20,7 +20,7 @@ import * as React from "react"; import "@testing-library/jest-dom"; import { render, waitFor } from "@testing-library/react"; -import { AnimatedTripleDotLabel } from "../../../src/extendedServices/AnimatedTripleDotLabel"; +import { AnimatedTripleDotLabel } from "../../src/extendedServices/AnimatedTripleDotLabel"; describe("AnimatedTripleDotLabel", () => { test("should be valid", async () => { diff --git a/packages/online-editor/tests/unit/jest.setup.ts b/packages/online-editor/tests/unit/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/online-editor/tests/unit/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/online-editor/tsconfig.json b/packages/online-editor/tsconfig.json index 9d753faf7c2..a598e485c3d 100644 --- a/packages/online-editor/tsconfig.json +++ b/packages/online-editor/tsconfig.json @@ -7,9 +7,10 @@ "declarationMap": false, "resolveJsonModule": true, "allowSyntheticDefaultImports": true, - "target": "es6" + "target": "es6", + "types": ["@testing-library/jest-dom"] }, - "include": ["src", "tests/__tests__", "tests/unit/json"], + "include": ["src"], // Required to make Webpack TS config work. See https://github.com/webpack/webpack-cli/issues/2458#issuecomment-1157987399 "ts-node": { diff --git a/packages/operating-system/jest.config.js b/packages/operating-system/jest.config.js deleted file mode 100644 index 5927d9bb888..00000000000 --- a/packages/operating-system/jest.config.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, -}; diff --git a/packages/operating-system/package.json b/packages/operating-system/package.json index 8437c99d9c8..a5cc44b48aa 100644 --- a/packages/operating-system/package.json +++ b/packages/operating-system/package.json @@ -20,9 +20,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "devDependencies": { "@babel/core": "^7.16.0", @@ -31,13 +30,7 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/patternfly-base/package.json b/packages/patternfly-base/package.json index 8a76861827b..d2fc6efa8e8 100644 --- a/packages/patternfly-base/package.json +++ b/packages/patternfly-base/package.json @@ -29,4 +29,4 @@ "url-loader": "^4.1.1", "webpack": "^5.88.2" } -} \ No newline at end of file +} diff --git a/packages/playwright-base/env/index.js b/packages/playwright-base/env/index.js index aa985129957..eeee0430036 100644 --- a/packages/playwright-base/env/index.js +++ b/packages/playwright-base/env/index.js @@ -23,7 +23,7 @@ module.exports = composeEnv([require("@kie-tools/root-env/env")], { vars: varsWithName({ PLAYWRIGHT_BASE__installDeps: { default: "false", - description: "Install Playwright dependencies", + description: "Toggles the installation of Playwright dependencies. Can be `true` or `false`.", }, }), get env() { diff --git a/packages/playwright-base/package.json b/packages/playwright-base/package.json index 8e90f9f9c64..43027ba726c 100644 --- a/packages/playwright-base/package.json +++ b/packages/playwright-base/package.json @@ -25,4 +25,4 @@ "@playwright/test": "^1.38.1", "rimraf": "^3.0.2" } -} \ No newline at end of file +} diff --git a/packages/playwright-base/playwright.config.ts b/packages/playwright-base/playwright.config.ts index 1a66a5118c4..a5134a73aa8 100644 --- a/packages/playwright-base/playwright.config.ts +++ b/packages/playwright-base/playwright.config.ts @@ -21,8 +21,8 @@ import { devices, defineConfig } from "@playwright/test"; import { ProjectName } from "./projectNames"; export default defineConfig({ - testDir: "./tests/e2e", - outputDir: "dist-e2e-tests/output", + testDir: "./tests-e2e", + outputDir: "dist-tests-e2e/output", snapshotPathTemplate: "{testDir}/__screenshots__/{projectName}/{testFileDir}/{arg}{ext}", /* Run tests in files in parallel */ fullyParallel: true, @@ -36,11 +36,11 @@ export default defineConfig({ reporter: process.env.CI ? [ ["github"], - ["junit", { outputFile: "./dist-e2e-tests/junit-report-e2e.xml" }], - ["html", { outputFolder: "./dist-e2e-tests/reports/", open: "never" }], + ["junit", { outputFile: "./dist-tests-e2e/junit-report-e2e.xml" }], + ["html", { outputFolder: "./dist-tests-e2e/reports/", open: "never" }], ["list"], ] - : [["html", { outputFolder: "./dist-e2e-tests/reports/", open: "never" }], ["list"]], + : [["html", { outputFolder: "./dist-tests-e2e/reports/", open: "never" }], ["list"]], /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ diff --git a/packages/pmml-editor-marshaller/jest.config.js b/packages/pmml-editor-marshaller/jest.config.js index 5927d9bb888..060be79621a 100644 --- a/packages/pmml-editor-marshaller/jest.config.js +++ b/packages/pmml-editor-marshaller/jest.config.js @@ -17,21 +17,10 @@ * under the License. */ +const { config } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, + ...config, + testEnvironment: "node", }; diff --git a/packages/pmml-editor-marshaller/package.json b/packages/pmml-editor-marshaller/package.json index a56cbdb8a0a..cf36f7d3bb0 100644 --- a/packages/pmml-editor-marshaller/package.json +++ b/packages/pmml-editor-marshaller/package.json @@ -32,15 +32,16 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", + "jest": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/pmml-editor/dev-webapp/static/index.html b/packages/pmml-editor/dev-webapp/static/index.html index 854e01d5933..34d07d2a42a 100644 --- a/packages/pmml-editor/dev-webapp/static/index.html +++ b/packages/pmml-editor/dev-webapp/static/index.html @@ -17,7 +17,7 @@ ~ under the License. --> - + PMML Modeler Preview diff --git a/packages/pmml-editor/e2e-tests/cypress.config.ts b/packages/pmml-editor/e2e-tests/cypress.config.ts index 0ac75cf5861..65248ba2ce0 100644 --- a/packages/pmml-editor/e2e-tests/cypress.config.ts +++ b/packages/pmml-editor/e2e-tests/cypress.config.ts @@ -21,14 +21,14 @@ import { defineConfig } from "cypress"; export default defineConfig({ fixturesFolder: "fixtures", - screenshotsFolder: "../dist-e2e-tests/screenshots", - videosFolder: "../dist-e2e-tests/videos", + screenshotsFolder: "../dist-tests-e2e/screenshots", + videosFolder: "../dist-tests-e2e/videos", chromeWebSecurity: false, video: true, defaultCommandTimeout: 10000, reporter: "junit", reporterOptions: { - mochaFile: "../dist-e2e-tests/junit-report-[hash].xml", + mochaFile: "../dist-tests-e2e/junit-report-[hash].xml", testsuitesTitle: "PMML Editor", testCaseSwitchClassnameAndName: true, suiteTitleSeparatedBy: ".", diff --git a/packages/pmml-editor/jest.config.js b/packages/pmml-editor/jest.config.js index d48dbde121d..b827cca9a51 100644 --- a/packages/pmml-editor/jest.config.js +++ b/packages/pmml-editor/jest.config.js @@ -17,23 +17,19 @@ * under the License. */ +const { config, jestSetupPath, monacoMock, styleMock, babelTransform } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, + ...config, + testEnvironment: "jsdom", + moduleNameMapper: { + ...styleMock, + ...monacoMock, }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - "monaco-editor": "/tests/__mocks__/monacoMock.js", + ...babelTransform, }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], + transformIgnorePatterns: [], + setupFilesAfterEnv: [jestSetupPath], }; diff --git a/packages/pmml-editor/package.json b/packages/pmml-editor/package.json index 97a69024979..6140746c52a 100644 --- a/packages/pmml-editor/package.json +++ b/packages/pmml-editor/package.json @@ -27,8 +27,8 @@ "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", "start": "webpack serve -c ./dev-webapp/webpack.config.js --host 0.0.0.0 --env dev", "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"", - "test:e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm rimraf ./dist-e2e-tests\" \"pnpm start-server-and-test start http-get://0.0.0.0:$(build-env pmmlEditor.dev.port) cy:run\"", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "test-e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm rimraf ./dist-tests-e2e\" \"pnpm start-server-and-test start http-get://0.0.0.0:$(build-env pmmlEditor.dev.port) cy:run\"" }, "dependencies": { "@kie-tools-core/editor": "workspace:*", @@ -68,12 +68,13 @@ "@kie-tools-core/operating-system": "workspace:*", "@kie-tools-core/webpack-base": "workspace:*", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@testing-library/jest-dom": "^6.4.6", + "@testing-library/react": "^12.1.5", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/lodash": "^4.14.168", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", @@ -81,8 +82,6 @@ "@types/react-router": "^5.1.20", "@types/react-router-dom": "^5.3.3", "@types/react-transition-group": "^4.4.1", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", "@types/uuid": "^8.3.0", "copy-webpack-plugin": "^11.0.0", "copyfiles": "^2.4.1", @@ -92,16 +91,17 @@ "cypress-iframe": "^1.0.1", "cypress-log-to-output": "^1.1.2", "file-loader": "^6.2.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", "start-server-and-test": "^2.0.3", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/pmml-editor/src/editor/components/EditorCore/atoms/ModelTitle.scss b/packages/pmml-editor/src/editor/components/EditorCore/atoms/ModelTitle.scss index 98964875af7..5a139092966 100644 --- a/packages/pmml-editor/src/editor/components/EditorCore/atoms/ModelTitle.scss +++ b/packages/pmml-editor/src/editor/components/EditorCore/atoms/ModelTitle.scss @@ -49,8 +49,12 @@ // Ensure the border transition does not flicker with default black borders border: 1px solid #ffffff !important; - transition: margin-bottom 0.15s var(--sizeEasing), border-left 0.12s ease-in, border-right 0.12s ease-in, - border-top 0.12s ease-in, border-bottom 0.12s ease-in !important; + transition: + margin-bottom 0.15s var(--sizeEasing), + border-left 0.12s ease-in, + border-right 0.12s ease-in, + border-top 0.12s ease-in, + border-bottom 0.12s ease-in !important; &:not(.modelTitle--editing):hover { border: 1px solid var(--pf-global--BorderColor--100) !important; diff --git a/packages/pmml-editor/src/editor/components/EditorScorecard/organisms/CharacteristicsContainer.tsx b/packages/pmml-editor/src/editor/components/EditorScorecard/organisms/CharacteristicsContainer.tsx index 612ea3966d8..fcb9499a9c3 100644 --- a/packages/pmml-editor/src/editor/components/EditorScorecard/organisms/CharacteristicsContainer.tsx +++ b/packages/pmml-editor/src/editor/components/EditorScorecard/organisms/CharacteristicsContainer.tsx @@ -71,7 +71,7 @@ export const CharacteristicsContainer = (props: CharacteristicsContainerProps) = const applyFilter = () => { const _filteredCharacteristics = characteristics ?.map( - (_characteristic, index) => ({ index: index, characteristic: _characteristic } as IndexedCharacteristic) + (_characteristic, index) => ({ index: index, characteristic: _characteristic }) as IndexedCharacteristic ) .filter((ic) => { const _characteristicName = ic.characteristic.name; diff --git a/packages/pmml-editor/src/editor/components/EditorScorecard/templates/ScorecardEditorPage.scss b/packages/pmml-editor/src/editor/components/EditorScorecard/templates/ScorecardEditorPage.scss index 71a20118bdb..d3f2bfc0200 100644 --- a/packages/pmml-editor/src/editor/components/EditorScorecard/templates/ScorecardEditorPage.scss +++ b/packages/pmml-editor/src/editor/components/EditorScorecard/templates/ScorecardEditorPage.scss @@ -57,7 +57,9 @@ border: 1px solid var(--pf-global--BorderColor--100); background-color: #ffffff; margin-bottom: 1em; - transition: margin-bottom 0.15s var(--sizeEasing), border-left 0.12s ease-in; + transition: + margin-bottom 0.15s var(--sizeEasing), + border-left 0.12s ease-in; user-select: none; cursor: pointer; diff --git a/packages/pmml-editor/src/editor/validation/ValidationRegistry.ts b/packages/pmml-editor/src/editor/validation/ValidationRegistry.ts index f2a13907a29..8841fc8f25f 100644 --- a/packages/pmml-editor/src/editor/validation/ValidationRegistry.ts +++ b/packages/pmml-editor/src/editor/validation/ValidationRegistry.ts @@ -22,7 +22,10 @@ import { Path } from "../paths"; import { ValidationLevel } from "./ValidationLevel"; export class ValidationEntry { - constructor(public level: ValidationLevel, public message?: string) {} + constructor( + public level: ValidationLevel, + public message?: string + ) {} } export class ValidationRegistry { diff --git a/packages/pmml-editor/static/images/card-icon-default.svg b/packages/pmml-editor/static/images/card-icon-default.svg index 8baffaad335..96436927119 100644 --- a/packages/pmml-editor/static/images/card-icon-default.svg +++ b/packages/pmml-editor/static/images/card-icon-default.svg @@ -1,5 +1,5 @@ - - + diff --git a/packages/pmml-editor/static/images/card-icon-scorecard.svg b/packages/pmml-editor/static/images/card-icon-scorecard.svg index d5284ba1abc..00d796d873d 100644 --- a/packages/pmml-editor/static/images/card-icon-scorecard.svg +++ b/packages/pmml-editor/static/images/card-icon-scorecard.svg @@ -1,5 +1,5 @@ - - - - - - - - - - + + + + + + + + + diff --git a/packages/pmml-editor/tests/editor/PMMLEditorInterface.test.ts b/packages/pmml-editor/tests/editor/PMMLEditorInterface.test.ts index 31a0185e436..b3c889f788e 100644 --- a/packages/pmml-editor/tests/editor/PMMLEditorInterface.test.ts +++ b/packages/pmml-editor/tests/editor/PMMLEditorInterface.test.ts @@ -50,23 +50,23 @@ beforeEach(() => { describe("PMMLEditorInterface", () => { test("Mount", () => { - expect(channelApi.notifications.kogitoEditor_ready.send).toBeCalled(); + expect(channelApi.notifications.kogitoEditor_ready.send).toHaveBeenCalled(); }); test("getContent", async () => { - spyOn(editor, "getContent"); + jest.spyOn(editor, "getContent"); await editorInterface.getContent(); - expect(editor.getContent).toBeCalledTimes(1); + expect(editor.getContent).toHaveBeenCalledTimes(1); }); test("setContent", async () => { - spyOn(editor, "setContent"); + jest.spyOn(editor, "setContent").mockReturnValue(Promise.resolve()); await editorInterface.setContent("path", "content"); - expect(editor.setContent).toBeCalledTimes(1); + expect(editor.setContent).toHaveBeenCalledTimes(1); }); test("getPreview", () => { diff --git a/packages/pmml-editor/tests/editor/components/DataDictionary/DataDictionaryContainer/DataDictionaryContainer.test.tsx b/packages/pmml-editor/tests/editor/components/DataDictionary/DataDictionaryContainer/DataDictionaryContainer.test.tsx index 8a34511d102..cc2af27f417 100644 --- a/packages/pmml-editor/tests/editor/components/DataDictionary/DataDictionaryContainer/DataDictionaryContainer.test.tsx +++ b/packages/pmml-editor/tests/editor/components/DataDictionary/DataDictionaryContainer/DataDictionaryContainer.test.tsx @@ -130,7 +130,7 @@ describe("DataDictionaryContainer", () => { expect(dataField0deleteIcon).not.toBeUndefined(); fireEvent.click(dataField0deleteIcon, {}); - expect(onDeleteImpl).toBeCalledWith(0); + expect(onDeleteImpl).toHaveBeenCalledWith(0); rerender( { expect(dataField0deleteIcon).not.toBeUndefined(); fireEvent.keyDown(dataField0deleteIcon, { key: "Enter" }); - expect(onDeleteImpl).toBeCalledWith(0); + expect(onDeleteImpl).toHaveBeenCalledWith(0); rerender( { expect(characteristic0deleteIcon).not.toBeUndefined(); fireEvent.click(characteristic0deleteIcon, {}); - expect(deleteAttributeImpl).toBeCalledWith(0); + expect(deleteAttributeImpl).toHaveBeenCalledWith(0); rerender( @@ -228,7 +228,7 @@ describe("AttributesTable", () => { expect(characteristic0deleteIcon).not.toBeUndefined(); fireEvent.keyDown(characteristic0deleteIcon, { key: "Enter" }); - expect(deleteAttributeImpl).toBeCalledWith(0); + expect(deleteAttributeImpl).toHaveBeenCalledWith(0); rerender( diff --git a/packages/pmml-editor/tests/editor/components/EditorScorecard/organisms/CharacteristicsTable.test.tsx b/packages/pmml-editor/tests/editor/components/EditorScorecard/organisms/CharacteristicsTable.test.tsx index 61ddb280712..40b1170c3c6 100644 --- a/packages/pmml-editor/tests/editor/components/EditorScorecard/organisms/CharacteristicsTable.test.tsx +++ b/packages/pmml-editor/tests/editor/components/EditorScorecard/organisms/CharacteristicsTable.test.tsx @@ -178,7 +178,7 @@ describe("CharacteristicsTable", () => { expect(characteristic0deleteIcon).not.toBeUndefined(); fireEvent.click(characteristic0deleteIcon, {}); - expect(deleteCharacteristicImpl).toBeCalledWith(0); + expect(deleteCharacteristicImpl).toHaveBeenCalledWith(0); rerender( @@ -282,7 +282,7 @@ describe("CharacteristicsTable", () => { expect(characteristic0deleteIcon).not.toBeUndefined(); fireEvent.keyDown(characteristic0deleteIcon, { key: "Enter" }); - expect(deleteCharacteristicImpl).toBeCalledWith(0); + expect(deleteCharacteristicImpl).toHaveBeenCalledWith(0); rerender( diff --git a/packages/pmml-editor/tests/editor/components/EditorScorecard/organisms/CorePropertiesTable.test.tsx b/packages/pmml-editor/tests/editor/components/EditorScorecard/organisms/CorePropertiesTable.test.tsx index db5db29052c..094e47299c1 100644 --- a/packages/pmml-editor/tests/editor/components/EditorScorecard/organisms/CorePropertiesTable.test.tsx +++ b/packages/pmml-editor/tests/editor/components/EditorScorecard/organisms/CorePropertiesTable.test.tsx @@ -125,7 +125,7 @@ describe("CorePropertiesTable", () => { const isScorable = getByTestId("core-properties-table-isScorable"); isScorable.click(); - expect(commit).toBeCalledTimes(1); + expect(commit).toHaveBeenCalledTimes(1); const args: CoreProperties[] = commit.mock.calls[0]; expect(args.length).toEqual(1); expect(args[0].isScorable).toBeFalsy(); @@ -166,7 +166,7 @@ describe("CorePropertiesTable", () => { const useReasonCodes = getByTestId("core-properties-table-useReasonCodes"); useReasonCodes.click(); - expect(commit).toBeCalledTimes(1); + expect(commit).toHaveBeenCalledTimes(1); const args: CoreProperties[] = commit.mock.calls[0]; expect(args.length).toEqual(1); expect(args[0].areReasonCodesUsed).toBeFalsy(); @@ -208,7 +208,7 @@ describe("CorePropertiesTable", () => { fireEvent.change(algorithmName, { target: { value: "" } }); fireEvent.blur(algorithmName); - expect(commit).toBeCalledTimes(1); + expect(commit).toHaveBeenCalledTimes(1); const args: CoreProperties[] = commit.mock.calls[0]; expect(args.length).toEqual(1); expect(args[0].algorithmName).toBeUndefined(); diff --git a/packages/pmml-editor/tests/editor/components/LandingPage/molecules/LandingPageToolbar.test.tsx b/packages/pmml-editor/tests/editor/components/LandingPage/molecules/LandingPageToolbar.test.tsx index c70d5b4323f..519652f7f15 100644 --- a/packages/pmml-editor/tests/editor/components/LandingPage/molecules/LandingPageToolbar.test.tsx +++ b/packages/pmml-editor/tests/editor/components/LandingPage/molecules/LandingPageToolbar.test.tsx @@ -85,7 +85,7 @@ describe("LandingPageToolbar", () => { fireEvent.change(input, { target: { value: "filter" } }); submit.click(); - expect(setFilter).toBeCalledWith("filter"); + expect(setFilter).toHaveBeenCalledWith("filter"); }); test("render::setShowUnsupportedModels", () => { @@ -104,6 +104,6 @@ describe("LandingPageToolbar", () => { fireEvent.click(input); - expect(setShowUnsupportedModels).toBeCalledWith(false, expect.any(Object)); + expect(setShowUnsupportedModels).toHaveBeenCalledWith(false, expect.any(Object)); }); }); diff --git a/packages/pmml-editor/tests/editor/components/LandingPage/molecules/ModelCard.test.tsx b/packages/pmml-editor/tests/editor/components/LandingPage/molecules/ModelCard.test.tsx index 9fa60567567..78249bdcadc 100644 --- a/packages/pmml-editor/tests/editor/components/LandingPage/molecules/ModelCard.test.tsx +++ b/packages/pmml-editor/tests/editor/components/LandingPage/molecules/ModelCard.test.tsx @@ -48,9 +48,9 @@ describe("ModelCard", () => { expect(element).toBeInstanceOf(HTMLButtonElement); (element as HTMLButtonElement).click(); - expect(onDelete).toBeCalledTimes(1); - expect(onDelete).toBeCalledWith(0); - expect(onClick).not.toBeCalled(); + expect(onDelete).toHaveBeenCalledTimes(1); + expect(onDelete).toHaveBeenCalledWith(0); + expect(onClick).not.toHaveBeenCalled(); }); test("Click::click", () => { @@ -65,8 +65,8 @@ describe("ModelCard", () => { expect(element).toBeInstanceOf(HTMLElement); (element as HTMLElement).click(); - expect(onClick).toBeCalledTimes(1); - expect(onClick).toBeCalledWith(0); - expect(onDelete).not.toBeCalled(); + expect(onClick).toHaveBeenCalledTimes(1); + expect(onClick).toHaveBeenCalledWith(0); + expect(onDelete).not.toHaveBeenCalled(); }); }); diff --git a/packages/pmml-editor/tests/editor/components/LandingPage/organisms/EmptyStateNoModels.test.tsx b/packages/pmml-editor/tests/editor/components/LandingPage/organisms/EmptyStateNoModels.test.tsx index df3a10baf18..4587ecb0036 100644 --- a/packages/pmml-editor/tests/editor/components/LandingPage/organisms/EmptyStateNoModels.test.tsx +++ b/packages/pmml-editor/tests/editor/components/LandingPage/organisms/EmptyStateNoModels.test.tsx @@ -36,6 +36,6 @@ describe("EmptyStateNoModels", () => { expect(element).toBeInstanceOf(HTMLButtonElement); (element as HTMLButtonElement).click(); - expect(createModel).toBeCalledTimes(1); + expect(createModel).toHaveBeenCalledTimes(1); }); }); diff --git a/packages/pmml-editor/tests/editor/components/LandingPage/templates/LandingPage.test.tsx b/packages/pmml-editor/tests/editor/components/LandingPage/templates/LandingPage.test.tsx index 7d94c133cd3..ab40ea156c7 100644 --- a/packages/pmml-editor/tests/editor/components/LandingPage/templates/LandingPage.test.tsx +++ b/packages/pmml-editor/tests/editor/components/LandingPage/templates/LandingPage.test.tsx @@ -68,7 +68,7 @@ describe("LandingPage", () => { ); expect(getByTestId("landing-page")).toMatchSnapshot(); expect(getAllByTestId("landing-page__model-card").length).toBe(1); - expect(() => getAllByTestId("landing-page-toolbar__supported-models")).toThrowError( + expect(() => getAllByTestId("landing-page-toolbar__supported-models")).toThrow( 'Unable to find an element by: [data-testid="landing-page-toolbar__supported-models"]' ); }); diff --git a/packages/pmml-editor/tests/editor/components/MiningSchema/MiningSchemaContainer/MiningSchemaContainer.test.tsx b/packages/pmml-editor/tests/editor/components/MiningSchema/MiningSchemaContainer/MiningSchemaContainer.test.tsx index 218444e7a1d..53788a8b6df 100644 --- a/packages/pmml-editor/tests/editor/components/MiningSchema/MiningSchemaContainer/MiningSchemaContainer.test.tsx +++ b/packages/pmml-editor/tests/editor/components/MiningSchema/MiningSchemaContainer/MiningSchemaContainer.test.tsx @@ -138,7 +138,7 @@ describe("MiningSchemaContainer", () => { expect(miningField0deleteIcon).not.toBeUndefined(); fireEvent.click(miningField0deleteIcon, {}); - expect(onDeleteFieldImpl).toBeCalledWith(0); + expect(onDeleteFieldImpl).toHaveBeenCalledWith(0); rerender( @@ -197,7 +197,7 @@ describe("MiningSchemaContainer", () => { expect(miningField0deleteIcon).not.toBeUndefined(); fireEvent.keyDown(miningField0deleteIcon, { key: "Enter" }); - expect(onDeleteFieldImpl).toBeCalledWith(0); + expect(onDeleteFieldImpl).toHaveBeenCalledWith(0); rerender( diff --git a/packages/pmml-editor/tests/editor/components/Outputs/organisms/OutputFieldsTable/OutputFieldsTable.test.tsx b/packages/pmml-editor/tests/editor/components/Outputs/organisms/OutputFieldsTable/OutputFieldsTable.test.tsx index 13cfbbcb081..17454822abe 100644 --- a/packages/pmml-editor/tests/editor/components/Outputs/organisms/OutputFieldsTable/OutputFieldsTable.test.tsx +++ b/packages/pmml-editor/tests/editor/components/Outputs/organisms/OutputFieldsTable/OutputFieldsTable.test.tsx @@ -147,7 +147,7 @@ describe("OutputFieldsTable", () => { expect(outputField0deleteIcon).not.toBeUndefined(); fireEvent.click(outputField0deleteIcon, {}); - expect(onDeleteOutputFieldImpl).toBeCalledWith(0); + expect(onDeleteOutputFieldImpl).toHaveBeenCalledWith(0); rerender( { expect(outputField0deleteIcon).not.toBeUndefined(); fireEvent.keyDown(outputField0deleteIcon, { key: "Enter" }); - expect(onDeleteOutputFieldImpl).toBeCalledWith(0); + expect(onDeleteOutputFieldImpl).toHaveBeenCalledWith(0); rerender( { const updated: PMML = service.commit(pmml) as PMML; expect(updated).not.toStrictEqual(pmml); - expect(validator).toBeCalled(); + expect(validator).toHaveBeenCalled(); }); }); diff --git a/packages/pmml-editor/tests/editor/reducers/DelegatingModelReducer.test.ts b/packages/pmml-editor/tests/editor/reducers/DelegatingModelReducer.test.ts index 0ccbef71050..3468edd09ce 100644 --- a/packages/pmml-editor/tests/editor/reducers/DelegatingModelReducer.test.ts +++ b/packages/pmml-editor/tests/editor/reducers/DelegatingModelReducer.test.ts @@ -73,7 +73,7 @@ describe("DelegatingModelReducer::Valid actions", () => { }); service.commit(pmml); - expect(mockReducer).toBeCalled(); + expect(mockReducer).toHaveBeenCalled(); //mock.calls[invocationIndex][parameterIndex].... expect(mockReducer.mock.calls.length).toBe(2); expect(mockReducer.mock.calls[0][1].payload.modelIndex).toBe(0); @@ -102,7 +102,7 @@ describe("DelegatingModelReducer::Valid actions", () => { }); service.commit(pmml); - expect(mockReducer).toBeCalled(); + expect(mockReducer).toHaveBeenCalled(); //mock.calls[invocationIndex][parameterIndex].... expect(mockReducer.mock.calls.length).toBe(1); expect(mockReducer.mock.calls[0][1].payload.modelIndex).toBe(1); diff --git a/packages/pmml-editor/tsconfig.json b/packages/pmml-editor/tsconfig.json index 3855f0f523c..f9286f63878 100644 --- a/packages/pmml-editor/tsconfig.json +++ b/packages/pmml-editor/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "@kie-tools/tsconfig/tsconfig.json", "compilerOptions": { - "outDir": "dist" + "outDir": "dist", + "types": ["@testing-library/jest-dom"] }, "include": ["src"] } diff --git a/packages/pmml-vscode-extension/package.json b/packages/pmml-vscode-extension/package.json index e070a4f521b..ff76278abd4 100644 --- a/packages/pmml-vscode-extension/package.json +++ b/packages/pmml-vscode-extension/package.json @@ -93,4 +93,4 @@ "supported": false } } -} \ No newline at end of file +} diff --git a/packages/pom.xml b/packages/pom.xml index 6cfd1299f37..6be04f07eb9 100644 --- a/packages/pom.xml +++ b/packages/pom.xml @@ -1,7 +1,9 @@ - - - + + org.apache.kie.sonataflow kie-tools @@ -17,5 +19,4 @@ sonataflow-quarkus-devui - diff --git a/packages/python-venv/package.json b/packages/python-venv/package.json index 089fb9e4356..9dedb003e0d 100644 --- a/packages/python-venv/package.json +++ b/packages/python-venv/package.json @@ -14,4 +14,4 @@ "devDependencies": { "run-script-os": "^1.1.6" } -} \ No newline at end of file +} diff --git a/packages/react-hooks/jest.config.js b/packages/react-hooks/jest.config.js deleted file mode 100644 index 6240ed76eb3..00000000000 --- a/packages/react-hooks/jest.config.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], -}; diff --git a/packages/react-hooks/package.json b/packages/react-hooks/package.json index d4544d5ce70..04fdefce3e6 100644 --- a/packages/react-hooks/package.json +++ b/packages/react-hooks/package.json @@ -18,9 +18,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "react": "^17.0.2" @@ -32,18 +31,8 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/react": "^17.0.6", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/react-hooks/src/PromiseState.tsx b/packages/react-hooks/src/PromiseState.tsx index 7a4e291cd98..27cb42eebbf 100644 --- a/packages/react-hooks/src/PromiseState.tsx +++ b/packages/react-hooks/src/PromiseState.tsx @@ -80,7 +80,7 @@ export function useDelayedPromiseState(ms: number): [PromiseState, (newSta export function usePromiseState(): [ PromiseState, - (newState: NewStateArgs | ((prevState: T | undefined) => NewStateArgs)) => void + (newState: NewStateArgs | ((prevState: T | undefined) => NewStateArgs)) => void, ] { const [state, setState] = useState>({ status: PromiseStateStatus.PENDING }); diff --git a/packages/react-hooks/tests/jest.setup.ts b/packages/react-hooks/tests/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/react-hooks/tests/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/root-env/env/index.js b/packages/root-env/env/index.js index 050298296cd..6bcefececea 100644 --- a/packages/root-env/env/index.js +++ b/packages/root-env/env/index.js @@ -62,7 +62,7 @@ module.exports = composeEnv([], { }, /* (begin) This part of the file is referenced in `scripts/update-kogito-version` */ KOGITO_RUNTIME_version: { - default: "999-20240509-SNAPSHOT", + default: "999-20240623-SNAPSHOT", description: "Kogito version to be used on dependency declaration.", }, /* (end) */ diff --git a/packages/root-env/package.json b/packages/root-env/package.json index 1319da06033..5a73ab94268 100644 --- a/packages/root-env/package.json +++ b/packages/root-env/package.json @@ -4,4 +4,4 @@ "version": "0.0.0", "keywords": [], "devDependencies": {} -} \ No newline at end of file +} diff --git a/packages/runtime-tools-components/package.json b/packages/runtime-tools-components/package.json index 130d8120110..c8d22c72d1a 100644 --- a/packages/runtime-tools-components/package.json +++ b/packages/runtime-tools-components/package.json @@ -19,10 +19,9 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json && pnpm copy:css", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm copy:css && pnpm test", + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm copy:css", "copy:css": "copyfiles -u 2 \"src/**/*.{sass,scss,css,svg,png}\" dist/", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools-core/editor": "workspace:*", @@ -56,23 +55,15 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", "@types/history": "^4.7.3", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/lodash": "^4.14.168", "@types/react": "^17.0.6", "@types/react-datetime-picker": "^3.4.1", "@types/react-dom": "^17.0.5", "@types/react-router": "^5.1.20", "@types/react-router-dom": "^5.3.3", - "@types/testing-library__jest-dom": "^5.9.1", "@types/uuid": "^8.3.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/runtime-tools-components/src/common/components/DataTable/DataTable.tsx b/packages/runtime-tools-components/src/common/components/DataTable/DataTable.tsx index 0cdacf63823..a6477258ea2 100644 --- a/packages/runtime-tools-components/src/common/components/DataTable/DataTable.tsx +++ b/packages/runtime-tools-components/src/common/components/DataTable/DataTable.tsx @@ -88,7 +88,7 @@ const getColumns = (data: any[] | undefined, columns: DataTableColumn[]) => { transforms: column.isSortable ? [sortable] : undefined, } as ICell; }) - : filter(keys(sample(data)), (key) => key !== "__typename").map((key) => ({ title: key, data: key } as ICell)); + : filter(keys(sample(data)), (key) => key !== "__typename").map((key) => ({ title: key, data: key }) as ICell); } else if (columns) { return filter(columns, (column) => !isEmpty(column.path)).map((column) => { return { diff --git a/packages/runtime-tools-components/src/common/components/FormRenderer/FormRenderer.tsx b/packages/runtime-tools-components/src/common/components/FormRenderer/FormRenderer.tsx index fbb8bf385c4..d6ee8a3db19 100644 --- a/packages/runtime-tools-components/src/common/components/FormRenderer/FormRenderer.tsx +++ b/packages/runtime-tools-components/src/common/components/FormRenderer/FormRenderer.tsx @@ -42,17 +42,13 @@ export const FormRenderer = React.forwardRef(); - useImperativeHandle( - forwardedRef, - () => { - return { - doReset() { - formApiRef!.reset(); - }, - }; - }, - [formApiRef] - ); + useImperativeHandle(forwardedRef, () => { + return { + doReset() { + formApiRef!.reset(); + }, + }; + }, [formApiRef]); const bridge = new JSONSchemaBridge(formSchema, (formModel) => { // Converting back all the JS Dates into String before validating the model diff --git a/packages/runtime-tools-components/src/common/components/ServerErrors/ServerErrors.tsx b/packages/runtime-tools-components/src/common/components/ServerErrors/ServerErrors.tsx index 31a5a0aef46..0728d781b4a 100644 --- a/packages/runtime-tools-components/src/common/components/ServerErrors/ServerErrors.tsx +++ b/packages/runtime-tools-components/src/common/components/ServerErrors/ServerErrors.tsx @@ -67,10 +67,10 @@ export const ServerErrors: React.FC = ({ ouiaId, ouiaSafe return errorObject.networkError && errorObject.networkError.name ? JSON.stringify(errorObject.networkError) : errorObject.graphQLErrors && errorObject.graphQLErrors.size > 0 - ? JSON.stringify(errorObject.graphQLErrors) - : errorObject.message - ? errorObject.message - : JSON.stringify(props.error); + ? JSON.stringify(errorObject.graphQLErrors) + : errorObject.message + ? errorObject.message + : JSON.stringify(props.error); } catch (error) { return props.error; } diff --git a/packages/runtime-tools-components/src/common/static/avatar.svg b/packages/runtime-tools-components/src/common/static/avatar.svg index 56843d6861b..157cec2927a 100644 --- a/packages/runtime-tools-components/src/common/static/avatar.svg +++ b/packages/runtime-tools-components/src/common/static/avatar.svg @@ -1,5 +1,11 @@ - - + + +/*stylelint-disable*/ +.st0 { + fill-rule: evenodd; + clip-rule: evenodd; + fill: #ffffff; +} +.st1 { + filter: url(#b); +} +.st2 { + mask: url(#a); +} +.st3 { + fill-rule: evenodd; + clip-rule: evenodd; + fill: #bbbbbb; +} +.st4 { + opacity: 0.1; + fill-rule: evenodd; + clip-rule: evenodd; + enable-background: new; +} +.st5 { + opacity: 8e-2; + fill-rule: evenodd; + clip-rule: evenodd; + fill: #231f20; + enable-background: new; +} +/*stylelint-enable*/ + - - - - + + + + - - - - + + + + - - - - - - - - + + + + + + + + diff --git a/packages/runtime-tools-components/src/static/avatar.svg b/packages/runtime-tools-components/src/static/avatar.svg index 56843d6861b..157cec2927a 100644 --- a/packages/runtime-tools-components/src/static/avatar.svg +++ b/packages/runtime-tools-components/src/static/avatar.svg @@ -1,5 +1,11 @@ - - + + +/*stylelint-disable*/ +.st0 { + fill-rule: evenodd; + clip-rule: evenodd; + fill: #ffffff; +} +.st1 { + filter: url(#b); +} +.st2 { + mask: url(#a); +} +.st3 { + fill-rule: evenodd; + clip-rule: evenodd; + fill: #bbbbbb; +} +.st4 { + opacity: 0.1; + fill-rule: evenodd; + clip-rule: evenodd; + enable-background: new; +} +.st5 { + opacity: 8e-2; + fill-rule: evenodd; + clip-rule: evenodd; + fill: #231f20; + enable-background: new; +} +/*stylelint-enable*/ + - - - - + + + + - - - - + + + + - - - - - - - - + + + + + + + + diff --git a/packages/runtime-tools-management-console-webapp/dev/server/static/flightBooking.svg b/packages/runtime-tools-management-console-webapp/dev/server/static/flightBooking.svg index ae6cef900a4..1659bf4f4dc 100644 --- a/packages/runtime-tools-management-console-webapp/dev/server/static/flightBooking.svg +++ b/packages/runtime-tools-management-console-webapp/dev/server/static/flightBooking.svg @@ -1,5 +1,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flight Booked - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + Book - + flight - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + StartProcess - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/runtime-tools-management-console-webapp/dev/server/static/hotelBooking.svg b/packages/runtime-tools-management-console-webapp/dev/server/static/hotelBooking.svg index 3ab9c43fee8..39967c5d95e 100644 --- a/packages/runtime-tools-management-console-webapp/dev/server/static/hotelBooking.svg +++ b/packages/runtime-tools-management-console-webapp/dev/server/static/hotelBooking.svg @@ -1,5 +1,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Hotel Booked - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + Book - + hotel - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + StartProcess - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/runtime-tools-management-console-webapp/dev/server/static/travels.svg b/packages/runtime-tools-management-console-webapp/dev/server/static/travels.svg index 4c307aff606..17024e1267a 100644 --- a/packages/runtime-tools-management-console-webapp/dev/server/static/travels.svg +++ b/packages/runtime-tools-management-console-webapp/dev/server/static/travels.svg @@ -1,5 +1,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Book Hotel - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + StartProcess - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + is visa required - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + wait for visa decision - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + Travel Confirmed - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + Visa Rejected - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Book Flight - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + Email - + rejection - + notice - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Confirm - + travel - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Apply - + for visa - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + Visa - + check - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + visasapproved - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + visasrejected - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + Book - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + Send visa application - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + no need for visa - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + visa - + required - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/runtime-tools-management-console-webapp/jest.config.js b/packages/runtime-tools-management-console-webapp/jest.config.js deleted file mode 100644 index 80d530eef24..00000000000 --- a/packages/runtime-tools-management-console-webapp/jest.config.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/unit/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, -}; diff --git a/packages/runtime-tools-management-console-webapp/package.json b/packages/runtime-tools-management-console-webapp/package.json index df7e3fd2765..16351af65db 100644 --- a/packages/runtime-tools-management-console-webapp/package.json +++ b/packages/runtime-tools-management-console-webapp/package.json @@ -15,13 +15,12 @@ "main": "index.js", "scripts": { "build:dev": "rimraf dist && webpack --env dev", - "build:prod": "pnpm lint && pnpm test && rimraf dist && webpack", + "build:prod": "pnpm lint && rimraf dist && webpack", "dev": "concurrently 'pnpm start' 'pnpm run dev:server'", "dev:rest-server": "nodemon ./server/restServer.js", "dev:server": "nodemon ./dev/server/app.js", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "start": "webpack serve --host 0.0.0.0 --env dev", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "start": "webpack serve --host 0.0.0.0 --env dev" }, "dependencies": { "@kie-tools/runtime-tools-components": "workspace:*", @@ -61,17 +60,12 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@types/enzyme": "^3.10.13", - "@types/jest": "^26.0.23", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", "@types/react-router": "^5.1.20", "@types/react-router-dom": "^5.3.3", "@types/webpack": "^4.41.33", - "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0", "apollo-server-express": "^3.13.0", - "babel-jest": "^25.5.1", "body-parser": "^1.20.2", "concurrently": "^8.2.2", "copy-webpack-plugin": "^11.0.0", @@ -79,15 +73,11 @@ "cors": "^2.8.5", "css-loader": "^5.2.6", "css-minimizer-webpack-plugin": "^5.0.1", - "enzyme": "^3.11.0", - "enzyme-to-json": "^3.6.2", "express": "^4.19.2", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.3.2", "https-browserify": "^1.0.0", "identity-obj-proxy": "^3.0.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", "lodash": "^4.17.21", "mini-css-extract-plugin": "^2.7.6", "nodemon": "^2.0.22", @@ -98,7 +88,6 @@ "stream-http": "^3.2.0", "style-loader": "^2.0.0", "svg-url-loader": "^8.0.0", - "ts-jest": "^26.5.6", "ts-loader": "^9.4.2", "tsconfig-paths-webpack-plugin": "^3.5.2", "typescript": "^4.6.2", @@ -111,4 +100,4 @@ "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/runtime-tools-management-console-webapp/src/index.html b/packages/runtime-tools-management-console-webapp/src/index.html index 510cbe3cab8..7a053d68c33 100644 --- a/packages/runtime-tools-management-console-webapp/src/index.html +++ b/packages/runtime-tools-management-console-webapp/src/index.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + diff --git a/packages/runtime-tools-management-console-webapp/src/static/managementConsoleLogo.svg b/packages/runtime-tools-management-console-webapp/src/static/managementConsoleLogo.svg index 3cbdc97faad..eedd5dfda42 100644 --- a/packages/runtime-tools-management-console-webapp/src/static/managementConsoleLogo.svg +++ b/packages/runtime-tools-management-console-webapp/src/static/managementConsoleLogo.svg @@ -1,6 +1,18 @@ - + - + +.st0 { + fill: #ffffff; +} +.st1 { + fill: #afd4eb; +} +.st2 { + fill: #f48227; +} +.st3 { + fill: #014e64; +} +.st4 { + fill: none; +} + Management_Console_Logo2 - - + - + - + - + - + - + - + - + - + - + - + - + - + + C503.7,44.2,505.8,45.1,508,45.1L508,45.1z" + /> - - - - + c-1.8,0-3.6,0.6-4.9,1.9c-1.4,1.3-2.3,3-2.6,4.8h14.9c-0.3-1.8-1.2-3.5-2.6-4.8C551.4,28.2,549.7,27.5,547.9,27.5z" + /> + + + - - + + - - + - - + L39.9,17.5z" + /> + + - + - - + + - - + - + c0.9-0.2,1.8-0.3,2.7-0.4c0-0.9,0.3-1.7,0.9-2.3c-0.2,0.7-0.2,1.5,0,2.2c1.2-0.1,2.3-0.1,3.5,0L25.5,40.5z" + /> + diff --git a/packages/runtime-tools-process-dev-ui-webapp/jest.config.js b/packages/runtime-tools-process-dev-ui-webapp/jest.config.js deleted file mode 100644 index 80d530eef24..00000000000 --- a/packages/runtime-tools-process-dev-ui-webapp/jest.config.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/unit/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, -}; diff --git a/packages/runtime-tools-process-dev-ui-webapp/package.json b/packages/runtime-tools-process-dev-ui-webapp/package.json index d5a28241591..845e7e195a7 100644 --- a/packages/runtime-tools-process-dev-ui-webapp/package.json +++ b/packages/runtime-tools-process-dev-ui-webapp/package.json @@ -15,13 +15,12 @@ "main": "index.js", "scripts": { "build:dev": "rimraf dist && webpack --env dev", - "build:prod": "pnpm lint && pnpm test && rimraf dist && webpack", + "build:prod": "pnpm lint && rimraf dist && webpack", "dev": "concurrently 'pnpm start' 'pnpm run dev:server'", "dev:rest-server": "nodemon ./server/restServer.js", "dev:server": "nodemon ./server/app.js", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "start": "webpack serve --host 0.0.0.0 --env dev", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "start": "webpack serve --host 0.0.0.0 --env dev" }, "dependencies": { "@apidevtools/swagger-parser": "^10.1.0", @@ -73,20 +72,14 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", "@types/history": "^4.7.3", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", "@types/react-router": "^5.1.20", "@types/react-router-dom": "^5.3.3", - "@types/testing-library__jest-dom": "^5.9.1", "@types/uuid": "^8.3.0", "@types/webpack": "^4.41.33", "apollo-server-express": "^3.13.0", - "babel-jest": "^25.5.1", "body-parser": "^1.20.2", "concurrently": "^8.2.2", "copy-webpack-plugin": "^11.0.0", @@ -94,7 +87,6 @@ "cors": "^2.8.5", "css-loader": "^5.2.6", "css-minimizer-webpack-plugin": "^5.0.1", - "cypress": "^13.5.1", "express": "^4.19.2", "file-loader": "^6.2.0", "filemanager-webpack-plugin": "^7.0.0", @@ -102,9 +94,6 @@ "html-webpack-plugin": "^5.3.2", "https-browserify": "^1.0.0", "identity-obj-proxy": "^3.0.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "lodash": "^4.17.21", "mini-css-extract-plugin": "^2.7.6", "monaco-editor-webpack-plugin": "^7.0.1", @@ -118,7 +107,6 @@ "style-loader": "^2.0.0", "svg-url-loader": "^8.0.0", "swagger-ui-express": "^5.0.0", - "ts-jest": "^26.5.6", "ts-loader": "^9.4.2", "tsconfig-paths-webpack-plugin": "^3.5.2", "typescript": "^4.6.2", @@ -130,4 +118,4 @@ "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/runtime-tools-process-dev-ui-webapp/resources/form-displayer.html b/packages/runtime-tools-process-dev-ui-webapp/resources/form-displayer.html index 303e61dcb47..cd9a0eddbe7 100644 --- a/packages/runtime-tools-process-dev-ui-webapp/resources/form-displayer.html +++ b/packages/runtime-tools-process-dev-ui-webapp/resources/form-displayer.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + +.st0 { + fill: #ffffff; +} +.st1 { + fill: #afd4eb; +} +.st2 { + fill: #f48227; +} +.st3 { + fill: #014e64; +} +.st4 { + fill: none; +} + Management_Console_Logo2 - - + - + - + - + - + - + - + - + - + - + - + - + - + + C503.7,44.2,505.8,45.1,508,45.1L508,45.1z" + /> - - - - + c-1.8,0-3.6,0.6-4.9,1.9c-1.4,1.3-2.3,3-2.6,4.8h14.9c-0.3-1.8-1.2-3.5-2.6-4.8C551.4,28.2,549.7,27.5,547.9,27.5z" + /> + + + - - + + - - + - - + L39.9,17.5z" + /> + + - + - - + + - - + - + c0.9-0.2,1.8-0.3,2.7-0.4c0-0.9,0.3-1.7,0.9-2.3c-0.2,0.7-0.2,1.5,0,2.2c1.2-0.1,2.3-0.1,3.5,0L25.5,40.5z" + /> + diff --git a/packages/runtime-tools-process-enveloped-components/package.json b/packages/runtime-tools-process-enveloped-components/package.json index 5e8597ddfff..aa6f1a033e8 100644 --- a/packages/runtime-tools-process-enveloped-components/package.json +++ b/packages/runtime-tools-process-enveloped-components/package.json @@ -19,10 +19,9 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json && pnpm copy:css", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm copy:css && pnpm test", + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm copy:css", "copy:css": "copyfiles -u 1 \"src/**/*.{sass,scss,css,svg,png}\" dist/", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@babel/standalone": "7.15.3", @@ -69,21 +68,13 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", "@types/babel__standalone": "^7.1.7", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/lodash": "^4.14.168", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", "@types/react-helmet": "^6.1.9", - "@types/testing-library__jest-dom": "^5.9.1", "@types/uuid": "^8.3.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/styles.css b/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/styles.css index d340fbf1ec8..46de66740fa 100644 --- a/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/styles.css +++ b/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/styles.css @@ -32,11 +32,17 @@ opacity: 0; width: 0; height: 0; - transition: width 0.5s 0.5s, height 0.5s 0.5s, opacity 0.5s; + transition: + width 0.5s 0.5s, + height 0.5s 0.5s, + opacity 0.5s; } .kogito-process-details--variables__label-fadeIn { opacity: 1; - transition: width 0.5s, height 0.5s, opacity 0.5s 0.5s; + transition: + width 0.5s, + height 0.5s, + opacity 0.5s 0.5s; } .kogito-process-details--milestones__nameText > blockquote { diff --git a/packages/runtime-tools-process-enveloped-components/src/taskDetails/envelope/TaskDetailsEnvelopeView.tsx b/packages/runtime-tools-process-enveloped-components/src/taskDetails/envelope/TaskDetailsEnvelopeView.tsx index 1b935f9a7d4..797c341ef96 100644 --- a/packages/runtime-tools-process-enveloped-components/src/taskDetails/envelope/TaskDetailsEnvelopeView.tsx +++ b/packages/runtime-tools-process-enveloped-components/src/taskDetails/envelope/TaskDetailsEnvelopeView.tsx @@ -36,17 +36,13 @@ interface Props { export const TaskDetailsEnvelopeView = React.forwardRef((props, forwardedRef) => { const [task, setTask] = useState(); - useImperativeHandle( - forwardedRef, - () => { - return { - setTask: (userTask: UserTaskInstance) => { - setTask(userTask); - }, - }; - }, - [] - ); + useImperativeHandle(forwardedRef, () => { + return { + setTask: (userTask: UserTaskInstance) => { + setTask(userTask); + }, + }; + }, []); return ; }); diff --git a/packages/runtime-tools-process-gateway-api/package.json b/packages/runtime-tools-process-gateway-api/package.json index 97e213a12fc..a82b9f90538 100644 --- a/packages/runtime-tools-process-gateway-api/package.json +++ b/packages/runtime-tools-process-gateway-api/package.json @@ -52,14 +52,14 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", + "@types/jest": "^29.5.12", "@types/uuid": "^8.3.0", "copyfiles": "^2.4.1", "identity-obj-proxy": "^3.0.0", - "jest": "^26.6.3", + "jest": "^29.7.0", "openapi-types": "^7.0.1", "react-dom": "^17.0.2", "rimraf": "^3.0.2", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/runtime-tools-process-webapp-components/package.json b/packages/runtime-tools-process-webapp-components/package.json index a1f06d0d1ab..9e81ef75191 100644 --- a/packages/runtime-tools-process-webapp-components/package.json +++ b/packages/runtime-tools-process-webapp-components/package.json @@ -41,15 +41,13 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", - "@types/jest": "^26.0.23", + "@testing-library/jest-dom": "^6.4.6", + "@testing-library/react": "^12.1.5", + "@types/jest": "^29.5.12", "@types/lodash": "^4.14.168", "@types/react": "^17.0.6", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", - "jest": "^26.6.3", + "jest": "^29.7.0", "rimraf": "^3.0.2", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/runtime-tools-shared-enveloped-components/package.json b/packages/runtime-tools-shared-enveloped-components/package.json index ba66856ff38..74fc99903db 100644 --- a/packages/runtime-tools-shared-enveloped-components/package.json +++ b/packages/runtime-tools-shared-enveloped-components/package.json @@ -19,10 +19,9 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json && pnpm copy:css", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm copy:css && pnpm test", + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm copy:css", "copy:css": "copyfiles -u 1 \"src/**/*.{sass,scss,css,svg,png}\" dist/", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@babel/standalone": "7.15.3", @@ -65,21 +64,13 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", "@types/babel__standalone": "^7.1.7", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/lodash": "^4.14.168", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", "@types/react-helmet": "^6.1.9", - "@types/testing-library__jest-dom": "^5.9.1", "@types/uuid": "^8.3.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/runtime-tools-shared-enveloped-components/src/formDisplayer/envelope/FormDisplayerEnvelopeView.tsx b/packages/runtime-tools-shared-enveloped-components/src/formDisplayer/envelope/FormDisplayerEnvelopeView.tsx index e8e8c9a1524..74495212857 100644 --- a/packages/runtime-tools-shared-enveloped-components/src/formDisplayer/envelope/FormDisplayerEnvelopeView.tsx +++ b/packages/runtime-tools-shared-enveloped-components/src/formDisplayer/envelope/FormDisplayerEnvelopeView.tsx @@ -52,36 +52,32 @@ export const FormDisplayerEnvelopeView = React.forwardRef({} as EmbeddedFormApi); - useImperativeHandle( - forwardedRef, - () => { - return { - startSubmit: (context: FormSubmitContext): Promise => { - return new Promise((resolve, reject) => { - try { - formDisplayerApiRef.current.beforeSubmit?.(context); - resolve(formDisplayerApiRef.current.getFormData?.()); - } catch (err) { - reject(err.message); - } - }); - }, - notifySubmitResponse: (response: FormSubmitResponse) => { - formDisplayerApiRef.current.afterSubmit?.(response); - }, - initForm: (args: FormDisplayerInitArgs) => { - if (!isEmpty(args.form)) { - setEnvelopeConnectedToChannel(false); - setContent(args.form); - setData(args.data ?? {}); - setContext(args.context ?? {}); - setEnvelopeConnectedToChannel(true); + useImperativeHandle(forwardedRef, () => { + return { + startSubmit: (context: FormSubmitContext): Promise => { + return new Promise((resolve, reject) => { + try { + formDisplayerApiRef.current.beforeSubmit?.(context); + resolve(formDisplayerApiRef.current.getFormData?.()); + } catch (err) { + reject(err.message); } - }, - }; - }, - [] - ); + }); + }, + notifySubmitResponse: (response: FormSubmitResponse) => { + formDisplayerApiRef.current.afterSubmit?.(response); + }, + initForm: (args: FormDisplayerInitArgs) => { + if (!isEmpty(args.form)) { + setEnvelopeConnectedToChannel(false); + setContent(args.form); + setData(args.data ?? {}); + setContext(args.context ?? {}); + setEnvelopeConnectedToChannel(true); + } + }, + }; + }, []); const onOpen = (opened: FormOpened) => { props.channelApi.notifications.notifyOnOpenForm.send(opened); diff --git a/packages/runtime-tools-shared-gateway-api/package.json b/packages/runtime-tools-shared-gateway-api/package.json index e6442cb5435..9c309929a42 100644 --- a/packages/runtime-tools-shared-gateway-api/package.json +++ b/packages/runtime-tools-shared-gateway-api/package.json @@ -34,4 +34,4 @@ "rimraf": "^3.0.2", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/runtime-tools-shared-webapp-components/jest.config.js b/packages/runtime-tools-shared-webapp-components/jest.config.js deleted file mode 100644 index 6240ed76eb3..00000000000 --- a/packages/runtime-tools-shared-webapp-components/jest.config.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], -}; diff --git a/packages/runtime-tools-shared-webapp-components/package.json b/packages/runtime-tools-shared-webapp-components/package.json index b1991ca6d26..aa870a4b858 100644 --- a/packages/runtime-tools-shared-webapp-components/package.json +++ b/packages/runtime-tools-shared-webapp-components/package.json @@ -19,9 +19,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools/runtime-tools-components": "workspace:*", @@ -38,18 +37,10 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", "@types/history": "^4.7.3", - "@types/jest": "^26.0.23", "@types/react": "^17.0.6", "@types/react-router": "^5.1.20", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/runtime-tools-shared-webapp-components/tests/jest.setup.ts b/packages/runtime-tools-shared-webapp-components/tests/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/runtime-tools-shared-webapp-components/tests/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/runtime-tools-swf-enveloped-components/jest.config.js b/packages/runtime-tools-swf-enveloped-components/jest.config.js index dcac3d45491..c86898252b5 100644 --- a/packages/runtime-tools-swf-enveloped-components/jest.config.js +++ b/packages/runtime-tools-swf-enveloped-components/jest.config.js @@ -17,23 +17,13 @@ * under the License. */ +const { config, babelTransform } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - setupFilesAfterEnv: ["./src/__tests__/jest.setup.ts"], - testRegex: "/__tests__/.*\\.test\\.(jsx?|tsx?)$", - transformIgnorePatterns: [], + ...config, + testEnvironment: "jsdom", transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/__mocks__/styleMock.js", + ...babelTransform, }, }; diff --git a/packages/runtime-tools-swf-enveloped-components/package.json b/packages/runtime-tools-swf-enveloped-components/package.json index 6a70c182c5c..1d15e4f8dfe 100644 --- a/packages/runtime-tools-swf-enveloped-components/package.json +++ b/packages/runtime-tools-swf-enveloped-components/package.json @@ -66,23 +66,24 @@ "@babel/preset-react": "^7.16.0", "@kie-tools-core/webpack-base": "workspace:*", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", + "@testing-library/jest-dom": "^6.4.6", "@types/babel__standalone": "^7.1.7", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/lodash": "^4.14.168", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", "@types/react-helmet": "^6.1.9", - "@types/testing-library__jest-dom": "^5.9.1", "@types/uuid": "^8.3.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/runtime-tools-swf-enveloped-components/src/__tests__/jest.setup.ts b/packages/runtime-tools-swf-enveloped-components/src/__tests__/jest.setup.ts deleted file mode 100644 index 80b586513ce..00000000000 --- a/packages/runtime-tools-swf-enveloped-components/src/__tests__/jest.setup.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ diff --git a/packages/runtime-tools-swf-enveloped-components/src/cloudEventForm/envelope/components/CloudEventCustomHeadersEditor/CloudEventCustomHeadersEditor.tsx b/packages/runtime-tools-swf-enveloped-components/src/cloudEventForm/envelope/components/CloudEventCustomHeadersEditor/CloudEventCustomHeadersEditor.tsx index 0c8613dc0d0..cf31c21ef29 100644 --- a/packages/runtime-tools-swf-enveloped-components/src/cloudEventForm/envelope/components/CloudEventCustomHeadersEditor/CloudEventCustomHeadersEditor.tsx +++ b/packages/runtime-tools-swf-enveloped-components/src/cloudEventForm/envelope/components/CloudEventCustomHeadersEditor/CloudEventCustomHeadersEditor.tsx @@ -47,27 +47,23 @@ const CloudEventCustomHeadersEditor = React.forwardRef { - return { - reset(): void { - setHeaders([]); - setIsNewHeader(false); - }, - getCustomHeaders(): Record { - const result: any = {}; - headers - .filter((entry) => entry.key && entry.value) - .forEach((entry) => { - result[entry.key] = entry.value; - }); - return result; - }, - }; - }, - [headers] - ); + useImperativeHandle(forwardedRef, () => { + return { + reset(): void { + setHeaders([]); + setIsNewHeader(false); + }, + getCustomHeaders(): Record { + const result: any = {}; + headers + .filter((entry) => entry.key && entry.value) + .forEach((entry) => { + result[entry.key] = entry.value; + }); + return result; + }, + }; + }, [headers]); const addNewHeader = useCallback(() => { const headersCopy = [...headers]; diff --git a/packages/runtime-tools-swf-enveloped-components/src/workflowDetails/envelope/components/styles.css b/packages/runtime-tools-swf-enveloped-components/src/workflowDetails/envelope/components/styles.css index f33d1f6978d..3ede8d1b9f2 100644 --- a/packages/runtime-tools-swf-enveloped-components/src/workflowDetails/envelope/components/styles.css +++ b/packages/runtime-tools-swf-enveloped-components/src/workflowDetails/envelope/components/styles.css @@ -33,11 +33,17 @@ opacity: 0; width: 0; height: 0; - transition: width 0.5s 0.5s, height 0.5s 0.5s, opacity 0.5s; + transition: + width 0.5s 0.5s, + height 0.5s 0.5s, + opacity 0.5s; } .kogito-workflow-details--variables__label-fadeIn { opacity: 1; - transition: width 0.5s, height 0.5s, opacity 0.5s 0.5s; + transition: + width 0.5s, + height 0.5s, + opacity 0.5s 0.5s; } .kogito-workflow-details--milestones__nameText > blockquote { diff --git a/packages/runtime-tools-swf-enveloped-components/src/__tests__/components/validateCloudEventRequest.test.ts b/packages/runtime-tools-swf-enveloped-components/tests/components/validateCloudEventRequest.test.ts similarity index 96% rename from packages/runtime-tools-swf-enveloped-components/src/__tests__/components/validateCloudEventRequest.test.ts rename to packages/runtime-tools-swf-enveloped-components/tests/components/validateCloudEventRequest.test.ts index a7e46d3ddad..e2d9266aac8 100644 --- a/packages/runtime-tools-swf-enveloped-components/src/__tests__/components/validateCloudEventRequest.test.ts +++ b/packages/runtime-tools-swf-enveloped-components/tests/components/validateCloudEventRequest.test.ts @@ -18,7 +18,7 @@ */ import { CloudEventMethod } from "@kie-tools/runtime-tools-swf-gateway-api/dist/types"; -import { validateCloudEventRequest } from "../../cloudEventForm/envelope/components/CloudEventForm/validateCloudEventRequest"; +import { validateCloudEventRequest } from "../../src/cloudEventForm/envelope/components/CloudEventForm/validateCloudEventRequest"; describe("validateCloudEventRequest tests", () => { it("Valid result", () => { diff --git a/packages/runtime-tools-swf-enveloped-components/src/__tests__/components/validateWorkflowData.test.ts b/packages/runtime-tools-swf-enveloped-components/tests/components/validateWorkflowData.test.ts similarity index 91% rename from packages/runtime-tools-swf-enveloped-components/src/__tests__/components/validateWorkflowData.test.ts rename to packages/runtime-tools-swf-enveloped-components/tests/components/validateWorkflowData.test.ts index edcfb1c5fd7..2c497322ca1 100644 --- a/packages/runtime-tools-swf-enveloped-components/src/__tests__/components/validateWorkflowData.test.ts +++ b/packages/runtime-tools-swf-enveloped-components/tests/components/validateWorkflowData.test.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { validateWorkflowData } from "../../workflowForm/envelope/components/WorkflowForm/validateWorkflowData"; +import { validateWorkflowData } from "../../src/workflowForm/envelope/components/WorkflowForm/validateWorkflowData"; describe("validateWorkflowData tests", function () { it("Validate data", () => { diff --git a/packages/runtime-tools-swf-gateway-api/jest.config.js b/packages/runtime-tools-swf-gateway-api/jest.config.js index be199028645..1f132c9c56b 100644 --- a/packages/runtime-tools-swf-gateway-api/jest.config.js +++ b/packages/runtime-tools-swf-gateway-api/jest.config.js @@ -17,23 +17,14 @@ * under the License. */ +const { config, babelTransform } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - setupFilesAfterEnv: ["./src/__tests__/jest.setup.ts"], - testRegex: "/__tests__/.*\\.test\\.(jsx?|tsx?)$", - transformIgnorePatterns: [], + ...config, + testEnvironment: "jsdom", transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/__mocks__/styleMock.js", + ...babelTransform, }, + transformIgnorePatterns: [], }; diff --git a/packages/runtime-tools-swf-gateway-api/package.json b/packages/runtime-tools-swf-gateway-api/package.json index 9c2a50d91ad..9b14608db00 100644 --- a/packages/runtime-tools-swf-gateway-api/package.json +++ b/packages/runtime-tools-swf-gateway-api/package.json @@ -50,18 +50,19 @@ "@graphql-codegen/typescript-operations": "^2.5.13", "@graphql-codegen/typescript-react-apollo": "^3.3.7", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", + "@types/jest": "^29.5.12", "@types/uuid": "^8.3.0", "copyfiles": "^2.4.1", "identity-obj-proxy": "^3.0.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", + "jest": "^29.7.0", + "jest-junit": "^16.0.0", "openapi-types": "^7.0.1", "react-dom": "^17.0.2", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/runtime-tools-swf-gateway-api/src/__tests__/jest.setup.ts b/packages/runtime-tools-swf-gateway-api/src/__tests__/jest.setup.ts deleted file mode 100644 index 80b586513ce..00000000000 --- a/packages/runtime-tools-swf-gateway-api/src/__tests__/jest.setup.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ diff --git a/packages/runtime-tools-swf-gateway-api/src/__tests__/apis/apis.test.tsx b/packages/runtime-tools-swf-gateway-api/tests/apis/apis.test.tsx similarity index 97% rename from packages/runtime-tools-swf-gateway-api/src/__tests__/apis/apis.test.tsx rename to packages/runtime-tools-swf-gateway-api/tests/apis/apis.test.tsx index 112ae1a9216..a548085e099 100644 --- a/packages/runtime-tools-swf-gateway-api/src/__tests__/apis/apis.test.tsx +++ b/packages/runtime-tools-swf-gateway-api/tests/apis/apis.test.tsx @@ -17,17 +17,13 @@ * under the License. */ import axios from "axios"; -import { CloudEventMethod } from "../../types"; +import { CloudEventMethod } from "../../src/types"; import { triggerCloudEvent, triggerStartCloudEvent, getCustomWorkflowSchemaFromApi, startWorkflowRest, -} from "../../gatewayApi"; -import { - KOGITO_BUSINESS_KEY, - KOGITO_PROCESS_REFERENCE_ID, -} from "@kie-tools/runtime-tools-shared-gateway-api/dist/types"; +} from "../../src/gatewayApi"; Date.now = jest.fn(() => 1592000000000); // UTC Fri Jun 12 2020 22:13:20 jest.mock("axios"); diff --git a/packages/runtime-tools-swf-webapp-components/jest.config.js b/packages/runtime-tools-swf-webapp-components/jest.config.js deleted file mode 100644 index 6240ed76eb3..00000000000 --- a/packages/runtime-tools-swf-webapp-components/jest.config.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], -}; diff --git a/packages/runtime-tools-swf-webapp-components/package.json b/packages/runtime-tools-swf-webapp-components/package.json index 9d999de7c2b..f3d9156be11 100644 --- a/packages/runtime-tools-swf-webapp-components/package.json +++ b/packages/runtime-tools-swf-webapp-components/package.json @@ -19,9 +19,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools/runtime-tools-components": "workspace:*", @@ -45,18 +44,10 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", "@types/history": "^4.7.3", - "@types/jest": "^26.0.23", "@types/react": "^17.0.6", "@types/react-router": "^5.1.20", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/runtime-tools-swf-webapp-components/tests/__mocks__/styleMock.js b/packages/runtime-tools-swf-webapp-components/tests/__mocks__/styleMock.js deleted file mode 100644 index 4bd939113b0..00000000000 --- a/packages/runtime-tools-swf-webapp-components/tests/__mocks__/styleMock.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = {}; diff --git a/packages/runtime-tools-swf-webapp-components/tests/jest.setup.ts b/packages/runtime-tools-swf-webapp-components/tests/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/runtime-tools-swf-webapp-components/tests/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/runtime-tools-task-console-webapp/jest.config.js b/packages/runtime-tools-task-console-webapp/jest.config.js deleted file mode 100644 index 80d530eef24..00000000000 --- a/packages/runtime-tools-task-console-webapp/jest.config.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/unit/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, -}; diff --git a/packages/runtime-tools-task-console-webapp/package.json b/packages/runtime-tools-task-console-webapp/package.json index abf4eeccac7..67c82e46309 100644 --- a/packages/runtime-tools-task-console-webapp/package.json +++ b/packages/runtime-tools-task-console-webapp/package.json @@ -15,12 +15,11 @@ "main": "index.js", "scripts": { "build:dev": "rimraf dist && webpack --env dev", - "build:prod": "pnpm lint && pnpm test && rimraf dist && webpack", + "build:prod": "pnpm lint && rimraf dist && webpack", "dev": "concurrently 'pnpm start' 'pnpm run dev:server'", "dev:server": "nodemon ./dev/server/app.js", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "start": "webpack serve --host 0.0.0.0 --env dev", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "start": "webpack serve --host 0.0.0.0 --env dev" }, "dependencies": { "@kie-tools-core/envelope": "workspace:*", @@ -65,30 +64,21 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@types/enzyme": "^3.10.13", - "@types/jest": "^26.0.23", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", "@types/react-router": "^5.1.20", "@types/react-router-dom": "^5.3.3", "@types/webpack": "^4.41.33", - "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0", "apollo-server-express": "^3.13.0", - "babel-jest": "^25.5.1", "concurrently": "^8.2.2", "copy-webpack-plugin": "^11.0.0", "css-loader": "^5.2.6", "css-minimizer-webpack-plugin": "^5.0.1", - "enzyme": "^3.11.0", - "enzyme-to-json": "^3.6.2", "express": "^4.19.2", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.3.2", "https-browserify": "^1.0.0", "identity-obj-proxy": "^3.0.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", "mini-css-extract-plugin": "^2.7.6", "nodemon": "^2.0.22", "rimraf": "^3.0.2", @@ -96,7 +86,6 @@ "stream-http": "^3.2.0", "style-loader": "^2.0.0", "svg-url-loader": "^8.0.0", - "ts-jest": "^26.5.6", "ts-loader": "^9.4.2", "tsconfig-paths-webpack-plugin": "^3.5.2", "typescript": "^4.6.2", @@ -109,4 +98,4 @@ "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/runtime-tools-task-console-webapp/resources/form-displayer.html b/packages/runtime-tools-task-console-webapp/resources/form-displayer.html index 303e61dcb47..cd9a0eddbe7 100644 --- a/packages/runtime-tools-task-console-webapp/resources/form-displayer.html +++ b/packages/runtime-tools-task-console-webapp/resources/form-displayer.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + - - + </defs> + <title> Task_Console_Logo_60x370 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/scesim-editor/package.json b/packages/scesim-editor/package.json index a23ac9a88d7..57d26386e4d 100644 --- a/packages/scesim-editor/package.json +++ b/packages/scesim-editor/package.json @@ -6,16 +6,16 @@ "keywords": [], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "rimraf dist && pnpm lint && tsc -p tsconfig.json && pnpm test:e2e", + "build:prod": "rimraf dist && pnpm lint && tsc -p tsconfig.json && pnpm test-e2e", "build:storybook": "storybook build -o dist-storybook", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command", "start": "run-script-os", - "start:linux:darwin": "cross-env STORYBOOK_PORT=$(build-env scesimEditor.storybook.port) pnpm storybook-base --storybookArgs=\"dev --no-open\"", - "start:win32": "pnpm powershell \"cross-env STORYBOOK_PORT=$(build-env scesimEditor.storybook.port) pnpm storybook-base --storybookArgs='dev --no-open'", - "test:e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm rimraf ./dist-e2e-tests\" \"pnpm test:e2e:run\"", - "test:e2e:open": "pnpm exec playwright show-report dist-e2e-tests/reports", - "test:e2e:run": "pnpm exec playwright test" + "start:linux:darwin": "cross-env STORYBOOK_PORT=$(build-env scesimEditor.storybook.port) pnpm kie-tools--storybook --storybookArgs=\"dev --no-open\"", + "start:win32": "pnpm powershell \"cross-env STORYBOOK_PORT=$(build-env scesimEditor.storybook.port) pnpm kie-tools--storybook --storybookArgs='dev --no-open'", + "test-e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm rimraf ./dist-tests-e2e\" \"pnpm test-e2e:run\"", + "test-e2e:open": "pnpm exec playwright show-report dist-tests-e2e/reports", + "test-e2e:run": "pnpm exec playwright test" }, "dependencies": { "@kie-tools-core/i18n": "workspace:*", @@ -50,7 +50,7 @@ "@storybook/react": "^7.3.2", "@storybook/react-webpack5": "^7.3.2", "@types/lodash": "^4.14.168", - "@types/node": "^18.13.0", + "@types/node": "^20.14.2", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", "@types/react-table": "^7.0.25", @@ -61,11 +61,10 @@ "rimraf": "^3.0.2", "run-script-os": "^1.1.6", "storybook": "^7.3.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/scesim-editor/tests/e2e/__fixtures__/backgroundTable.ts b/packages/scesim-editor/tests-e2e/__fixtures__/backgroundTable.ts similarity index 95% rename from packages/scesim-editor/tests/e2e/__fixtures__/backgroundTable.ts rename to packages/scesim-editor/tests-e2e/__fixtures__/backgroundTable.ts index b35f81838ec..cfe3c20fa9b 100644 --- a/packages/scesim-editor/tests/e2e/__fixtures__/backgroundTable.ts +++ b/packages/scesim-editor/tests-e2e/__fixtures__/backgroundTable.ts @@ -21,7 +21,10 @@ import { ProjectName } from "@kie-tools/playwright-base/projectNames"; import { Page } from "@playwright/test"; export class BackgroundTable { - constructor(public page: Page, public projectName: ProjectName) {} + constructor( + public page: Page, + public projectName: ProjectName + ) {} public get() { return this.page.getByLabel("Background"); diff --git a/packages/scesim-editor/tests/e2e/__fixtures__/base.ts b/packages/scesim-editor/tests-e2e/__fixtures__/base.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/__fixtures__/base.ts rename to packages/scesim-editor/tests-e2e/__fixtures__/base.ts diff --git a/packages/scesim-editor/tests/e2e/__fixtures__/clipboard.ts b/packages/scesim-editor/tests-e2e/__fixtures__/clipboard.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/__fixtures__/clipboard.ts rename to packages/scesim-editor/tests-e2e/__fixtures__/clipboard.ts diff --git a/packages/scesim-editor/tests/e2e/__fixtures__/contextMenu.ts b/packages/scesim-editor/tests-e2e/__fixtures__/contextMenu.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/__fixtures__/contextMenu.ts rename to packages/scesim-editor/tests-e2e/__fixtures__/contextMenu.ts diff --git a/packages/scesim-editor/tests/e2e/__fixtures__/editor.ts b/packages/scesim-editor/tests-e2e/__fixtures__/editor.ts similarity index 94% rename from packages/scesim-editor/tests/e2e/__fixtures__/editor.ts rename to packages/scesim-editor/tests-e2e/__fixtures__/editor.ts index debf3c1daec..082d5692770 100644 --- a/packages/scesim-editor/tests/e2e/__fixtures__/editor.ts +++ b/packages/scesim-editor/tests-e2e/__fixtures__/editor.ts @@ -26,7 +26,11 @@ export enum AssetType { } export class Editor { - constructor(public page: Page, public selectorPanel: SelectorPanel, public baseURL?: string) { + constructor( + public page: Page, + public selectorPanel: SelectorPanel, + public baseURL?: string + ) { this.page = page; this.baseURL = baseURL; } diff --git a/packages/scesim-editor/tests/e2e/__fixtures__/resizing.ts b/packages/scesim-editor/tests-e2e/__fixtures__/resizing.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/__fixtures__/resizing.ts rename to packages/scesim-editor/tests-e2e/__fixtures__/resizing.ts diff --git a/packages/scesim-editor/tests/e2e/__fixtures__/selectorPanel.ts b/packages/scesim-editor/tests-e2e/__fixtures__/selectorPanel.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/__fixtures__/selectorPanel.ts rename to packages/scesim-editor/tests-e2e/__fixtures__/selectorPanel.ts diff --git a/packages/scesim-editor/tests/e2e/__fixtures__/table.ts b/packages/scesim-editor/tests-e2e/__fixtures__/table.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/__fixtures__/table.ts rename to packages/scesim-editor/tests-e2e/__fixtures__/table.ts diff --git a/packages/scesim-editor/tests/e2e/__fixtures__/testScenarioTable.ts b/packages/scesim-editor/tests-e2e/__fixtures__/testScenarioTable.ts similarity index 95% rename from packages/scesim-editor/tests/e2e/__fixtures__/testScenarioTable.ts rename to packages/scesim-editor/tests-e2e/__fixtures__/testScenarioTable.ts index 0a3acfcc0ae..4633a6aaa5e 100644 --- a/packages/scesim-editor/tests/e2e/__fixtures__/testScenarioTable.ts +++ b/packages/scesim-editor/tests-e2e/__fixtures__/testScenarioTable.ts @@ -21,7 +21,10 @@ import { ProjectName } from "@kie-tools/playwright-base/projectNames"; import { Page } from "@playwright/test"; export class TestScenarioTable { - constructor(public page: Page, public projectName: ProjectName) {} + constructor( + public page: Page, + public projectName: ProjectName + ) {} public get() { return this.page.getByLabel("Test Scenario"); diff --git a/packages/scesim-editor/tests/e2e/__fixtures__/useCases.ts b/packages/scesim-editor/tests-e2e/__fixtures__/useCases.ts similarity index 93% rename from packages/scesim-editor/tests/e2e/__fixtures__/useCases.ts rename to packages/scesim-editor/tests-e2e/__fixtures__/useCases.ts index 7471d21afaf..24bf42ba37a 100644 --- a/packages/scesim-editor/tests/e2e/__fixtures__/useCases.ts +++ b/packages/scesim-editor/tests-e2e/__fixtures__/useCases.ts @@ -21,7 +21,11 @@ import { Page } from "@playwright/test"; import { SelectorPanel } from "./selectorPanel"; export class UseCases { - constructor(public page: Page, public selectorPanel: SelectorPanel, public baseURL?: string) { + constructor( + public page: Page, + public selectorPanel: SelectorPanel, + public baseURL?: string + ) { this.page = page; this.baseURL = baseURL; } diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-escaped-screenshot.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-escaped-screenshot.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-escaped-screenshot.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-escaped-screenshot.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-down.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-down.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-down.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-down.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-up.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-up.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-up.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/features/keyboard/navigation-screenshot-up.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/misc/emptyExpression/create-a-new-test-scenario.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/misc/emptyExpression/create-a-new-test-scenario.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/misc/emptyExpression/create-a-new-test-scenario.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/misc/emptyExpression/create-a-new-test-scenario.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/misc/emptyExpression/empty-background-table.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/misc/emptyExpression/empty-background-table.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/misc/emptyExpression/empty-background-table.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/misc/emptyExpression/empty-background-table.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/misc/emptyExpression/empty-test-scenario-table.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/misc/emptyExpression/empty-test-scenario-table.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/misc/emptyExpression/empty-test-scenario-table.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/misc/emptyExpression/empty-test-scenario-table.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-instance-column-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-instance-column-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-instance-column-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-instance-column-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-instance-column-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-instance-column-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-instance-column-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-instance-column-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-property-column-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-property-column-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-property-column-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-property-column-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-property-column-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-property-column-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-property-column-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-add-property-column-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-decision.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-decision.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-decision.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-decision.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-rule.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-rule.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-rule.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/backgroundTable/background-table-rule.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-decision.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-decision.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-decision.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-decision.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-rule.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-rule.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-rule.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/scesimEditor/testScenarioTable/test-scenario-table-rule.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/useCases/are-they-old-enough-test.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/useCases/are-they-old-enough-test.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/useCases/are-they-old-enough-test.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/useCases/are-they-old-enough-test.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/useCases/traffic-violation-test.png b/packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/useCases/traffic-violation-test.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/Google-Chrome/useCases/traffic-violation-test.png rename to packages/scesim-editor/tests-e2e/__screenshots__/Google-Chrome/useCases/traffic-violation-test.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/features/keyboard/navigation-escaped-screenshot.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/features/keyboard/navigation-escaped-screenshot.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/features/keyboard/navigation-escaped-screenshot.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/features/keyboard/navigation-escaped-screenshot.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-down.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-down.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-down.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-down.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-up.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-up.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-up.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/features/keyboard/navigation-screenshot-up.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/misc/emptyExpression/create-a-new-test-scenario.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/misc/emptyExpression/create-a-new-test-scenario.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/misc/emptyExpression/create-a-new-test-scenario.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/misc/emptyExpression/create-a-new-test-scenario.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/misc/emptyExpression/empty-background-table.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/misc/emptyExpression/empty-background-table.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/misc/emptyExpression/empty-background-table.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/misc/emptyExpression/empty-background-table.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/misc/emptyExpression/empty-test-scenario-table.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/misc/emptyExpression/empty-test-scenario-table.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/misc/emptyExpression/empty-test-scenario-table.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/misc/emptyExpression/empty-test-scenario-table.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-instance-column-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-instance-column-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-instance-column-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-instance-column-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-instance-column-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-instance-column-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-instance-column-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-instance-column-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-property-column-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-property-column-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-property-column-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-property-column-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-property-column-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-property-column-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-property-column-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-add-property-column-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-decision.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-decision.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-decision.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-decision.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-rule.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-rule.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-rule.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/backgroundTable/background-table-rule.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-decision.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-decision.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-decision.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-decision.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-rule.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-rule.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-rule.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/scesimEditor/testScenarioTable/test-scenario-table-rule.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/useCases/are-they-old-enough-test.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/useCases/are-they-old-enough-test.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/useCases/are-they-old-enough-test.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/useCases/are-they-old-enough-test.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/chromium/useCases/traffic-violation-test.png b/packages/scesim-editor/tests-e2e/__screenshots__/chromium/useCases/traffic-violation-test.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/chromium/useCases/traffic-violation-test.png rename to packages/scesim-editor/tests-e2e/__screenshots__/chromium/useCases/traffic-violation-test.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/features/keyboard/navigation-escaped-screenshot.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/features/keyboard/navigation-escaped-screenshot.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/features/keyboard/navigation-escaped-screenshot.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/features/keyboard/navigation-escaped-screenshot.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-down.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-down.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-down.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-down.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-up.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-up.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-up.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/features/keyboard/navigation-screenshot-up.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/misc/emptyExpression/create-a-new-test-scenario.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/misc/emptyExpression/create-a-new-test-scenario.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/misc/emptyExpression/create-a-new-test-scenario.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/misc/emptyExpression/create-a-new-test-scenario.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/misc/emptyExpression/empty-background-table.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/misc/emptyExpression/empty-background-table.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/misc/emptyExpression/empty-background-table.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/misc/emptyExpression/empty-background-table.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/misc/emptyExpression/empty-test-scenario-table.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/misc/emptyExpression/empty-test-scenario-table.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/misc/emptyExpression/empty-test-scenario-table.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/misc/emptyExpression/empty-test-scenario-table.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-instance-column-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-instance-column-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-instance-column-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-instance-column-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-instance-column-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-instance-column-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-instance-column-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-instance-column-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-property-column-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-property-column-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-property-column-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-property-column-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-property-column-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-property-column-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-property-column-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-add-property-column-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-decision.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-decision.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-decision.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-decision.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-rule.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-rule.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-rule.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/backgroundTable/background-table-rule.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-instance-column-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-left.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-left.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-left.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-left.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-right.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-right.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-right.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-add-property-column-right.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-decision.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-decision.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-decision.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-decision.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-rule.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-rule.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-rule.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/scesimEditor/testScenarioTable/test-scenario-table-rule.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/useCases/are-they-old-enough-test.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/useCases/are-they-old-enough-test.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/useCases/are-they-old-enough-test.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/useCases/are-they-old-enough-test.png diff --git a/packages/scesim-editor/tests/e2e/__screenshots__/webkit/useCases/traffic-violation-test.png b/packages/scesim-editor/tests-e2e/__screenshots__/webkit/useCases/traffic-violation-test.png similarity index 100% rename from packages/scesim-editor/tests/e2e/__screenshots__/webkit/useCases/traffic-violation-test.png rename to packages/scesim-editor/tests-e2e/__screenshots__/webkit/useCases/traffic-violation-test.png diff --git a/packages/scesim-editor/tests/e2e/features/keyboard/keyboard.spec.ts b/packages/scesim-editor/tests-e2e/features/keyboard/keyboard.spec.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/features/keyboard/keyboard.spec.ts rename to packages/scesim-editor/tests-e2e/features/keyboard/keyboard.spec.ts diff --git a/packages/scesim-editor/tests/e2e/features/selection/contextMenu.spec.ts b/packages/scesim-editor/tests-e2e/features/selection/contextMenu.spec.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/features/selection/contextMenu.spec.ts rename to packages/scesim-editor/tests-e2e/features/selection/contextMenu.spec.ts diff --git a/packages/scesim-editor/tests/e2e/misc/emptyExpression/emptyExpression.spec.ts b/packages/scesim-editor/tests-e2e/misc/emptyExpression/emptyExpression.spec.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/misc/emptyExpression/emptyExpression.spec.ts rename to packages/scesim-editor/tests-e2e/misc/emptyExpression/emptyExpression.spec.ts diff --git a/packages/scesim-editor/tests/e2e/scesimEditor/backgroundTable/contextMenu.spec.ts b/packages/scesim-editor/tests-e2e/scesimEditor/backgroundTable/contextMenu.spec.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/scesimEditor/backgroundTable/contextMenu.spec.ts rename to packages/scesim-editor/tests-e2e/scesimEditor/backgroundTable/contextMenu.spec.ts diff --git a/packages/scesim-editor/tests/e2e/scesimEditor/backgroundTable/populate.spec.ts b/packages/scesim-editor/tests-e2e/scesimEditor/backgroundTable/populate.spec.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/scesimEditor/backgroundTable/populate.spec.ts rename to packages/scesim-editor/tests-e2e/scesimEditor/backgroundTable/populate.spec.ts diff --git a/packages/scesim-editor/tests/e2e/scesimEditor/testScenarioTable/contextMenu.spec.ts b/packages/scesim-editor/tests-e2e/scesimEditor/testScenarioTable/contextMenu.spec.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/scesimEditor/testScenarioTable/contextMenu.spec.ts rename to packages/scesim-editor/tests-e2e/scesimEditor/testScenarioTable/contextMenu.spec.ts diff --git a/packages/scesim-editor/tests/e2e/scesimEditor/testScenarioTable/populate.spec.ts b/packages/scesim-editor/tests-e2e/scesimEditor/testScenarioTable/populate.spec.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/scesimEditor/testScenarioTable/populate.spec.ts rename to packages/scesim-editor/tests-e2e/scesimEditor/testScenarioTable/populate.spec.ts diff --git a/packages/scesim-editor/tests/e2e/useCases/areTheyOldEnough.spec.ts b/packages/scesim-editor/tests-e2e/useCases/areTheyOldEnough.spec.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/useCases/areTheyOldEnough.spec.ts rename to packages/scesim-editor/tests-e2e/useCases/areTheyOldEnough.spec.ts diff --git a/packages/scesim-editor/tests/e2e/useCases/trafficViolation.spec.ts b/packages/scesim-editor/tests-e2e/useCases/trafficViolation.spec.ts similarity index 100% rename from packages/scesim-editor/tests/e2e/useCases/trafficViolation.spec.ts rename to packages/scesim-editor/tests-e2e/useCases/trafficViolation.spec.ts diff --git a/packages/scesim-marshaller/jest.config.js b/packages/scesim-marshaller/jest.config.js index 995eed8f0e8..060be79621a 100644 --- a/packages/scesim-marshaller/jest.config.js +++ b/packages/scesim-marshaller/jest.config.js @@ -17,18 +17,10 @@ * under the License. */ +const { config } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, + ...config, + testEnvironment: "node", }; diff --git a/packages/scesim-marshaller/package.json b/packages/scesim-marshaller/package.json index 9d72f7694a2..8112af88478 100644 --- a/packages/scesim-marshaller/package.json +++ b/packages/scesim-marshaller/package.json @@ -33,17 +33,18 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", "@kie-tools/xml-parser-ts-codegen": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/react": "^17.0.6", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/scesim-marshaller/src/schemas/scesim-1_8/SceSim.xsd b/packages/scesim-marshaller/src/schemas/scesim-1_8/SceSim.xsd index 8b29376d6a8..6f5ebe95ae7 100644 --- a/packages/scesim-marshaller/src/schemas/scesim-1_8/SceSim.xsd +++ b/packages/scesim-marshaller/src/schemas/scesim-1_8/SceSim.xsd @@ -3,8 +3,8 @@ elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="https://kie.org/scesim/1.8" - targetNamespace="https://kie.org/scesim/1.8"> - + targetNamespace="https://kie.org/scesim/1.8" +> @@ -14,8 +14,7 @@ - + @@ -38,8 +37,7 @@ - + @@ -88,8 +86,7 @@ - + @@ -104,8 +101,7 @@ - + @@ -144,6 +140,4 @@ - - - \ No newline at end of file + diff --git a/packages/scesim-marshaller/tests-data--manual/OldEnoughTest.scesim b/packages/scesim-marshaller/tests-data--manual/OldEnoughTest.scesim index ba2543a98ec..940bc045f43 100644 --- a/packages/scesim-marshaller/tests-data--manual/OldEnoughTest.scesim +++ b/packages/scesim-marshaller/tests-data--manual/OldEnoughTest.scesim @@ -22,7 +22,7 @@ - + Index OTHER @@ -37,7 +37,7 @@ 70.0 - + Description OTHER @@ -337,7 +337,7 @@ - + 1|1 GIVEN @@ -377,6 +377,6 @@ false - + - \ No newline at end of file + diff --git a/packages/scesim-marshaller/tests-data--manual/TrafficViolationTest.scesim b/packages/scesim-marshaller/tests-data--manual/TrafficViolationTest.scesim index 1ce37a055e8..3b56f6b6166 100644 --- a/packages/scesim-marshaller/tests-data--manual/TrafficViolationTest.scesim +++ b/packages/scesim-marshaller/tests-data--manual/TrafficViolationTest.scesim @@ -22,7 +22,7 @@ - + Index OTHER @@ -37,7 +37,7 @@ NOT_EXPRESSION - + Description OTHER @@ -71,7 +71,7 @@ number Driver Points - + 114 NOT_EXPRESSION @@ -95,7 +95,7 @@ Type Violation Type - + 114 NOT_EXPRESSION @@ -119,7 +119,7 @@ number Violation Speed Limit - + 114 NOT_EXPRESSION @@ -143,7 +143,7 @@ number Violation Actual Speed - + 114 NOT_EXPRESSION @@ -167,7 +167,7 @@ number Fine Amount - + 114 NOT_EXPRESSION @@ -191,7 +191,7 @@ number Fine Points - + 114 NOT_EXPRESSION @@ -212,7 +212,7 @@ string Should the driver be suspended? value - + 114 NOT_EXPRESSION @@ -736,7 +736,7 @@ - + 1|1 GIVEN @@ -779,6 +779,6 @@ false - + - \ No newline at end of file + diff --git a/packages/scesim-marshaller/tests-data--manual/simple.dmn b/packages/scesim-marshaller/tests-data--manual/simple.dmn index 0b258cc7e3a..67370736894 100644 --- a/packages/scesim-marshaller/tests-data--manual/simple.dmn +++ b/packages/scesim-marshaller/tests-data--manual/simple.dmn @@ -1,4 +1,4 @@ - + - - - number - - - - - - - - 12 * Monthly Salary - - - - - + + + number + + + + + + + + 12 * Monthly Salary + + + + + diff --git a/packages/scesim-marshaller/tests-data--manual/simple.scesim b/packages/scesim-marshaller/tests-data--manual/simple.scesim index dcbd6ed94d4..3c4d916361c 100644 --- a/packages/scesim-marshaller/tests-data--manual/simple.scesim +++ b/packages/scesim-marshaller/tests-data--manual/simple.scesim @@ -1,4 +1,4 @@ - + - + - - + </defs> + <title> kie_icon_rgb_fullcolor_default - - - - - - - + + + + + + + diff --git a/packages/serverless-logic-web-tools/static/images/kie_horizontal_rgb_fullcolor_default.svg b/packages/serverless-logic-web-tools/static/images/kie_horizontal_rgb_fullcolor_default.svg index 4259d92dc97..e3721f3feaa 100644 --- a/packages/serverless-logic-web-tools/static/images/kie_horizontal_rgb_fullcolor_default.svg +++ b/packages/serverless-logic-web-tools/static/images/kie_horizontal_rgb_fullcolor_default.svg @@ -1,5 +1,5 @@ - - - + kie_horizontal_rgb_fullcolor_default - - - - - - - - - - + + + + + + + + + + diff --git a/packages/serverless-logic-web-tools/static/images/kie_horizontal_rgb_fullcolor_reverse.svg b/packages/serverless-logic-web-tools/static/images/kie_horizontal_rgb_fullcolor_reverse.svg index d4d94c0ca4b..198f1ed8629 100644 --- a/packages/serverless-logic-web-tools/static/images/kie_horizontal_rgb_fullcolor_reverse.svg +++ b/packages/serverless-logic-web-tools/static/images/kie_horizontal_rgb_fullcolor_reverse.svg @@ -1,5 +1,5 @@ - - - + kie_horizontal_rgb_fullcolor_reverse - - - - - - - - - - + + + + + + + + + + diff --git a/packages/serverless-logic-web-tools/static/images/vscode-alt.svg b/packages/serverless-logic-web-tools/static/images/vscode-alt.svg index 1a536bb93ce..8900718df2d 100644 --- a/packages/serverless-logic-web-tools/static/images/vscode-alt.svg +++ b/packages/serverless-logic-web-tools/static/images/vscode-alt.svg @@ -1,5 +1,5 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-logic-web-tools/static/images/vscode.svg b/packages/serverless-logic-web-tools/static/images/vscode.svg index e76df3697f8..40f30f17a28 100644 --- a/packages/serverless-logic-web-tools/static/images/vscode.svg +++ b/packages/serverless-logic-web-tools/static/images/vscode.svg @@ -1,5 +1,5 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-logic-web-tools/static/index.html b/packages/serverless-logic-web-tools/static/index.html index 3ea9bf35c99..d5d512d9b2b 100644 --- a/packages/serverless-logic-web-tools/static/index.html +++ b/packages/serverless-logic-web-tools/static/index.html @@ -17,7 +17,7 @@ ~ under the License. --> - + diff --git a/packages/dev-deployment-dmn-form-webapp/__mocks__/styleMock.js b/packages/serverless-logic-web-tools/tests/__mocks__/styleMock.js similarity index 100% rename from packages/dev-deployment-dmn-form-webapp/__mocks__/styleMock.js rename to packages/serverless-logic-web-tools/tests/__mocks__/styleMock.js diff --git a/packages/serverless-logic-web-tools/src/__tests__/extension/index.test.ts b/packages/serverless-logic-web-tools/tests/extension/index.test.ts similarity index 99% rename from packages/serverless-logic-web-tools/src/__tests__/extension/index.test.ts rename to packages/serverless-logic-web-tools/tests/extension/index.test.ts index 69a8da053f0..f0a4ad200b2 100644 --- a/packages/serverless-logic-web-tools/src/__tests__/extension/index.test.ts +++ b/packages/serverless-logic-web-tools/tests/extension/index.test.ts @@ -19,7 +19,7 @@ import { WorkspaceFile } from "@kie-tools-core/workspaces-git-fs/dist/context/WorkspacesContext"; import { Minimatch } from "minimatch"; -import { GLOB_PATTERN, splitFiles } from "../../extension"; +import { GLOB_PATTERN, splitFiles } from "../../src/extension"; const createWorkspaceFileMock = (args: Partial[0]>): WorkspaceFile => new WorkspaceFile({ diff --git a/packages/serverless-logic-web-tools/src/__tests__/jest.setup.ts b/packages/serverless-logic-web-tools/tests/jest.setup.ts similarity index 100% rename from packages/serverless-logic-web-tools/src/__tests__/jest.setup.ts rename to packages/serverless-logic-web-tools/tests/jest.setup.ts diff --git a/packages/serverless-logic-web-tools/src/__tests__/project/index.test.ts b/packages/serverless-logic-web-tools/tests/project/index.test.ts similarity index 97% rename from packages/serverless-logic-web-tools/src/__tests__/project/index.test.ts rename to packages/serverless-logic-web-tools/tests/project/index.test.ts index 002c2820133..e8cf7a3d12d 100644 --- a/packages/serverless-logic-web-tools/src/__tests__/project/index.test.ts +++ b/packages/serverless-logic-web-tools/tests/project/index.test.ts @@ -18,7 +18,7 @@ */ import { WorkspaceFile } from "@kie-tools-core/workspaces-git-fs/dist/context/WorkspacesContext"; -import { isProject, isSingleModuleProject } from "../../project"; +import { isProject, isSingleModuleProject } from "../../src/project"; const newFile = (path: string) => new WorkspaceFile({ diff --git a/packages/serverless-logic-web-tools/src/__tests__/samples/SampleService.test.ts b/packages/serverless-logic-web-tools/tests/samples/SampleService.test.ts similarity index 98% rename from packages/serverless-logic-web-tools/src/__tests__/samples/SampleService.test.ts rename to packages/serverless-logic-web-tools/tests/samples/SampleService.test.ts index 7660a8b9a4f..0aa2b6110a7 100644 --- a/packages/serverless-logic-web-tools/src/__tests__/samples/SampleService.test.ts +++ b/packages/serverless-logic-web-tools/tests/samples/SampleService.test.ts @@ -18,8 +18,8 @@ */ import { Octokit } from "@octokit/rest"; -import { SampleService } from "../../samples/SampleService"; -import { KIE_SAMPLES_REPOSITORY_INFO } from "../../samples/SampleConstants"; +import { SampleService } from "../../src/samples/SampleService"; +import { KIE_SAMPLES_REPOSITORY_INFO } from "../../src/samples/SampleConstants"; import fetchMock from "jest-fetch-mock"; import { FetchErrorResponse, @@ -29,7 +29,7 @@ import { GitHubContentData, Sample, SampleDefinition, -} from "../../samples/types"; +} from "../../src/samples/types"; import { LocalFile } from "@kie-tools-core/workspaces-git-fs/dist/worker/api/LocalFile"; import { basename } from "path"; import { encoder } from "@kie-tools-core/workspaces-git-fs/dist/encoderdecoder/EncoderDecoder"; diff --git a/packages/serverless-logic-web-tools/src/__tests__/url/removeTrailingSlashFromUrl.test.ts b/packages/serverless-logic-web-tools/tests/url/removeTrailingSlashFromUrl.test.ts similarity index 95% rename from packages/serverless-logic-web-tools/src/__tests__/url/removeTrailingSlashFromUrl.test.ts rename to packages/serverless-logic-web-tools/tests/url/removeTrailingSlashFromUrl.test.ts index cc08186d567..35d91690234 100644 --- a/packages/serverless-logic-web-tools/src/__tests__/url/removeTrailingSlashFromUrl.test.ts +++ b/packages/serverless-logic-web-tools/tests/url/removeTrailingSlashFromUrl.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { removeTrailingSlashFromUrl } from "../../url"; +import { removeTrailingSlashFromUrl } from "../../src/url"; describe("removeTrailingSlash", () => { it.each([ diff --git a/packages/serverless-logic-web-tools/src/__tests__/workspace/startupBrockers/SupportedBrowsers.test.ts b/packages/serverless-logic-web-tools/tests/workspace/startupBrockers/SupportedBrowsers.test.ts similarity index 96% rename from packages/serverless-logic-web-tools/src/__tests__/workspace/startupBrockers/SupportedBrowsers.test.ts rename to packages/serverless-logic-web-tools/tests/workspace/startupBrockers/SupportedBrowsers.test.ts index d6c739c8b11..f6ca28d60fb 100644 --- a/packages/serverless-logic-web-tools/src/__tests__/workspace/startupBrockers/SupportedBrowsers.test.ts +++ b/packages/serverless-logic-web-tools/tests/workspace/startupBrockers/SupportedBrowsers.test.ts @@ -21,7 +21,7 @@ import { BowserSatisfies, mapSupportedVersionsToBowser, MinVersionForFeature, -} from "../../../workspace/startupBlockers/SupportedBrowsers"; +} from "../../../src/workspace/startupBlockers/SupportedBrowsers"; describe("SupportedBrowsers", () => { test("mapSupportedVersionsToBowser should extract the supported versions properly", async () => { diff --git a/packages/serverless-logic-web-tools/tsconfig.json b/packages/serverless-logic-web-tools/tsconfig.json index 8f04faf9602..a598e485c3d 100644 --- a/packages/serverless-logic-web-tools/tsconfig.json +++ b/packages/serverless-logic-web-tools/tsconfig.json @@ -7,7 +7,8 @@ "declarationMap": false, "resolveJsonModule": true, "allowSyntheticDefaultImports": true, - "target": "es6" + "target": "es6", + "types": ["@testing-library/jest-dom"] }, "include": ["src"], diff --git a/packages/serverless-workflow-combined-editor/dev-webapp/static/envelope/serverless-workflow-combined-editor-envelope.html b/packages/serverless-workflow-combined-editor/dev-webapp/static/envelope/serverless-workflow-combined-editor-envelope.html index 163f39a4ba2..bb55d052044 100644 --- a/packages/serverless-workflow-combined-editor/dev-webapp/static/envelope/serverless-workflow-combined-editor-envelope.html +++ b/packages/serverless-workflow-combined-editor/dev-webapp/static/envelope/serverless-workflow-combined-editor-envelope.html @@ -17,7 +17,7 @@ ~ under the License. --> - + +.st0 { + fill: #ffffff; +} +.st1 { + fill: #afd4eb; +} +.st2 { + fill: #f48227; +} +.st3 { + fill: #014e64; +} +.st4 { + fill: none; +} + Management_Console_Logo2 - - + - + - + - + - + - + - + - + - + - + - + - + - + + C503.7,44.2,505.8,45.1,508,45.1L508,45.1z" + /> - - - - + c-1.8,0-3.6,0.6-4.9,1.9c-1.4,1.3-2.3,3-2.6,4.8h14.9c-0.3-1.8-1.2-3.5-2.6-4.8C551.4,28.2,549.7,27.5,547.9,27.5z" + /> + + + - - + + - - + - - + L39.9,17.5z" + /> + + - + - - + + - - + - + c0.9-0.2,1.8-0.3,2.7-0.4c0-0.9,0.3-1.7,0.9-2.3c-0.2,0.7-0.2,1.5,0,2.2c1.2-0.1,2.3-0.1,3.5,0L25.5,40.5z" + /> + diff --git a/packages/serverless-workflow-diagram-editor-assets/package.json b/packages/serverless-workflow-diagram-editor-assets/package.json index cee071e5523..8d3e685715f 100644 --- a/packages/serverless-workflow-diagram-editor-assets/package.json +++ b/packages/serverless-workflow-diagram-editor-assets/package.json @@ -30,4 +30,4 @@ "cpr": "^3.0.1", "rimraf": "^3.0.2" } -} \ No newline at end of file +} diff --git a/packages/serverless-workflow-diagram-editor-envelope/jest.config.js b/packages/serverless-workflow-diagram-editor-envelope/jest.config.js deleted file mode 100644 index 6240ed76eb3..00000000000 --- a/packages/serverless-workflow-diagram-editor-envelope/jest.config.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], -}; diff --git a/packages/serverless-workflow-diagram-editor-envelope/package.json b/packages/serverless-workflow-diagram-editor-envelope/package.json index 25da0a3f8cf..b7516fee9f7 100644 --- a/packages/serverless-workflow-diagram-editor-envelope/package.json +++ b/packages/serverless-workflow-diagram-editor-envelope/package.json @@ -19,9 +19,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools-core/editor": "workspace:*", @@ -41,15 +40,7 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", - "@types/testing-library__jest-dom": "^5.9.1", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/serverless-workflow-diagram-editor-envelope/tests/__mocks__/styleMock.js b/packages/serverless-workflow-diagram-editor-envelope/tests/__mocks__/styleMock.js deleted file mode 100644 index 4bd939113b0..00000000000 --- a/packages/serverless-workflow-diagram-editor-envelope/tests/__mocks__/styleMock.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = {}; diff --git a/packages/serverless-workflow-diagram-editor-envelope/tests/jest.setup.ts b/packages/serverless-workflow-diagram-editor-envelope/tests/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/serverless-workflow-diagram-editor-envelope/tests/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/serverless-workflow-diagram-editor/appformer-bom/pom.xml b/packages/serverless-workflow-diagram-editor/appformer-bom/pom.xml index bc270e100d0..9c8e3074b08 100644 --- a/packages/serverless-workflow-diagram-editor/appformer-bom/pom.xml +++ b/packages/serverless-workflow-diagram-editor/appformer-bom/pom.xml @@ -64,7 +64,6 @@ - org.kie.j2cl.tools diff --git a/packages/serverless-workflow-diagram-editor/appformer-client-api/pom.xml b/packages/serverless-workflow-diagram-editor/appformer-client-api/pom.xml index 34706b55de5..713ae2d6674 100644 --- a/packages/serverless-workflow-diagram-editor/appformer-client-api/pom.xml +++ b/packages/serverless-workflow-diagram-editor/appformer-client-api/pom.xml @@ -50,7 +50,5 @@ mockito-core test - - diff --git a/packages/serverless-workflow-diagram-editor/appformer-kogito-bridge/pom.xml b/packages/serverless-workflow-diagram-editor/appformer-kogito-bridge/pom.xml index 5c782a2c712..a485ffabdc7 100644 --- a/packages/serverless-workflow-diagram-editor/appformer-kogito-bridge/pom.xml +++ b/packages/serverless-workflow-diagram-editor/appformer-kogito-bridge/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.serverless.editor @@ -78,6 +77,5 @@ mockito-core test - diff --git a/packages/serverless-workflow-diagram-editor/env/index.js b/packages/serverless-workflow-diagram-editor/env/index.js index 946cb6c96eb..160d41c6c1d 100644 --- a/packages/serverless-workflow-diagram-editor/env/index.js +++ b/packages/serverless-workflow-diagram-editor/env/index.js @@ -25,11 +25,6 @@ module.exports = composeEnv([require("@kie-tools/root-env/env")], { return { swfDiagramEditor: { version: require("../package.json").version, - UBERFIRE__version: "7.74.1.Final", - ANIMATE_CSS__version: "3.5.2", - BOOTSTRAP__version: "3.4.1", - FONT_AWESOME__version: "4.7.0", - GWTBOOTSTRAP3__version: "1.0.1", }, }; }, diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-bom/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-bom/pom.xml index d4911a841dc..2d7c4125b89 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-bom/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-bom/pom.xml @@ -214,7 +214,6 @@ pom import - @@ -229,5 +228,4 @@ - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/pom.xml index 1d7321cc55b..d6d0cb52869 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/pom.xml @@ -39,7 +39,6 @@ - org.kie.kogito.stunner.serverless.editor @@ -150,7 +149,6 @@ kie-wb-common-stunner-backend-api test - @@ -166,130 +164,129 @@ - - org.apache.maven.plugins - maven-dependency-plugin - - - unpack-external-dependencies - - generate-sources - - unpack - - - ${project.build.directory}/external-deps - - - org.uberfire - uberfire-workbench-client-views-patternfly - ${uberfire.version} - - - org.webjars - font-awesome - ${font_awesome.version} - - - org.gwtbootstrap3 - gwtbootstrap3 - ${gwtbootstrap3.version} - - - org.webjars - bootstrap - ${bootstrap.version} - - - org.webjars - animate.css - ${animate_css.version} - - - - - - - - com.coderplus.maven.plugins - copy-rename-maven-plugin - 1.0.1 - - - rename-files - - process-sources - - rename - - - - - + org.apache.maven.plugins + maven-dependency-plugin + + + unpack-external-dependencies + + generate-sources + + unpack + + + ${project.build.directory}/external-deps + + + org.uberfire + uberfire-workbench-client-views-patternfly + ${version.uberfire} + + + org.webjars + font-awesome + ${version.font_awesome} + + + org.gwtbootstrap3 + gwtbootstrap3 + ${version.gwtbootstrap3} + + + org.webjars + bootstrap + ${version.bootstrap} + + + org.webjars + animate.css + ${version.animate_css} + + + + + + + + com.coderplus.maven.plugins + copy-rename-maven-plugin + 1.0.1 + + + rename-files + + process-sources + + rename + + + + + ${project.build.directory}/external-deps/org/uberfire/client/views/static/js/patternfly.min.js - ${project.basedir}/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/js/patternfly.min.js.noproc - - - + + ${project.build.directory}/external-deps/org/uberfire/client/views/static/bootstrap-select/js/bootstrap-select.min.js - ${project.basedir}/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/js/bootstrap-select.min.js.noproc - - - + + ${project.build.directory}/external-deps/org/gwtbootstrap3/client/resource/js/jquery-1.12.4.min.cache.js - ${project.basedir}/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/js/jquery-1.12.4.min.cache.js.noproc - - - + + ${project.build.directory}/external-deps/org/gwtbootstrap3/client/resource/js/gwtbootstrap3.js - ${project.basedir}/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/js/gwtbootstrap3.js.noproc - - - ${project.build.directory}/external-deps/META-INF/resources/webjars/bootstrap/${bootstrap.version}/js/bootstrap.min.js - + + ${project.build.directory}/external-deps/META-INF/resources/webjars/bootstrap/${version.bootstrap}/js/bootstrap.min.js + ${project.basedir}/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/js/bootstrap.min.js.noproc - - - + + ${project.build.directory}/external-deps/org/uberfire/client/views/static/css/patternfly-additions.min.css - ${project.basedir}/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/css/patternfly-additions.min.css - - - + + ${project.build.directory}/external-deps/org/uberfire/client/views/static/css/patternfly.min.css - ${project.basedir}/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/css/patternfly.min.css - - - + + ${project.build.directory}/external-deps/org/uberfire/client/views/static/uberfire-patternfly.css - ${project.basedir}/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/css/uberfire-patternfly.css - - - ${project.build.directory}/external-deps/META-INF/resources/webjars/font-awesome/${font_awesome.version}/css/font-awesome.min.css - + + ${project.build.directory}/external-deps/META-INF/resources/webjars/font-awesome/${version.font_awesome}/css/font-awesome.min.css + ${project.basedir}/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/css/font-awesome.min.css - - - ${project.build.directory}/external-deps/META-INF/resources/webjars/animate.css/${animate_css.version}/animate.min.css - + + ${project.build.directory}/external-deps/META-INF/resources/webjars/animate.css/${version.animate_css}/animate.min.css + ${project.basedir}/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/css/animate.min.css - - - - - - + + + + + + - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/css/fonts.css b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/css/fonts.css index d7abfe38b5f..c086bd265e7 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/css/fonts.css +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/src/main/resources/org/kie/workbench/common/stunner/client/lienzo/resources/css/fonts.css @@ -19,7 +19,8 @@ @font-face { font-family: PatternFlyIcons-webfont; - src: url(data:font/truetype;charset=utf-8;base64,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) + src: + url(data:font/truetype;charset=utf-8;base64,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) format("truetype"), url(data:font/woff;charset=utf-8;base64,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) format("woff"); @@ -31,7 +32,8 @@ font-family: "Open Sans"; font-style: normal; font-weight: 300; - src: url(data:font/woff;charset=utf-8;base64,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) + src: + url(data:font/woff;charset=utf-8;base64,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) format("woff"), url(data:font/truetype;charset=utf-8;base64,AAEAAAATAQAABAAwRkZUTWNUz28AAAE8AAAAHEdERUYBHQAEAAABWAAAACBHUE9TLXIXQgAAAXgAAAmeR1NVQqBjiKEAAAsYAAAAqE9TLzKgeJYQAAALwAAAAGBjbWFwE/A0UQAADCAAAAIKY3Z0ICksBc4AAA4sAAAAPGZwZ22LC3pBAAAOaAAACZFnYXNwAAAAEAAAF/wAAAAIZ2x5ZjRwVRYAABgEAABrjGhlYWQBP5OYAACDkAAAADZoaGVhDscFWwAAg8gAAAAkaG10eNqSXhsAAIPsAAADwGxvY2EsKxIMAACHrAAAAeJtYXhwAxsCcgAAiZAAAAAgbmFtZXdjmykAAImwAAAEjHBvc3TvsKWfAACOPAAAAwJwcmVw80Qi7AAAkUAAAACQd2ViZmdFUa8AAJHQAAAABgAAAAEAAAAAzD2izwAAAADJQhTbAAAAAM3VF8QAAQAAAA4AAAAYAAAAAAACAAEAAQDvAAEABAAAAAIAAAABAAAACgBUAGIABERGTFQAGmN5cmwAJmdyZWsAMmxhdG4APgAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAABa2VybgAIAAAAAQAAAAEABAACAAAAAQAIAAEIcgAEAAAAYADKAMoBkAGWAfQBlgH6AlgCpgJYAtgC3gKmAxACWAN+AlgDtATOBPwE/AKmBe4G5AGQBxYHKAdSBygHZAcWB3YHFgcWBygHKAfAB1IIOgg6B3YIOgGQAfoB+gH6AfoB+gH6AtgCpgLYAtgC2ALYAlgCWAJYAlgCWAJYAlgEzgTOBM4EzgXuA34HFgcWBxYHFgcWBxYHKAcoBygHKAcoBygHKAcoCGAHKAg6BygIOgLYBe4B9AH0AMoAygGWAMoBlgAxACT/cQA3ACkAOQApADoAKQA8ABQARP+uAEb/hQBH/4UASP+FAEr/wwBQ/8MAUf/DAFL/hQBT/8MAVP+FAFX/wwBW/8MAWP/DAIL/cQCD/3EAhP9xAIX/cQCG/3EAh/9xAJ8AFACi/4UAo/+uAKT/rgCl/64Apv+uAKf/rgCo/64Aqf+FAKr/hQCr/4UArP+FAK3/hQC0/4UAtf+FALb/hQC3/4UAuP+FALr/hQC7/8MAvP/DAL3/wwC+/8MAxP+FAMUAFAABAC0AuAAXACb/mgAq/5oAMv+aADT/mgA3/3EAOP/XADn/hQA6/4UAPP+FAIn/mgCU/5oAlf+aAJb/mgCX/5oAmP+aAJr/mgCb/9cAnP/XAJ3/1wCe/9cAn/+FAMP/mgDF/4UAAQA3/64AFwAF/3EACv9xACb/1wAq/9cALQEKADL/1wA0/9cAN/9xADn/rgA6/64APP+FAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCf/4UAw//XAMX/hQDa/3EA3f9xABMAD/+uABH/rgAk/9cAN//DADn/7AA6/+wAO//XADz/7AA9/+wAgv/XAIP/1wCE/9cAhf/XAIb/1wCH/9cAn//sAMX/7ADb/64A3v+uAAwAJv/XACr/1wAy/9cANP/XAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wDD/9cAAQAtAHsADAAP/4UAEf+FACIAKQAk/9cAgv/XAIP/1wCE/9cAhf/XAIb/1wCH/9cA2/+FAN7/hQAbAAX/XAAK/1wAJv/XACr/1wAy/9cANP/XADf/1wA4/+wAOf/XADr/1wA8/8MAif/XAJT/1wCV/9cAlv/XAJf/1wCY/9cAmv/XAJv/7ACc/+wAnf/sAJ7/7ACf/8MAw//XAMX/wwDa/1wA3f9cAA0AD/72ABH+9gAk/5oAO//XAD3/7ACC/5oAg/+aAIT/mgCF/5oAhv+aAIf/mgDb/vYA3v72AEYAD/+FABD/rgAR/4UAIgApACT/cQAm/9cAKv/XADL/1wA0/9cANwApAET/XABG/3EAR/9xAEj/cQBK/3EAUP+aAFH/mgBS/3EAU/+aAFT/cQBV/5oAVv+FAFj/mgBZ/9cAWv/XAFv/1wBc/9cAXf+uAIL/cQCD/3EAhP9xAIX/cQCG/3EAh/9xAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCi/3EAo/9cAKT/XACl/1wApv9cAKf/XACo/1wAqf9xAKr/cQCr/3EArP9xAK3/cQC0/3EAtf9xALb/cQC3/3EAuP9xALr/cQC7/5oAvP+aAL3/mgC+/5oAv//XAMP/1wDE/3EA1/+uANj/rgDb/4UA3v+FAAsAD//XABH/1wAk/+wAgv/sAIP/7ACE/+wAhf/sAIb/7ACH/+wA2//XAN7/1wA8AA//mgAR/5oAIgApACT/rgAm/+wAKv/sADL/7AA0/+wARP/XAEb/1wBH/9cASP/XAEr/7ABQ/+wAUf/sAFL/1wBT/+wAVP/XAFX/7ABW/+wAWP/sAIL/rgCD/64AhP+uAIX/rgCG/64Ah/+uAIn/7ACU/+wAlf/sAJb/7ACX/+wAmP/sAJr/7ACi/9cAo//XAKT/1wCl/9cApv/XAKf/1wCo/9cAqf/XAKr/1wCr/9cArP/XAK3/1wC0/9cAtf/XALb/1wC3/9cAuP/XALr/1wC7/+wAvP/sAL3/7AC+/+wAw//sAMT/1wDb/5oA3v+aAD0AD/+FABH/hQAiACkAJP+FACb/1wAq/9cAMv/XADT/1wBE/5oARv+aAEf/mgBI/5oASv/XAFD/wwBR/8MAUv+aAFP/wwBU/5oAVf/DAFb/rgBY/8MAXf/XAIL/hQCD/4UAhP+FAIX/hQCG/4UAh/+FAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCi/5oAo/+aAKT/mgCl/5oApv+aAKf/mgCo/5oAqf+aAKr/mgCr/5oArP+aAK3/mgC0/5oAtf+aALb/mgC3/5oAuP+aALr/mgC7/8MAvP/DAL3/wwC+/8MAw//XAMT/mgDb/4UA3v+FAAwAJv/sACr/7AAy/+wANP/sAIn/7ACU/+wAlf/sAJb/7ACX/+wAmP/sAJr/7ADD/+wABAAF/+wACv/sANr/7ADd/+wACgAF/+wACv/sAFn/1wBa/9cAW//XAFz/1wBd/+wAv//XANr/7ADd/+wABAAFACkACgApANoAKQDdACkABAAFAHsACgB7ANoAewDdAHsAEgBG/9cAR//XAEj/1wBS/9cAVP/XAKL/1wCp/9cAqv/XAKv/1wCs/9cArf/XALT/1wC1/9cAtv/XALf/1wC4/9cAuv/XAMT/1wAeAAUAUgAKAFIARP/XAEb/1wBH/9cASP/XAEr/7ABS/9cAVP/XAKL/1wCj/9cApP/XAKX/1wCm/9cAp//XAKj/1wCp/9cAqv/XAKv/1wCs/9cArf/XALT/1wC1/9cAtv/XALf/1wC4/9cAuv/XAMT/1wDaAFIA3QBSAAkABQBSAAoAUgAP/64AEf+uACIAKQDaAFIA2/+uAN0AUgDe/64ABAAF/9cACv/XANr/1wDd/9cAAgAfAAUABQAAAAoACwABAA8AEQADACQAKQAGAC4ALwAMADIANAAOADcAPgARAEQARgAZ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AC8ALwB3AHcAdwAuAGEAcwBjAGUAbgBkAGUAcgBjAG8AcgBwAC4AYwBvAG0ALwBoAHQAdABwADoALwAvAHcAdwB3AC4AYQBzAGMAZQBuAGQAZQByAGMAbwByAHAALgBjAG8AbQAvAHQAeQBwAGUAZABlAHMAaQBnAG4AZQByAHMALgBoAHQAbQBsAEwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAQQBwAGEAYwBoAGUAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMgAuADAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcABhAGMAaABlAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBMAEkAQwBFAE4AUwBFAC0AMgAuADAATwBwAGUAbgAgAFMAYQBuAHMATABpAGcAaAB0AFcAZQBiAGYAbwBuAHQAIAAxAC4AMABXAGUAZAAgAEoAdQBuACAAIAA1ACAAMQAyADoAMgA4ADoANQAyACAAMgAwADEAMwACAAAAAAAA/2YAZgAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAECAQMAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQQAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQBBQCKANoAgwCTAQYBBwCNAQgAiADDAN4BCQCeAKoA9QD0APYAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6ANcAsACxALsA2ADdANkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXALIAswC2ALcAxAC0ALUAxQCHAKsBGAC+AL8AvAEZARoBGwCMAO8BHAEdAR4BHwEgASEGZ2x5cGgxB3VuaTAwMEQHdW5pMDBBMAd1bmkwMEFEB3VuaTAwQjIHdW5pMDBCMwd1bmkwMEI1B3VuaTAwQjkHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMTAHdW5pMjAxMQpmaWd1cmVkYXNoB3VuaTIwMkYHdW5pMjA1Rgd1bmkyMDc0BEV1cm8HdW5pRTAwMAd1bmlGQjAxB3VuaUZCMDIHdW5pRkIwMwd1bmlGQjA0CGdseXBoMjIzAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLAXRSAgS7gADlFLsAZTWliwNBuwKFlgZiCKVViwAiVhsAFFYyNisAIjRLILAQYqsgwGBiqyFAYGKlmyBCgJRVJEsgwIByqxBgFEsSQBiFFYsECIWLEGA0SxJgGIUVi4BACIWLEGAURZWVlZuAH/hbAEjbEFAEQAAVGvZ0QAAA==) format("truetype"); @@ -41,7 +43,8 @@ font-family: "Open Sans"; font-style: normal; font-weight: 400; - src: url(data:font/woff;charset=utf-8;base64,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) + src: + url(data:font/woff;charset=utf-8;base64,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) format("woff"), url(data:font/truetype;charset=utf-8;base64,AAEAAAATAQAABAAwRkZUTWNH7I8AAAE8AAAAHEdERUYBHQAEAAABWAAAACBHUE9TLXIXQgAAAXgAAAmeR1NVQqBjiKEAAAsYAAAAqE9TLzKg5Zl/AAALwAAAAGBjbWFwE/A0UQAADCAAAAIKY3Z0ICnGBjsAAA4sAAAAPGZwZ22LC3pBAAAOaAAACZFnYXNwAAAAEAAAF/wAAAAIZ2x5ZlJqvC0AABgEAABvcGhlYWQBBJSCAACHdAAAADZoaGVhDowFGQAAh6wAAAAkaG10eP2LWdsAAIfQAAADwGxvY2G6VZ9mAACLkAAAAeJtYXhwAxsCBwAAjXQAAAAgbmFtZWcOjDoAAI2UAAAEKHBvc3TvsKWfAACRvAAAAwJwcmVw80Qi7AAAlMAAAACQd2ViZme2Ua8AAJVQAAAABgAAAAEAAAAAzD2izwAAAADJNTGLAAAAAM3VGDQAAQAAAA4AAAAYAAAAAAACAAEAAQDvAAEABAAAAAIAAAABAAAACgBUAGIABERGTFQAGmN5cmwAJmdyZWsAMmxhdG4APgAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAABa2VybgAIAAAAAQAAAAEABAACAAAAAQAIAAEIcgAEAAAAYADKAMoBkAGWAfQBlgH6AlgCpgJYAtgC3gKmAxACWAN+AlgDtATOBPwE/AKmBe4G5AGQBxYHKAdSBygHZAcWB3YHFgcWBygHKAfAB1IIOgg6B3YIOgGQAfoB+gH6AfoB+gH6AtgCpgLYAtgC2ALYAlgCWAJYAlgCWAJYAlgEzgTOBM4EzgXuA34HFgcWBxYHFgcWBxYHKAcoBygHKAcoBygHKAcoCGAHKAg6BygIOgLYBe4B9AH0AMoAygGWAMoBlgAxACT/cQA3ACkAOQApADoAKQA8ABQARP+uAEb/hQBH/4UASP+FAEr/wwBQ/8MAUf/DAFL/hQBT/8MAVP+FAFX/wwBW/8MAWP/DAIL/cQCD/3EAhP9xAIX/cQCG/3EAh/9xAJ8AFACi/4UAo/+uAKT/rgCl/64Apv+uAKf/rgCo/64Aqf+FAKr/hQCr/4UArP+FAK3/hQC0/4UAtf+FALb/hQC3/4UAuP+FALr/hQC7/8MAvP/DAL3/wwC+/8MAxP+FAMUAFAABAC0AuAAXACb/mgAq/5oAMv+aADT/mgA3/3EAOP/XADn/hQA6/4UAPP+FAIn/mgCU/5oAlf+aAJb/mgCX/5oAmP+aAJr/mgCb/9cAnP/XAJ3/1wCe/9cAn/+FAMP/mgDF/4UAAQA3/64AFwAF/3EACv9xACb/1wAq/9cALQEKADL/1wA0/9cAN/9xADn/rgA6/64APP+FAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCf/4UAw//XAMX/hQDa/3EA3f9xABMAD/+uABH/rgAk/9cAN//DADn/7AA6/+wAO//XADz/7AA9/+wAgv/XAIP/1wCE/9cAhf/XAIb/1wCH/9cAn//sAMX/7ADb/64A3v+uAAwAJv/XACr/1wAy/9cANP/XAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wDD/9cAAQAtAHsADAAP/4UAEf+FACIAKQAk/9cAgv/XAIP/1wCE/9cAhf/XAIb/1wCH/9cA2/+FAN7/hQAbAAX/XAAK/1wAJv/XACr/1wAy/9cANP/XADf/1wA4/+wAOf/XADr/1wA8/8MAif/XAJT/1wCV/9cAlv/XAJf/1wCY/9cAmv/XAJv/7ACc/+wAnf/sAJ7/7ACf/8MAw//XAMX/wwDa/1wA3f9cAA0AD/72ABH+9gAk/5oAO//XAD3/7ACC/5oAg/+aAIT/mgCF/5oAhv+aAIf/mgDb/vYA3v72AEYAD/+FABD/rgAR/4UAIgApACT/cQAm/9cAKv/XADL/1wA0/9cANwApAET/XABG/3EAR/9xAEj/cQBK/3EAUP+aAFH/mgBS/3EAU/+aAFT/cQBV/5oAVv+FAFj/mgBZ/9cAWv/XAFv/1wBc/9cAXf+uAIL/cQCD/3EAhP9xAIX/cQCG/3EAh/9xAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCi/3EAo/9cAKT/XACl/1wApv9cAKf/XACo/1wAqf9xAKr/cQCr/3EArP9xAK3/cQC0/3EAtf9xALb/cQC3/3EAuP9xALr/cQC7/5oAvP+aAL3/mgC+/5oAv//XAMP/1wDE/3EA1/+uANj/rgDb/4UA3v+FAAsAD//XABH/1wAk/+wAgv/sAIP/7ACE/+wAhf/sAIb/7ACH/+wA2//XAN7/1wA8AA//mgAR/5oAIgApACT/rgAm/+wAKv/sADL/7AA0/+wARP/XAEb/1wBH/9cASP/XAEr/7ABQ/+wAUf/sAFL/1wBT/+wAVP/XAFX/7ABW/+wAWP/sAIL/rgCD/64AhP+uAIX/rgCG/64Ah/+uAIn/7ACU/+wAlf/sAJb/7ACX/+wAmP/sAJr/7ACi/9cAo//XAKT/1wCl/9cApv/XAKf/1wCo/9cAqf/XAKr/1wCr/9cArP/XAK3/1wC0/9cAtf/XALb/1wC3/9cAuP/XALr/1wC7/+wAvP/sAL3/7AC+/+wAw//sAMT/1wDb/5oA3v+aAD0AD/+FABH/hQAiACkAJP+FACb/1wAq/9cAMv/XADT/1wBE/5oARv+aAEf/mgBI/5oASv/XAFD/wwBR/8MAUv+aAFP/wwBU/5oAVf/DAFb/rgBY/8MAXf/XAIL/hQCD/4UAhP+FAIX/hQCG/4UAh/+FAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCi/5oAo/+aAKT/mgCl/5oApv+aAKf/mgCo/5oAqf+aAKr/mgCr/5oArP+aAK3/mgC0/5oAtf+aALb/mgC3/5oAuP+aALr/mgC7/8MAvP/DAL3/wwC+/8MAw//XAMT/mgDb/4UA3v+FAAwAJv/sACr/7AAy/+wANP/sAIn/7ACU/+wAlf/sAJb/7ACX/+wAmP/sAJr/7ADD/+wABAAF/+wACv/sANr/7ADd/+wACgAF/+wACv/sAFn/1wBa/9cAW//XAFz/1wBd/+wAv//XANr/7ADd/+wABAAFACkACgApANoAKQDdACkABAAFAHsACgB7ANoAewDdAHsAEgBG/9cAR//XAEj/1wBS/9cAVP/XAKL/1wCp/9cAqv/XAKv/1wCs/9cArf/XALT/1wC1/9cAtv/XALf/1wC4/9cAuv/XAMT/1wAeAAUAUgAKAFIARP/XAEb/1wBH/9cASP/XAEr/7ABS/9cAVP/XAKL/1wCj/9cApP/XAKX/1wCm/9cAp//XAKj/1wCp/9cAqv/XAKv/1wCs/9cArf/XALT/1wC1/9cAtv/XALf/1wC4/9cAuv/XAMT/1wDaAFIA3QBSAAkABQBSAAoAUgAP/64AEf+uACIAKQDaAFIA2/+uAN0AUgDe/64ABAAF/9cACv/XANr/1wDd/9cAAgAfAAUABQAAAAoACwABAA8AEQADACQAKQAGAC4ALwAMADIANAAOADcAPgARAEQARgAZ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AVkJAQQEA1EAAwMMQwAHBwBRAgEAAA0ARBMSEREREREREREQChgrKQERIQMjASEVIREhFSERIQEhESMGgf0S/f7jsAK6A8n9vAId/eMCRPtUAb52AdH+LwW2l/4plv3mAdICtf//AH3+FATPBcsQIgDvfQASJgAmAAARBwB6AgIAAACMQBkVAQADFgkCAQAKAQYBKSYeAwUCHQEEBQVCS7AUUFhAJwABAAYGAWAHAQAAA1MAAwMUQwAGBgJUAAICFUMABQUEUwAEBBEERBtAKAABAAYAAQZoBwEAAANTAAMDFEMABgYCVAACAhVDAAUFBFMABAQRBERZQBQCASgnIR8cGhQSDQsIBgEXAhcIGiv//wDJAAAD+AdzECMA7wDJAAASJgAoAAARBwBD/7cBUgA7QDgWEQIGBwFCAAcGB2oABgEGagADAAQFAwRZAAICAVEAAQEMQwAFBQBRAAAADQBEFBEREREREREIIisAAAD//wDJAAAD+AdzECMA7wDJAAASJgAoAAARBwB2AD8BUgA7QDgSDQIHBgFCAAYHBmoABwEHagADAAQFAwRZAAICAVEAAQEMQwAFBQBRAAAADQBEFBQREREREREIIisAAAD//wDJAAAD+AdzECMA7wDJAAASJgAoAAARBwDG//sBUgA+QDsYFA0DBwYBQgAGBwZqCAEHAQdqAAMABAUDBFkAAgIBUQABAQxDAAUFAFEAAAANAEQUFBQREREREREJIyv//wDJAAAD+AclECMA7wDJAAASJgAoAAARBwBqABIBUgA3QDQIAQYJAQcBBgdbAAMABAUDBFkAAgIBUQABAQxDAAUFAFEAAAANAEQjISQkIxEREREREQojKwAAAP//AAUAAAGOB3MQIgDvBQASJgAsAAARBwBD/nwBUgAtQCoOCQICAwFCAAMCA2oAAgACagAAAAxDBAEBAQ0BRAEBCwoGBQEEAQQSBRsrAAAA//8AswAAAjwHcxAjAO8AswAAEiYALAAAEQcAdv8qAVIALUAqCgUCAwIBQgACAwJqAAMAA2oAAAAMQwQBAQENAUQBAQ4NCQgBBAEEEgUbKwD////HAAACaQdzECIA7wAAEiYALAAAEQcAxv67AVIAMUAuEAwFAwMCAUIAAgMCagQBAwADagAAAAxDBQEBAQ0BRAEBExIODQkIAQQBBBIGGysAAAD//wAFAAACOAclECIA7wUAEiYALAAAEQcAav7QAVIAKkAnBAECBQEDAAIDWwAAAAxDBgEBAQ0BRAEBGxkVEw8NCQcBBAEEEgcbKwAAAAIALwAABUgFtgAMABcALEApBQECBgEBBwIBWQAEBANTAAMDDEMABwcAUwAAAA0ARCERESMhEREiCBcrARAAKQERIzUzESEgAAMQISMRIRUhETMgBUj+d/6P/nuamgGyAVEBfLX9x+cBe/6FvgJiAun+lv6BAomWApf+if6kAkD9/Jb+CgAAAP//AMkAAAU/By8QIwDvAMkAABImADEAABEHAMgAkwFSAEVAQgsBCQAHBgkHWwAKCAwCBgMKBlsAAQEDUQUBAwMMQwAEBABSAgEAAA0ARBMSJyYkIh8dGxoYFhIpEykUERETERENICsA//8Aff/sBb4HcxAiAO99ABImADIAABEHAEMAeQFSADFALiIdAgQFAUIABQQFagAEAQRqAAMDAVMAAQEUQwACAgBTAAAAFQBEFBIkJCQjBiArAAAA//8Aff/sBb4HcxAiAO99ABImADIAABEHAHYBCgFSADFALh4ZAgUEAUIABAUEagAFAQVqAAMDAVMAAQEUQwACAgBTAAAAFQBEFBUkJCQjBiArAAAA//8Aff/sBb4HcxAiAO99ABImADIAABEHAMYAtAFSADRAMSQgGQMFBAFCAAQFBGoGAQUBBWoAAwMBUwABARRDAAICAFMAAAAVAEQUFBUkJCQjByEr//8Aff/sBb4HLxAiAO99ABImADIAABEHAMgAmgFSAEFAPgkBBwAFBAcFWwAIBgoCBAEIBFsAAwMBUwABARRDAAICAFQAAAAVAEQaGS4tKykmJCIhHx0ZMBowJCQkIwseKwAAAP//AH3/7AW+ByUQIgDvfQASJgAyAAARBwBqANUBUgAsQCkGAQQHAQUBBAVbAAMDAVMAAQEUQwACAgBTAAAAFQBEJCQkJCQkJCMIIisAAQCFARAEDASYAAsABrMEAAEoKwEXCQEHCQEnCQE3AQOsYP6gAV5g/p7+pGUBXv6gZAFhBJhj/p7+oGMBX/6hYwFgAWBl/p0AAwB9/8MFvgX2ABMAGwAjADtAOBEPAgMBHx4XFhIIBgIDBwUCAAIDQhABAUAGAQA/AAMDAVMAAQEUQwACAgBTAAAAFQBEJiooIgQTKwEQACEiJwcnNyYREAAhMhc3FwcWAxAnARYzMhIBEBcBJiMiAgW+/p3+xOuUZXhssgFgAUTRnWF4asC0bv1gc7Dz+PwnZQKdaqjz/QLd/qH+bmSNT5rGAW0BZQGJXodQlMr+lQEQmvxMUgEyASr++poDr0n+zQAA//8Auv/sBRkHcxAjAO8AugAAEiYAOAAAEQcAQwBGAVIANUAyHBcCBAUBQgAFBAVqAAQBBGoGAwIBAQxDAAICAFQAAAAVAEQBARkYFBMBEgESIxMkBx0rAP//ALr/7AUZB3MQIwDvALoAABImADgAABEHAHYAzwFSADVAMhgTAgUEAUIABAUEagAFAQVqBgMCAQEMQwACAgBUAAAAFQBEAQEcGxcWARIBEiMTJAcdKwD//wC6/+wFGQdzECMA7wC6AAASJgA4AAARBwDGAH0BUgA5QDYeGhMDBQQBQgAEBQRqBgEFAQVqBwMCAQEMQwACAgBUAAAAFQBEAQEhIBwbFxYBEgESIxMkCB0rAP//ALr/7AUZByUQIwDvALoAABImADgAABEHAGoAmAFSADJALwYBBAcBBQEEBVsIAwIBAQxDAAICAFMAAAAVAEQBASknIyEdGxcVARIBEiMTJAkdK///AAAAAAR7B3MQIgDvAAASJgA8AAARBwB2ADEBUgAwQC0PCgIEAwcEAQMBAAJCAAQDAAMEAGgCAQAADEMAAwMBUQABAQ0BRBQUEhISBR8rAAIAyQAABHkFtgAMABUAJkAjAAMABQQDBVsABAAAAQQAWwACAgxDAAEBDQFEJCIhEREiBhUrARQEISMRIxEzETMgBAEzMjY1NCYrAQR5/tH+4biqqtcBGQEW/Pqo4sq+yswDEOPu/sEFtv8Az/3qj6SVigAAAQCw/+wEnAYfADAAhEuwGVBYQAoSAQECEQEAAQJCG0AKEgEBAhEBAwECQllLsBlQWEAWAAICBFMABAQOQwABAQBTAwEAABUARBtLsBtQWEAaAAICBFMABAQOQwADAw1DAAEBAFMAAAAVAEQbQBgABAACAQQCWwADAw1DAAEBAFMAAAAVAERZWbYjEi8kLgUUKwEUBw4BFRQeARceARUUBiMiJzUeATMyNTQmJy4BNTQ2Nz4BNTQmIyAVESMRNDYzMhYEGY9YOBtHToxmwrO8az+cSNdTbn9gRUdLQIh//uym3N7O4QTyh3NGQyEgKjkzX51loKtFmicvtktrRlJ7VD9qNTlaNVBV3/tMBLKyu50AAAD//wBe/+wDzQYhECIA714AEiYARAAAEQYAQ44AAKNADy8qAggJEwEDBBIBAgMDQkuwGVBYQDUACAkECQgEaAAABwYHAAZoAAIABwACB1sACQkOQwADAwRTAAQEF0MLAQYGAVMKBQIBARUBRBtANgAJCAlqAAgECGoAAAcGBwAGaAACAAcAAgdbAAMDBFMABAQXQwoBBQUNQwsBBgYBUwABARUBRFlAGRwbAQEsKycmIR8bJRwlARoBGiQjIyISDB8rAAAA//8AXv/sA80GIRAiAO9eABImAEQAABEGAHYrAACjQA8rJgIJCBMBAwQSAQIDA0JLsBlQWEA1AAkIBAgJBGgAAAcGBwAGaAACAAcAAgdbAAgIDkMAAwMEUwAEBBdDCwEGBgFTCgUCAQEVAUQbQDYACAkIagAJBAlqAAAHBgcABmgAAgAHAAIHWwADAwRTAAQEF0MKAQUFDUMLAQYGAVMAAQEVAURZQBkcGwEBLy4qKSEfGyUcJQEaARokIyMiEgwfKwAAAP//AF7/7APNBiEQIgDvXgASJgBEAAARBgDG2AAAqEAQMS0mAwkIEwEDBBIBAgMDQkuwGVBYQDYKAQkIBAgJBGgAAAcGBwAGaAACAAcAAgdbAAgIDkMAAwMEUwAEBBdDDAEGBgFTCwUCAQEVAUQbQDcACAkIagoBCQQJagAABwYHAAZoAAIABwACB1sAAwMEUwAEBBdDCwEFBQ1DDAEGBgFTAAEBFQFEWUAbHBsBATQzLy4qKSEfGyUcJQEaARokIyMiEg0fKwAA//8AXv/sA80F3RAiAO9eABImAEQAABEGAMi9AAC9QAoTAQMEEgECAwJCS7AZUFhAPQAABwYHAAZoAAwKEAIIBAwIWwACAAcAAgdbAAkJC1MNAQsLFEMAAwMEUwAEBBdDDwEGBgFTDgUCAQEVAUQbQEEAAAcGBwAGaAAMChACCAQMCFsAAgAHAAIHWwAJCQtTDQELCxRDAAMDBFMABAQXQw4BBQUNQw8BBgYBUwABARUBRFlAJScmHBsBATs6ODYzMS8uLComPSc9IR8bJRwlARoBGiQjIyISER8rAP//AF7/7APNBdMQIgDvXgASJgBEAAARBgBq4gAAo0AKEwEDBBIBAgMCQkuwGVBYQDQAAAcGBwAGaAACAAcAAgdbCwEJCQhTCgEICBRDAAMDBFMABAQXQw0BBgYBUwwFAgEBFQFEG0A4AAAHBgcABmgAAgAHAAIHWwsBCQkIUwoBCAgUQwADAwRTAAQEF0MMAQUFDUMNAQYGAVMAAQEVAURZQB0cGwEBPDo2NDAuKighHxslHCUBGgEaJCMjIhIOHysAAAD//wBe/+wDzQaFECIA714AEiYARAAAEQYAx/cAAKtAChMBAwQSAQIDAkJLsBlQWEA4AAAHBgcABmgACQAKCwkKWwALAAgECwhbAAIABwACB1sAAwMEUwAEBBdDDQEGBgFTDAUCAQEVAUQbQDwAAAcGBwAGaAAJAAoLCQpbAAsACAQLCFsAAgAHAAIHWwADAwRTAAQEF0MMAQUFDUMNAQYGAVMAAQEVAURZQB0cGwEBPDo2NDAuKighHxslHCUBGgEaJCMjIhIOHysAAAAAAwBe/+wGcwRcACkANAA7AIZAFAsBAQIRCgIAASQeAgUEHwEGBQRCS7AtUFhAJAsBAAkBBAUABFsMCgIBAQJTAwECAhdDCAEFBQZTBwEGBhUGRBtAKQAJBAAJTwsBAAAEBQAEWQwKAgEBAlMDAQICF0MIAQUFBlMHAQYGFQZEWUAVNjU5ODU7NjszMSQjJSETJCQjIg0YKxM0Nj8BNTQmIyIHJz4BMzIWFz4BMzISHQEhEiEyNjcVDgEjICcOASMiJjcUFjMyNj0BBw4BASIGByE0Jl74/rh0d5CjNErHYoKlKTWrbsDo/UMIATpbnVRWlWX+331RxYajua5rWJGonrqkA715iwsCB4ABL6GzCAZEgXtUfyk1V19YYP713mv+dSMnlCYh6X9qqpdfWamaYwcIbQIypp6cqAAA//8Ac/4UA4sEXBAiAO9zABImAEYAABEHAHoBRgAAAIxAGQoBAgEVCwIDAhYBBgMpJh4DBQAdAQQFBUJLsBVQWEAnAAMCBgYDYAACAgFTAAEBF0MABgYAVAcBAAAVQwAFBQRTAAQEEQREG0AoAAMCBgIDBmgAAgIBUwABARdDAAYGAFQHAQAAFUMABQUEUwAEBBEERFlAFAIBKCchHxwaFBIPDQgGARcCFwgaK///AHP/7AQSBiEQIgDvcwASJgBIAAARBgBDtQAAjkAPJSACBgcRAQMCEgEAAwNCS7AZUFhALAAGBwEHBgFoAAUAAgMFAlkABwcOQwkBBAQBUwABARdDAAMDAFMIAQAAFQBEG0ApAAcGB2oABgEGagAFAAIDBQJZCQEEBAFTAAEBF0MAAwMAUwgBAAAVAERZQBoWFQIBIiEdHBkYFRsWGxAODAsIBgEUAhQKGiv//wBz/+wEEgYhECIA73MAEiYASAAAEQYAdk4AAI5ADyEcAgcGEQEDAhIBAAMDQkuwGVBYQCwABwYBBgcBaAAFAAIDBQJZAAYGDkMJAQQEAVMAAQEXQwADAwBTCAEAABUARBtAKQAGBwZqAAcBB2oABQACAwUCWQkBBAQBUwABARdDAAMDAFMIAQAAFQBEWUAaFhUCASUkIB8ZGBUbFhsQDgwLCAYBFAIUChor//8Ac//sBBIGIRAiAO9zABImAEgAABEGAMb3AACTQBAnIxwDBwYRAQMCEgEAAwNCS7AZUFhALQgBBwYBBgcBaAAFAAIDBQJZAAYGDkMKAQQEAVMAAQEXQwADAwBTCQEAABUARBtAKgAGBwZqCAEHAQdqAAUAAgMFAlkKAQQEAVMAAQEXQwADAwBTCQEAABUARFlAHBYVAgEqKSUkIB8ZGBUbFhsQDgwLCAYBFAIUCxorAAAA//8Ac//sBBIF0xAiAO9zABImAEgAABEGAGoKAABWQFMRAQMCEgEAAwJCAAUAAgMFAlkJAQcHBlMIAQYGFEMLAQQEAVMAAQEXQwADAwBTCgEAABUARBYVAgEyMCwqJiQgHhkYFRsWGxAODAsIBgEUAhQMGiv////aAAABYwYhECIA7wAAEiYAwgAAEQcAQ/5RAAAASLYOCQICAwFCS7AZUFhAGAACAwEDAgFoAAMDDkMAAQEPQwAAAA0ARBtAFQADAgNqAAIBAmoAAQEPQwAAAA0ARFm1FBEREQQeK///AKkAAAIyBiEQIwDvAKkAABImAMIAABEHAHb/IAAAAEi2CgUCAwIBQkuwGVBYQBgAAwIBAgMBaAACAg5DAAEBD0MAAAANAEQbQBUAAgMCagADAQNqAAEBD0MAAAANAERZtRQUEREEHisAAP///7MAAAJVBiEQIgDvAAASJgDCAAARBwDG/qcAAABMtxAMBQMDAgFCS7AZUFhAGQQBAwIBAgMBaAACAg5DAAEBD0MAAAANAEQbQBYAAgMCagQBAwEDagABAQ9DAAAADQBEWbYUFBQREQUfK////+wAAAIfBdMQIgDvAAASJgDCAAARBwBq/rcAAAAiQB8FAQMDAlMEAQICFEMAAQEPQwAAAA0ARCQkJCMREQYgKwAAAAIAcf/sBGIGIQAbACYAMUAuDAECAQFCGRgXFhQTERAPDgoBQAABAAIDAQJbAAMDAFMAAAAVAEQlIyAeJCIEESsBEAAjIgA1NAAzMhc3JicFJzcmJzcWFzcXBxYSAzQmIyARFBYzMjYEYv77997+6QEH3OJkCDnN/vFJ6VxeRZxm7kzPmKWotJz+r6+ir6ECM/7n/tIBDeLmAQZ5BNa/m2yFPjF1SUuKa3eP/nL+6JOq/pint8kAAP//ALAAAAREBd0QIwDvALAAABImAFEAABEGAMgOAACPS7AZUFhAMAADAAEAAwFoAAoIDQIGAgoGWwAHBwlTCwEJCRRDAAAAAlMEAQICD0MMBQIBAQ0BRBtANAADAAEAAwFoAAoIDQIGBAoGWwAHBwlTCwEJCRRDAAICD0MAAAAEUwAEBBdDDAUCAQENAURZQB0XFgEBKyooJiMhHx4cGhYtFy0BFQEVIhEREyQOHysA//8Ac//sBGIGIRAiAO9zABImAFIAABEGAEPUAABetiMeAgQFAUJLsBlQWEAiAAQFAQUEAWgABQUOQwADAwFTAAEBF0MAAgIAUwAAABUARBtAHwAFBAVqAAQBBGoAAwMBUwABARdDAAICAFMAAAAVAERZtxQSJCQlIwYgK///AHP/7ARiBiEQIgDvcwASJgBSAAARBgB2VgAAXrYfGgIFBAFCS7AZUFhAIgAFBAEEBQFoAAQEDkMAAwMBUwABARdDAAICAFMAAAAVAEQbQB8ABAUEagAFAQVqAAMDAVMAAQEXQwACAgBTAAAAFQBEWbcUFSQkJSMGICv//wBz/+wEYgYhECIA73MAEiYAUgAAEQYAxg4AAGO3JSEaAwUEAUJLsBlQWEAjBgEFBAEEBQFoAAQEDkMAAwMBUwABARdDAAICAFMAAAAVAEQbQCAABAUEagYBBQEFagADAwFTAAEBF0MAAgIAUwAAABUARFlACRQUFSQkJSMHISsAAAD//wBz/+wEYgXdECIA73MAEiYAUgAAEQYAyPEAAENAQAAIBgoCBAEIBFsABQUHUwkBBwcUQwADAwFTAAEBF0MAAgIAUwAAABUARBsaLy4sKiclIyIgHhoxGzEkJCUjCx4rAAAA//8Ac//sBGIF0xAiAO9zABImAFIAABEGAGobAAAuQCsHAQUFBFMGAQQEFEMAAwMBUwABARdDAAICAFMAAAAVAEQkJCQkJCQlIwgiKwADAGgA/AQpBKgAAwAPABsANUAyAAQABQAEBVsAAAYBAQIAAVkAAgMDAk8AAgIDUwADAgNHAAAaGBQSDgwIBgADAAMRBxArEzUhFQE0NjMyFhUUBiMiJhE0NjMyFhUUBiMiJmgDwf2uOzY0OjszND07NjQ6OzM0PQKNior+6Dw9Pzo5QD8C9Dw9Pzo5QD8AAAADAHP/vARiBIcAEwAbACMAO0A4EQ8CAgEfHhcWEggGAwIHBQIAAwNCEAEBQAYBAD8AAgIBUwABARdDAAMDAFMAAAAVAEQmKigiBBMrARAAIyInByc3JhEQADMyFzcXBxYFFBcBJiMiBgU0JwEWMzI2BGL+8u6acFRyXoEBDO6adFR1YX/8vTUB0Utyo6YClzP+L0dxo6kCJf70/tNFdU6DmAEAAQwBK0x3TIWY+atmAoY11tSkZP19M9sA//8ApP/sBDkGIRAjAO8ApAAAEiYAWAAAEQYAQ8QAAHi2HxoCBgcBQkuwGVBYQCgABgcBBwYBaAADAQABAwBoAAcHDkMIBQIBAQ9DAAAAAlQEAQICDQJEG0ApAAcGB2oABgEGagADAQABAwBoCAUCAQEPQwACAg1DAAAABFQABAQVBERZQBEBARwbFxYBFQEVIhEREyQJHyv//wCk/+wEOQYhECMA7wCkAAASJgBYAAARBgB2cQAAeLYbFgIHBgFCS7AZUFhAKAAHBgEGBwFoAAMBAAEDAGgABgYOQwgFAgEBD0MAAAACUwQBAgINAkQbQCkABgcGagAHAQdqAAMBAAEDAGgIBQIBAQ9DAAICDUMAAAAEUwAEBBUERFlAEQEBHx4aGQEVARUiERETJAkfK///AKT/7AQ5BiEQIwDvAKQAABImAFgAABEGAMYSAAB9tyEdFgMHBgFCS7AZUFhAKQgBBwYBBgcBaAADAQABAwBoAAYGDkMJBQIBAQ9DAAAAAlQEAQICDQJEG0AqAAYHBmoIAQcBB2oAAwEAAQMAaAkFAgEBD0MAAgINQwAAAARUAAQEFQREWUATAQEkIx8eGhkBFQEVIhEREyQKHysAAAD//wCk/+wEOQXTECMA7wCkAAASJgBYAAARBgBqIQAAdUuwGVBYQCcAAwEAAQMAaAkBBwcGUwgBBgYUQwoFAgEBD0MAAAACUwQBAgINAkQbQCsAAwEAAQMAaAkBBwcGUwgBBgYUQwoFAgEBD0MAAgINQwAAAARTAAQEFQREWUAVAQEsKiYkIB4aGAEVARUiERETJAsfKwAAAP//AAL+FAQGBiEQIgDvAgASJgBcAAARBgB2EgAAckAQHBcCBgUWEQIEARABAwQDQkuwGVBYQCYABgUABQYAaAABAAQAAQRoAAUFDkMCAQAAD0MABAQDVAADAxEDRBtAIwAFBgVqAAYABmoAAQAEAAEEaAIBAAAPQwAEBANUAAMDEQNEWUAJFBYjIxMTEQchKwACALD+FAR1BhQAFgAiAH1LsCZQWEAuCAEFBgIGBQJoCQEGBgBTAAAAF0MAAgIEUQAEBA5DAAcHAVMAAQEVQwADAxEDRBtALAgBBQYCBgUCaAAEAAIHBAJZCQEGBgBTAAAAF0MABwcBUwABARVDAAMDEQNEWUAVGBcAAB8dFyIYIgAWABYRFBEkIgoUKwE+ATMyEhEQAiMiJyMXFhURIxEzERQHJSIGBxUUFjMgETQmAVhCqmrX8PHW3noMBAimpgYBSKiYApqqAS+UA7RZT/7U/vX+9P7ToSJNP/41CAD+LjRaG7jJKefHAbDX0QAAAP//AAL+FAQGBdMQIgDvAgASJgBcAAARBgBqtQAAPkA7FhECBAEQAQMEAkIAAQAEAAEEaAgBBgYFUwcBBQUUQwIBAAAPQwAEBANUAAMDEQNEJCQkJSMjExMRCSMrAAEAsAAAAVYESAADABJADwABAQ9DAAAADQBEERACESshIxEzAVampgRIAAAAAgB9/+wG5wXNABQAHwD9QAoeAQUEHQEHBgJCS7AVUFhAIgAFAAYHBQZZCggCBAQCUwMBAgIUQwkBBwcAUwEBAAANAEQbS7AXUFhANwAFAAYHBQZZCggCBAQCUwACAhRDCggCBAQDUQADAwxDAAcHAFMBAQAADUMACQkAUwEBAAANAEQbS7AZUFhANAAFAAYHBQZZCgEICAJTAAICFEMABAQDUQADAwxDAAcHAFMBAQAADUMACQkAUwEBAAANAEQbQDIABQAGBwUGWQoBCAgCUwACAhRDAAQEA1EAAwMMQwAHBwBRAAAADUMACQkBUwABARUBRFlZWUASFhUcGhUfFh8RERERESQhEAsXKykBBiMgABEQACEyFyEVIREhFSERIQEiABEQADMyNxEmBuf9AGZc/rn+nwFcAUBmWgMO/bMCJ/3ZAk38RPn+/wEB93BXVxQBiQFqAWgBhheX/imW/eYEnf7P/tn+1/7NIQR1HgADAHH/7AcfBFoAHgAqADEAU0BQDgEJBxsCAgUEHAEABQNCAAkABAUJBFkLCAIHBwJTAwECAhdDBgEFBQBTAQoCAAAVAEQsKwEALy4rMSwxKScjIRkXFhUSEAwKBgQAHgEeDA8rBSAnDgEjIgAREAAzMhYXPgEzMhIdASESITI2NxUOAQEUFjMyNjU0JiMiBiUiBgchNCYFlv7bfT7Rid/+9AEG64PNPjrAfsnu/ScIAUpeoVdYmPshmKejmZulppUER3+RDAIghBTrdHcBMQEIAQkBLHdycHn+9+Jp/ncjJ5QnIAI509vV0d3V2Niknp6kAAD//wAAAAAEewclECIA7wAAEiYAPAAAEQcAav/xAVIAKkAnBwQBAwEAAUIFAQMGAQQAAwRbAgEAAAxDAAEBDQFEJCQkIxISEgchKwAAAAEBDATZA64GIQAOADG3CwcAAwEAAUJLsBlQWEAMAgEBAAFrAAAADgBEG0AKAAABAGoCAQEBYVm0FBQTAxIrAT4BNzMeARcVIyYnBgcjAQx/ZhemFm19d1iFiFNzBPCIgCkqhYIXN4OGNAAAAAIBbwTZAy0GhQALABcAIUAeAAEAAgMBAlsAAwAAA08AAwMAUwAAAwBHJCQkIgQTKwEUBiMiJjU0NjMyFgc0JiMiBhUUFjMyNgMte2ZleHlkZXxsQjMzQjw5NEEFsmJ3dWJic3deOD09ODg9PQAAAAABAQgE2QPwBd0AFwAqQCcABAIGAgAEAFcAAQEDUwUBAwMUAUQBABUUEhANCwkIBgQAFwEXBw8rASIuAiMiBgcjPgEzMh4CMzI2NzMOAQMUK1JPSSIyMw5iDXNbLlZOSCAxMA9jDXEE2yUtJTw9eYklLSU7PnmJAAABAFQB2QI/AnEAAwAAEzUhFVQB6wHZmJgAAAAAAQBUAdkCPwJxAAMAABM1IRVUAesB2ZiYAAAAAAEAVAHZAj8CcQADAAATNSEVVAHrAdmYmAAAAAABAFIB2QOuAnEAAwAdQBoAAAEBAE0AAAABUQIBAQABRQAAAAMAAxEDECsTNSEVUgNcAdmYmAAAAAEAUgHZB64CcQADAB1AGgAAAQEATQAAAAFRAgEBAAFFAAAAAwADEQMQKxM1IRVSB1wB2ZiYAAAAAQAZA8EBRAW2AAcAHkAbAQEBAAFCAgEBAQBRAAAADAFEAAAABwAHFAMQKxMnNhI3MwYHJQwWYjh7QiUDwRZaAQx5/vcAAAAAAQAZA8EBRAW2AAcAHkAbAQEAAQFCAAAAAVECAQEBDABEAAAABwAHFAMQKwEXBgIHIxI3ATUPGmI1ekYgBbYWZP73cgEd2AD//wA//vgBbQDuECIA7z8AEwYADwAAACRAIQIBAAEBQgIBAQAAAU0CAQEBAFEAAAEARQEBAQkBCRUDGysAAgAZA8ECtAW2AAcADwAqQCcJAQIBAAFCBQMEAwEBAFECAQAADAFECAgAAAgPCA8NDAAHAAcTBhArASc2EzMGAgchJzYSNzMGBwGWDzh6ex47Df3XDBZiOHtCJQPBFtcBCHP+32EWWgEMef73AAAAAAIAGQPBArQFtgAHABAAKkAnCQECAAEBQgIBAAABUQUDBAMBAQwARAgIAAAIEAgQDQwABwAHFAYQKwEXBgIHIxI3IRcGAgcjNhI3ATUPGmI1ekYgAicOGGA4fRpCDQW2FmT+93IBHdgWW/72emQBNF0AAAD//wAZ/vkCtADuECIA7xkAEQcA3QAA+zgAMkAvCgICAAEBQgUDBAMBAAABTQUDBAMBAQBRAgEAAQBFCQkBAQkRCREODQEIAQgVBhsrAAEApAH0Al4D4wALABdAFAAAAQEATwAAAAFTAAEAAUckIgIRKxM0NjMyFhUUBiMiJqRxbGl0c2prcgLseX58e3eBgwD//wCY/+MFrgDyECMA7wCYAAAQJgARAAAQJwARAhIAABEHABEEJQAAABpAFwQCAgAAAVMFAwIBARUBRCQkJCQkIwYgKwABAFIAdQIfA74ABgAGswUBASgrEwEXCQEHAVIBVnf+3wEhd/6qAicBl0X+ov6hRwGXAAAAAQBQAHUCHQO+AAYABrMFAQEoKwkBJwkBNwECHf6odQEf/uF1AVgCDP5pRwFfAV5F/mkAAAH+eQAAAo8FtgADABhAFQIBAQEMQwAAAA0ARAAAAAMAAxEDECsJASMBAo/8eY8DhwW2+koFtgAAAgAUAkoCtAW8AAoAFAAwQC0OAQQDBgEABAJCBgUCBAIBAAEEAFkAAQEDUQADAwwBRAsLCxQLFBESEREQBxQrASMVIzUhNQEzETMhNTQ3DgMPAQK0fZH+bgGYi33+8gYFGB4eC6gDFMrKZQJD/c3DhksMJy0tEfYAAQA//+wEiQXLACYAXUBaJAEACyUBAQAQAQUEEQEGBQRCCgEBCQECAwECWQgBAwcBBAUDBFkMAQAAC1MACwsUQwAFBQZTAAYGFQZEAQAjIR8eHRwZGBcWFBIPDQsKCQgFBAMCACYBJg0PKwEgAyEVIQcVFyEVIR4BMzI3FQYjIgADIzUzJzU3IzUzEgAzMhcHJgMb/sFPAf799AICAc/+QSXLqpyZkqvt/t8uppgCApikJwEk7cmlR6YFNf5tgTlALYG0xUKWQQENAQGBKixQgQEFASRhi1YAAgAlAuUFhQW2AAcAGABDQEAQAQAEAUIJAQQBAAEEAGgDAQEBAlEHBgICAgxDCwoIBQQAAAJSBwYCAgIMAEQICAgYCBgXFhESERISEREREAwYKwEjESM1IRUjAQMjFxEjETMbATMRIxE3IwMBcXvRAh/TAljJCAZ3u8TLtH8GCNMC5QJnamr9mQIvgf5SAtH90QIv/S8BpIn90wAAAQBoAo0EKQMXAAMAHUAaAAABAQBNAAAAAVECAQEAAUUAAAADAAMRAxArEzUhFWgDwQKNiooAAAABAAAAAARHBEcAAwASQA8AAAAPQwABAQ0BRBEQAhErESERIQRH+7kER/u5//8AHQAABBwGHxAiAO8dABAmAEkAABEHAEwCtgAAAHtAEg0BCAMOAQkECAEFCQcBAAUEQkuwG1BYQCcABAQDUwADAw5DAAkJCFMACAgUQwIBAAAFUQcBBQUPQwYBAQENAUQbQCUAAwAECQMEWwAJCQhTAAgIFEMCAQAABVEHAQUFD0MGAQEBDQFEWUANJCIjERETIyQREREKIysA//8AHQAABAwGHxAiAO8dABAmAEkAABEHAE8CtgAAAKRLsC1QWEAPDQEEAw4IAgUEBwEABQNCG0APDQEEBw4IAgUEBwEABQNCWUuwG1BYQB0ABAQDUwcBAwMOQwIBAAAFUQAFBQ9DBgEBAQ0BRBtLsC1QWEAeAAQFAwRPAgEAAAVRAAUFD0MHAQMDAVEGAQEBDQFEG0AfAAMABAUDBFsCAQAABVEABQUPQwAHBwFRBgEBAQ0BRFlZQAoRERMjJBEREQgiK///AB0AAAbTBh8QIgDvHQAQJwBJArAAABAmAEkAABEHAEwFbQAAAJdAFiINAg4DIw4CDwQdCAIFDxwHAgAFBEJLsBtQWEAtCgEEBANTCQEDAw5DAA8PDlMADg4UQwgGAgMAAAVRDQsCBQUPQwwHAgEBDQFEG0ArCQEDCgEEDwMEWwAPDw5TAA4OFEMIBgIDAAAFUQ0LAgUFD0MMBwIBAQ0BRFlAGTk3MzEuLSwrKikmJCEfEREREyMkERERECMrAP//AB0AAAbDBh8QIgDvHQAQJwBJArAAABAmAEkAABEHAE8FbQAAAMlLsC1QWEATIg0CBAMjHQ4IBAUEHAcCAAUDQhtAEyINAgQNIx0OCAQFBBwHAgAFA0JZS7AbUFhAIwoBBAQDUw0JAgMDDkMIBgIDAAAFUQsBBQUPQwwHAgEBDQFEG0uwLVBYQCQKAQQFAwRPCAYCAwAABVELAQUFD0MNCQIDAwFRDAcCAQENAUQbQCUJAQMKAQQFAwRbCAYCAwAABVELAQUFD0MADQ0BUQwHAgEBDQFEWVlAFS4tLCsqKSYkIR8RERETIyQREREOIysAAAAAAQAAAAAAAAAAAAAAB7IFAQVFYEQxAAAAAQAAAAEZmpsUsftfDzz1AB8IAAAAAADN1Rg0AAAAAM3VGDT+ef4QB64HcwAAAAgAAgAAAAAAAAABAAAIYv2tAAAIAP55/nsHrgABAAAAAAAAAAAAAAAAAAAA8ALsAEQIAAAABBQAAAIUAAACIwCYAzUAhQUrADMEkwCDBpYAaAXXAHEBxQCFAl4AUgJeAD0EagBWBJMAaAH2AD8CkwBUAiEAmALwABQEkwBmBJMAvASTAGQEkwBeBJMAKwSTAIUEkwB1BJMAXgSTAGgEkwBqAiEAmAIhAD8EkwBoBJMAdwSTAGgDbwAbBzEAeQUQAAAFLwDJBQwAfQXVAMkEcwDJBCEAyQXTAH0F5wDJAjsAyQIj/2AE6QDJBCcAyQc5AMkGCADJBjsAfQTRAMkGOwB9BPIAyQRkAGoEbQASBdMAugTDAAAHaAAbBJ4ACAR7AAAEkQBSAqIApgLwABcCogAzBFYAMQOW//wEngGJBHMAXgTnALADzwBzBOcAcwR9AHMCtgAdBGIAJwTpALACBgCiAgb/kQQzALACBgCwB3EAsATpALAE1QBzBOcAsATnAHMDRACwA9EAagLTAB8E6QCkBAIAAAY5ABcEMQAnBAgAAgO+AFIDCAA9BGgB7gMIAEgEkwBoAhQAAAIjAJgEkwC+BJMAPwSTAHsEkwAfBGgB7gQhAHsEngE1BqgAZALVAEYD+gBSBJMAaAKTAFQGqABkBAD/+gNtAH8EkwBoAscAMQLHACEEngGJBPQAsAU9AHECIQCYAdEAJQLHAEwDAABCA/oAUAY9AEsGPQAuBj0AGgNvADMFEAAABRAAAAUQAAAFEAAABRAAAAUQAAAG/P/+BQwAfQRzAMkEcwDJBHMAyQRzAMkCOwAFAjsAswI7/8cCOwAFBccALwYIAMkGOwB9BjsAfQY7AH0GOwB9BjsAfQSTAIUGOwB9BdMAugXTALoF0wC6BdMAugR7AAAE4wDJBPoAsARzAF4EcwBeBHMAXgRzAF4EcwBeBHMAXgbdAF4DzwBzBH0AcwR9AHMEfQBzBH0AcwIG/9oCBgCpAgb/swIG/+wExQBxBOkAsATVAHME1QBzBNUAcwTVAHME1QBzBJMAaATVAHME6QCkBOkApATpAKQE6QCkBAgAAgTnALAECAACAgYAsAdiAH0HiQBxBHsAAAS8AQwEngFvBLwBCAO5AAAHcwAAA7kAAAdzAAACewAAAdwAAAE9AAABPQAAAO4AAAF9AAAAaQAAApMAVAKTAFQCkwBUBAAAUggAAFIBXAAZAVwAGQH2AD8CzQAZAs0AGQM9ABkDAgCkBkYAmAF9AAACbwBSAm8AUAEK/nkB3AAAAscAFAS4AD8GNQAlBJMAaARHAAAEvAAdBLwAHQd1AB0HdQAdBOcAAAAAACwALAAsACwAWACAAOABXgICApICrgLUAvoDNgNiA4oDpgPGA+IEIAREBIQE3gUcBWwFyAXuBlIGsAbiBxoHMgdeB3YHzgh4CLQJBglMCYQJsAnWCiYKTgpmCpQKvgrcCxgLSguMC8AMDgxQDKAMwAzyDRoNXA2KDbAN3A3+DhoOOg5gDnoOpg8gD6gP7BBwEMAREBHOEiASTBKQEt4S/hN8E8gUBBR2FOQVThWcFeIWMBZcFqgW2BcWF0IXhBemF+wYMhgyGFwYuBkKGWYZrBneGmAakhsSG4YbsBvSG+4cbByGHLwc5B0iHXQdoB34Hj4eYB6SHrYe6h8WH1QfkCASIGognCDOIQIhPCFuIaIh5CI6ImoimiLKIvgjICNII3IjmCPcJBAkOiRkJI4kwCTmJQolbCWYJcQl8iYcJkQmficIJ2onzCgwKJ4pAClmKgQqWiqwKwYrYCuaK84sBCw6LFwsuC0QLU4tjC3OLgAuJi5uLswvGC9kL7QwADBIMMAw7jEEMbwyNjJcMpIyyjMGMwYzBjMGMwYzBjMGMwYzBjMGMwYzBjMUMyIzMDNMM2gzjDOwM840BjRANGY0iDSqNKo0xDTeNPo0+jU2NaI18DYMNiI2cDbSNzI3rDe4AAAAAQAAAPAAQgAFAD4ABQACAHoAhwBuAAABNAD9AAQAAQAAAA8AugADAAEECQAAAHIAAAADAAEECQABABIAcgADAAEECQACAA4AhAADAAEECQADADwAkgADAAEECQAEACIAzgADAAEECQAFABgA8AADAAEECQAGABABCAADAAEECQAHAKQBGAADAAEECQAIACgBvAADAAEECQALADgB5AADAAEECQAMAFwCHAADAAEECQANAFwCeAADAAEECQAOAFQC1AADAAEECQDIABYDKAADAAEECQDJADADPgBEAGkAZwBpAHQAaQB6AGUAZAAgAGQAYQB0AGEAIABjAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMQAwAC0AMgAwADEAMQAsACAARwBvAG8AZwBsAGUAIABDAG8AcgBwAG8AcgBhAHQAaQBvAG4ALgBPAHAAZQBuACAAUwBhAG4AcwBSAGUAZwB1AGwAYQByAEEAcwBjAGUAbgBkAGUAcgAgAC0AIABPAHAAZQBuACAAUwBhAG4AcwAgAEIAdQBpAGwAZAAgADEAMAAwAE8AcABlAG4AIABTAGEAbgBzACAAUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAMABPAHAAZQBuAFMAYQBuAHMATwBwAGUAbgAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABHAG8AbwBnAGwAZQAgAGEAbgBkACAAbQBhAHkAIABiAGUAIAByAGUAZwBpAHMAdABlAHIAZQBkACAAaQBuACAAYwBlAHIAdABhAGkAbgAgAGoAdQByAGkAcwBkAGkAYwB0AGkAbwBuAHMALgBBAHMAYwBlAG4AZABlAHIAIABDAG8AcgBwAG8AcgBhAHQAaQBvAG4AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcwBjAGUAbgBkAGUAcgBjAG8AcgBwAC4AYwBvAG0ALwBoAHQAdABwADoALwAvAHcAdwB3AC4AYQBzAGMAZQBuAGQAZQByAGMAbwByAHAALgBjAG8AbQAvAHQAeQBwAGUAZABlAHMAaQBnAG4AZQByAHMALgBoAHQAbQBsAEwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAQQBwAGEAYwBoAGUAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMgAuADAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcABhAGMAaABlAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBMAEkAQwBFAE4AUwBFAC0AMgAuADAAVwBlAGIAZgBvAG4AdAAgADEALgAwAFcAZQBkACAASgB1AG4AIAAgADUAIAAxADIAOgAzADAAOgA0ADUAIAAyADAAMQAzAAIAAAAAAAD/ZgBmAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAQIBAwADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEBBACjAIQAhQC9AJYA6ACGAI4AiwCdAKkApAEFAIoA2gCDAJMBBgEHAI0BCACIAMMA3gEJAJ4AqgD1APQA9gCiAK0AyQDHAK4AYgBjAJAAZADLAGUAyADKAM8AzADNAM4A6QBmANMA0ADRAK8AZwDwAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCgAG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAuAChAH8AfgCAAIEA7ADuALoA1wCwALEAuwDYAN0A2QEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcAsgCzALYAtwDEALQAtQDFAIcAqwEYAL4AvwC8ARkBGgEbAIwA7wEcAR0BHgEfASABIQZnbHlwaDEHdW5pMDAwRAd1bmkwMEEwB3VuaTAwQUQHdW5pMDBCMgd1bmkwMEIzB3VuaTAwQjUHdW5pMDBCOQd1bmkyMDAwB3VuaTIwMDEHdW5pMjAwMgd1bmkyMDAzB3VuaTIwMDQHdW5pMjAwNQd1bmkyMDA2B3VuaTIwMDcHdW5pMjAwOAd1bmkyMDA5B3VuaTIwMEEHdW5pMjAxMAd1bmkyMDExCmZpZ3VyZWRhc2gHdW5pMjAyRgd1bmkyMDVGB3VuaTIwNzQERXVybwd1bmlFMDAwB3VuaUZCMDEHdW5pRkIwMgd1bmlGQjAzB3VuaUZCMDQIZ2x5cGgyMjMAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsBdFICBLuAAOUUuwBlNaWLA0G7AoWWBmIIpVWLACJWGwAUVjI2KwAiNEsgsBBiqyDAYGKrIUBgYqWbIEKAlFUkSyDAgHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAABUa9ntQAA) format("truetype"); @@ -51,7 +54,8 @@ font-family: "Open Sans"; font-style: normal; font-weight: 600; - src: url(data:font/woff;charset=utf-8;base64,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) + src: + url(data:font/woff;charset=utf-8;base64,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) format("woff"), url(data:font/truetype;charset=utf-8;base64,AAEAAAATAQAABAAwRkZUTWNfpdYAAAE8AAAAHEdERUYBHAAEAAABWAAAACBHUE9TLXIXQgAAAXgAAAmeR1NVQqBiiJ4AAAsYAAAAqE9TLzKhzJKHAAALwAAAAGBjbWFwt29svgAADCAAAAICY3Z0ICpyBokAAA4kAAAAPGZwZ22LC3pBAAAOYAAACZFnYXNwAAAAEAAAF/QAAAAIZ2x5ZoCZL60AABf8AABz6GhlYWQBA5UwAACL5AAAADZoaGVhDowFCwAAjBwAAAAkaG10eBTIUtUAAIxAAAADvGxvY2GwVc5iAACP/AAAAeBtYXhwAxoCAQAAkdwAAAAgbmFtZXj0n2QAAJH8AAAEoHBvc3Slhu7VAACWnAAAAwBwcmVw80Qi7AAAmZwAAACQd2ViZmgKUa8AAJosAAAABgAAAAEAAAAAzD2izwAAAADJTOp9AAAAAM3VGIkAAQAAAA4AAAAYAAAAAAACAAEAAQDuAAEABAAAAAIAAAABAAAACgBUAGIABERGTFQAGmN5cmwAJmdyZWsAMmxhdG4APgAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAABa2VybgAIAAAAAQAAAAEABAACAAAAAQAIAAEIcgAEAAAAYADKAMoBkAGWAfQBlgH6AlgCpgJYAtgC3gKmAxACWAN+AlgDtATOBPwE/AKmBe4G5AGQBxYHKAdSBygHZAcWB3YHFgcWBygHKAfAB1IIOgg6B3YIOgGQAfoB+gH6AfoB+gH6AtgCpgLYAtgC2ALYAlgCWAJYAlgCWAJYAlgEzgTOBM4EzgXuA34HFgcWBxYHFgcWBxYHKAcoBygHKAcoBygHKAcoCGAHKAg6BygIOgLYBe4B9AH0AMoAygGWAMoBlgAxACT/cQA3ACkAOQApADoAKQA8ABQARP+uAEb/hQBH/4UASP+FAEr/wwBQ/8MAUf/DAFL/hQBT/8MAVP+FAFX/wwBW/8MAWP/DAIL/cQCD/3EAhP9xAIX/cQCG/3EAh/9xAJ8AFACi/4UAo/+uAKT/rgCl/64Apv+uAKf/rgCo/64Aqf+FAKr/hQCr/4UArP+FAK3/hQC0/4UAtf+FALb/hQC3/4UAuP+FALr/hQC7/8MAvP/DAL3/wwC+/8MAxP+FAMUAFAABAC0AuAAXACb/mgAq/5oAMv+aADT/mgA3/3EAOP/XADn/hQA6/4UAPP+FAIn/mgCU/5oAlf+aAJb/mgCX/5oAmP+aAJr/mgCb/9cAnP/XAJ3/1wCe/9cAn/+FAMP/mgDF/4UAAQA3/64AFwAF/3EACv9xACb/1wAq/9cALQEKADL/1wA0/9cAN/9xADn/rgA6/64APP+FAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCf/4UAw//XAMX/hQDa/3EA3f9xABMAD/+uABH/rgAk/9cAN//DADn/7AA6/+wAO//XADz/7AA9/+wAgv/XAIP/1wCE/9cAhf/XAIb/1wCH/9cAn//sAMX/7ADb/64A3v+uAAwAJv/XACr/1wAy/9cANP/XAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wDD/9cAAQAtAHsADAAP/4UAEf+FACIAKQAk/9cAgv/XAIP/1wCE/9cAhf/XAIb/1wCH/9cA2/+FAN7/hQAbAAX/XAAK/1wAJv/XACr/1wAy/9cANP/XADf/1wA4/+wAOf/XADr/1wA8/8MAif/XAJT/1wCV/9cAlv/XAJf/1wCY/9cAmv/XAJv/7ACc/+wAnf/sAJ7/7ACf/8MAw//XAMX/wwDa/1wA3f9cAA0AD/72ABH+9gAk/5oAO//XAD3/7ACC/5oAg/+aAIT/mgCF/5oAhv+aAIf/mgDb/vYA3v72AEYAD/+FABD/rgAR/4UAIgApACT/cQAm/9cAKv/XADL/1wA0/9cANwApAET/XABG/3EAR/9xAEj/cQBK/3EAUP+aAFH/mgBS/3EAU/+aAFT/cQBV/5oAVv+FAFj/mgBZ/9cAWv/XAFv/1wBc/9cAXf+uAIL/cQCD/3EAhP9xAIX/cQCG/3EAh/9xAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCi/3EAo/9cAKT/XACl/1wApv9cAKf/XACo/1wAqf9xAKr/cQCr/3EArP9xAK3/cQC0/3EAtf9xALb/cQC3/3EAuP9xALr/cQC7/5oAvP+aAL3/mgC+/5oAv//XAMP/1wDE/3EA1/+uANj/rgDb/4UA3v+FAAsAD//XABH/1wAk/+wAgv/sAIP/7ACE/+wAhf/sAIb/7ACH/+wA2//XAN7/1wA8AA//mgAR/5oAIgApACT/rgAm/+wAKv/sADL/7AA0/+wARP/XAEb/1wBH/9cASP/XAEr/7ABQ/+wAUf/sAFL/1wBT/+wAVP/XAFX/7ABW/+wAWP/sAIL/rgCD/64AhP+uAIX/rgCG/64Ah/+uAIn/7ACU/+wAlf/sAJb/7ACX/+wAmP/sAJr/7ACi/9cAo//XAKT/1wCl/9cApv/XAKf/1wCo/9cAqf/XAKr/1wCr/9cArP/XAK3/1wC0/9cAtf/XALb/1wC3/9cAuP/XALr/1wC7/+wAvP/sAL3/7AC+/+wAw//sAMT/1wDb/5oA3v+aAD0AD/+FABH/hQAiACkAJP+FACb/1wAq/9cAMv/XADT/1wBE/5oARv+aAEf/mgBI/5oASv/XAFD/wwBR/8MAUv+aAFP/wwBU/5oAVf/DAFb/rgBY/8MAXf/XAIL/hQCD/4UAhP+FAIX/hQCG/4UAh/+FAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCi/5oAo/+aAKT/mgCl/5oApv+aAKf/mgCo/5oAqf+aAKr/mgCr/5oArP+aAK3/mgC0/5oAtf+aALb/mgC3/5oAuP+aALr/mgC7/8MAvP/DAL3/wwC+/8MAw//XAMT/mgDb/4UA3v+FAAwAJv/sACr/7AAy/+wANP/sAIn/7ACU/+wAlf/sAJb/7ACX/+wAmP/sAJr/7ADD/+wABAAF/+wACv/sANr/7ADd/+wACgAF/+wACv/sAFn/1wBa/9cAW//XAFz/1wBd/+wAv//XANr/7ADd/+wABAAFACkACgApANoAKQDdACkABAAFAHsACgB7ANoAewDdAHsAEgBG/9cAR//XAEj/1wBS/9cAVP/XAKL/1wCp/9cAqv/XAKv/1wCs/9cArf/XALT/1wC1/9cAtv/XALf/1wC4/9cAuv/XAMT/1wAeAAUAUgAKAFIARP/XAEb/1wBH/9cASP/XAEr/7ABS/9cAVP/XAKL/1wCj/9cApP/XAKX/1wCm/9cAp//XAKj/1wCp/9cAqv/XAKv/1wCs/9cArf/XALT/1wC1/9cAtv/XALf/1wC4/9cAuv/XAMT/1wDaAFIA3QBSAAkABQBSAAoAUgAP/64AEf+uACIAKQDaAFIA2/+uAN0AUgDe/64ABAAF/9cACv/XANr/1wDd/9cAAgAfAAUABQAAAAoACwABAA8AEQADACQAKQAGAC4ALwAMADIANAAOADcAPgARAEQARgAZ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sCYrLbA7LLAAFrAEJbAEJiAuRyNHI2GwBkUrIyA8IC4jOLEmARQrLbA8LLEIBCVCsAAWsAQlsAQlIC5HI0cjYSCwBCNCsAZFKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgR7AEQ7CAYmAgsAArIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbCAYmGwAiVGYTgjIDwjOBshICBGI0ewACsjYTghWbEmARQrLbA9LLAwKy6xJgEUKy2wPiywMSshIyAgPLAEI0IjOLEmARQrsARDLrAmKy2wPyywABUgR7AAI0KyAAEBFRQTLrAsKi2wQCywABUgR7AAI0KyAAEBFRQTLrAsKi2wQSyxAAEUE7AtKi2wQiywLyotsEMssAAWRSMgLiBGiiNhOLEmARQrLbBELLAII0KwQystsEUssgAAPCstsEYssgABPCstsEcssgEAPCstsEgssgEBPCstsEkssgAAPSstsEossgABPSstsEsssgEAPSstsEwssgEBPSstsE0ssgAAOSstsE4ssgABOSstsE8ssgEAOSstsFAssgEBOSstsFEssgAAOystsFIssgABOystsFMssgEAOystsFQssgEBOystsFUssgAAPistsFYssgABPistsFcssgEAPistsFgssgEBPistsFkssgAAOistsFossgABOistsFsssgEAOistsFwssgEBOistsF0ssDIrLrEmARQrLbBeLLAyK7A2Ky2wXyywMiuwNystsGAssAAWsDIrsDgrLbBhLLAzKy6xJgEUKy2wYiywMyuwNistsGMssDMrsDcrLbBkLLAzK7A4Ky2wZSywNCsusSYBFCstsGYssDQrsDYrLbBnLLA0K7A3Ky2waCywNCuwOCstsGkssDUrLrEmARQrLbBqLLA1K7A2Ky2wayywNSuwNystsGwssDUrsDgrLbBtLCuwCGWwAyRQeLABFTAtAAAAAAEAAf//AA8AAgBEAAACZAVVAAMABwAusQEALzyyBwQc7TKxBgXcPLIDAhztMgCxAwAvPLIFBBztMrIHBh38PLIBAhztMjMRIRElIREhRAIg/iQBmP5oBVX6q0QEzQAAAAIAhf/jAa4FtgADAA8AHkAbAAAAAVEAAQEMQwACAgNTAAMDFQNEJCMREAQTKwEjAyEBNDYzMhYVFAYjIiYBc640ARX+305I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AGkAbABkACAAMQAwADAATwBwAGUAbgAgAFMAYQBuAHMAIABTAGUAbQBpAGIAbwBsAGQAIABSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAwAE8AcABlAG4AUwBhAG4AcwAtAFMAZQBtAGkAYgBvAGwAZABPAHAAZQBuACAAUwBhAG4AcwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAEcAbwBvAGcAbABlACAAYQBuAGQAIABtAGEAeQAgAGIAZQAgAHIAZQBnAGkAcwB0AGUAcgBlAGQAIABpAG4AIABjAGUAcgB0AGEAaQBuACAAagB1AHIAaQBzAGQAaQBjAHQAaQBvAG4AcwAuAEEAcwBjAGUAbgBkAGUAcgAgAEMAbwByAHAAbwByAGEAdABpAG8AbgBoAHQAdABwADoALwAvAHcAdwB3AC4AYQBzAGMAZQBuAGQAZQByAGMAbwByAHAALgBjAG8AbQAvAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAHMAYwBlAG4AZABlAHIAYwBvAHIAcAAuAGMAbwBtAC8AdAB5AHAAZQBkAGUAcwBpAGcAbgBlAHIAcwAuAGgAdABtAGwATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBwAGEAYwBoAGUALgBvAHIAZwAvAGwAaQBjAGUAbgBzAGUAcwAvAEwASQBDAEUATgBTAEUALQAyAC4AMABPAHAAZQBuACAAUwBhAG4AcwBTAGUAbQBpAGIAbwBsAGQAVwBlAGIAZgBvAG4AdAAgADEALgAwAFcAZQBkACAASgB1AG4AIAAgADUAIAAxADIAOgAzADIAOgAwADkAIAAyADAAMQAzAAIAAAAAAAD/ZgBmAAAAAAAAAAAAAAAAAAAAAAAAAAAA7wAAAQIBAwADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEBBACjAIQAhQC9AJYA6ACGAI4AiwCdAKkApAEFAIoA2gCDAJMBBgEHAI0BCACIAMMA3gEJAJ4AqgD1APQA9gCiAK0AyQDHAK4AYgBjAJAAZADLAGUAyADKAM8AzADNAM4A6QBmANMA0ADRAK8AZwDwAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCgAG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAuAChAH8AfgCAAIEA7ADuALoA1wCwALEAuwDYAN0A2QEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcAsgCzALYAtwDEALQAtQDFAIcAqwEYAL4AvwC8ARkBGgEbAIwBHAEdAR4BHwEgASEGZ2x5cGgxB3VuaTAwMEQHdW5pMDBBMAd1bmkwMEFEB3VuaTAwQjIHdW5pMDBCMwd1bmkwMEI1B3VuaTAwQjkHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMTAHdW5pMjAxMQpmaWd1cmVkYXNoB3VuaTIwMkYHdW5pMjA1Rgd1bmkyMDc0BEV1cm8HdW5pRTAwMAd1bmlGQjAxB3VuaUZCMDIHdW5pRkIwMwd1bmlGQjA0CGdseXBoMjIyS7gAyFJYsQEBjlm5CAAIAGMgsAEjRLADI3CwF0UgIEu4AA5RS7AGU1pYsDQbsChZYGYgilVYsAIlYbABRWMjYrACI0SyCwEGKrIMBgYqshQGBipZsgQoCUVSRLIMCAcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAFRr2gJAAA=) format("truetype"); @@ -61,7 +65,8 @@ font-family: "Open Sans"; font-style: normal; font-weight: 700; - src: url(data:font/woff;charset=utf-8;base64,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) + src: + url(data:font/woff;charset=utf-8;base64,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) format("woff"), url(data:font/truetype;charset=utf-8;base64,AAEAAAATAQAABAAwRkZUTWNU004AAAE8AAAAHEdERUYBHAAEAAABWAAAACBHUE9TLXIXQgAAAXgAAAmeR1NVQqBiiJ4AAAsYAAAAqE9TLzKiSZvdAAALwAAAAGBjbWFwt29svgAADCAAAAICY3Z0ICtzBuAAAA4kAAAAPGZwZ22LC3pBAAAOYAAACZFnYXNwAAAAEAAAF/QAAAAIZ2x5ZoB4WfoAABf8AABwWGhlYWQBY5XaAACIVAAAADZoaGVhDxUFiQAAiIwAAAAkaG10eDGgTNQAAIiwAAADvGxvY2F9T5rKAACMbAAAAeBtYXhwAyECPAAAjkwAAAAgbmFtZWfQjGgAAI5sAAAEMHBvc3Slhu7VAACSnAAAAwBwcmVw80Qi7AAAlZwAAACQd2ViZmhfUa8AAJYsAAAABgAAAAEAAAAAzD2izwAAAADJQhegAAAAAM3VGN4AAQAAAA4AAAAYAAAAAAACAAEAAQDuAAEABAAAAAIAAAABAAAACgBUAGIABERGTFQAGmN5cmwAJmdyZWsAMmxhdG4APgAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAABa2VybgAIAAAAAQAAAAEABAACAAAAAQAIAAEIcgAEAAAAYADKAMoBkAGWAfQBlgH6AlgCpgJYAtgC3gKmAxACWAN+AlgDtATOBPwE/AKmBe4G5AGQBxYHKAdSBygHZAcWB3YHFgcWBygHKAfAB1IIOgg6B3YIOgGQAfoB+gH6AfoB+gH6AtgCpgLYAtgC2ALYAlgCWAJYAlgCWAJYAlgEzgTOBM4EzgXuA34HFgcWBxYHFgcWBxYHKAcoBygHKAcoBygHKAcoCGAHKAg6BygIOgLYBe4B9AH0AMoAygGWAMoBlgAxACT/cQA3ACkAOQApADoAKQA8ABQARP+uAEb/hQBH/4UASP+FAEr/wwBQ/8MAUf/DAFL/hQBT/8MAVP+FAFX/wwBW/8MAWP/DAIL/cQCD/3EAhP9xAIX/cQCG/3EAh/9xAJ8AFACi/4UAo/+uAKT/rgCl/64Apv+uAKf/rgCo/64Aqf+FAKr/hQCr/4UArP+FAK3/hQC0/4UAtf+FALb/hQC3/4UAuP+FALr/hQC7/8MAvP/DAL3/wwC+/8MAxP+FAMUAFAABAC0AuAAXACb/mgAq/5oAMv+aADT/mgA3/3EAOP/XADn/hQA6/4UAPP+FAIn/mgCU/5oAlf+aAJb/mgCX/5oAmP+aAJr/mgCb/9cAnP/XAJ3/1wCe/9cAn/+FAMP/mgDF/4UAAQA3/64AFwAF/3EACv9xACb/1wAq/9cALQEKADL/1wA0/9cAN/9xADn/rgA6/64APP+FAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCf/4UAw//XAMX/hQDa/3EA3f9xABMAD/+uABH/rgAk/9cAN//DADn/7AA6/+wAO//XADz/7AA9/+wAgv/XAIP/1wCE/9cAhf/XAIb/1wCH/9cAn//sAMX/7ADb/64A3v+uAAwAJv/XACr/1wAy/9cANP/XAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wDD/9cAAQAtAHsADAAP/4UAEf+FACIAKQAk/9cAgv/XAIP/1wCE/9cAhf/XAIb/1wCH/9cA2/+FAN7/hQAbAAX/XAAK/1wAJv/XACr/1wAy/9cANP/XADf/1wA4/+wAOf/XADr/1wA8/8MAif/XAJT/1wCV/9cAlv/XAJf/1wCY/9cAmv/XAJv/7ACc/+wAnf/sAJ7/7ACf/8MAw//XAMX/wwDa/1wA3f9cAA0AD/72ABH+9gAk/5oAO//XAD3/7ACC/5oAg/+aAIT/mgCF/5oAhv+aAIf/mgDb/vYA3v72AEYAD/+FABD/rgAR/4UAIgApACT/cQAm/9cAKv/XADL/1wA0/9cANwApAET/XABG/3EAR/9xAEj/cQBK/3EAUP+aAFH/mgBS/3EAU/+aAFT/cQBV/5oAVv+FAFj/mgBZ/9cAWv/XAFv/1wBc/9cAXf+uAIL/cQCD/3EAhP9xAIX/cQCG/3EAh/9xAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCi/3EAo/9cAKT/XACl/1wApv9cAKf/XACo/1wAqf9xAKr/cQCr/3EArP9xAK3/cQC0/3EAtf9xALb/cQC3/3EAuP9xALr/cQC7/5oAvP+aAL3/mgC+/5oAv//XAMP/1wDE/3EA1/+uANj/rgDb/4UA3v+FAAsAD//XABH/1wAk/+wAgv/sAIP/7ACE/+wAhf/sAIb/7ACH/+wA2//XAN7/1wA8AA//mgAR/5oAIgApACT/rgAm/+wAKv/sADL/7AA0/+wARP/XAEb/1wBH/9cASP/XAEr/7ABQ/+wAUf/sAFL/1wBT/+wAVP/XAFX/7ABW/+wAWP/sAIL/rgCD/64AhP+uAIX/rgCG/64Ah/+uAIn/7ACU/+wAlf/sAJb/7ACX/+wAmP/sAJr/7ACi/9cAo//XAKT/1wCl/9cApv/XAKf/1wCo/9cAqf/XAKr/1wCr/9cArP/XAK3/1wC0/9cAtf/XALb/1wC3/9cAuP/XALr/1wC7/+wAvP/sAL3/7AC+/+wAw//sAMT/1wDb/5oA3v+aAD0AD/+FABH/hQAiACkAJP+FACb/1wAq/9cAMv/XADT/1wBE/5oARv+aAEf/mgBI/5oASv/XAFD/wwBR/8MAUv+aAFP/wwBU/5oAVf/DAFb/rgBY/8MAXf/XAIL/hQCD/4UAhP+FAIX/hQCG/4UAh/+FAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCi/5oAo/+aAKT/mgCl/5oApv+aAKf/mgCo/5oAqf+aAKr/mgCr/5oArP+aAK3/mgC0/5oAtf+aALb/mgC3/5oAuP+aALr/mgC7/8MAvP/DAL3/wwC+/8MAw//XAMT/mgDb/4UA3v+FAAwAJv/sACr/7AAy/+wANP/sAIn/7ACU/+wAlf/sAJb/7ACX/+wAmP/sAJr/7ADD/+wABAAF/+wACv/sANr/7ADd/+wACgAF/+wACv/sAFn/1wBa/9cAW//XAFz/1wBd/+wAv//XANr/7ADd/+wABAAFACkACgApANoAKQDdACkABAAFAHsACgB7ANoAewDdAHsAEgBG/9cAR//XAEj/1wBS/9cAVP/XAKL/1wCp/9cAqv/XAKv/1wCs/9cArf/XALT/1wC1/9cAtv/XALf/1wC4/9cAuv/XAMT/1wAeAAUAUgAKAFIARP/XAEb/1wBH/9cASP/XAEr/7ABS/9cAVP/XAKL/1wCj/9cApP/XAKX/1wCm/9cAp//XAKj/1wCp/9cAqv/XAKv/1wCs/9cArf/XALT/1wC1/9cAtv/XALf/1wC4/9cAuv/XAMT/1wDaAFIA3QBSAAkABQBSAAoAUgAP/64AEf+uACIAKQDaAFIA2/+uAN0AUgDe/64ABAAF/9cACv/XANr/1wDd/9cAAgAfAAUABQAAAAoACwABAA8AEQADACQAKQAGAC4ALwAMADIANAAOADcAPgARAEQARgAZ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sCYrLbA7LLAAFrAEJbAEJiAuRyNHI2GwBkUrIyA8IC4jOLEmARQrLbA8LLEIBCVCsAAWsAQlsAQlIC5HI0cjYSCwBCNCsAZFKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgR7AEQ7CAYmAgsAArIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbCAYmGwAiVGYTgjIDwjOBshICBGI0ewACsjYTghWbEmARQrLbA9LLAwKy6xJgEUKy2wPiywMSshIyAgPLAEI0IjOLEmARQrsARDLrAmKy2wPyywABUgR7AAI0KyAAEBFRQTLrAsKi2wQCywABUgR7AAI0KyAAEBFRQTLrAsKi2wQSyxAAEUE7AtKi2wQiywLyotsEMssAAWRSMgLiBGiiNhOLEmARQrLbBELLAII0KwQystsEUssgAAPCstsEYssgABPCstsEcssgEAPCstsEgssgEBPCstsEkssgAAPSstsEossgABPSstsEsssgEAPSstsEwssgEBPSstsE0ssgAAOSstsE4ssgABOSstsE8ssgEAOSstsFAssgEBOSstsFEssgAAOystsFIssgABOystsFMssgEAOystsFQssgEBOystsFUssgAAPistsFYssgABPistsFcssgEAPistsFgssgEBPistsFkssgAAOistsFossgABOistsFsssgEAOistsFwssgEBOistsF0ssDIrLrEmARQrLbBeLLAyK7A2Ky2wXyywMiuwNystsGAssAAWsDIrsDgrLbBhLLAzKy6xJgEUKy2wYiywMyuwNistsGMssDMrsDcrLbBkLLAzK7A4Ky2wZSywNCsusSYBFCstsGYssDQrsDYrLbBnLLA0K7A3Ky2waCywNCuwOCstsGkssDUrLrEmARQrLbBqLLA1K7A2Ky2wayywNSuwNystsGwssDUrsDgrLbBtLCuwCGWwAyRQeLABFTAtAAAAAAEAAf//AA8AAgBEAAACZAVVAAMABwAusQEALzyyBwQc7TKxBgXcPLIDAhztMgCxAwAvPLIFBBztMrIHBh38PLIBAhztMjMRIRElIREhRAIg/iQBmP5oBVX6q0QEzQAAAAIAdf/lAdMFtgADAA8AHkAbAAAAAVEAAQEMQwACAgNTAAMDFQNEJCMREAQTKwEjAyEBNDYzMhYVFAYjIiYBoPQzAVr+olpW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ADEALgAxADAATwBwAGUAbgBTAGEAbgBzAC0AQgBvAGwAZABPAHAAZQBuACAAUwBhAG4AcwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAEcAbwBvAGcAbABlACAAYQBuAGQAIABtAGEAeQAgAGIAZQAgAHIAZQBnAGkAcwB0AGUAcgBlAGQAIABpAG4AIABjAGUAcgB0AGEAaQBuACAAagB1AHIAaQBzAGQAaQBjAHQAaQBvAG4AcwAuAEEAcwBjAGUAbgBkAGUAcgAgAEMAbwByAHAAbwByAGEAdABpAG8AbgBoAHQAdABwADoALwAvAHcAdwB3AC4AYQBzAGMAZQBuAGQAZQByAGMAbwByAHAALgBjAG8AbQAvAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAHMAYwBlAG4AZABlAHIAYwBvAHIAcAAuAGMAbwBtAC8AdAB5AHAAZQBkAGUAcwBpAGcAbgBlAHIAcwAuAGgAdABtAGwATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBwAGEAYwBoAGUALgBvAHIAZwAvAGwAaQBjAGUAbgBzAGUAcwAvAEwASQBDAEUATgBTAEUALQAyAC4AMABXAGUAYgBmAG8AbgB0ACAAMQAuADAAVwBlAGQAIABKAHUAbgAgACAANQAgADEAMgA6ADMAMwA6ADMANAAgADIAMAAxADMAAgAAAAAAAP9mAGYAAAAAAAAAAAAAAAAAAAAAAAAAAADvAAABAgEDAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQEEAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAQUAigDaAIMAkwEGAQcAjQEIAIgAwwDeAQkAngCqAPUA9AD2AKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAPAAkQDWANQA1QBoAOsA7QCJAGoAaQBrAG0AbABuAKAAbwBxAHAAcgBzAHUAdAB2AHcA6gB4AHoAeQB7AH0AfAC4AKEAfwB+AIAAgQDsAO4AugDXALAAsQC7ANgA3QDZAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwCyALMAtgC3AMQAtAC1AMUAhwCrARgAvgC/ALwBGQEaARsAjAEcAR0BHgEfASABIQZnbHlwaDEHdW5pMDAwRAd1bmkwMEEwB3VuaTAwQUQHdW5pMDBCMgd1bmkwMEIzB3VuaTAwQjUHdW5pMDBCOQd1bmkyMDAwB3VuaTIwMDEHdW5pMjAwMgd1bmkyMDAzB3VuaTIwMDQHdW5pMjAwNQd1bmkyMDA2B3VuaTIwMDcHdW5pMjAwOAd1bmkyMDA5B3VuaTIwMEEHdW5pMjAxMAd1bmkyMDExCmZpZ3VyZWRhc2gHdW5pMjAyRgd1bmkyMDVGB3VuaTIwNzQERXVybwd1bmlFMDAwB3VuaUZCMDEHdW5pRkIwMgd1bmlGQjAzB3VuaUZCMDQIZ2x5cGgyMjJLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLAXRSAgS7gADlFLsAZTWliwNBuwKFlgZiCKVViwAiVhsAFFYyNisAIjRLILAQYqsgwGBiqyFAYGKlmyBCgJRVJEsgwIByqxBgFEsSQBiFFYsECIWLEGA0SxJgGIUVi4BACIWLEGAURZWVlZuAH/hbAEjbEFAEQAAVGvaF4AAA==) format("truetype"); @@ -71,7 +76,8 @@ font-family: "Open Sans"; font-style: normal; font-weight: 800; - src: url(data:font/woff;charset=utf-8;base64,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) + src: + url(data:font/woff;charset=utf-8;base64,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) format("woff"), url(data:font/truetype;charset=utf-8;base64,AAEAAAATAQAABAAwRkZUTWNfpp0AAAE8AAAAHEdERUYBHAAEAAABWAAAACBHUE9TLXIXQgAAAXgAAAmeR1NVQqBiiJ4AAAsYAAAAqE9TLzKit518AAALwAAAAGBjbWFwt29svgAADCAAAAICY3Z0IC0XB1cAAA4kAAAAPGZwZ22LC3pBAAAOYAAACZFnYXNwAAAAEAAAF/QAAAAIZ2x5ZiXJj4cAABf8AAB90GhlYWQCJ5aeAACVzAAAADZoaGVhEAoF9AAAlgQAAAAkaG10eE7lQQEAAJYoAAADvGxvY2HsOw0sAACZ5AAAAeBtYXhwAyECPAAAm8QAAAAgbmFtZXqaoH4AAJvkAAAEqnBvc3Slhu7VAACgkAAAAwBwcmVw80Qi7AAAo5AAAACQd2ViZmi7Ua8AAKQgAAAABgAAAAEAAAAAzD2izwAAAADJTOqTAAAAAM3VGToAAQAAAA4AAAAYAAAAAAACAAEAAQDuAAEABAAAAAIAAAABAAAACgBUAGIABERGTFQAGmN5cmwAJmdyZWsAMmxhdG4APgAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAABa2VybgAIAAAAAQAAAAEABAACAAAAAQAIAAEIcgAEAAAAYADKAMoBkAGWAfQBlgH6AlgCpgJYAtgC3gKmAxACWAN+AlgDtATOBPwE/AKmBe4G5AGQBxYHKAdSBygHZAcWB3YHFgcWBygHKAfAB1IIOgg6B3YIOgGQAfoB+gH6AfoB+gH6AtgCpgLYAtgC2ALYAlgCWAJYAlgCWAJYAlgEzgTOBM4EzgXuA34HFgcWBxYHFgcWBxYHKAcoBygHKAcoBygHKAcoCGAHKAg6BygIOgLYBe4B9AH0AMoAygGWAMoBlgAxACT/cQA3ACkAOQApADoAKQA8ABQARP+uAEb/hQBH/4UASP+FAEr/wwBQ/8MAUf/DAFL/hQBT/8MAVP+FAFX/wwBW/8MAWP/DAIL/cQCD/3EAhP9xAIX/cQCG/3EAh/9xAJ8AFACi/4UAo/+uAKT/rgCl/64Apv+uAKf/rgCo/64Aqf+FAKr/hQCr/4UArP+FAK3/hQC0/4UAtf+FALb/hQC3/4UAuP+FALr/hQC7/8MAvP/DAL3/wwC+/8MAxP+FAMUAFAABAC0AuAAXACb/mgAq/5oAMv+aADT/mgA3/3EAOP/XADn/hQA6/4UAPP+FAIn/mgCU/5oAlf+aAJb/mgCX/5oAmP+aAJr/mgCb/9cAnP/XAJ3/1wCe/9cAn/+FAMP/mgDF/4UAAQA3/64AFwAF/3EACv9xACb/1wAq/9cALQEKADL/1wA0/9cAN/9xADn/rgA6/64APP+FAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCf/4UAw//XAMX/hQDa/3EA3f9xABMAD/+uABH/rgAk/9cAN//DADn/7AA6/+wAO//XADz/7AA9/+wAgv/XAIP/1wCE/9cAhf/XAIb/1wCH/9cAn//sAMX/7ADb/64A3v+uAAwAJv/XACr/1wAy/9cANP/XAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wDD/9cAAQAtAHsADAAP/4UAEf+FACIAKQAk/9cAgv/XAIP/1wCE/9cAhf/XAIb/1wCH/9cA2/+FAN7/hQAbAAX/XAAK/1wAJv/XACr/1wAy/9cANP/XADf/1wA4/+wAOf/XADr/1wA8/8MAif/XAJT/1wCV/9cAlv/XAJf/1wCY/9cAmv/XAJv/7ACc/+wAnf/sAJ7/7ACf/8MAw//XAMX/wwDa/1wA3f9cAA0AD/72ABH+9gAk/5oAO//XAD3/7ACC/5oAg/+aAIT/mgCF/5oAhv+aAIf/mgDb/vYA3v72AEYAD/+FABD/rgAR/4UAIgApACT/cQAm/9cAKv/XADL/1wA0/9cANwApAET/XABG/3EAR/9xAEj/cQBK/3EAUP+aAFH/mgBS/3EAU/+aAFT/cQBV/5oAVv+FAFj/mgBZ/9cAWv/XAFv/1wBc/9cAXf+uAIL/cQCD/3EAhP9xAIX/cQCG/3EAh/9xAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCi/3EAo/9cAKT/XACl/1wApv9cAKf/XACo/1wAqf9xAKr/cQCr/3EArP9xAK3/cQC0/3EAtf9xALb/cQC3/3EAuP9xALr/cQC7/5oAvP+aAL3/mgC+/5oAv//XAMP/1wDE/3EA1/+uANj/rgDb/4UA3v+FAAsAD//XABH/1wAk/+wAgv/sAIP/7ACE/+wAhf/sAIb/7ACH/+wA2//XAN7/1wA8AA//mgAR/5oAIgApACT/rgAm/+wAKv/sADL/7AA0/+wARP/XAEb/1wBH/9cASP/XAEr/7ABQ/+wAUf/sAFL/1wBT/+wAVP/XAFX/7ABW/+wAWP/sAIL/rgCD/64AhP+uAIX/rgCG/64Ah/+uAIn/7ACU/+wAlf/sAJb/7ACX/+wAmP/sAJr/7ACi/9cAo//XAKT/1wCl/9cApv/XAKf/1wCo/9cAqf/XAKr/1wCr/9cArP/XAK3/1wC0/9cAtf/XALb/1wC3/9cAuP/XALr/1wC7/+wAvP/sAL3/7AC+/+wAw//sAMT/1wDb/5oA3v+aAD0AD/+FABH/hQAiACkAJP+FACb/1wAq/9cAMv/XADT/1wBE/5oARv+aAEf/mgBI/5oASv/XAFD/wwBR/8MAUv+aAFP/wwBU/5oAVf/DAFb/rgBY/8MAXf/XAIL/hQCD/4UAhP+FAIX/hQCG/4UAh/+FAIn/1wCU/9cAlf/XAJb/1wCX/9cAmP/XAJr/1wCi/5oAo/+aAKT/mgCl/5oApv+aAKf/mgCo/5oAqf+aAKr/mgCr/5oArP+aAK3/mgC0/5oAtf+aALb/mgC3/5oAuP+aALr/mgC7/8MAvP/DAL3/wwC+/8MAw//XAMT/mgDb/4UA3v+FAAwAJv/sACr/7AAy/+wANP/sAIn/7ACU/+wAlf/sAJb/7ACX/+wAmP/sAJr/7ADD/+wABAAF/+wACv/sANr/7ADd/+wACgAF/+wACv/sAFn/1wBa/9cAW//XAFz/1wBd/+wAv//XANr/7ADd/+wABAAFACkACgApANoAKQDdACkABAAFAHsACgB7ANoAewDdAHsAEgBG/9cAR//XAEj/1wBS/9cAVP/XAKL/1wCp/9cAqv/XAKv/1wCs/9cArf/XALT/1wC1/9cAtv/XALf/1wC4/9cAuv/XAMT/1wAeAAUAUgAKAFIARP/XAEb/1wBH/9cASP/XAEr/7ABS/9cAVP/XAKL/1wCj/9cApP/XAKX/1wCm/9cAp//XAKj/1wCp/9cAqv/XAKv/1wCs/9cArf/XALT/1wC1/9cAtv/XALf/1wC4/9cAuv/XAMT/1wDaAFIA3QBSAAkABQBSAAoAUgAP/64AEf+uACIAKQDaAFIA2/+uAN0AUgDe/64ABAAF/9cACv/XANr/1wDd/9cAAgAfAAUABQAAAAoACwABAA8AEQADACQAKQAGAC4ALwAMADIANAAOADcAPgARAEQARgAZ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sCYrLbA7LLAAFrAEJbAEJiAuRyNHI2GwBkUrIyA8IC4jOLEmARQrLbA8LLEIBCVCsAAWsAQlsAQlIC5HI0cjYSCwBCNCsAZFKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgR7AEQ7CAYmAgsAArIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbCAYmGwAiVGYTgjIDwjOBshICBGI0ewACsjYTghWbEmARQrLbA9LLAwKy6xJgEUKy2wPiywMSshIyAgPLAEI0IjOLEmARQrsARDLrAmKy2wPyywABUgR7AAI0KyAAEBFRQTLrAsKi2wQCywABUgR7AAI0KyAAEBFRQTLrAsKi2wQSyxAAEUE7AtKi2wQiywLyotsEMssAAWRSMgLiBGiiNhOLEmARQrLbBELLAII0KwQystsEUssgAAPCstsEYssgABPCstsEcssgEAPCstsEgssgEBPCstsEkssgAAPSstsEossgABPSstsEsssgEAPSstsEwssgEBPSstsE0ssgAAOSstsE4ssgABOSstsE8ssgEAOSstsFAssgEBOSstsFEssgAAOystsFIssgABOystsFMssgEAOystsFQssgEBOystsFUssgAAPistsFYssgABPistsFcssgEAPistsFgssgEBPistsFkssgAAOistsFossgABOistsFsssgEAOistsFwssgEBOistsF0ssDIrLrEmARQrLbBeLLAyK7A2Ky2wXyywMiuwNystsGAssAAWsDIrsDgrLbBhLLAzKy6xJgEUKy2wYiywMyuwNistsGMssDMrsDcrLbBkLLAzK7A4Ky2wZSywNCsusSYBFCstsGYssDQrsDYrLbBnLLA0K7A3Ky2waCywNCuwOCstsGkssDUrLrEmARQrLbBqLLA1K7A2Ky2wayywNSuwNystsGwssDUrsDgrLbBtLCuwCGWwAyRQeLABFTAtAAAAAAEAAf//AA8AAgBEAAACZAVVAAMABwAusQEALzyyBwQc7TKxBgXcPLIDAhztMgCxAwAvPLIFBBztMrIHBh38PLIBAhztMjMRIRElIREhRAIg/iQBmP5oBVX6q0QEzQAAAAIAUv/nAgIFtgADAA8AHkAbAAAAAVEAAQEMQwACAgNTAAMDFQNEJCMREAQTKwEhAyEBNDYzMhYVFAYjIiYBz/62MwGw/lRs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AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAEcAbwBvAGcAbABlACAAYQBuAGQAIABtAGEAeQAgAGIAZQAgAHIAZQBnAGkAcwB0AGUAcgBlAGQAIABpAG4AIABjAGUAcgB0AGEAaQBuACAAagB1AHIAaQBzAGQAaQBjAHQAaQBvAG4AcwAuAEEAcwBjAGUAbgBkAGUAcgAgAEMAbwByAHAAbwByAGEAdABpAG8AbgBoAHQAdABwADoALwAvAHcAdwB3AC4AYQBzAGMAZQBuAGQAZQByAGMAbwByAHAALgBjAG8AbQAvAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAHMAYwBlAG4AZABlAHIAYwBvAHIAcAAuAGMAbwBtAC8AdAB5AHAAZQBkAGUAcwBpAGcAbgBlAHIAcwAuAGgAdABtAGwATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBwAGEAYwBoAGUALgBvAHIAZwAvAGwAaQBjAGUAbgBzAGUAcwAvAEwASQBDAEUATgBTAEUALQAyAC4AMABPAHAAZQBuACAAUwBhAG4AcwBFAHgAdAByAGEAYgBvAGwAZABXAGUAYgBmAG8AbgB0ACAAMQAuADAAVwBlAGQAIABKAHUAbgAgACAANQAgADEAMgA6ADMANQA6ADAANgAgADIAMAAxADMAAAACAAAAAAAA/2YAZgAAAAAAAAAAAAAAAAAAAAAAAAAAAO8AAAECAQMAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQQAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQBBQCKANoAgwCTAQYBBwCNAQgAiADDAN4BCQCeAKoA9QD0APYAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6ANcAsACxALsA2ADdANkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXALIAswC2ALcAxAC0ALUAxQCHAKsBGAC+AL8AvAEZARoBGwCMARwBHQEeAR8BIAEhBmdseXBoMQd1bmkwMDBEB3VuaTAwQTAHdW5pMDBBRAd1bmkwMEIyB3VuaTAwQjMHdW5pMDBCNQd1bmkwMEI5B3VuaTIwMDAHdW5pMjAwMQd1bmkyMDAyB3VuaTIwMDMHdW5pMjAwNAd1bmkyMDA1B3VuaTIwMDYHdW5pMjAwNwd1bmkyMDA4B3VuaTIwMDkHdW5pMjAwQQd1bmkyMDEwB3VuaTIwMTEKZmlndXJlZGFzaAd1bmkyMDJGB3VuaTIwNUYHdW5pMjA3NARFdXJvB3VuaUUwMDAHdW5pRkIwMQd1bmlGQjAyB3VuaUZCMDMHdW5pRkIwNAhnbHlwaDIyMku4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsBdFICBLuAAOUUuwBlNaWLA0G7AoWWBmIIpVWLACJWGwAUVjI2KwAiNEsgsBBiqyDAYGKrIUBgYqWbIEKAlFUkSyDAgHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAABUa9ougAA) format("truetype"); @@ -79,7 +85,8 @@ @font-face { font-family: "Glyphicons Halflings"; - src: url(data:font/woff2;charset=utf-8;base64,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) + src: + url(data:font/woff2;charset=utf-8;base64,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) format("woff2"), url(data:font/truetype;charset=utf-8;base64,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JbwmFCZ+JuYnUCe8J/goNChwKKwpoCnMKiYqSiqEKworeiwILGgsuizsLRwtiC30LiguZi6iLtgvDi9GL34vsi/4MD4whDDSMRIxYDGuMegyJDJeMpoy3jMiMz4zaDO2NBg0YDSoNNI1LDWeNeg2PjZ8Ntw3GjdON5I31DgQOEI4hjjIOQo5SjmIOcw6HDpsOpo63jugO9w8GDxQPKI8+D0yPew+Oj6MPtQ/KD9uP6o/+kBIQIBAxkECQX5CGEKoQu5DGENCQ3ZDoEPKRBBEYESuRPZFWkW2RgZGdEa0RvZHNkd2R7ZH9kgWSDJITkhqSIZIzEkSSThJXkmESapKAkouSlIAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAAAAABAAxgABAAAAAAATABIAAAADAAEECQAAAGoAEgADAAEECQABACgAfAADAAEECQACAA4ApAADAAEECQADAEwAsgADAAEECQAEADgA/gADAAEECQAFAHgBNgADAAEECQAGADYBrgADAAEECQAIABYB5AADAAEECQAJABYB+gADAAEECQALACQCEAADAAEECQAMACQCNAADAAEECQATACQCWAADAAEECQDIABYCfAADAAEECQDJADACkgADAAEECdkDABoCwnd3dy5nbHlwaGljb25zLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMQA0ACAAYgB5ACAASgBhAG4AIABLAG8AdgBhAHIAaQBrAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4ARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAFIAZQBnAHUAbABhAHIAMQAuADAAMAA5ADsAVQBLAFcATgA7AEcATABZAFAASABJAEMATwBOAFMASABhAGwAZgBsAGkAbgBnAHMALQBSAGUAZwB1AGwAYQByAEcATABZAFAASABJAEMATwBOAFMAIABIAGEAbABmAGwAaQBuAGcAcwAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAOQA7AFAAUwAgADAAMAAxAC4AMAAwADkAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADkARwBMAFkAUABIAEkAQwBPAE4AUwBIAGEAbABmAGwAaQBuAGcAcwAtAFIAZQBnAHUAbABhAHIASgBhAG4AIABLAG8AdgBhAHIAaQBrAEoAYQBuACAASwBvAHYAYQByAGkAawB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQBXAGUAYgBmAG8AbgB0ACAAMQAuADAAVwBlAGQAIABPAGMAdAAgADIAOQAgADAANgA6ADMANgA6ADAANwAgADIAMAAxADQARgBvAG4AdAAgAFMAcQB1AGkAcgByAGUAbAAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAABFwAAAQIBAwADAA0ADgEEAJYBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMA7wEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgZnbHlwaDEGZ2x5cGgyB3VuaTAwQTAHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaTIwQkQHdW5pMjMxQgd1bmkyNUZDB3VuaTI2MDEHdW5pMjZGQQd1bmkyNzA5B3VuaTI3MEYHdW5pRTAwMQd1bmlFMDAyB3VuaUUwMDMHdW5pRTAwNQd1bmlFMDA2B3VuaUUwMDcHdW5pRTAwOAd1bmlFMDA5B3VuaUUwMTAHdW5pRTAxMQd1bmlFMDEyB3VuaUUwMTMHdW5pRTAxNAd1bmlFMDE1B3VuaUUwMTYHdW5pRTAxNwd1bmlFMDE4B3VuaUUwMTkHdW5pRTAyMAd1bmlFMDIxB3VuaUUwMjIHdW5pRTAyMwd1bmlFMDI0B3VuaUUwMjUHdW5pRTAyNgd1bmlFMDI3B3VuaUUwMjgHdW5pRTAyOQd1bmlFMDMwB3VuaUUwMzEHdW5pRTAzMgd1bmlFMDMzB3VuaUUwMzQHdW5pRTAzNQd1bmlFMDM2B3VuaUUwMzcHdW5pRTAzOAd1bmlFMDM5B3VuaUUwNDAHdW5pRTA0MQd1bmlFMDQyB3VuaUUwNDMHdW5pRTA0NAd1bmlFMDQ1B3VuaUUwNDYHdW5pRTA0Nwd1bmlFMDQ4B3VuaUUwNDkHdW5pRTA1MAd1bmlFMDUxB3VuaUUwNTIHdW5pRTA1Mwd1bmlFMDU0B3VuaUUwNTUHdW5pRTA1Ngd1bmlFMDU3B3VuaUUwNTgHdW5pRTA1OQd1bmlFMDYwB3VuaUUwNjIHdW5pRTA2Mwd1bmlFMDY0B3VuaUUwNjUHdW5pRTA2Ngd1bmlFMDY3B3VuaUUwNjgHdW5pRTA2OQd1bmlFMDcwB3VuaUUwNzEHdW5pRTA3Mgd1bmlFMDczB3VuaUUwNzQHdW5pRTA3NQd1bmlFMDc2B3VuaUUwNzcHdW5pRTA3OAd1bmlFMDc5B3VuaUUwODAHdW5pRTA4MQd1bmlFMDgyB3VuaUUwODMHdW5pRTA4NAd1bmlFMDg1B3VuaUUwODYHdW5pRTA4Nwd1bmlFMDg4B3VuaUUwODkHdW5pRTA5MAd1bmlFMDkxB3VuaUUwOTIHdW5pRTA5Mwd1bmlFMDk0B3VuaUUwOTUHdW5pRTA5Ngd1bmlFMDk3B3VuaUUxMDEHdW5pRTEwMgd1bmlFMTAzB3VuaUUxMDQHdW5pRTEwNQd1bmlFMTA2B3VuaUUxMDcHdW5pRTEwOAd1bmlFMTA5B3VuaUUxMTAHdW5pRTExMQd1bmlFMTEyB3VuaUUxMTMHdW5pRTExNAd1bmlFMTE1B3VuaUUxMTYHdW5pRTExNwd1bmlFMTE4B3VuaUUxMTkHdW5pRTEyMAd1bmlFMTIxB3VuaUUxMjIHdW5pRTEyMwd1bmlFMTI0B3VuaUUxMjUHdW5pRTEyNgd1bmlFMTI3B3VuaUUxMjgHdW5pRTEyOQd1bmlFMTMwB3VuaUUxMzEHdW5pRTEzMgd1bmlFMTMzB3VuaUUxMzQHdW5pRTEzNQd1bmlFMTM2B3VuaUUxMzcHdW5pRTEzOAd1bmlFMTM5B3VuaUUxNDAHdW5pRTE0MQd1bmlFMTQyB3VuaUUxNDMHdW5pRTE0NAd1bmlFMTQ1B3VuaUUxNDYHdW5pRTE0OAd1bmlFMTQ5B3VuaUUxNTAHdW5pRTE1MQd1bmlFMTUyB3VuaUUxNTMHdW5pRTE1NAd1bmlFMTU1B3VuaUUxNTYHdW5pRTE1Nwd1bmlFMTU4B3VuaUUxNTkHdW5pRTE2MAd1bmlFMTYxB3VuaUUxNjIHdW5pRTE2Mwd1bmlFMTY0B3VuaUUxNjUHdW5pRTE2Ngd1bmlFMTY3B3VuaUUxNjgHdW5pRTE2OQd1bmlFMTcwB3VuaUUxNzEHdW5pRTE3Mgd1bmlFMTczB3VuaUUxNzQHdW5pRTE3NQd1bmlFMTc2B3VuaUUxNzcHdW5pRTE3OAd1bmlFMTc5B3VuaUUxODAHdW5pRTE4MQd1bmlFMTgyB3VuaUUxODMHdW5pRTE4NAd1bmlFMTg1B3VuaUUxODYHdW5pRTE4Nwd1bmlFMTg4B3VuaUUxODkHdW5pRTE5MAd1bmlFMTkxB3VuaUUxOTIHdW5pRTE5Mwd1bmlFMTk0B3VuaUUxOTUHdW5pRTE5Nwd1bmlFMTk4B3VuaUUxOTkHdW5pRTIwMAd1bmlFMjAxB3VuaUUyMDIHdW5pRTIwMwd1bmlFMjA0B3VuaUUyMDUHdW5pRTIwNgd1bmlFMjA5B3VuaUUyMTAHdW5pRTIxMQd1bmlFMjEyB3VuaUUyMTMHdW5pRTIxNAd1bmlFMjE1B3VuaUUyMTYHdW5pRTIxOAd1bmlFMjE5B3VuaUUyMjEHdW5pRTIyMwd1bmlFMjI0B3VuaUUyMjUHdW5pRTIyNgd1bmlFMjI3B3VuaUUyMzAHdW5pRTIzMQd1bmlFMjMyB3VuaUUyMzMHdW5pRTIzNAd1bmlFMjM1B3VuaUUyMzYHdW5pRTIzNwd1bmlFMjM4B3VuaUUyMzkHdW5pRTI0MAd1bmlFMjQxB3VuaUUyNDIHdW5pRTI0Mwd1bmlFMjQ0B3VuaUUyNDUHdW5pRTI0Ngd1bmlFMjQ3B3VuaUUyNDgHdW5pRTI0OQd1bmlFMjUwB3VuaUUyNTEHdW5pRTI1Mgd1bmlFMjUzB3VuaUUyNTQHdW5pRTI1NQd1bmlFMjU2B3VuaUUyNTcHdW5pRTI1OAd1bmlFMjU5B3VuaUUyNjAHdW5pRjhGRgZ1MUY1MTEGdTFGNkFBAAAAAAFUUMMXAAA=) format("truetype"); diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-api/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-api/pom.xml index ee33b7f97e5..fd2e59f6526 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-api/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-api/pom.xml @@ -39,7 +39,6 @@ - @@ -51,7 +50,5 @@ org.kie.kogito.stunner.serverless.editor kie-wb-common-stunner-client-common - - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-client/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-client/pom.xml index 103313205c1..bc556ed3e3e 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-client/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-client/pom.xml @@ -39,7 +39,6 @@ - @@ -90,7 +89,5 @@ test - - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/pom.xml index ae1d07c17ad..bef95272c7e 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/pom.xml @@ -38,5 +38,4 @@ kie-wb-common-stunner-shapes-api kie-wb-common-stunner-shapes-client - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/pom.xml index 38bc31d4422..942da4a88d2 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/pom.xml @@ -40,7 +40,6 @@ - @@ -123,11 +122,9 @@ test - org.powermock - powermock-api-mockito2 - test + org.powermock + powermock-api-mockito2 + test - - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/src/test/resources/images/svg.svg b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/src/test/resources/images/svg.svg index 00bc815c102..b234e13ad0a 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/src/test/resources/images/svg.svg +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/src/test/resources/images/svg.svg @@ -1,6 +1,17 @@ - + - + - - - + + S29,32,40,32h336c11,0,20.4,3.9,28.2,11.8S416,61,416,72z" + /> diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/pom.xml index 860e504f62c..61f87271978 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-client/pom.xml @@ -39,5 +39,4 @@ kie-wb-common-stunner-lienzo kie-wb-common-stunner-widgets - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-backend-api/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-backend-api/pom.xml index 5db09194228..66c45860252 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-backend-api/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-backend-api/pom.xml @@ -50,7 +50,5 @@ org.kie.kogito.stunner.serverless.editor uberfire-api - - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-client-api/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-client-api/pom.xml index 0d6f7b165fd..78a59f7c0cd 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-client-api/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-client-api/pom.xml @@ -39,7 +39,6 @@ - org.kie.kogito.stunner.serverless.editor kie-wb-common-stunner-core-api @@ -79,7 +78,5 @@ mockito-core test - - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-core-api/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-core-api/pom.xml index 581da305fea..64383fcbd79 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-core-api/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-core-api/pom.xml @@ -39,11 +39,9 @@ - org.kie.kogito.stunner.serverless.editor uberfire-api - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/pom.xml index ee2c4c08856..59c92ae3576 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/pom.xml @@ -39,5 +39,4 @@ kie-wb-common-stunner-backend-api kie-wb-common-stunner-client-api - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-client-common/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-client-common/pom.xml index 402ff280b66..f0665b8a09a 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-client-common/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-client-common/pom.xml @@ -22,130 +22,129 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > - - kie-wb-common-stunner-commons - org.kie.kogito.stunner.serverless.editor - ${revision} - - 4.0.0 - - kie-wb-common-stunner-client-common - Kie Workbench - Common - Stunner - Client Common - Kie Workbench - Common - Stunner - Client Common - jar - - - org.kie.wb.common.stunner.common.client - - - - - - - - org.kie.kogito.stunner.serverless.editor - kie-wb-common-stunner-core-api - - - - org.kie.kogito.stunner.serverless.editor - kie-wb-common-stunner-client-api - - - - org.kie.kogito.stunner.serverless.editor - kie-wb-common-stunner-backend-api - - - - org.kie.kogito.stunner.serverless.editor - kie-wb-common-stunner-core-common - - - - - org.kie.kogito.stunner.serverless.editor - uberfire-client-api - - - - org.kie.kogito.stunner.serverless.editor - uberfire-api - - - - org.kie.kogito.stunner.serverless.editor - uberfire-commons-editor-api - - - - org.kie.kogito.stunner.serverless.editor - uberfire-commons-editor-client - - - - com.google.elemental2 - elemental2-dom - - - - - org.kie.kogito.stunner.serverless.editor - appformer-client-api - - - - org.kie.kogito.stunner.serverless.editor.third_party - gwtproject - - - - org.kie.kogito.stunner.serverless.editor - uberfire-workbench-client - - - org.kie.kogito.stunner.serverless.editor.third_party - errai - - - org.kie.kogito.stunner.serverless.editor - lienzo-core - - - org.kie.j2cl.tools.processors - processors - provided - - - - - org.assertj - assertj-core - test - - - - junit - junit - test - - - - org.mockito - mockito-core - test - - - - com.google.gwt.gwtmockito - gwtmockito - test - - - org.eclipse.jetty - jetty-annotations - - - - + + kie-wb-common-stunner-commons + org.kie.kogito.stunner.serverless.editor + ${revision} + + 4.0.0 + + kie-wb-common-stunner-client-common + Kie Workbench - Common - Stunner - Client Common + Kie Workbench - Common - Stunner - Client Common + jar + + + org.kie.wb.common.stunner.common.client + + + + + + + org.kie.kogito.stunner.serverless.editor + kie-wb-common-stunner-core-api + + + + org.kie.kogito.stunner.serverless.editor + kie-wb-common-stunner-client-api + + + + org.kie.kogito.stunner.serverless.editor + kie-wb-common-stunner-backend-api + + + + org.kie.kogito.stunner.serverless.editor + kie-wb-common-stunner-core-common + + + + + org.kie.kogito.stunner.serverless.editor + uberfire-client-api + + + + org.kie.kogito.stunner.serverless.editor + uberfire-api + + + + org.kie.kogito.stunner.serverless.editor + uberfire-commons-editor-api + + + + org.kie.kogito.stunner.serverless.editor + uberfire-commons-editor-client + + + + com.google.elemental2 + elemental2-dom + + + + + org.kie.kogito.stunner.serverless.editor + appformer-client-api + + + + org.kie.kogito.stunner.serverless.editor.third_party + gwtproject + + + + org.kie.kogito.stunner.serverless.editor + uberfire-workbench-client + + + org.kie.kogito.stunner.serverless.editor.third_party + errai + + + org.kie.kogito.stunner.serverless.editor + lienzo-core + + + org.kie.j2cl.tools.processors + processors + provided + + + + + org.assertj + assertj-core + test + + + + junit + junit + test + + + + org.mockito + mockito-core + test + + + + com.google.gwt.gwtmockito + gwtmockito + test + + + org.eclipse.jetty + jetty-annotations + + + + diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-core-common/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-core-common/pom.xml index 2062df9c549..1178dcae7c2 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-core-common/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-core-common/pom.xml @@ -39,7 +39,6 @@ - org.kie.j2cl.tools.di core @@ -90,6 +89,5 @@ assertj-core test - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/pom.xml index de6c87e3aa5..11e654f8ec7 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/pom.xml @@ -42,5 +42,4 @@ kie-wb-common-stunner-core-common kie-wb-common-stunner-client-common - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/pom.xml index c9fb6847550..964dd9cd693 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-core/pom.xml @@ -38,5 +38,4 @@ kie-wb-common-stunner-api kie-wb-common-stunner-commons - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-lienzo-extensions/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-lienzo-extensions/pom.xml index 362266ca42b..9e3d9a52a53 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-lienzo-extensions/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-lienzo-extensions/pom.xml @@ -40,7 +40,6 @@ - @@ -87,11 +86,9 @@ lienzo-tests test - - org.kie.j2cl.tools.di - core - - + + org.kie.j2cl.tools.di + core + - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-extensions/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-extensions/pom.xml index 774aa7fdf02..615c3217f77 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-extensions/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/kie-wb-common-stunner-extensions/pom.xml @@ -37,5 +37,4 @@ kie-wb-common-stunner-lienzo-extensions - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/pom.xml index b0df6aae8ee..936ddbd846f 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-stunner/pom.xml @@ -46,11 +46,8 @@ - - - org.apache.maven.plugins maven-resources-plugin @@ -143,13 +140,10 @@ - - - maven-clean-plugin @@ -202,9 +196,7 @@ org.apache.maven.plugins maven-failsafe-plugin - - @@ -224,5 +216,4 @@ - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/pom.xml index 53d478536b3..8cc8f0819a6 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/pom.xml @@ -40,7 +40,6 @@ - com.google.elemental2 elemental2-dom @@ -64,7 +63,6 @@ org.kie.j2cl.tools.di.ui core - @@ -98,5 +96,4 @@ - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/pom.xml index 53f377cb5d4..445a1b6f96b 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/pom.xml @@ -28,5 +28,4 @@ org.kie.example DataModelBackendDeclaredTypesTest1 1.0 - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/src/main/resources/META-INF/kmodule.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/src/main/resources/META-INF/kmodule.xml index d4645c99202..df89aef36c1 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/src/main/resources/META-INF/kmodule.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/src/main/resources/META-INF/kmodule.xml @@ -17,6 +17,4 @@ ~ specific language governing permissions and limitations ~ under the License. --> - - - + diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/pom.xml index 255939fe437..1873065c23d 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/pom.xml @@ -28,5 +28,4 @@ org.kie.example DataModelBackendExtendingJavaTypeTest1 1.0 - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/src/main/resources/META-INF/kmodule.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/src/main/resources/META-INF/kmodule.xml index d4645c99202..df89aef36c1 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/src/main/resources/META-INF/kmodule.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/src/main/resources/META-INF/kmodule.xml @@ -17,6 +17,4 @@ ~ specific language governing permissions and limitations ~ under the License. --> - - - + diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/pom.xml index 177f6625361..d92c71aac2f 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/pom.xml @@ -28,5 +28,4 @@ org.kie.example DataModelBackendExtendJavaTypeTest2 1.0 - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/src/main/resources/META-INF/kmodule.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/src/main/resources/META-INF/kmodule.xml index d4645c99202..df89aef36c1 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/src/main/resources/META-INF/kmodule.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/src/main/resources/META-INF/kmodule.xml @@ -17,6 +17,4 @@ ~ specific language governing permissions and limitations ~ under the License. --> - - - + diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/pom.xml index 38e7240021c..4c955ad1942 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/pom.xml @@ -28,5 +28,4 @@ org.kie.example DataModelBackendSuperTypesTest1 1.0 - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/src/main/resources/META-INF/kmodule.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/src/main/resources/META-INF/kmodule.xml index d4645c99202..df89aef36c1 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/src/main/resources/META-INF/kmodule.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/src/main/resources/META-INF/kmodule.xml @@ -17,6 +17,4 @@ ~ specific language governing permissions and limitations ~ under the License. --> - - - + diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/pom.xml index 825febe5570..4b5187cf58e 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/pom.xml @@ -28,5 +28,4 @@ org.kie.example DataModelBackendTest1 1.0 - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/src/main/resources/META-INF/kmodule.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/src/main/resources/META-INF/kmodule.xml index d4645c99202..df89aef36c1 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/src/main/resources/META-INF/kmodule.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/src/main/resources/META-INF/kmodule.xml @@ -17,6 +17,4 @@ ~ specific language governing permissions and limitations ~ under the License. --> - - - + diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/pom.xml index 9f8322241b5..ec8adb22d0a 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/pom.xml @@ -28,5 +28,4 @@ org.kie.example DataModelBackendTest2 1.0 - diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/src/main/resources/META-INF/kmodule.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/src/main/resources/META-INF/kmodule.xml index d4645c99202..df89aef36c1 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/src/main/resources/META-INF/kmodule.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/src/main/resources/META-INF/kmodule.xml @@ -17,6 +17,4 @@ ~ specific language governing permissions and limitations ~ under the License. --> - - - + diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/META-INF/beans.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/META-INF/beans.xml index 289a0e609c0..4adfbcafd56 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/META-INF/beans.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/META-INF/beans.xml @@ -23,7 +23,6 @@ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" bean-discovery-mode="all" > - org.kie.workbench.common.services.datamodel.backend.server.TestAppSetup org.guvnor.test.GuvnorTestAppSetup diff --git a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/pom.xml b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/pom.xml index b975b086c8b..44560ec792d 100644 --- a/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/pom.xml +++ b/packages/serverless-workflow-diagram-editor/kie-wb-common-widgets/pom.xml @@ -38,5 +38,4 @@ kie-wb-common-ui - diff --git a/packages/serverless-workflow-diagram-editor/lienzo-core/pom.xml b/packages/serverless-workflow-diagram-editor/lienzo-core/pom.xml index 72db83c6a8b..ebff1fd9f9e 100644 --- a/packages/serverless-workflow-diagram-editor/lienzo-core/pom.xml +++ b/packages/serverless-workflow-diagram-editor/lienzo-core/pom.xml @@ -22,103 +22,102 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > - 4.0.0 - - org.kie.kogito.stunner.serverless.editor - serverless-workflow-diagram-editor-parent - ${revision} - + 4.0.0 + + org.kie.kogito.stunner.serverless.editor + serverless-workflow-diagram-editor-parent + ${revision} + - lienzo-core - Lienzo - Core Framework - Lienzo - Core Framework - jar + lienzo-core + Lienzo - Core Framework + Lienzo - Core Framework + jar - http://www.kiegroup.org - 2001 - - JBoss by Red Hat - http://www.jboss.org/ - - - - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - All developers are listed on the team website - http://www.drools.org/community/team.html - - + http://www.kiegroup.org + 2001 + + JBoss by Red Hat + http://www.jboss.org/ + + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + All developers are listed on the team website + http://www.drools.org/community/team.html + + - - - com.google.jsinterop - base - - - com.google.elemental2 - elemental2-core - - - com.google.elemental2 - elemental2-dom - - - com.google.elemental2 - elemental2-promise - - - org.kie.j2cl.tools.processors - annotations - - - org.kie.j2cl.tools.processors - processors - provided - - - junit - junit - test - - - org.kie.kogito.stunner.serverless.editor.third_party - gwtproject - - + + + com.google.jsinterop + base + + + com.google.elemental2 + elemental2-core + + + com.google.elemental2 + elemental2-dom + + + com.google.elemental2 + elemental2-promise + + + org.kie.j2cl.tools.processors + annotations + + + org.kie.j2cl.tools.processors + processors + provided + + + junit + junit + test + + + org.kie.kogito.stunner.serverless.editor.third_party + gwtproject + + - - - jboss-public-repository-group - JBoss Public Repository Group - https://repository.jboss.org/nexus/content/groups/public/ - - - jboss-snapshots-repository - JBoss Snapshot Repository - https://repository.jboss.org/nexus/content/repositories/snapshots/ - - - - - - - src/main/java - - - src/main/resources - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - + + + jboss-public-repository-group + JBoss Public Repository Group + https://repository.jboss.org/nexus/content/groups/public/ + + + jboss-snapshots-repository + JBoss Snapshot Repository + https://repository.jboss.org/nexus/content/repositories/snapshots/ + + + + + + src/main/java + + + src/main/resources + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + diff --git a/packages/serverless-workflow-diagram-editor/lienzo-tests/pom.xml b/packages/serverless-workflow-diagram-editor/lienzo-tests/pom.xml index dc647e1d035..5781225a138 100644 --- a/packages/serverless-workflow-diagram-editor/lienzo-tests/pom.xml +++ b/packages/serverless-workflow-diagram-editor/lienzo-tests/pom.xml @@ -23,11 +23,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > 4.0.0 - - org.kie.kogito.stunner.serverless.editor - serverless-workflow-diagram-editor-parent - ${revision} - ../pom.xml + + org.kie.kogito.stunner.serverless.editor + serverless-workflow-diagram-editor-parent + ${revision} + ../pom.xml lienzo-tests @@ -69,7 +69,6 @@ - org.kie.kogito.stunner.serverless.editor @@ -105,15 +104,14 @@ - com.google.gwt.gwtmockito - gwtmockito - + com.google.gwt.gwtmockito + gwtmockito + org.javassist javassist - @@ -141,5 +139,4 @@ - diff --git a/packages/serverless-workflow-diagram-editor/package.json b/packages/serverless-workflow-diagram-editor/package.json index 37c9200cce0..afdb0988436 100644 --- a/packages/serverless-workflow-diagram-editor/package.json +++ b/packages/serverless-workflow-diagram-editor/package.json @@ -41,4 +41,4 @@ "mvn" ] } -} \ No newline at end of file +} diff --git a/packages/serverless-workflow-diagram-editor/pom.xml b/packages/serverless-workflow-diagram-editor/pom.xml index b8cb68dcf58..91080e2cd77 100644 --- a/packages/serverless-workflow-diagram-editor/pom.xml +++ b/packages/serverless-workflow-diagram-editor/pom.xml @@ -82,7 +82,6 @@ sw-editor third_party - @@ -250,6 +249,11 @@ 2.10.0 2.35.0 2.0.1 + 7.74.1.Final + 4.7.0 + 1.0.1 + 3.4.1 + 3.5.2 @@ -968,10 +972,13 @@ javassist:javassist org.apache.cxf:cxf-bundle-jaxrs org.jboss.weld.se:weld-se - + + org.jboss.weld.servlet:weld-servlet - - org.mockito:mockito-all + + + org.mockito:mockito-all + @@ -1783,8 +1790,10 @@ *Lexer false - true - true + true + + true + @@ -1981,8 +1990,8 @@ --> + name="**/target/classes/**/org/kie/server/springboot/samples/KieServerApplication.class" + /> diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-api/pom.xml b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-api/pom.xml index 43e94d7f26a..8d338b68f00 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-api/pom.xml +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-api/pom.xml @@ -41,7 +41,6 @@ - @@ -217,7 +216,5 @@ org.kie.kogito.stunner.serverless.editor lienzo-core - - diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-client/pom.xml b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-client/pom.xml index 94c899a6911..b4eec78bad0 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-client/pom.xml +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-client/pom.xml @@ -146,7 +146,5 @@ - - diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-client/src/main/resources/org/kie/workbench/common/stunner/sw/client/resources/images/icons/transition.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-client/src/main/resources/org/kie/workbench/common/stunner/sw/client/resources/images/icons/transition.svg index c9d420eb9d6..fba253162b5 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-client/src/main/resources/org/kie/workbench/common/stunner/sw/client/resources/images/icons/transition.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-client/src/main/resources/org/kie/workbench/common/stunner/sw/client/resources/images/icons/transition.svg @@ -1,5 +1,15 @@ - - + + - + C231.1,132.9,227.3,131.3,222.8,131.3L222.8,131.3z" + /> diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/pom.xml b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/pom.xml index 8ddfdab760a..06c005fc758 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/pom.xml +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/pom.xml @@ -77,7 +77,6 @@ kie-wb-common-stunner-widgets - org.kie.kogito.stunner.serverless.editor @@ -236,7 +235,6 @@ json-unit-assertj test - @@ -297,7 +295,6 @@ - @@ -344,5 +341,4 @@ - diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/logback.xml b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/logback.xml index ef2f84b5752..0f2dddc3a6b 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/logback.xml +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/logback.xml @@ -18,7 +18,6 @@ ~ under the License. --> - @@ -32,5 +31,4 @@ - diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Bold-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Bold-webfont.svg index 3ed7be4bc5b..96d783baba7 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Bold-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Bold-webfont.svg @@ -1,1830 +1,2533 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-BoldItalic-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-BoldItalic-webfont.svg index 6a2607b9daf..e17c208d60a 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-BoldItalic-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-BoldItalic-webfont.svg @@ -1,1830 +1,2537 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-ExtraBold-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-ExtraBold-webfont.svg index 27800505a57..ada86fb3eb3 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-ExtraBold-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-ExtraBold-webfont.svg @@ -1,1830 +1,2542 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-ExtraBoldItalic-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-ExtraBoldItalic-webfont.svg index 8f080c1e5eb..06e09ee49b1 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-ExtraBoldItalic-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-ExtraBoldItalic-webfont.svg @@ -1,1830 +1,2558 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Italic-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Italic-webfont.svg index e1075dcc246..ee45055ee39 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Italic-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Italic-webfont.svg @@ -1,1830 +1,2533 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Light-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Light-webfont.svg index 11a472ca8a5..da9d5c4bb36 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Light-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Light-webfont.svg @@ -1,1831 +1,2522 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-LightItalic-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-LightItalic-webfont.svg index 431d7e35463..6c414f69fec 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-LightItalic-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-LightItalic-webfont.svg @@ -1,1835 +1,2554 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Regular-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Regular-webfont.svg index 25a3952340f..8775cc300b4 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Regular-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Regular-webfont.svg @@ -1,1831 +1,2547 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Semibold-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Semibold-webfont.svg index eec4db8bd79..6df5adb7789 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Semibold-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-Semibold-webfont.svg @@ -1,1830 +1,2534 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-SemiboldItalic-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-SemiboldItalic-webfont.svg index 7166ec1b909..708f1e943f8 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-SemiboldItalic-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/OpenSans-SemiboldItalic-webfont.svg @@ -1,1830 +1,2545 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/PatternFlyIcons-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/PatternFlyIcons-webfont.svg index b8fc87bb575..a78cb444006 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/PatternFlyIcons-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/PatternFlyIcons-webfont.svg @@ -1,8 +1,8 @@ - - + + - - + + { "fontFamily": "PatternFlyIcons-webfont", @@ -22,72 +22,398 @@ } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/fontawesome-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/fontawesome-webfont.svg index 8b66187fe06..4b8cb54259c 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/fontawesome-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/fontawesome-webfont.svg @@ -1,685 +1,3022 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/glyphicons-halflings-regular.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/glyphicons-halflings-regular.svg index 9e9afc9ade5..d4c5c4cbb6c 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/glyphicons-halflings-regular.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/fonts/glyphicons-halflings-regular.svg @@ -1,7 +1,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/index.html b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/index.html index 123eceda6cc..bbc9a92b21b 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/index.html +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/resources/org/kie/workbench/common/stunner/sw/resources/public/index.html @@ -1,4 +1,4 @@ - + - + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/WEB-INF/web.xml b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/WEB-INF/web.xml index 0dbc9154c5f..2fb7c850342 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/WEB-INF/web.xml +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/WEB-INF/web.xml @@ -23,9 +23,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > - test.html - diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Bold-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Bold-webfont.svg index 3ed7be4bc5b..96d783baba7 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Bold-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Bold-webfont.svg @@ -1,1830 +1,2533 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-BoldItalic-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-BoldItalic-webfont.svg index 1b0dfb1d3d5..ec0ed5a591c 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-BoldItalic-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-BoldItalic-webfont.svg @@ -1,7 +1,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-ExtraBold-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-ExtraBold-webfont.svg index eb8baff72a5..e476bd7bb7b 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-ExtraBold-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-ExtraBold-webfont.svg @@ -1,7 +1,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-ExtraBoldItalic-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-ExtraBoldItalic-webfont.svg index 8d029795f1b..0150c1dfac8 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-ExtraBoldItalic-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-ExtraBoldItalic-webfont.svg @@ -1,7 +1,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Italic-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Italic-webfont.svg index ac5e7c5e151..2ff579a2cd1 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Italic-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Italic-webfont.svg @@ -1,7 +1,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Light-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Light-webfont.svg index 64292a5fed3..9a3da4a46ba 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Light-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Light-webfont.svg @@ -1,7 +1,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-LightItalic-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-LightItalic-webfont.svg index d4c137542dd..2d4d2df9b05 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-LightItalic-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-LightItalic-webfont.svg @@ -1,7 +1,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Regular-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Regular-webfont.svg index 25a3952340f..8775cc300b4 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Regular-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Regular-webfont.svg @@ -1,1831 +1,2547 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Semibold-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Semibold-webfont.svg index eec4db8bd79..6df5adb7789 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Semibold-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-Semibold-webfont.svg @@ -1,1830 +1,2534 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-SemiboldItalic-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-SemiboldItalic-webfont.svg index c552bb72a95..34538707220 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-SemiboldItalic-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/OpenSans-SemiboldItalic-webfont.svg @@ -1,7 +1,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/PatternFlyIcons-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/PatternFlyIcons-webfont.svg index 4237fb7d210..de4cc9ba609 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/PatternFlyIcons-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/PatternFlyIcons-webfont.svg @@ -1,7 +1,7 @@ - + - - - + + { "fontFamily": "PatternFlyIcons-webfont", @@ -40,74 +40,398 @@ } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/fontawesome-webfont.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/fontawesome-webfont.svg index 17f12939e6b..1a2d17f1928 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/fontawesome-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/fontawesome-webfont.svg @@ -1,7 +1,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/glyphicons-halflings-regular.svg b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/glyphicons-halflings-regular.svg index 9e9afc9ade5..d4c5c4cbb6c 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/glyphicons-halflings-regular.svg +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/fonts/glyphicons-halflings-regular.svg @@ -1,7 +1,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/index.html b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/index.html index 123eceda6cc..bbc9a92b21b 100644 --- a/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/index.html +++ b/packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/webapp/index.html @@ -1,4 +1,4 @@ - + - + diff --git a/packages/serverless-workflow-diagram-editor/third_party/errai/pom.xml b/packages/serverless-workflow-diagram-editor/third_party/errai/pom.xml index 260bba3a895..ff76aef51f5 100644 --- a/packages/serverless-workflow-diagram-editor/third_party/errai/pom.xml +++ b/packages/serverless-workflow-diagram-editor/third_party/errai/pom.xml @@ -22,36 +22,36 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > - 4.0.0 - - third_party - org.kie.kogito.stunner.serverless.editor.third_party - ${revision} - + 4.0.0 + + third_party + org.kie.kogito.stunner.serverless.editor.third_party + ${revision} + - errai + errai - Ported errai classes - Ported errai classes + Ported errai classes + Ported errai classes - - - org.kie.kogito.stunner.serverless.editor.third_party - gwtproject - - + + + org.kie.kogito.stunner.serverless.editor.third_party + gwtproject + + - - - - src/main/java - - **/*.* - - - - src/main/resources - - - + + + + src/main/java + + **/*.* + + + + src/main/resources + + + diff --git a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/pom.xml b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/pom.xml index 7aa7a59b6d8..990a4b4fd5a 100644 --- a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/pom.xml +++ b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/pom.xml @@ -22,63 +22,62 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > - 4.0.0 - - org.kie.kogito.stunner.serverless.editor.third_party.gwtbootstrap3 - parent - ${revision} - + 4.0.0 + + org.kie.kogito.stunner.serverless.editor.third_party.gwtbootstrap3 + parent + ${revision} + - gwtbootstrap3 - jar + gwtbootstrap3 + jar - GWTBootstrap3 core - GWTBootstrap3 core + GWTBootstrap3 core + GWTBootstrap3 core - - - com.google.elemental2 - elemental2-dom - - - com.google.jsinterop - base - - - org.kie.kogito.stunner.serverless.editor.third_party - gwtproject - - - org.kie.j2cl.tools.di.ui - core - - - org.kie.j2cl.tools.processors - common - - - org.kie.j2cl.tools.processors - annotations - - - org.kie.j2cl.tools.processors - processors - provided - - - - - - - src/main/java - - **/*.* - - - - src/main/resources - - - + + + com.google.elemental2 + elemental2-dom + + + com.google.jsinterop + base + + + org.kie.kogito.stunner.serverless.editor.third_party + gwtproject + + + org.kie.j2cl.tools.di.ui + core + + + org.kie.j2cl.tools.processors + common + + + org.kie.j2cl.tools.processors + annotations + + + org.kie.j2cl.tools.processors + processors + provided + + + + + + src/main/java + + **/*.* + + + + src/main/resources + + + diff --git a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/css/bootstrap-3.4.1.min.cache.css b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/css/bootstrap-3.4.1.min.cache.css index 7a7adf86d81..c135db1f74e 100644 --- a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/css/bootstrap-3.4.1.min.cache.css +++ b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/css/bootstrap-3.4.1.min.cache.css @@ -264,7 +264,8 @@ th { @font-face { font-family: "Glyphicons Halflings"; src: url(../fonts/glyphicons-halflings-regular.eot); - src: url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"), + src: + url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"), url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"), url(../fonts/glyphicons-halflings-regular.woff) format("woff"), url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"), @@ -2671,18 +2672,35 @@ output { border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; - -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; - -webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s; - transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s; - transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; - transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s; + -webkit-transition: + border-color ease-in-out 0.15s, + box-shadow ease-in-out 0.15s; + -o-transition: + border-color ease-in-out 0.15s, + box-shadow ease-in-out 0.15s; + -webkit-transition: + border-color ease-in-out 0.15s, + -webkit-box-shadow ease-in-out 0.15s; + transition: + border-color ease-in-out 0.15s, + -webkit-box-shadow ease-in-out 0.15s; + transition: + border-color ease-in-out 0.15s, + box-shadow ease-in-out 0.15s; + transition: + border-color ease-in-out 0.15s, + box-shadow ease-in-out 0.15s, + -webkit-box-shadow ease-in-out 0.15s; } .form-control:focus { border-color: #66afe9; outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); + -webkit-box-shadow: + inset 0 1px 1px rgba(0, 0, 0, 0.075), + 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: + inset 0 1px 1px rgba(0, 0, 0, 0.075), + 0 0 8px rgba(102, 175, 233, 0.6); } .form-control::-moz-placeholder { color: #999; @@ -2932,8 +2950,12 @@ textarea.input-lg { } .has-success .form-control:focus { border-color: #2b542c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + -webkit-box-shadow: + inset 0 1px 1px rgba(0, 0, 0, 0.075), + 0 0 6px #67b168; + box-shadow: + inset 0 1px 1px rgba(0, 0, 0, 0.075), + 0 0 6px #67b168; } .has-success .input-group-addon { color: #3c763d; @@ -2962,8 +2984,12 @@ textarea.input-lg { } .has-warning .form-control:focus { border-color: #66512c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + -webkit-box-shadow: + inset 0 1px 1px rgba(0, 0, 0, 0.075), + 0 0 6px #c0a16b; + box-shadow: + inset 0 1px 1px rgba(0, 0, 0, 0.075), + 0 0 6px #c0a16b; } .has-warning .input-group-addon { color: #8a6d3b; @@ -2992,8 +3018,12 @@ textarea.input-lg { } .has-error .form-control:focus { border-color: #843534; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + -webkit-box-shadow: + inset 0 1px 1px rgba(0, 0, 0, 0.075), + 0 0 6px #ce8483; + box-shadow: + inset 0 1px 1px rgba(0, 0, 0, 0.075), + 0 0 6px #ce8483; } .has-error .input-group-addon { color: #a94442; @@ -4448,8 +4478,12 @@ textarea.input-group-sm > .input-group-btn > .btn { margin-left: -15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-box-shadow: + inset 0 1px 0 rgba(255, 255, 255, 0.1), + 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: + inset 0 1px 0 rgba(255, 255, 255, 0.1), + 0 1px 0 rgba(255, 255, 255, 0.1); margin-top: 8px; margin-bottom: 8px; } @@ -6102,7 +6136,10 @@ button.close { -o-transition: -o-transform 0.3s ease-out; transition: -webkit-transform 0.3s ease-out; transition: transform 0.3s ease-out; - transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out; + transition: + transform 0.3s ease-out, + -webkit-transform 0.3s ease-out, + -o-transform 0.3s ease-out; } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); @@ -6472,7 +6509,10 @@ button.close { -o-transition: -o-transform 0.6s ease-in-out; transition: -webkit-transform 0.6s ease-in-out; transition: transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out; + transition: + transform 0.6s ease-in-out, + -webkit-transform 0.6s ease-in-out, + -o-transform 0.6s ease-in-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000px; diff --git a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/css/bootstrap-theme-3.4.1.min.cache.css b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/css/bootstrap-theme-3.4.1.min.cache.css index c9a8b15004b..45c84ac9716 100644 --- a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/css/bootstrap-theme-3.4.1.min.cache.css +++ b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/css/bootstrap-theme-3.4.1.min.cache.css @@ -10,8 +10,12 @@ .btn-success, .btn-warning { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-box-shadow: + inset 0 1px 0 rgba(255, 255, 255, 0.15), + 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: + inset 0 1px 0 rgba(255, 255, 255, 0.15), + 0 1px 1px rgba(0, 0, 0, 0.075); } .btn-danger.active, .btn-danger:active, @@ -344,8 +348,12 @@ fieldset[disabled] .btn-danger:hover { background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); border-radius: 4px; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); + -webkit-box-shadow: + inset 0 1px 0 rgba(255, 255, 255, 0.15), + 0 1px 5px rgba(0, 0, 0, 0.075); + box-shadow: + inset 0 1px 0 rgba(255, 255, 255, 0.15), + 0 1px 5px rgba(0, 0, 0, 0.075); } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .open > a { @@ -407,8 +415,12 @@ fieldset[disabled] .btn-danger:hover { } .alert { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); + -webkit-box-shadow: + inset 0 1px 0 rgba(255, 255, 255, 0.25), + 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: + inset 0 1px 0 rgba(255, 255, 255, 0.25), + 0 1px 2px rgba(0, 0, 0, 0.05); } .alert-success { background-image: -webkit-linear-gradient(top, #dff0d8 0, #c8e5bc 100%); @@ -608,7 +620,11 @@ fieldset[disabled] .btn-danger:hover { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); background-repeat: repeat-x; border-color: #dcdcdc; - -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); - box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-box-shadow: + inset 0 1px 3px rgba(0, 0, 0, 0.05), + 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: + inset 0 1px 3px rgba(0, 0, 0, 0.05), + 0 1px 0 rgba(255, 255, 255, 0.1); } /*# sourceMappingURL=bootstrap-theme.min.css.map */ diff --git a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/css/font-awesome-4.7.0.min.cache.css b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/css/font-awesome-4.7.0.min.cache.css index be432351b3a..1ba3dc3d45a 100644 --- a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/css/font-awesome-4.7.0.min.cache.css +++ b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/css/font-awesome-4.7.0.min.cache.css @@ -5,7 +5,8 @@ @font-face { font-family: "FontAwesome"; src: url("../fonts/fontawesome-webfont.eot?v=4.7.0"); - src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), + src: + url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), diff --git a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/fonts/fontawesome-webfont.svg b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/fonts/fontawesome-webfont.svg index 855c845e538..e6e92993d57 100644 --- a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/fonts/fontawesome-webfont.svg +++ b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/fonts/fontawesome-webfont.svg @@ -1,601 +1,1185 @@ - - + + - + Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 By ,,, Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - + + - + - - - + + + - + - - - + + + - + - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - - - + + + - - - - - + + + + + - - - - + + + + - + - - + + - + - - - - - + + + + + - + - + - - - - - - - + + + + + + + - + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - + + + - - - + + + - + - - - - - + + + + + - - - - - - - + + + + + + + - - + + - + - + - + - + - + - - + + - - - - - - + + + + + + - + - - + + - + - - - + + + - - - + + + - - - + + + - + - - + + - + - + - + - + - + - - - - - + + + + + - - - - - + + + + + - + - + - - - + + + - - + + - - - - + + + + - + - + - + - + - - + + - + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - + - + - - + + - + - - + + - - - - + + + + - + - - - - - + + + + + - + - + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - + - + - + - + - + - + - - - - - - - + + + + + + + - + - - - - + + + + - + - - + + - - + + - - - + + + - - - - - - - - - + + + + + + + + + - - + + - - - + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - - - + + + + - + - - - + + + - + - + - + - + - + - + - + - + - + - - - + + + - - - + + + - - - + + + - + - - - - - - - - - + + + + + + + + + - + - + - + - + - - - - - + + + + + - - - + + + - + - + - - + + - - - - - - - - - - + + + + + + + + + + - + - + - + - - - - - - + + + + + + - + - + - - - - + + + + - + - + - + - + - + - + - - + + - - - + + + - + - + - + - + - + - + - + - - + + - - + + - + - + - + - + - - - + + + - + - - + + - - - + + + - + - - + + - + - + - + - - + + - + - + - - - + + + - - + + - - - - - + + + + + - - + + - - - + + + - - + + - - + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - - - + + + - - - - + + + + - + - + - - + + - + - + - + - + - - + + - - + + - - - + + + - + - + - - + + - + - + - - + + - + - + - + - + - - - + + + - + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - - + + - + - - - - - - - + + + + + + + - + - + - - - - - - - - - - - - + + + + + + + + + + + + - + - - + + - + - - - + + + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - - + + - + - - + + - + - + - - + + - + - + - + - + - + - + - - - - - - + + + + + + - + - - - - + + + + - + - - - + + + - - + + - + - - + + - + - - - - - - + + + + + + - + - - - + + + - - - - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - - + + + - + - + - + - + - + - + - + - - - + + + - + - + - + - + - + - - + + - + - + - + - - + + - + - + - - - - - - - + + + + + + + - + - + - + - + - + - + - - + + - + - - - - - - - - - - - - - - - - - +q14 3 26.5 -5t15.5 -23zM1691 1033q15 -22 10.5 -49t-26.5 -43q-22 -15 -49 -10t-42 27t-10 49t27 43t48.5 11t41.5 -28z" + /> + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/fonts/glyphicons-halflings-regular.svg b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/fonts/glyphicons-halflings-regular.svg index 9e9afc9ade5..d4c5c4cbb6c 100644 --- a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/fonts/glyphicons-halflings-regular.svg +++ b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/fonts/glyphicons-halflings-regular.svg @@ -1,7 +1,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/extras/pom.xml b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/extras/pom.xml index 1156deac6c0..7ce9da8ba8d 100644 --- a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/extras/pom.xml +++ b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/extras/pom.xml @@ -22,59 +22,58 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > - 4.0.0 - - org.kie.kogito.stunner.serverless.editor.third_party.gwtbootstrap3 - parent - ${revision} - + 4.0.0 + + org.kie.kogito.stunner.serverless.editor.third_party.gwtbootstrap3 + parent + ${revision} + - extras - jar + extras + jar - GWTBootstrap3 extras - GWTBootstrap3 extras + GWTBootstrap3 extras + GWTBootstrap3 extras - - - org.kie.kogito.stunner.serverless.editor.third_party.gwtbootstrap3 - gwtbootstrap3 - - - com.google.elemental2 - elemental2-dom - - - com.google.jsinterop - base - - - org.kie.kogito.stunner.serverless.editor.third_party - gwtproject - - - org.kie.j2cl.tools.di.ui - core - - - org.kie.j2cl.tools.processors - processors - provided - - - - - - - src/main/java - - **/*.* - - - - src/main/resources - - - + + + org.kie.kogito.stunner.serverless.editor.third_party.gwtbootstrap3 + gwtbootstrap3 + + + com.google.elemental2 + elemental2-dom + + + com.google.jsinterop + base + + + org.kie.kogito.stunner.serverless.editor.third_party + gwtproject + + + org.kie.j2cl.tools.di.ui + core + + + org.kie.j2cl.tools.processors + processors + provided + + + + + + src/main/java + + **/*.* + + + + src/main/resources + + + diff --git a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/pom.xml b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/pom.xml index 2550ebe0f9c..febf107ce9a 100644 --- a/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/pom.xml +++ b/packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/pom.xml @@ -22,22 +22,21 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > - 4.0.0 - - third_party - org.kie.kogito.stunner.serverless.editor.third_party - ${revision} - + 4.0.0 + + third_party + org.kie.kogito.stunner.serverless.editor.third_party + ${revision} + - org.kie.kogito.stunner.serverless.editor.third_party.gwtbootstrap3 - parent - pom - - GWTBootstrap3 parent - GWTBootstrap3 parent - - core - extras - + org.kie.kogito.stunner.serverless.editor.third_party.gwtbootstrap3 + parent + pom + GWTBootstrap3 parent + GWTBootstrap3 parent + + core + extras + diff --git a/packages/serverless-workflow-diagram-editor/third_party/gwtproject/pom.xml b/packages/serverless-workflow-diagram-editor/third_party/gwtproject/pom.xml index 5e3fe15d166..517ee7af298 100644 --- a/packages/serverless-workflow-diagram-editor/third_party/gwtproject/pom.xml +++ b/packages/serverless-workflow-diagram-editor/third_party/gwtproject/pom.xml @@ -22,45 +22,45 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > - 4.0.0 - - third_party - org.kie.kogito.stunner.serverless.editor.third_party - ${revision} - + 4.0.0 + + third_party + org.kie.kogito.stunner.serverless.editor.third_party + ${revision} + - gwtproject + gwtproject - Ported gwt modules - Ported gwt modules + Ported gwt modules + Ported gwt modules - - - com.google.elemental2 - elemental2-dom - - - com.google.jsinterop - base - - - junit - junit - test - - + + + com.google.elemental2 + elemental2-dom + + + com.google.jsinterop + base + + + junit + junit + test + + - - - - src/main/java - - **/*.* - - - - src/main/resources - - - + + + + src/main/java + + **/*.* + + + + src/main/resources + + + diff --git a/packages/serverless-workflow-diagram-editor/third_party/pom.xml b/packages/serverless-workflow-diagram-editor/third_party/pom.xml index 99c9ff702ef..23f328ff193 100644 --- a/packages/serverless-workflow-diagram-editor/third_party/pom.xml +++ b/packages/serverless-workflow-diagram-editor/third_party/pom.xml @@ -22,20 +22,20 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > - - serverless-workflow-diagram-editor-parent - org.kie.kogito.stunner.serverless.editor - ${revision} - - 4.0.0 - pom + + serverless-workflow-diagram-editor-parent + org.kie.kogito.stunner.serverless.editor + ${revision} + + 4.0.0 + pom - third_party - org.kie.kogito.stunner.serverless.editor.third_party + third_party + org.kie.kogito.stunner.serverless.editor.third_party - - gwtbootstrap3 - gwtproject - errai - + + gwtbootstrap3 + gwtproject + errai + diff --git a/packages/serverless-workflow-diagram-editor/uberfire-api/pom.xml b/packages/serverless-workflow-diagram-editor/uberfire-api/pom.xml index ada47f2e089..813b7964d4e 100644 --- a/packages/serverless-workflow-diagram-editor/uberfire-api/pom.xml +++ b/packages/serverless-workflow-diagram-editor/uberfire-api/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.serverless.editor @@ -52,5 +51,4 @@ test - diff --git a/packages/serverless-workflow-diagram-editor/uberfire-client-api/pom.xml b/packages/serverless-workflow-diagram-editor/uberfire-client-api/pom.xml index d499b77b122..0e032c65cd6 100644 --- a/packages/serverless-workflow-diagram-editor/uberfire-client-api/pom.xml +++ b/packages/serverless-workflow-diagram-editor/uberfire-client-api/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.serverless.editor @@ -38,7 +37,6 @@ UberFire Client API - org.kie.kogito.stunner.serverless.editor uberfire-api @@ -69,7 +67,5 @@ processors provided - - diff --git a/packages/serverless-workflow-diagram-editor/uberfire-extensions/pom.xml b/packages/serverless-workflow-diagram-editor/uberfire-extensions/pom.xml index 44d2279cb0e..0c5f8851d2a 100644 --- a/packages/serverless-workflow-diagram-editor/uberfire-extensions/pom.xml +++ b/packages/serverless-workflow-diagram-editor/uberfire-extensions/pom.xml @@ -39,5 +39,4 @@ uberfire-commons-editor - diff --git a/packages/serverless-workflow-diagram-editor/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/pom.xml b/packages/serverless-workflow-diagram-editor/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/pom.xml index 5de1fb7f803..5713ecc46d9 100644 --- a/packages/serverless-workflow-diagram-editor/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/pom.xml +++ b/packages/serverless-workflow-diagram-editor/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/pom.xml @@ -40,5 +40,4 @@ uberfire-api - diff --git a/packages/serverless-workflow-diagram-editor/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/src/main/resources/META-INF/beans.xml b/packages/serverless-workflow-diagram-editor/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/src/main/resources/META-INF/beans.xml index aae671e6cb7..0e7bbc028e9 100644 --- a/packages/serverless-workflow-diagram-editor/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/src/main/resources/META-INF/beans.xml +++ b/packages/serverless-workflow-diagram-editor/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/src/main/resources/META-INF/beans.xml @@ -21,6 +21,4 @@ xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd" -> - - +/> diff --git a/packages/serverless-workflow-diagram-editor/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-client/pom.xml b/packages/serverless-workflow-diagram-editor/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-client/pom.xml index 1c1f81b077e..c38dd649fe7 100644 --- a/packages/serverless-workflow-diagram-editor/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-client/pom.xml +++ b/packages/serverless-workflow-diagram-editor/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-client/pom.xml @@ -113,8 +113,6 @@ powermock-module-junit4 test - - @@ -130,5 +128,4 @@ - diff --git a/packages/serverless-workflow-diagram-editor/uberfire-workbench/pom.xml b/packages/serverless-workflow-diagram-editor/uberfire-workbench/pom.xml index ec630b5a526..72245e3f3eb 100644 --- a/packages/serverless-workflow-diagram-editor/uberfire-workbench/pom.xml +++ b/packages/serverless-workflow-diagram-editor/uberfire-workbench/pom.xml @@ -38,5 +38,4 @@ uberfire-workbench-client - diff --git a/packages/serverless-workflow-diagram-editor/uberfire-workbench/uberfire-workbench-client/pom.xml b/packages/serverless-workflow-diagram-editor/uberfire-workbench/uberfire-workbench-client/pom.xml index 7b0e1b81462..968680e3515 100644 --- a/packages/serverless-workflow-diagram-editor/uberfire-workbench/uberfire-workbench-client/pom.xml +++ b/packages/serverless-workflow-diagram-editor/uberfire-workbench/uberfire-workbench-client/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.serverless.editor @@ -87,5 +86,4 @@ test - diff --git a/packages/serverless-workflow-diagram-editor/uberfire-workbench/uberfire-workbench-client/src/test/resources/logback-test.xml b/packages/serverless-workflow-diagram-editor/uberfire-workbench/uberfire-workbench-client/src/test/resources/logback-test.xml index 112037db054..f7c0ab6cfba 100644 --- a/packages/serverless-workflow-diagram-editor/uberfire-workbench/uberfire-workbench-client/src/test/resources/logback-test.xml +++ b/packages/serverless-workflow-diagram-editor/uberfire-workbench/uberfire-workbench-client/src/test/resources/logback-test.xml @@ -18,7 +18,6 @@ ~ under the License. --> - @@ -32,5 +31,4 @@ - diff --git a/packages/serverless-workflow-jq-expressions/jest.config.js b/packages/serverless-workflow-jq-expressions/jest.config.js index 5927d9bb888..060be79621a 100644 --- a/packages/serverless-workflow-jq-expressions/jest.config.js +++ b/packages/serverless-workflow-jq-expressions/jest.config.js @@ -17,21 +17,10 @@ * under the License. */ +const { config } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, + ...config, + testEnvironment: "node", }; diff --git a/packages/serverless-workflow-jq-expressions/package.json b/packages/serverless-workflow-jq-expressions/package.json index 33116076d9d..5db8766dc0d 100644 --- a/packages/serverless-workflow-jq-expressions/package.json +++ b/packages/serverless-workflow-jq-expressions/package.json @@ -31,15 +31,16 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", + "jest": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/serverless-workflow-language-service/jest.config.js b/packages/serverless-workflow-language-service/jest.config.js index 5927d9bb888..fe147a97616 100644 --- a/packages/serverless-workflow-language-service/jest.config.js +++ b/packages/serverless-workflow-language-service/jest.config.js @@ -35,3 +35,14 @@ module.exports = { "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", }, }; + +const { config, babelTransform } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + ...config, + testEnvironment: "node", + transform: { + ...babelTransform, + }, +}; diff --git a/packages/serverless-workflow-language-service/package.json b/packages/serverless-workflow-language-service/package.json index d16cee03ee9..b9b9351e694 100644 --- a/packages/serverless-workflow-language-service/package.json +++ b/packages/serverless-workflow-language-service/package.json @@ -45,17 +45,18 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/json-to-ast": "^2.1.2", "@types/path-browserify": "^1.0.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/serverless-workflow-language-service/tests/SwfJsonOffsets.test.ts b/packages/serverless-workflow-language-service/tests/SwfJsonOffsets.test.ts index e73898719a2..e216fa94706 100644 --- a/packages/serverless-workflow-language-service/tests/SwfJsonOffsets.test.ts +++ b/packages/serverless-workflow-language-service/tests/SwfJsonOffsets.test.ts @@ -100,7 +100,7 @@ describe("SwfJsonOffsets tests", () => { expect(getJsonStateNameFromOffset({ content, offset: 999999 })).toBeUndefined(); expect(() => { getJsonStateNameFromOffset({ content, offset: 100 }); - }).not.toThrowError(); + }).not.toThrow(); expect(getJsonStateNameFromOffset({ content, offset: 100 })).toBeUndefined(); }); diff --git a/packages/serverless-workflow-language-service/tests/SwfYamlOffsets.test.ts b/packages/serverless-workflow-language-service/tests/SwfYamlOffsets.test.ts index f0a21a1231e..0465638b2f3 100644 --- a/packages/serverless-workflow-language-service/tests/SwfYamlOffsets.test.ts +++ b/packages/serverless-workflow-language-service/tests/SwfYamlOffsets.test.ts @@ -104,7 +104,7 @@ describe("SwfYamlOffsets tests", () => { expect(getYamlStateNameFromOffset({ content, offset: 999999 })).toBeUndefined(); expect(() => { getYamlStateNameFromOffset({ content, offset: 100 }); - }).not.toThrowError(); + }).not.toThrow(); expect(getYamlStateNameFromOffset({ content, offset: 100 })).toBeUndefined(); }); diff --git a/packages/serverless-workflow-language-service/tests/__snapshots__/SwfJsonLanguageService.test.ts.snap b/packages/serverless-workflow-language-service/tests/__snapshots__/SwfJsonLanguageService.test.ts.snap index 2968d3ac407..23bdd0030a6 100644 --- a/packages/serverless-workflow-language-service/tests/__snapshots__/SwfJsonLanguageService.test.ts.snap +++ b/packages/serverless-workflow-language-service/tests/__snapshots__/SwfJsonLanguageService.test.ts.snap @@ -3,8 +3,8 @@ exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -12,21 +12,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 35, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -34,14 +34,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 35, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, @@ -54,8 +54,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -63,21 +63,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -85,21 +85,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -107,21 +107,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -129,21 +129,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -151,14 +151,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, @@ -171,8 +171,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -180,21 +180,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 33, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -202,21 +202,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 33, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -224,21 +224,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 33, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -246,14 +246,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 33, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, @@ -266,8 +266,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -275,21 +275,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -297,21 +297,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -319,21 +319,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -341,21 +341,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -363,14 +363,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, @@ -383,8 +383,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -392,21 +392,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -414,21 +414,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -436,21 +436,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -458,21 +458,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -480,14 +480,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, @@ -500,8 +500,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -509,21 +509,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -531,21 +531,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -553,21 +553,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -575,21 +575,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -597,14 +597,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, @@ -617,8 +617,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -626,21 +626,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -648,14 +648,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, @@ -667,21 +667,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -689,21 +689,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 44, "line": 25, }, - "start": Object { + "start": { "character": 44, "line": 25, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -711,14 +711,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 44, "line": 25, }, - "start": Object { + "start": { "character": 44, "line": 25, }, @@ -730,17 +730,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -748,21 +748,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -770,21 +770,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -792,21 +792,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -814,21 +814,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -836,14 +836,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, @@ -856,8 +856,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -865,21 +865,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 36, "line": 25, }, - "start": Object { + "start": { "character": 36, "line": 25, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -887,14 +887,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 36, "line": 25, }, - "start": Object { + "start": { "character": 36, "line": 25, }, @@ -907,8 +907,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions built-in functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -916,21 +916,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 35, "line": 25, }, - "start": Object { + "start": { "character": 35, "line": 25, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -938,14 +938,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 35, "line": 25, }, - "start": Object { + "start": { "character": 35, "line": 25, }, @@ -958,8 +958,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -967,21 +967,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 35, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -989,14 +989,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 35, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, @@ -1009,8 +1009,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -1018,21 +1018,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -1040,21 +1040,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -1062,21 +1062,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -1084,21 +1084,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -1106,14 +1106,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, @@ -1126,8 +1126,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -1135,21 +1135,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 33, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -1157,21 +1157,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 33, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -1179,21 +1179,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 33, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -1201,14 +1201,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 33, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, @@ -1221,8 +1221,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -1230,21 +1230,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -1252,21 +1252,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -1274,21 +1274,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -1296,21 +1296,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -1318,14 +1318,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, @@ -1338,8 +1338,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -1347,21 +1347,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -1369,21 +1369,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -1391,21 +1391,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -1413,21 +1413,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -1435,14 +1435,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, @@ -1455,8 +1455,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -1464,21 +1464,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -1486,21 +1486,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -1508,21 +1508,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -1530,21 +1530,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -1552,14 +1552,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, @@ -1572,8 +1572,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -1581,21 +1581,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -1603,14 +1603,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, @@ -1622,21 +1622,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -1644,21 +1644,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 44, "line": 25, }, - "start": Object { + "start": { "character": 44, "line": 25, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -1666,14 +1666,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 44, "line": 25, }, - "start": Object { + "start": { "character": 44, "line": 25, }, @@ -1685,17 +1685,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -1703,21 +1703,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -1725,21 +1725,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -1747,21 +1747,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -1769,21 +1769,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -1791,14 +1791,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, @@ -1811,8 +1811,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -1820,21 +1820,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 36, "line": 25, }, - "start": Object { + "start": { "character": 36, "line": 25, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -1842,14 +1842,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 36, "line": 25, }, - "start": Object { + "start": { "character": 36, "line": 25, }, @@ -1862,8 +1862,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions reusable functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -1871,21 +1871,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 35, "line": 25, }, - "start": Object { + "start": { "character": 35, "line": 25, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -1893,14 +1893,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 35, "line": 25, }, - "start": Object { + "start": { "character": 35, "line": 25, }, @@ -1913,8 +1913,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -1922,21 +1922,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 35, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -1944,14 +1944,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 35, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, @@ -1964,8 +1964,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -1973,21 +1973,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -1995,21 +1995,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -2017,21 +2017,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -2039,21 +2039,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -2061,14 +2061,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 42, "line": 25, }, - "start": Object { + "start": { "character": 42, "line": 25, }, @@ -2081,8 +2081,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -2090,21 +2090,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 33, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -2112,21 +2112,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 33, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -2134,21 +2134,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 33, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -2156,14 +2156,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 33, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, @@ -2176,8 +2176,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -2185,21 +2185,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -2207,21 +2207,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -2229,21 +2229,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -2251,21 +2251,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -2273,14 +2273,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, @@ -2293,8 +2293,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -2302,21 +2302,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -2324,21 +2324,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -2346,21 +2346,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -2368,21 +2368,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -2390,14 +2390,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, @@ -2410,8 +2410,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -2419,21 +2419,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -2441,21 +2441,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -2463,21 +2463,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -2485,21 +2485,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -2507,14 +2507,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 34, "line": 25, }, @@ -2527,8 +2527,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -2536,21 +2536,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -2558,14 +2558,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 34, "line": 25, }, - "start": Object { + "start": { "character": 33, "line": 25, }, @@ -2577,21 +2577,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions variables completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions variables completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions variables completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions variables completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions variables completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions variables completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions variables completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -2599,21 +2599,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 44, "line": 25, }, - "start": Object { + "start": { "character": 44, "line": 25, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -2621,14 +2621,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 44, "line": 25, }, - "start": Object { + "start": { "character": 44, "line": 25, }, @@ -2640,17 +2640,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions variables completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions variables completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions variables completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data condition completions variables completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data condition completions variables completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -2658,21 +2658,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -2680,21 +2680,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -2702,21 +2702,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -2724,21 +2724,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -2746,14 +2746,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 32, "line": 25, }, - "start": Object { + "start": { "character": 32, "line": 25, }, @@ -2766,8 +2766,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions variables completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -2775,21 +2775,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 36, "line": 25, }, - "start": Object { + "start": { "character": 36, "line": 25, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -2797,14 +2797,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 36, "line": 25, }, - "start": Object { + "start": { "character": 36, "line": 25, }, @@ -2817,8 +2817,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data condition completions variables completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data condition completions variables completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -2826,21 +2826,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 35, "line": 25, }, - "start": Object { + "start": { "character": 35, "line": 25, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -2848,14 +2848,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 35, "line": 25, }, - "start": Object { + "start": { "character": 35, "line": 25, }, @@ -2868,8 +2868,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -2877,21 +2877,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 39, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -2899,14 +2899,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 39, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, @@ -2919,8 +2919,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -2928,21 +2928,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -2950,21 +2950,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -2972,21 +2972,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -2994,21 +2994,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -3016,14 +3016,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, @@ -3036,8 +3036,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -3045,21 +3045,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 37, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -3067,21 +3067,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 37, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -3089,21 +3089,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 37, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -3111,14 +3111,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 37, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, @@ -3131,8 +3131,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -3140,21 +3140,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -3162,21 +3162,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -3184,21 +3184,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -3206,21 +3206,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -3228,14 +3228,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, @@ -3248,8 +3248,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -3257,21 +3257,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -3279,21 +3279,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -3301,21 +3301,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -3323,21 +3323,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -3345,14 +3345,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, @@ -3365,8 +3365,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -3374,21 +3374,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -3396,21 +3396,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -3418,21 +3418,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -3440,21 +3440,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -3462,14 +3462,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, @@ -3482,8 +3482,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -3491,21 +3491,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -3513,14 +3513,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, @@ -3532,21 +3532,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -3554,21 +3554,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 48, "line": 30, }, - "start": Object { + "start": { "character": 48, "line": 30, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -3576,14 +3576,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 48, "line": 30, }, - "start": Object { + "start": { "character": 48, "line": 30, }, @@ -3595,17 +3595,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -3613,21 +3613,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -3635,21 +3635,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -3657,21 +3657,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -3679,21 +3679,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -3701,14 +3701,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, @@ -3721,8 +3721,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -3730,21 +3730,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 40, "line": 30, }, - "start": Object { + "start": { "character": 40, "line": 30, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -3752,14 +3752,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 40, "line": 30, }, - "start": Object { + "start": { "character": 40, "line": 30, }, @@ -3772,8 +3772,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions built-in functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -3781,21 +3781,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 39, "line": 30, }, - "start": Object { + "start": { "character": 39, "line": 30, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -3803,14 +3803,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 39, "line": 30, }, - "start": Object { + "start": { "character": 39, "line": 30, }, @@ -3823,8 +3823,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -3832,21 +3832,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 39, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -3854,14 +3854,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 39, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, @@ -3874,8 +3874,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -3883,21 +3883,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -3905,21 +3905,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -3927,21 +3927,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -3949,21 +3949,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -3971,14 +3971,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, @@ -3991,8 +3991,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -4000,21 +4000,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 37, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -4022,21 +4022,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 37, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -4044,21 +4044,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 37, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -4066,14 +4066,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 37, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, @@ -4086,8 +4086,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -4095,21 +4095,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -4117,21 +4117,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -4139,21 +4139,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -4161,21 +4161,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -4183,14 +4183,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, @@ -4203,8 +4203,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -4212,21 +4212,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -4234,21 +4234,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -4256,21 +4256,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -4278,21 +4278,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -4300,14 +4300,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, @@ -4320,8 +4320,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -4329,21 +4329,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -4351,21 +4351,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -4373,21 +4373,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -4395,21 +4395,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -4417,14 +4417,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, @@ -4437,8 +4437,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -4446,21 +4446,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -4468,14 +4468,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, @@ -4487,21 +4487,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -4509,21 +4509,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 48, "line": 30, }, - "start": Object { + "start": { "character": 48, "line": 30, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -4531,14 +4531,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 48, "line": 30, }, - "start": Object { + "start": { "character": 48, "line": 30, }, @@ -4550,17 +4550,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -4568,21 +4568,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -4590,21 +4590,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -4612,21 +4612,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -4634,21 +4634,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -4656,14 +4656,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, @@ -4676,8 +4676,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -4685,21 +4685,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 40, "line": 30, }, - "start": Object { + "start": { "character": 40, "line": 30, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -4707,14 +4707,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 40, "line": 30, }, - "start": Object { + "start": { "character": 40, "line": 30, }, @@ -4727,8 +4727,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions reusable functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -4736,21 +4736,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 39, "line": 30, }, - "start": Object { + "start": { "character": 39, "line": 30, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -4758,14 +4758,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 39, "line": 30, }, - "start": Object { + "start": { "character": 39, "line": 30, }, @@ -4778,8 +4778,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -4787,21 +4787,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 39, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -4809,14 +4809,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 39, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, @@ -4829,8 +4829,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -4838,21 +4838,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -4860,21 +4860,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -4882,21 +4882,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -4904,21 +4904,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -4926,14 +4926,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 46, "line": 30, }, - "start": Object { + "start": { "character": 46, "line": 30, }, @@ -4946,8 +4946,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -4955,21 +4955,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 37, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -4977,21 +4977,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 37, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -4999,21 +4999,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 37, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -5021,14 +5021,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 37, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, @@ -5041,8 +5041,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -5050,21 +5050,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -5072,21 +5072,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -5094,21 +5094,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -5116,21 +5116,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -5138,14 +5138,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, @@ -5158,8 +5158,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -5167,21 +5167,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -5189,21 +5189,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -5211,21 +5211,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -5233,21 +5233,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -5255,14 +5255,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, @@ -5275,8 +5275,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -5284,21 +5284,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -5306,21 +5306,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -5328,21 +5328,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -5350,21 +5350,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -5372,14 +5372,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 38, "line": 30, }, @@ -5392,8 +5392,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -5401,21 +5401,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -5423,14 +5423,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 38, "line": 30, }, - "start": Object { + "start": { "character": 37, "line": 30, }, @@ -5442,21 +5442,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions variables completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions variables completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions variables completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions variables completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions variables completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions variables completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions variables completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -5464,21 +5464,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 48, "line": 30, }, - "start": Object { + "start": { "character": 48, "line": 30, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -5486,14 +5486,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 48, "line": 30, }, - "start": Object { + "start": { "character": 48, "line": 30, }, @@ -5505,17 +5505,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions variables completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions variables completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions variables completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter completions variables completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter completions variables completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -5523,21 +5523,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -5545,21 +5545,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -5567,21 +5567,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -5589,21 +5589,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -5611,14 +5611,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 36, "line": 30, }, - "start": Object { + "start": { "character": 36, "line": 30, }, @@ -5631,8 +5631,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions variables completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -5640,21 +5640,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 40, "line": 30, }, - "start": Object { + "start": { "character": 40, "line": 30, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -5662,14 +5662,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 40, "line": 30, }, - "start": Object { + "start": { "character": 40, "line": 30, }, @@ -5682,8 +5682,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter completions variables completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter completions variables completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -5691,21 +5691,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 39, "line": 30, }, - "start": Object { + "start": { "character": 39, "line": 30, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -5713,14 +5713,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 39, "line": 30, }, - "start": Object { + "start": { "character": 39, "line": 30, }, @@ -5733,8 +5733,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -5742,21 +5742,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 34, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -5764,14 +5764,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 34, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, @@ -5784,8 +5784,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -5793,21 +5793,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -5815,21 +5815,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -5837,21 +5837,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -5859,21 +5859,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -5881,14 +5881,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, @@ -5901,8 +5901,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -5910,21 +5910,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 32, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -5932,21 +5932,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 32, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -5954,21 +5954,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 32, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -5976,14 +5976,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 32, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, @@ -5996,8 +5996,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -6005,21 +6005,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -6027,21 +6027,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -6049,21 +6049,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -6071,21 +6071,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -6093,14 +6093,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, @@ -6113,8 +6113,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -6122,21 +6122,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -6144,21 +6144,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -6166,21 +6166,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -6188,21 +6188,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -6210,14 +6210,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, @@ -6230,8 +6230,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -6239,21 +6239,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -6261,21 +6261,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -6283,21 +6283,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -6305,21 +6305,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -6327,14 +6327,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, @@ -6347,8 +6347,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -6356,21 +6356,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -6378,14 +6378,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, @@ -6397,21 +6397,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -6419,21 +6419,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 43, "line": 26, }, - "start": Object { + "start": { "character": 43, "line": 26, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -6441,14 +6441,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 43, "line": 26, }, - "start": Object { + "start": { "character": 43, "line": 26, }, @@ -6460,17 +6460,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -6478,21 +6478,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -6500,21 +6500,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -6522,21 +6522,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -6544,21 +6544,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -6566,14 +6566,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, @@ -6586,8 +6586,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -6595,21 +6595,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 35, "line": 26, }, - "start": Object { + "start": { "character": 35, "line": 26, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -6617,14 +6617,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 35, "line": 26, }, - "start": Object { + "start": { "character": 35, "line": 26, }, @@ -6637,8 +6637,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions built-in functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -6646,21 +6646,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 34, "line": 26, }, - "start": Object { + "start": { "character": 34, "line": 26, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -6668,14 +6668,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 34, "line": 26, }, - "start": Object { + "start": { "character": 34, "line": 26, }, @@ -6688,8 +6688,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -6697,21 +6697,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 34, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -6719,14 +6719,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 34, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, @@ -6739,8 +6739,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -6748,21 +6748,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -6770,21 +6770,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -6792,21 +6792,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -6814,21 +6814,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -6836,14 +6836,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, @@ -6856,8 +6856,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -6865,21 +6865,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 32, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -6887,21 +6887,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 32, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -6909,21 +6909,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 32, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -6931,14 +6931,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 32, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, @@ -6951,8 +6951,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -6960,21 +6960,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -6982,21 +6982,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -7004,21 +7004,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -7026,21 +7026,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -7048,14 +7048,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, @@ -7068,8 +7068,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -7077,21 +7077,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -7099,21 +7099,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -7121,21 +7121,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -7143,21 +7143,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -7165,14 +7165,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, @@ -7185,8 +7185,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -7194,21 +7194,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -7216,21 +7216,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -7238,21 +7238,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -7260,21 +7260,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -7282,14 +7282,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, @@ -7302,8 +7302,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -7311,21 +7311,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -7333,14 +7333,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, @@ -7352,21 +7352,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -7374,21 +7374,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 43, "line": 26, }, - "start": Object { + "start": { "character": 43, "line": 26, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -7396,14 +7396,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 43, "line": 26, }, - "start": Object { + "start": { "character": 43, "line": 26, }, @@ -7415,17 +7415,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -7433,21 +7433,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -7455,21 +7455,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -7477,21 +7477,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -7499,21 +7499,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -7521,14 +7521,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, @@ -7541,8 +7541,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -7550,21 +7550,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 35, "line": 26, }, - "start": Object { + "start": { "character": 35, "line": 26, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -7572,14 +7572,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 35, "line": 26, }, - "start": Object { + "start": { "character": 35, "line": 26, }, @@ -7592,8 +7592,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions reusable functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -7601,21 +7601,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 34, "line": 26, }, - "start": Object { + "start": { "character": 34, "line": 26, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -7623,14 +7623,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 34, "line": 26, }, - "start": Object { + "start": { "character": 34, "line": 26, }, @@ -7643,8 +7643,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -7652,21 +7652,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 34, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -7674,14 +7674,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 34, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, @@ -7694,8 +7694,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -7703,21 +7703,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -7725,21 +7725,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -7747,21 +7747,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -7769,21 +7769,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -7791,14 +7791,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 41, "line": 26, }, - "start": Object { + "start": { "character": 41, "line": 26, }, @@ -7811,8 +7811,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -7820,21 +7820,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 32, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -7842,21 +7842,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 32, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -7864,21 +7864,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 32, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -7886,14 +7886,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 32, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, @@ -7906,8 +7906,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -7915,21 +7915,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -7937,21 +7937,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -7959,21 +7959,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -7981,21 +7981,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -8003,14 +8003,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, @@ -8023,8 +8023,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -8032,21 +8032,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -8054,21 +8054,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -8076,21 +8076,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -8098,21 +8098,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -8120,14 +8120,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, @@ -8140,8 +8140,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -8149,21 +8149,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -8171,21 +8171,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -8193,21 +8193,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -8215,21 +8215,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -8237,14 +8237,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 33, "line": 26, }, @@ -8257,8 +8257,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -8266,21 +8266,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -8288,14 +8288,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 33, "line": 26, }, - "start": Object { + "start": { "character": 32, "line": 26, }, @@ -8307,21 +8307,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -8329,21 +8329,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 43, "line": 26, }, - "start": Object { + "start": { "character": 43, "line": 26, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -8351,14 +8351,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 43, "line": 26, }, - "start": Object { + "start": { "character": 43, "line": 26, }, @@ -8370,17 +8370,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -8388,21 +8388,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -8410,21 +8410,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -8432,21 +8432,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -8454,21 +8454,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -8476,14 +8476,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 31, "line": 26, }, - "start": Object { + "start": { "character": 31, "line": 26, }, @@ -8496,8 +8496,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -8505,21 +8505,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 35, "line": 26, }, - "start": Object { + "start": { "character": 35, "line": 26, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -8527,14 +8527,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 35, "line": 26, }, - "start": Object { + "start": { "character": 35, "line": 26, }, @@ -8547,8 +8547,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions data filter inside on onEvents completions variables completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -8556,21 +8556,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 34, "line": 26, }, - "start": Object { + "start": { "character": 34, "line": 26, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -8578,14 +8578,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 34, "line": 26, }, - "start": Object { + "start": { "character": 34, "line": 26, }, @@ -8598,8 +8598,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -8607,21 +8607,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -8629,14 +8629,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, @@ -8649,8 +8649,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -8658,21 +8658,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -8680,21 +8680,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -8702,21 +8702,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -8724,21 +8724,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -8746,14 +8746,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, @@ -8766,8 +8766,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -8775,21 +8775,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 28, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -8797,21 +8797,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 28, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -8819,21 +8819,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 28, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -8841,14 +8841,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 28, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, @@ -8861,8 +8861,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -8870,21 +8870,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -8892,21 +8892,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -8914,21 +8914,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -8936,21 +8936,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -8958,14 +8958,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, @@ -8978,8 +8978,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -8987,21 +8987,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -9009,21 +9009,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -9031,21 +9031,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -9053,21 +9053,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -9075,14 +9075,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, @@ -9095,8 +9095,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -9104,21 +9104,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -9126,21 +9126,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -9148,21 +9148,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -9170,21 +9170,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -9192,14 +9192,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -9212,8 +9212,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -9221,21 +9221,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -9243,14 +9243,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, @@ -9262,21 +9262,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -9284,21 +9284,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -9306,14 +9306,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, @@ -9325,17 +9325,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -9343,21 +9343,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -9365,21 +9365,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -9387,21 +9387,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -9409,21 +9409,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -9431,14 +9431,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, @@ -9451,8 +9451,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -9460,21 +9460,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -9482,14 +9482,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, @@ -9502,8 +9502,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions built-in functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -9511,21 +9511,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -9533,14 +9533,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, @@ -9553,8 +9553,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -9562,21 +9562,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -9584,14 +9584,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, @@ -9604,8 +9604,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -9613,21 +9613,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -9635,21 +9635,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -9657,21 +9657,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -9679,21 +9679,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -9701,14 +9701,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, @@ -9721,8 +9721,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -9730,21 +9730,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 28, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -9752,21 +9752,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 28, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -9774,21 +9774,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 28, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -9796,14 +9796,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 28, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, @@ -9816,8 +9816,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -9825,21 +9825,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -9847,21 +9847,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -9869,21 +9869,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -9891,21 +9891,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -9913,14 +9913,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, @@ -9933,8 +9933,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -9942,21 +9942,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -9964,21 +9964,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -9986,21 +9986,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -10008,21 +10008,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -10030,14 +10030,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, @@ -10050,8 +10050,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -10059,21 +10059,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -10081,21 +10081,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -10103,21 +10103,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -10125,21 +10125,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -10147,14 +10147,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -10167,8 +10167,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -10176,21 +10176,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -10198,14 +10198,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, @@ -10217,21 +10217,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -10239,21 +10239,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -10261,14 +10261,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, @@ -10280,17 +10280,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -10298,21 +10298,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -10320,21 +10320,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -10342,21 +10342,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -10364,21 +10364,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -10386,14 +10386,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, @@ -10406,8 +10406,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -10415,21 +10415,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -10437,14 +10437,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, @@ -10457,8 +10457,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions reusable functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -10466,21 +10466,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -10488,14 +10488,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, @@ -10508,8 +10508,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -10517,21 +10517,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -10539,14 +10539,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, @@ -10559,8 +10559,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -10568,21 +10568,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -10590,21 +10590,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -10612,21 +10612,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -10634,21 +10634,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -10656,14 +10656,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 37, "line": 24, }, - "start": Object { + "start": { "character": 37, "line": 24, }, @@ -10676,8 +10676,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -10685,21 +10685,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 28, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -10707,21 +10707,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 28, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -10729,21 +10729,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 28, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -10751,14 +10751,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 28, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, @@ -10771,8 +10771,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -10780,21 +10780,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -10802,21 +10802,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -10824,21 +10824,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -10846,21 +10846,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -10868,14 +10868,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, @@ -10888,8 +10888,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -10897,21 +10897,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -10919,21 +10919,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -10941,21 +10941,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -10963,21 +10963,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -10985,14 +10985,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, @@ -11005,8 +11005,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -11014,21 +11014,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -11036,21 +11036,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -11058,21 +11058,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -11080,21 +11080,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -11102,14 +11102,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -11122,8 +11122,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -11131,21 +11131,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -11153,14 +11153,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 28, "line": 24, }, @@ -11172,21 +11172,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -11194,21 +11194,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -11216,14 +11216,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, @@ -11235,17 +11235,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -11253,21 +11253,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -11275,21 +11275,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -11297,21 +11297,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -11319,21 +11319,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -11341,14 +11341,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 27, "line": 24, }, - "start": Object { + "start": { "character": 27, "line": 24, }, @@ -11361,8 +11361,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -11370,21 +11370,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -11392,14 +11392,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, @@ -11412,8 +11412,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions event data filter completions variables completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -11421,21 +11421,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -11443,14 +11443,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, @@ -11463,8 +11463,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -11472,21 +11472,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 51, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -11494,14 +11494,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 51, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, @@ -11514,8 +11514,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -11523,21 +11523,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -11545,21 +11545,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -11567,21 +11567,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -11589,21 +11589,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -11611,14 +11611,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, @@ -11631,8 +11631,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -11640,21 +11640,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 49, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -11662,21 +11662,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 49, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -11684,21 +11684,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 49, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -11706,14 +11706,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 49, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, @@ -11726,8 +11726,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -11735,21 +11735,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -11757,21 +11757,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -11779,21 +11779,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -11801,21 +11801,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -11823,14 +11823,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, @@ -11843,8 +11843,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -11852,21 +11852,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -11874,21 +11874,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -11896,21 +11896,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -11918,21 +11918,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -11940,14 +11940,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, @@ -11960,8 +11960,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -11969,21 +11969,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -11991,21 +11991,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -12013,21 +12013,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -12035,21 +12035,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -12057,14 +12057,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, @@ -12077,8 +12077,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -12086,21 +12086,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -12108,14 +12108,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, @@ -12127,21 +12127,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -12149,21 +12149,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 60, "line": 28, }, - "start": Object { + "start": { "character": 60, "line": 28, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -12171,14 +12171,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 60, "line": 28, }, - "start": Object { + "start": { "character": 60, "line": 28, }, @@ -12190,17 +12190,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -12208,21 +12208,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -12230,21 +12230,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -12252,21 +12252,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -12274,21 +12274,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -12296,14 +12296,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, @@ -12316,8 +12316,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -12325,21 +12325,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 52, "line": 28, }, - "start": Object { + "start": { "character": 52, "line": 28, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -12347,14 +12347,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 52, "line": 28, }, - "start": Object { + "start": { "character": 52, "line": 28, }, @@ -12367,8 +12367,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions built-in functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -12376,21 +12376,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 51, "line": 28, }, - "start": Object { + "start": { "character": 51, "line": 28, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -12398,14 +12398,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 51, "line": 28, }, - "start": Object { + "start": { "character": 51, "line": 28, }, @@ -12418,8 +12418,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -12427,21 +12427,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 51, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -12449,14 +12449,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 51, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, @@ -12469,8 +12469,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -12478,21 +12478,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -12500,21 +12500,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -12522,21 +12522,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -12544,21 +12544,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -12566,14 +12566,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, @@ -12586,8 +12586,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -12595,21 +12595,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 49, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -12617,21 +12617,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 49, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -12639,21 +12639,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 49, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -12661,14 +12661,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 49, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, @@ -12681,8 +12681,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -12690,21 +12690,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -12712,21 +12712,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -12734,21 +12734,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -12756,21 +12756,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -12778,14 +12778,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, @@ -12798,8 +12798,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -12807,21 +12807,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -12829,21 +12829,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -12851,21 +12851,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -12873,21 +12873,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -12895,14 +12895,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, @@ -12915,8 +12915,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -12924,21 +12924,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -12946,21 +12946,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -12968,21 +12968,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -12990,21 +12990,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -13012,14 +13012,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, @@ -13032,8 +13032,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -13041,21 +13041,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -13063,14 +13063,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, @@ -13082,21 +13082,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -13104,21 +13104,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 60, "line": 28, }, - "start": Object { + "start": { "character": 60, "line": 28, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -13126,14 +13126,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 60, "line": 28, }, - "start": Object { + "start": { "character": 60, "line": 28, }, @@ -13145,17 +13145,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -13163,21 +13163,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -13185,21 +13185,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -13207,21 +13207,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -13229,21 +13229,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -13251,14 +13251,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, @@ -13271,8 +13271,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -13280,21 +13280,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 52, "line": 28, }, - "start": Object { + "start": { "character": 52, "line": 28, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -13302,14 +13302,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 52, "line": 28, }, - "start": Object { + "start": { "character": 52, "line": 28, }, @@ -13322,8 +13322,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions reusable functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -13331,21 +13331,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 51, "line": 28, }, - "start": Object { + "start": { "character": 51, "line": 28, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -13353,14 +13353,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 51, "line": 28, }, - "start": Object { + "start": { "character": 51, "line": 28, }, @@ -13373,8 +13373,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -13382,21 +13382,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 51, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -13404,14 +13404,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 51, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, @@ -13424,8 +13424,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -13433,21 +13433,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -13455,21 +13455,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -13477,21 +13477,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -13499,21 +13499,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -13521,14 +13521,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 58, "line": 28, }, - "start": Object { + "start": { "character": 58, "line": 28, }, @@ -13541,8 +13541,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -13550,21 +13550,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 49, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -13572,21 +13572,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 49, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -13594,21 +13594,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 49, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -13616,14 +13616,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 49, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, @@ -13636,8 +13636,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -13645,21 +13645,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -13667,21 +13667,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -13689,21 +13689,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -13711,21 +13711,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -13733,14 +13733,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, @@ -13753,8 +13753,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -13762,21 +13762,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -13784,21 +13784,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -13806,21 +13806,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -13828,21 +13828,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -13850,14 +13850,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, @@ -13870,8 +13870,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -13879,21 +13879,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -13901,21 +13901,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -13923,21 +13923,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -13945,21 +13945,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -13967,14 +13967,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 50, "line": 28, }, @@ -13987,8 +13987,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -13996,21 +13996,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -14018,14 +14018,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 50, "line": 28, }, - "start": Object { + "start": { "character": 49, "line": 28, }, @@ -14037,21 +14037,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -14059,21 +14059,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 60, "line": 28, }, - "start": Object { + "start": { "character": 60, "line": 28, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -14081,14 +14081,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 60, "line": 28, }, - "start": Object { + "start": { "character": 60, "line": 28, }, @@ -14100,17 +14100,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -14118,21 +14118,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -14140,21 +14140,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -14162,21 +14162,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -14184,21 +14184,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -14206,14 +14206,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 48, "line": 28, }, - "start": Object { + "start": { "character": 48, "line": 28, }, @@ -14226,8 +14226,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -14235,21 +14235,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 52, "line": 28, }, - "start": Object { + "start": { "character": 52, "line": 28, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -14257,14 +14257,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 52, "line": 28, }, - "start": Object { + "start": { "character": 52, "line": 28, }, @@ -14277,8 +14277,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions functionRef arguments completions variables completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -14286,21 +14286,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 51, "line": 28, }, - "start": Object { + "start": { "character": 51, "line": 28, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -14308,14 +14308,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 51, "line": 28, }, - "start": Object { + "start": { "character": 51, "line": 28, }, @@ -14328,8 +14328,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -14337,21 +14337,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 39, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -14359,14 +14359,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 39, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -14379,8 +14379,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor after a value - auto-complete the word map 3`] = `2`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor after a value - auto-complete the word map 4`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -14388,21 +14388,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 39, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -14410,14 +14410,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 39, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -14430,8 +14430,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -14439,21 +14439,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -14461,21 +14461,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -14483,21 +14483,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -14505,21 +14505,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -14527,14 +14527,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, @@ -14547,8 +14547,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor after some random word 3`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor after some random word 4`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -14556,21 +14556,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -14578,21 +14578,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -14600,21 +14600,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -14622,21 +14622,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -14644,14 +14644,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, @@ -14664,8 +14664,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -14673,21 +14673,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 37, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -14695,21 +14695,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 37, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -14717,21 +14717,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 37, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -14739,14 +14739,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 37, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, @@ -14759,8 +14759,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -14768,21 +14768,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -14790,21 +14790,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -14812,21 +14812,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -14834,21 +14834,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -14856,14 +14856,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -14876,8 +14876,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor before empty space 3`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor before empty space 4`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -14885,21 +14885,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -14907,21 +14907,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -14929,21 +14929,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -14951,21 +14951,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -14973,14 +14973,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -14993,8 +14993,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -15002,21 +15002,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -15024,21 +15024,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -15046,21 +15046,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -15068,21 +15068,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -15090,14 +15090,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -15110,8 +15110,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -15119,21 +15119,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -15141,21 +15141,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -15163,21 +15163,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -15185,21 +15185,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -15207,14 +15207,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, @@ -15227,8 +15227,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -15236,21 +15236,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -15258,14 +15258,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, @@ -15277,21 +15277,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -15299,21 +15299,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -15321,21 +15321,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -15343,21 +15343,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -15365,21 +15365,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -15387,14 +15387,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -15407,8 +15407,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion no value/double quotes 3`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion built-in functions completion no value/double quotes 4`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -15416,21 +15416,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -15438,21 +15438,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -15460,21 +15460,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -15482,21 +15482,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -15504,14 +15504,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -15524,8 +15524,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -15533,21 +15533,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 39, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -15555,14 +15555,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 39, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -15575,8 +15575,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor after a value - auto-complete the word map 3`] = `2`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor after a value - auto-complete the word map 4`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -15584,21 +15584,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 39, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -15606,14 +15606,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 39, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -15626,8 +15626,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -15635,21 +15635,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -15657,21 +15657,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -15679,21 +15679,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -15701,21 +15701,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -15723,14 +15723,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, @@ -15743,8 +15743,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor after some random word 3`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor after some random word 4`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -15752,21 +15752,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -15774,21 +15774,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -15796,21 +15796,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -15818,21 +15818,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -15840,14 +15840,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, @@ -15860,8 +15860,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -15869,21 +15869,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 37, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -15891,21 +15891,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 37, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -15913,21 +15913,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 37, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -15935,14 +15935,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 37, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, @@ -15955,8 +15955,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -15964,21 +15964,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -15986,21 +15986,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -16008,21 +16008,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -16030,21 +16030,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -16052,14 +16052,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -16072,8 +16072,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor before empty space 3`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor before empty space 4`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -16081,21 +16081,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -16103,21 +16103,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -16125,21 +16125,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -16147,21 +16147,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -16169,14 +16169,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -16189,8 +16189,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -16198,21 +16198,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -16220,21 +16220,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -16242,21 +16242,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -16264,21 +16264,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -16286,14 +16286,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -16306,8 +16306,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -16315,21 +16315,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -16337,21 +16337,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -16359,21 +16359,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -16381,21 +16381,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -16403,14 +16403,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, @@ -16423,8 +16423,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -16432,21 +16432,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -16454,14 +16454,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, @@ -16473,21 +16473,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -16495,21 +16495,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -16517,21 +16517,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -16539,21 +16539,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -16561,21 +16561,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -16583,14 +16583,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -16603,8 +16603,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion no value/double quotes 3`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion reusable functions completion no value/double quotes 4`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -16612,21 +16612,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -16634,21 +16634,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -16656,21 +16656,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -16678,21 +16678,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -16700,14 +16700,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -16720,8 +16720,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -16729,21 +16729,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 39, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -16751,14 +16751,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 39, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -16771,8 +16771,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor after a value - auto-complete the word map 3`] = `2`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor after a value - auto-complete the word map 4`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -16780,21 +16780,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 39, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -16802,14 +16802,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 39, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -16822,8 +16822,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -16831,21 +16831,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -16853,21 +16853,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -16875,21 +16875,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -16897,21 +16897,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -16919,14 +16919,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, @@ -16939,8 +16939,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor after some random word 3`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor after some random word 4`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -16948,21 +16948,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -16970,21 +16970,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -16992,21 +16992,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -17014,21 +17014,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -17036,14 +17036,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 46, "line": 26, }, - "start": Object { + "start": { "character": 46, "line": 26, }, @@ -17056,8 +17056,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -17065,21 +17065,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 37, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -17087,21 +17087,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 37, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -17109,21 +17109,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 37, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -17131,14 +17131,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 37, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, @@ -17151,8 +17151,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -17160,21 +17160,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -17182,21 +17182,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -17204,21 +17204,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -17226,21 +17226,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -17248,14 +17248,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -17268,8 +17268,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor before empty space 3`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor before empty space 4`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -17277,21 +17277,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -17299,21 +17299,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -17321,21 +17321,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -17343,21 +17343,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -17365,14 +17365,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -17385,8 +17385,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -17394,21 +17394,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -17416,21 +17416,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -17438,21 +17438,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -17460,21 +17460,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -17482,14 +17482,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -17502,8 +17502,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -17511,21 +17511,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -17533,21 +17533,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -17555,21 +17555,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -17577,21 +17577,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -17599,14 +17599,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 38, "line": 26, }, @@ -17619,8 +17619,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -17628,21 +17628,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -17650,14 +17650,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 38, "line": 26, }, - "start": Object { + "start": { "character": 37, "line": 26, }, @@ -17669,21 +17669,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion variables completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions operations completion variables completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions operations completion variables completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions operations completion variables completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions operations completion variables completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions operations completion variables completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions operations completion variables completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -17691,21 +17691,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -17713,21 +17713,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -17735,21 +17735,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -17757,21 +17757,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -17779,14 +17779,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -17799,8 +17799,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions operations completion variables completion no value/double quotes 3`] = `140`; exports[`SWF LS JSON code completion Jq completions operations completion variables completion no value/double quotes 4`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -17808,21 +17808,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -17830,21 +17830,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -17852,21 +17852,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -17874,21 +17874,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -17896,14 +17896,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 36, "line": 26, }, - "start": Object { + "start": { "character": 36, "line": 26, }, @@ -17916,8 +17916,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -17925,21 +17925,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 32, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -17947,14 +17947,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 32, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -17967,8 +17967,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -17976,21 +17976,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -17998,21 +17998,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -18020,21 +18020,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -18042,21 +18042,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -18064,14 +18064,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, @@ -18084,8 +18084,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -18093,21 +18093,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -18115,21 +18115,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -18137,21 +18137,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -18159,14 +18159,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, @@ -18179,8 +18179,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -18188,21 +18188,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -18210,21 +18210,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -18232,21 +18232,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -18254,21 +18254,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -18276,14 +18276,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -18296,8 +18296,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -18305,21 +18305,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -18327,21 +18327,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -18349,21 +18349,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -18371,21 +18371,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -18393,14 +18393,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -18413,8 +18413,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -18422,21 +18422,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -18444,21 +18444,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -18466,21 +18466,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -18488,21 +18488,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -18510,14 +18510,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, @@ -18530,8 +18530,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -18539,21 +18539,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -18561,14 +18561,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, @@ -18580,21 +18580,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -18602,21 +18602,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 41, "line": 24, }, - "start": Object { + "start": { "character": 41, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -18624,14 +18624,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 41, "line": 24, }, - "start": Object { + "start": { "character": 41, "line": 24, }, @@ -18643,17 +18643,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -18661,21 +18661,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -18683,21 +18683,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -18705,21 +18705,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -18727,21 +18727,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -18749,14 +18749,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -18769,8 +18769,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -18778,21 +18778,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 33, "line": 24, }, - "start": Object { + "start": { "character": 33, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -18800,14 +18800,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 33, "line": 24, }, - "start": Object { + "start": { "character": 33, "line": 24, }, @@ -18820,8 +18820,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions built-in functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -18829,21 +18829,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 32, "line": 24, }, - "start": Object { + "start": { "character": 32, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -18851,14 +18851,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 32, "line": 24, }, - "start": Object { + "start": { "character": 32, "line": 24, }, @@ -18871,8 +18871,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -18880,21 +18880,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 32, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -18902,14 +18902,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 32, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -18922,8 +18922,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -18931,21 +18931,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -18953,21 +18953,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -18975,21 +18975,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -18997,21 +18997,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -19019,14 +19019,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, @@ -19039,8 +19039,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -19048,21 +19048,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -19070,21 +19070,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -19092,21 +19092,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -19114,14 +19114,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, @@ -19134,8 +19134,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -19143,21 +19143,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -19165,21 +19165,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -19187,21 +19187,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -19209,21 +19209,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -19231,14 +19231,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -19251,8 +19251,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -19260,21 +19260,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -19282,21 +19282,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -19304,21 +19304,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -19326,21 +19326,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -19348,14 +19348,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -19368,8 +19368,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -19377,21 +19377,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -19399,21 +19399,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -19421,21 +19421,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -19443,21 +19443,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -19465,14 +19465,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, @@ -19485,8 +19485,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -19494,21 +19494,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -19516,14 +19516,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, @@ -19535,21 +19535,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -19557,21 +19557,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 41, "line": 24, }, - "start": Object { + "start": { "character": 41, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -19579,14 +19579,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 41, "line": 24, }, - "start": Object { + "start": { "character": 41, "line": 24, }, @@ -19598,17 +19598,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -19616,21 +19616,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -19638,21 +19638,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -19660,21 +19660,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -19682,21 +19682,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -19704,14 +19704,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -19724,8 +19724,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -19733,21 +19733,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 33, "line": 24, }, - "start": Object { + "start": { "character": 33, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -19755,14 +19755,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 33, "line": 24, }, - "start": Object { + "start": { "character": 33, "line": 24, }, @@ -19775,8 +19775,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions reusable functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -19784,21 +19784,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 32, "line": 24, }, - "start": Object { + "start": { "character": 32, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -19806,14 +19806,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 32, "line": 24, }, - "start": Object { + "start": { "character": 32, "line": 24, }, @@ -19826,8 +19826,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -19835,21 +19835,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { - "newText": "\\"map(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map(x)"", + "range": { + "end": { "character": 32, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -19857,14 +19857,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { - "newText": "\\"map_values(x)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""map_values(x)"", + "range": { + "end": { "character": 32, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -19877,8 +19877,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor after some random word 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -19886,21 +19886,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -19908,21 +19908,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -19930,21 +19930,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -19952,21 +19952,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -19974,14 +19974,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 39, "line": 24, }, - "start": Object { + "start": { "character": 39, "line": 24, }, @@ -19994,8 +19994,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -20003,21 +20003,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { - "newText": "\\"name\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""name"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -20025,21 +20025,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -20047,21 +20047,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -20069,14 +20069,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { - "newText": "\\"numberOfPods\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""numberOfPods"", + "range": { + "end": { "character": 30, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, @@ -20089,8 +20089,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor before empty space 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -20098,21 +20098,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -20120,21 +20120,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -20142,21 +20142,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -20164,21 +20164,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -20186,14 +20186,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -20206,8 +20206,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -20215,21 +20215,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -20237,21 +20237,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -20259,21 +20259,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -20281,21 +20281,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -20303,14 +20303,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\",", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)",", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -20323,8 +20323,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -20332,21 +20332,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -20354,21 +20354,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -20376,21 +20376,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -20398,21 +20398,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -20420,14 +20420,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 31, "line": 24, }, @@ -20440,8 +20440,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -20449,21 +20449,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { - "newText": "\\"age\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""age"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -20471,14 +20471,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { - "newText": "\\"avgLoad\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""avgLoad"", + "range": { + "end": { "character": 31, "line": 24, }, - "start": Object { + "start": { "character": 30, "line": 24, }, @@ -20490,21 +20490,21 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion empty object 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion empty object 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion empty object 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion empty object 3`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion empty object 4`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion empty object 4`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion empty object 5`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion empty object 6`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion empty object 6`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion fn: after some value 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -20512,21 +20512,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 41, "line": 24, }, - "start": Object { + "start": { "character": 41, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -20534,14 +20534,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 41, "line": 24, }, - "start": Object { + "start": { "character": 41, "line": 24, }, @@ -20553,17 +20553,17 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion fn: starting with a 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion fn: starting with a 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion fn: starting with r 1`] = `0`; -exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion fn: starting with r 2`] = `[]`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion no value/double quotes 1`] = `140`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -20571,21 +20571,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { - "newText": "\\"length\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""length"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -20593,21 +20593,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { - "newText": "\\"utf8bytelength\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""utf8bytelength"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -20615,21 +20615,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { - "newText": "\\"keys\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -20637,21 +20637,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { - "newText": "\\"keys_unsorted\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""keys_unsorted"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -20659,14 +20659,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { - "newText": "\\"has(key)\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""has(key)"", + "range": { + "end": { "character": 29, "line": 24, }, - "start": Object { + "start": { "character": 29, "line": 24, }, @@ -20679,8 +20679,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion space before fn: 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -20688,21 +20688,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 33, "line": 24, }, - "start": Object { + "start": { "character": 33, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -20710,14 +20710,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 33, "line": 24, }, - "start": Object { + "start": { "character": 33, "line": 24, }, @@ -20730,8 +20730,8 @@ Array [ exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion value fn:/double quotes 1`] = `2`; exports[`SWF LS JSON code completion Jq completions state data filter completions variables completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -20739,21 +20739,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { - "newText": "\\"expressionFunc1\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc1"", + "range": { + "end": { "character": 32, "line": 24, }, - "start": Object { + "start": { "character": 32, "line": 24, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -20761,14 +20761,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { - "newText": "\\"expressionFunc2\\"", - "range": Object { - "end": Object { + "textEdit": { + "newText": ""expressionFunc2"", + "range": { + "end": { "character": 32, "line": 24, }, - "start": Object { + "start": { "character": 32, "line": 24, }, @@ -20781,91 +20781,91 @@ Array [ exports[`SWF LS JSON code completion empty file completion empty file with a newline after the cursor 1`] = `2`; exports[`SWF LS JSON code completion empty file completion empty file with a newline after the cursor 2`] = ` -Array [ - Object { +[ + { "detail": "Start with a simple Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Serverless Workflow Example", "sortText": "100_Serverless Workflow Example", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"id\\": \\"\${1:workflow_unique_identifier}\\", - \\"version\\": \\"\${2:0.1}\\", - \\"specVersion\\": \\"\${3:0.8}\\", - \\"name\\": \\"\${4:Workflow name}\\", - \\"description\\": \\"\${5:Workflow description}\\", - \\"start\\": \\"\${13}\\", - \\"functions\\": [ + "id": "\${1:workflow_unique_identifier}", + "version": "\${2:0.1}", + "specVersion": "\${3:0.8}", + "name": "\${4:Workflow name}", + "description": "\${5:Workflow description}", + "start": "\${13}", + "functions": [ { - \\"name\\": \\"\${7:uniqueFunctionName}\\", - \\"operation\\": \\"\${8:localhost#operation}\\", - \\"type\\": \\"\${9:rest}\\" + "name": "\${7:uniqueFunctionName}", + "operation": "\${8:localhost#operation}", + "type": "\${9:rest}" } ], - \\"events\\": [ + "events": [ { - \\"name\\": \\"\${10:Unique event name}\\", - \\"source\\": \\"\${11:CloudEvent source}\\", - \\"type\\": \\"\${12:CloudEvent type}\\" + "name": "\${10:Unique event name}", + "source": "\${11:CloudEvent source}", + "type": "\${12:CloudEvent type}" } ], - \\"states\\": [ + "states": [ { - \\"name\\": \\"\${13:StartState}\\", - \\"type\\": \\"\${14:operation}\\", - \\"actions\\": [ + "name": "\${13:StartState}", + "type": "\${14:operation}", + "actions": [ { - \\"name\\": \\"\${15:uniqueActionName}\\", - \\"functionRef\\": { - \\"refName\\": \\"\${7}\\", - \\"arguments\\": { - \\"firstArgument\\": \\"\\", - \\"secondArgument\\": \\"\\" + "name": "\${15:uniqueActionName}", + "functionRef": { + "refName": "\${7}", + "arguments": { + "firstArgument": "", + "secondArgument": "" } } } ], - \\"end\\": true + "end": true } ] }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, }, }, }, - Object { + { "detail": "Start with an empty Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Empty Serverless Workflow", "sortText": "100_Empty Serverless Workflow", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"id\\": \\"\${1:workflow_unique_identifier}\\", - \\"version\\": \\"\${2:0.1}\\", - \\"specVersion\\": \\"\${3:0.8}\\", - \\"name\\": \\"\${4:Workflow name}\\", - \\"description\\": \\"\${5:Workflow description}\\", - \\"start\\": \\"\${13}\\", - \\"functions\\": [], - \\"events\\": [], - \\"states\\": [] + "id": "\${1:workflow_unique_identifier}", + "version": "\${2:0.1}", + "specVersion": "\${3:0.8}", + "name": "\${4:Workflow name}", + "description": "\${5:Workflow description}", + "start": "\${13}", + "functions": [], + "events": [], + "states": [] }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, @@ -20878,91 +20878,91 @@ Array [ exports[`SWF LS JSON code completion empty file completion empty file with a newline before the cursor 1`] = `2`; exports[`SWF LS JSON code completion empty file completion empty file with a newline before the cursor 2`] = ` -Array [ - Object { +[ + { "detail": "Start with a simple Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Serverless Workflow Example", "sortText": "100_Serverless Workflow Example", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"id\\": \\"\${1:workflow_unique_identifier}\\", - \\"version\\": \\"\${2:0.1}\\", - \\"specVersion\\": \\"\${3:0.8}\\", - \\"name\\": \\"\${4:Workflow name}\\", - \\"description\\": \\"\${5:Workflow description}\\", - \\"start\\": \\"\${13}\\", - \\"functions\\": [ + "id": "\${1:workflow_unique_identifier}", + "version": "\${2:0.1}", + "specVersion": "\${3:0.8}", + "name": "\${4:Workflow name}", + "description": "\${5:Workflow description}", + "start": "\${13}", + "functions": [ { - \\"name\\": \\"\${7:uniqueFunctionName}\\", - \\"operation\\": \\"\${8:localhost#operation}\\", - \\"type\\": \\"\${9:rest}\\" + "name": "\${7:uniqueFunctionName}", + "operation": "\${8:localhost#operation}", + "type": "\${9:rest}" } ], - \\"events\\": [ + "events": [ { - \\"name\\": \\"\${10:Unique event name}\\", - \\"source\\": \\"\${11:CloudEvent source}\\", - \\"type\\": \\"\${12:CloudEvent type}\\" + "name": "\${10:Unique event name}", + "source": "\${11:CloudEvent source}", + "type": "\${12:CloudEvent type}" } ], - \\"states\\": [ + "states": [ { - \\"name\\": \\"\${13:StartState}\\", - \\"type\\": \\"\${14:operation}\\", - \\"actions\\": [ + "name": "\${13:StartState}", + "type": "\${14:operation}", + "actions": [ { - \\"name\\": \\"\${15:uniqueActionName}\\", - \\"functionRef\\": { - \\"refName\\": \\"\${7}\\", - \\"arguments\\": { - \\"firstArgument\\": \\"\\", - \\"secondArgument\\": \\"\\" + "name": "\${15:uniqueActionName}", + "functionRef": { + "refName": "\${7}", + "arguments": { + "firstArgument": "", + "secondArgument": "" } } } ], - \\"end\\": true + "end": true } ] }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, }, }, }, - Object { + { "detail": "Start with an empty Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Empty Serverless Workflow", "sortText": "100_Empty Serverless Workflow", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"id\\": \\"\${1:workflow_unique_identifier}\\", - \\"version\\": \\"\${2:0.1}\\", - \\"specVersion\\": \\"\${3:0.8}\\", - \\"name\\": \\"\${4:Workflow name}\\", - \\"description\\": \\"\${5:Workflow description}\\", - \\"start\\": \\"\${13}\\", - \\"functions\\": [], - \\"events\\": [], - \\"states\\": [] + "id": "\${1:workflow_unique_identifier}", + "version": "\${2:0.1}", + "specVersion": "\${3:0.8}", + "name": "\${4:Workflow name}", + "description": "\${5:Workflow description}", + "start": "\${13}", + "functions": [], + "events": [], + "states": [] }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, @@ -20975,91 +20975,91 @@ Array [ exports[`SWF LS JSON code completion empty file completion total empty file 1`] = `2`; exports[`SWF LS JSON code completion empty file completion total empty file 2`] = ` -Array [ - Object { +[ + { "detail": "Start with a simple Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Serverless Workflow Example", "sortText": "100_Serverless Workflow Example", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"id\\": \\"\${1:workflow_unique_identifier}\\", - \\"version\\": \\"\${2:0.1}\\", - \\"specVersion\\": \\"\${3:0.8}\\", - \\"name\\": \\"\${4:Workflow name}\\", - \\"description\\": \\"\${5:Workflow description}\\", - \\"start\\": \\"\${13}\\", - \\"functions\\": [ + "id": "\${1:workflow_unique_identifier}", + "version": "\${2:0.1}", + "specVersion": "\${3:0.8}", + "name": "\${4:Workflow name}", + "description": "\${5:Workflow description}", + "start": "\${13}", + "functions": [ { - \\"name\\": \\"\${7:uniqueFunctionName}\\", - \\"operation\\": \\"\${8:localhost#operation}\\", - \\"type\\": \\"\${9:rest}\\" + "name": "\${7:uniqueFunctionName}", + "operation": "\${8:localhost#operation}", + "type": "\${9:rest}" } ], - \\"events\\": [ + "events": [ { - \\"name\\": \\"\${10:Unique event name}\\", - \\"source\\": \\"\${11:CloudEvent source}\\", - \\"type\\": \\"\${12:CloudEvent type}\\" + "name": "\${10:Unique event name}", + "source": "\${11:CloudEvent source}", + "type": "\${12:CloudEvent type}" } ], - \\"states\\": [ + "states": [ { - \\"name\\": \\"\${13:StartState}\\", - \\"type\\": \\"\${14:operation}\\", - \\"actions\\": [ + "name": "\${13:StartState}", + "type": "\${14:operation}", + "actions": [ { - \\"name\\": \\"\${15:uniqueActionName}\\", - \\"functionRef\\": { - \\"refName\\": \\"\${7}\\", - \\"arguments\\": { - \\"firstArgument\\": \\"\\", - \\"secondArgument\\": \\"\\" + "name": "\${15:uniqueActionName}", + "functionRef": { + "refName": "\${7}", + "arguments": { + "firstArgument": "", + "secondArgument": "" } } } ], - \\"end\\": true + "end": true } ] }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, }, }, }, - Object { + { "detail": "Start with an empty Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Empty Serverless Workflow", "sortText": "100_Empty Serverless Workflow", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"id\\": \\"\${1:workflow_unique_identifier}\\", - \\"version\\": \\"\${2:0.1}\\", - \\"specVersion\\": \\"\${3:0.8}\\", - \\"name\\": \\"\${4:Workflow name}\\", - \\"description\\": \\"\${5:Workflow description}\\", - \\"start\\": \\"\${13}\\", - \\"functions\\": [], - \\"events\\": [], - \\"states\\": [] + "id": "\${1:workflow_unique_identifier}", + "version": "\${2:0.1}", + "specVersion": "\${3:0.8}", + "name": "\${4:Workflow name}", + "description": "\${5:Workflow description}", + "start": "\${13}", + "functions": [], + "events": [], + "states": [] }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, @@ -21072,22 +21072,22 @@ Array [ exports[`SWF LS JSON code completion eventRefs completion add at the beginning of the array 1`] = `1`; exports[`SWF LS JSON code completion eventRefs completion add at the beginning of the array 2`] = ` -Array [ - Object { - "detail": "\\"GreetEvent\\"", - "filterText": "\\"GreetEvent\\"", +[ + { + "detail": ""GreetEvent"", + "filterText": ""GreetEvent"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetEvent\\"", - "sortText": "100_\\"GreetEvent\\"", - "textEdit": Object { - "newText": "\\"GreetEvent\\",", - "range": Object { - "end": Object { + "label": ""GreetEvent"", + "sortText": "100_"GreetEvent"", + "textEdit": { + "newText": ""GreetEvent",", + "range": { + "end": { "character": 22, "line": 9, }, - "start": Object { + "start": { "character": 22, "line": 9, }, @@ -21100,22 +21100,22 @@ Array [ exports[`SWF LS JSON code completion eventRefs completion add at the end of the array 1`] = `1`; exports[`SWF LS JSON code completion eventRefs completion add at the end of the array 2`] = ` -Array [ - Object { - "detail": "\\"GreetEvent\\"", - "filterText": "\\"GreetEvent\\"", +[ + { + "detail": ""GreetEvent"", + "filterText": ""GreetEvent"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetEvent\\"", - "sortText": "100_\\"GreetEvent\\"", - "textEdit": Object { - "newText": "\\"GreetEvent\\"", - "range": Object { - "end": Object { + "label": ""GreetEvent"", + "sortText": "100_"GreetEvent"", + "textEdit": { + "newText": ""GreetEvent"", + "range": { + "end": { "character": 26, "line": 9, }, - "start": Object { + "start": { "character": 26, "line": 9, }, @@ -21128,22 +21128,22 @@ Array [ exports[`SWF LS JSON code completion eventRefs completion add into empty array 1`] = `1`; exports[`SWF LS JSON code completion eventRefs completion add into empty array 2`] = ` -Array [ - Object { - "detail": "\\"GreetEvent\\"", - "filterText": "\\"GreetEvent\\"", +[ + { + "detail": ""GreetEvent"", + "filterText": ""GreetEvent"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetEvent\\"", - "sortText": "100_\\"GreetEvent\\"", - "textEdit": Object { - "newText": "\\"GreetEvent\\"", - "range": Object { - "end": Object { + "label": ""GreetEvent"", + "sortText": "100_"GreetEvent"", + "textEdit": { + "newText": ""GreetEvent"", + "range": { + "end": { "character": 22, "line": 9, }, - "start": Object { + "start": { "character": 22, "line": 9, }, @@ -21155,35 +21155,35 @@ Array [ exports[`SWF LS JSON code completion eventRefs completion pointing after the array 1`] = `0`; -exports[`SWF LS JSON code completion eventRefs completion pointing after the array 2`] = `Array []`; +exports[`SWF LS JSON code completion eventRefs completion pointing after the array 2`] = `[]`; exports[`SWF LS JSON code completion eventRefs completion pointing before the array 1`] = `0`; -exports[`SWF LS JSON code completion eventRefs completion pointing before the array 2`] = `Array []`; +exports[`SWF LS JSON code completion eventRefs completion pointing before the array 2`] = `[]`; exports[`SWF LS JSON code completion eventRefs completion pointing before the array 3`] = `0`; -exports[`SWF LS JSON code completion eventRefs completion pointing before the array 4`] = `Array []`; +exports[`SWF LS JSON code completion eventRefs completion pointing before the array 4`] = `[]`; exports[`SWF LS JSON code completion eventRefs completion pointing inside an object of the array 1`] = `1`; exports[`SWF LS JSON code completion eventRefs completion pointing inside an object of the array 2`] = ` -Array [ - Object { - "detail": "\\"GreetEvent\\"", - "filterText": "\\"GreetEvent\\"", +[ + { + "detail": ""GreetEvent"", + "filterText": ""GreetEvent"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetEvent\\"", - "sortText": "100_\\"GreetEvent\\"", - "textEdit": Object { - "newText": "\\"GreetEvent\\"", - "range": Object { - "end": Object { + "label": ""GreetEvent"", + "sortText": "100_"GreetEvent"", + "textEdit": { + "newText": ""GreetEvent"", + "range": { + "end": { "character": 25, "line": 9, }, - "start": Object { + "start": { "character": 23, "line": 9, }, @@ -21196,28 +21196,28 @@ Array [ exports[`SWF LS JSON code completion events completion add at the beginning of the array 1`] = `1`; exports[`SWF LS JSON code completion events completion add at the beginning of the array 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new event", "filterText": "New event", "insertTextFormat": 2, "kind": 8, "label": "New event", "sortText": "100_New event", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique event name}\\", - \\"source\\": \\"\${2:CloudEvent source}\\", - \\"type\\": \\"\${3:CloudEvent type}\\", - \\"kind\\": \\"\${4:Eventdef kind}\\", - \\"metadata\\": \\"\${5:Eventdef metdata}\\" + "name": "\${1:Unique event name}", + "source": "\${2:CloudEvent source}", + "type": "\${3:CloudEvent type}", + "kind": "\${4:Eventdef kind}", + "metadata": "\${5:Eventdef metdata}" },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 0, }, - "start": Object { + "start": { "character": 13, "line": 0, }, @@ -21230,28 +21230,28 @@ Array [ exports[`SWF LS JSON code completion events completion add at the end of the array 1`] = `1`; exports[`SWF LS JSON code completion events completion add at the end of the array 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new event", "filterText": "New event", "insertTextFormat": 2, "kind": 8, "label": "New event", "sortText": "100_New event", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique event name}\\", - \\"source\\": \\"\${2:CloudEvent source}\\", - \\"type\\": \\"\${3:CloudEvent type}\\", - \\"kind\\": \\"\${4:Eventdef kind}\\", - \\"metadata\\": \\"\${5:Eventdef metdata}\\" + "name": "\${1:Unique event name}", + "source": "\${2:CloudEvent source}", + "type": "\${3:CloudEvent type}", + "kind": "\${4:Eventdef kind}", + "metadata": "\${5:Eventdef metdata}" }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, @@ -21264,28 +21264,28 @@ Array [ exports[`SWF LS JSON code completion events completion add in the middle of the array / with comma at the end 1`] = `1`; exports[`SWF LS JSON code completion events completion add in the middle of the array / with comma at the end 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new event", "filterText": "New event", "insertTextFormat": 2, "kind": 8, "label": "New event", "sortText": "100_New event", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique event name}\\", - \\"source\\": \\"\${2:CloudEvent source}\\", - \\"type\\": \\"\${3:CloudEvent type}\\", - \\"kind\\": \\"\${4:Eventdef kind}\\", - \\"metadata\\": \\"\${5:Eventdef metdata}\\" + "name": "\${1:Unique event name}", + "source": "\${2:CloudEvent source}", + "type": "\${3:CloudEvent type}", + "kind": "\${4:Eventdef kind}", + "metadata": "\${5:Eventdef metdata}" }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, @@ -21298,28 +21298,28 @@ Array [ exports[`SWF LS JSON code completion events completion add in the middle of the array 1`] = `1`; exports[`SWF LS JSON code completion events completion add in the middle of the array 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new event", "filterText": "New event", "insertTextFormat": 2, "kind": 8, "label": "New event", "sortText": "100_New event", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique event name}\\", - \\"source\\": \\"\${2:CloudEvent source}\\", - \\"type\\": \\"\${3:CloudEvent type}\\", - \\"kind\\": \\"\${4:Eventdef kind}\\", - \\"metadata\\": \\"\${5:Eventdef metdata}\\" + "name": "\${1:Unique event name}", + "source": "\${2:CloudEvent source}", + "type": "\${3:CloudEvent type}", + "kind": "\${4:Eventdef kind}", + "metadata": "\${5:Eventdef metdata}" },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, @@ -21332,28 +21332,28 @@ Array [ exports[`SWF LS JSON code completion events completion add into empty array 1`] = `1`; exports[`SWF LS JSON code completion events completion add into empty array 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new event", "filterText": "New event", "insertTextFormat": 2, "kind": 8, "label": "New event", "sortText": "100_New event", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique event name}\\", - \\"source\\": \\"\${2:CloudEvent source}\\", - \\"type\\": \\"\${3:CloudEvent type}\\", - \\"kind\\": \\"\${4:Eventdef kind}\\", - \\"metadata\\": \\"\${5:Eventdef metdata}\\" + "name": "\${1:Unique event name}", + "source": "\${2:CloudEvent source}", + "type": "\${3:CloudEvent type}", + "kind": "\${4:Eventdef kind}", + "metadata": "\${5:Eventdef metdata}" }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 0, }, - "start": Object { + "start": { "character": 13, "line": 0, }, @@ -21365,43 +21365,43 @@ Array [ exports[`SWF LS JSON code completion events completion pointing after the array 1`] = `0`; -exports[`SWF LS JSON code completion events completion pointing after the array 2`] = `Array []`; +exports[`SWF LS JSON code completion events completion pointing after the array 2`] = `[]`; exports[`SWF LS JSON code completion events completion pointing before the array 1`] = `0`; -exports[`SWF LS JSON code completion events completion pointing before the array 2`] = `Array []`; +exports[`SWF LS JSON code completion events completion pointing before the array 2`] = `[]`; exports[`SWF LS JSON code completion events completion pointing before the array 3`] = `0`; -exports[`SWF LS JSON code completion events completion pointing before the array 4`] = `Array []`; +exports[`SWF LS JSON code completion events completion pointing before the array 4`] = `[]`; exports[`SWF LS JSON code completion events completion pointing inside an object of the array 1`] = `0`; -exports[`SWF LS JSON code completion events completion pointing inside an object of the array 2`] = `Array []`; +exports[`SWF LS JSON code completion events completion pointing inside an object of the array 2`] = `[]`; exports[`SWF LS JSON code completion functionRef arguments completion with same level content after 1`] = `1`; exports[`SWF LS JSON code completion functionRef arguments completion with same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "specs/testRelativeService1.yml#testRelativeFunction1", "filterText": "'testRelativeFunction1' arguments", "insertTextFormat": 2, "kind": 9, "label": "'testRelativeFunction1' arguments", "sortText": "100_'testRelativeFunction1' arguments", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"argString\\": \\"\${1:}\\", - \\"argNumber\\": \\"\${2:}\\", - \\"argBoolean\\": \\"\${3:}\\" + "argString": "\${1:}", + "argNumber": "\${2:}", + "argBoolean": "\${3:}" },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 18, }, - "start": Object { + "start": { "character": 25, "line": 18, }, @@ -21414,26 +21414,26 @@ Array [ exports[`SWF LS JSON code completion functionRef arguments completion without same level content after 1`] = `1`; exports[`SWF LS JSON code completion functionRef arguments completion without same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "specs/testRelativeService1.yml#testRelativeFunction1", "filterText": "'testRelativeFunction1' arguments", "insertTextFormat": 2, "kind": 9, "label": "'testRelativeFunction1' arguments", "sortText": "100_'testRelativeFunction1' arguments", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"argString\\": \\"\${1:}\\", - \\"argNumber\\": \\"\${2:}\\", - \\"argBoolean\\": \\"\${3:}\\" + "argString": "\${1:}", + "argNumber": "\${2:}", + "argBoolean": "\${3:}" }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 18, }, - "start": Object { + "start": { "character": 25, "line": 18, }, @@ -21446,29 +21446,29 @@ Array [ exports[`SWF LS JSON code completion functionRef completion with same level content after 1`] = `1`; exports[`SWF LS JSON code completion functionRef completion with same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "specs/testRelativeService1.yml#testRelativeFunction1", "filterText": "testRelativeFunction1", "insertTextFormat": 2, "kind": 9, "label": "testRelativeFunction1", "sortText": "100_testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"refName\\": \\"testRelativeFunction1\\", - \\"arguments\\": { - \\"argString\\": \\"\${1:}\\", - \\"argNumber\\": \\"\${2:}\\", - \\"argBoolean\\": \\"\${3:}\\" + "refName": "testRelativeFunction1", + "arguments": { + "argString": "\${1:}", + "argNumber": "\${2:}", + "argBoolean": "\${3:}" } },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, @@ -21481,29 +21481,29 @@ Array [ exports[`SWF LS JSON code completion functionRef completion without same level content after 1`] = `1`; exports[`SWF LS JSON code completion functionRef completion without same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "specs/testRelativeService1.yml#testRelativeFunction1", "filterText": "testRelativeFunction1", "insertTextFormat": 2, "kind": 9, "label": "testRelativeFunction1", "sortText": "100_testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"refName\\": \\"testRelativeFunction1\\", - \\"arguments\\": { - \\"argString\\": \\"\${1:}\\", - \\"argNumber\\": \\"\${2:}\\", - \\"argBoolean\\": \\"\${3:}\\" + "refName": "testRelativeFunction1", + "arguments": { + "argString": "\${1:}", + "argNumber": "\${2:}", + "argBoolean": "\${3:}" } }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, @@ -21516,22 +21516,22 @@ Array [ exports[`SWF LS JSON code completion functionRef refName completion inside double quotes / with same level content after 1`] = `1`; exports[`SWF LS JSON code completion functionRef refName completion inside double quotes / with same level content after 2`] = ` -Array [ - Object { - "detail": "\\"myFunc\\"", - "filterText": "\\"myFunc\\"", +[ + { + "detail": ""myFunc"", + "filterText": ""myFunc"", "insertTextFormat": 2, "kind": 12, - "label": "\\"myFunc\\"", - "sortText": "100_\\"myFunc\\"", - "textEdit": Object { - "newText": "\\"myFunc\\",", - "range": Object { - "end": Object { + "label": ""myFunc"", + "sortText": "100_"myFunc"", + "textEdit": { + "newText": ""myFunc",", + "range": { + "end": { "character": 23, "line": 17, }, - "start": Object { + "start": { "character": 23, "line": 17, }, @@ -21544,22 +21544,22 @@ Array [ exports[`SWF LS JSON code completion functionRef refName completion inside double quotes / without same level content after 1`] = `1`; exports[`SWF LS JSON code completion functionRef refName completion inside double quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"myFunc\\"", - "filterText": "\\"myFunc\\"", +[ + { + "detail": ""myFunc"", + "filterText": ""myFunc"", "insertTextFormat": 2, "kind": 12, - "label": "\\"myFunc\\"", - "sortText": "100_\\"myFunc\\"", - "textEdit": Object { - "newText": "\\"myFunc\\"", - "range": Object { - "end": Object { + "label": ""myFunc"", + "sortText": "100_"myFunc"", + "textEdit": { + "newText": ""myFunc"", + "range": { + "end": { "character": 23, "line": 17, }, - "start": Object { + "start": { "character": 23, "line": 17, }, @@ -21572,22 +21572,22 @@ Array [ exports[`SWF LS JSON code completion functionRef refName completion not in quotes / with same level content after 1`] = `1`; exports[`SWF LS JSON code completion functionRef refName completion not in quotes / with same level content after 2`] = ` -Array [ - Object { - "detail": "\\"myFunc\\"", - "filterText": "\\"myFunc\\"", +[ + { + "detail": ""myFunc"", + "filterText": ""myFunc"", "insertTextFormat": 2, "kind": 12, - "label": "\\"myFunc\\"", - "sortText": "100_\\"myFunc\\"", - "textEdit": Object { - "newText": "\\"myFunc\\",", - "range": Object { - "end": Object { + "label": ""myFunc"", + "sortText": "100_"myFunc"", + "textEdit": { + "newText": ""myFunc",", + "range": { + "end": { "character": 23, "line": 17, }, - "start": Object { + "start": { "character": 23, "line": 17, }, @@ -21600,22 +21600,22 @@ Array [ exports[`SWF LS JSON code completion functionRef refName completion not in quotes / without same level content after 1`] = `1`; exports[`SWF LS JSON code completion functionRef refName completion not in quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"myFunc\\"", - "filterText": "\\"myFunc\\"", +[ + { + "detail": ""myFunc"", + "filterText": ""myFunc"", "insertTextFormat": 2, "kind": 12, - "label": "\\"myFunc\\"", - "sortText": "100_\\"myFunc\\"", - "textEdit": Object { - "newText": "\\"myFunc\\"", - "range": Object { - "end": Object { + "label": ""myFunc"", + "sortText": "100_"myFunc"", + "textEdit": { + "newText": ""myFunc"", + "range": { + "end": { "character": 23, "line": 17, }, - "start": Object { + "start": { "character": 23, "line": 17, }, @@ -21628,23 +21628,23 @@ Array [ exports[`SWF LS JSON code completion functions completion add at the beginning of the array 1`] = `2`; exports[`SWF LS JSON code completion functions completion add at the beginning of the array 2`] = ` -Array [ - Object { - "command": Object { - "arguments": Array [ - Object { - "containingService": Object { - "events": Array [], - "functions": Array [ - Object { - "arguments": Object { +[ + { + "command": { + "arguments": [ + { + "containingService": { + "events": [], + "functions": [ + { + "arguments": { "argBoolean": "boolean", "argNumber": "number", "argString": "string", }, "name": "testRelativeFunction1", "operation": "specs/testRelativeService1.yml#testRelativeFunction1", - "source": Object { + "source": { "serviceFileAbsolutePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -21653,7 +21653,7 @@ Array [ ], "name": "testRelativeService1", "rawContent": "", - "source": Object { + "source": { "absoluteFilePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -21671,43 +21671,43 @@ Array [ "kind": 18, "label": "specs»testRelativeService1.yml#testRelativeFunction1", "sortText": "100_specs»testRelativeService1.yml#testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:testRelativeFunction1}\\", - \\"operation\\": \\"specs/testRelativeService1.yml#testRelativeFunction1\\", - \\"type\\": \\"rest\\" + "name": "\${1:testRelativeFunction1}", + "operation": "specs/testRelativeService1.yml#testRelativeFunction1", + "type": "rest" },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 16, "line": 0, }, - "start": Object { + "start": { "character": 16, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new function", "filterText": "New function", "insertTextFormat": 2, "kind": 8, "label": "New function", "sortText": "100_New function", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique function name}\\", - \\"operation\\": \\"\${2:localhost#operation}\\", - \\"type\\": \\"\${3:Function type}\\" + "name": "\${1:Unique function name}", + "operation": "\${2:localhost#operation}", + "type": "\${3:Function type}" },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 16, "line": 0, }, - "start": Object { + "start": { "character": 16, "line": 0, }, @@ -21720,23 +21720,23 @@ Array [ exports[`SWF LS JSON code completion functions completion add at the end of the array 1`] = `2`; exports[`SWF LS JSON code completion functions completion add at the end of the array 2`] = ` -Array [ - Object { - "command": Object { - "arguments": Array [ - Object { - "containingService": Object { - "events": Array [], - "functions": Array [ - Object { - "arguments": Object { +[ + { + "command": { + "arguments": [ + { + "containingService": { + "events": [], + "functions": [ + { + "arguments": { "argBoolean": "boolean", "argNumber": "number", "argString": "string", }, "name": "testRelativeFunction1", "operation": "specs/testRelativeService1.yml#testRelativeFunction1", - "source": Object { + "source": { "serviceFileAbsolutePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -21745,7 +21745,7 @@ Array [ ], "name": "testRelativeService1", "rawContent": "", - "source": Object { + "source": { "absoluteFilePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -21763,43 +21763,43 @@ Array [ "kind": 18, "label": "specs»testRelativeService1.yml#testRelativeFunction1", "sortText": "100_specs»testRelativeService1.yml#testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:testRelativeFunction1}\\", - \\"operation\\": \\"specs/testRelativeService1.yml#testRelativeFunction1\\", - \\"type\\": \\"rest\\" + "name": "\${1:testRelativeFunction1}", + "operation": "specs/testRelativeService1.yml#testRelativeFunction1", + "type": "rest" }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 20, "line": 0, }, - "start": Object { + "start": { "character": 20, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new function", "filterText": "New function", "insertTextFormat": 2, "kind": 8, "label": "New function", "sortText": "100_New function", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique function name}\\", - \\"operation\\": \\"\${2:localhost#operation}\\", - \\"type\\": \\"\${3:Function type}\\" + "name": "\${1:Unique function name}", + "operation": "\${2:localhost#operation}", + "type": "\${3:Function type}" }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 20, "line": 0, }, - "start": Object { + "start": { "character": 20, "line": 0, }, @@ -21812,23 +21812,23 @@ Array [ exports[`SWF LS JSON code completion functions completion add in the middle of the array / with comma at the end 1`] = `2`; exports[`SWF LS JSON code completion functions completion add in the middle of the array / with comma at the end 2`] = ` -Array [ - Object { - "command": Object { - "arguments": Array [ - Object { - "containingService": Object { - "events": Array [], - "functions": Array [ - Object { - "arguments": Object { +[ + { + "command": { + "arguments": [ + { + "containingService": { + "events": [], + "functions": [ + { + "arguments": { "argBoolean": "boolean", "argNumber": "number", "argString": "string", }, "name": "testRelativeFunction1", "operation": "specs/testRelativeService1.yml#testRelativeFunction1", - "source": Object { + "source": { "serviceFileAbsolutePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -21837,7 +21837,7 @@ Array [ ], "name": "testRelativeService1", "rawContent": "", - "source": Object { + "source": { "absoluteFilePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -21855,43 +21855,43 @@ Array [ "kind": 18, "label": "specs»testRelativeService1.yml#testRelativeFunction1", "sortText": "100_specs»testRelativeService1.yml#testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:testRelativeFunction1}\\", - \\"operation\\": \\"specs/testRelativeService1.yml#testRelativeFunction1\\", - \\"type\\": \\"rest\\" + "name": "\${1:testRelativeFunction1}", + "operation": "specs/testRelativeService1.yml#testRelativeFunction1", + "type": "rest" }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 20, "line": 0, }, - "start": Object { + "start": { "character": 20, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new function", "filterText": "New function", "insertTextFormat": 2, "kind": 8, "label": "New function", "sortText": "100_New function", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique function name}\\", - \\"operation\\": \\"\${2:localhost#operation}\\", - \\"type\\": \\"\${3:Function type}\\" + "name": "\${1:Unique function name}", + "operation": "\${2:localhost#operation}", + "type": "\${3:Function type}" }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 20, "line": 0, }, - "start": Object { + "start": { "character": 20, "line": 0, }, @@ -21904,23 +21904,23 @@ Array [ exports[`SWF LS JSON code completion functions completion add in the middle of the array 1`] = `2`; exports[`SWF LS JSON code completion functions completion add in the middle of the array 2`] = ` -Array [ - Object { - "command": Object { - "arguments": Array [ - Object { - "containingService": Object { - "events": Array [], - "functions": Array [ - Object { - "arguments": Object { +[ + { + "command": { + "arguments": [ + { + "containingService": { + "events": [], + "functions": [ + { + "arguments": { "argBoolean": "boolean", "argNumber": "number", "argString": "string", }, "name": "testRelativeFunction1", "operation": "specs/testRelativeService1.yml#testRelativeFunction1", - "source": Object { + "source": { "serviceFileAbsolutePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -21929,7 +21929,7 @@ Array [ ], "name": "testRelativeService1", "rawContent": "", - "source": Object { + "source": { "absoluteFilePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -21947,43 +21947,43 @@ Array [ "kind": 18, "label": "specs»testRelativeService1.yml#testRelativeFunction1", "sortText": "100_specs»testRelativeService1.yml#testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:testRelativeFunction1}\\", - \\"operation\\": \\"specs/testRelativeService1.yml#testRelativeFunction1\\", - \\"type\\": \\"rest\\" + "name": "\${1:testRelativeFunction1}", + "operation": "specs/testRelativeService1.yml#testRelativeFunction1", + "type": "rest" },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 20, "line": 0, }, - "start": Object { + "start": { "character": 20, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new function", "filterText": "New function", "insertTextFormat": 2, "kind": 8, "label": "New function", "sortText": "100_New function", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique function name}\\", - \\"operation\\": \\"\${2:localhost#operation}\\", - \\"type\\": \\"\${3:Function type}\\" + "name": "\${1:Unique function name}", + "operation": "\${2:localhost#operation}", + "type": "\${3:Function type}" },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 20, "line": 0, }, - "start": Object { + "start": { "character": 20, "line": 0, }, @@ -21996,23 +21996,23 @@ Array [ exports[`SWF LS JSON code completion functions completion add into empty array 1`] = `2`; exports[`SWF LS JSON code completion functions completion add into empty array 2`] = ` -Array [ - Object { - "command": Object { - "arguments": Array [ - Object { - "containingService": Object { - "events": Array [], - "functions": Array [ - Object { - "arguments": Object { +[ + { + "command": { + "arguments": [ + { + "containingService": { + "events": [], + "functions": [ + { + "arguments": { "argBoolean": "boolean", "argNumber": "number", "argString": "string", }, "name": "testRelativeFunction1", "operation": "specs/testRelativeService1.yml#testRelativeFunction1", - "source": Object { + "source": { "serviceFileAbsolutePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -22021,7 +22021,7 @@ Array [ ], "name": "testRelativeService1", "rawContent": "", - "source": Object { + "source": { "absoluteFilePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -22039,43 +22039,43 @@ Array [ "kind": 18, "label": "specs»testRelativeService1.yml#testRelativeFunction1", "sortText": "100_specs»testRelativeService1.yml#testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:testRelativeFunction1}\\", - \\"operation\\": \\"specs/testRelativeService1.yml#testRelativeFunction1\\", - \\"type\\": \\"rest\\" + "name": "\${1:testRelativeFunction1}", + "operation": "specs/testRelativeService1.yml#testRelativeFunction1", + "type": "rest" }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 16, "line": 0, }, - "start": Object { + "start": { "character": 16, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new function", "filterText": "New function", "insertTextFormat": 2, "kind": 8, "label": "New function", "sortText": "100_New function", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique function name}\\", - \\"operation\\": \\"\${2:localhost#operation}\\", - \\"type\\": \\"\${3:Function type}\\" + "name": "\${1:Unique function name}", + "operation": "\${2:localhost#operation}", + "type": "\${3:Function type}" }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 16, "line": 0, }, - "start": Object { + "start": { "character": 16, "line": 0, }, @@ -22087,39 +22087,39 @@ Array [ exports[`SWF LS JSON code completion functions completion pointing after the array 1`] = `0`; -exports[`SWF LS JSON code completion functions completion pointing after the array 2`] = `Array []`; +exports[`SWF LS JSON code completion functions completion pointing after the array 2`] = `[]`; exports[`SWF LS JSON code completion functions completion pointing before the array 1`] = `0`; -exports[`SWF LS JSON code completion functions completion pointing before the array 2`] = `Array []`; +exports[`SWF LS JSON code completion functions completion pointing before the array 2`] = `[]`; exports[`SWF LS JSON code completion functions completion pointing before the array 3`] = `0`; -exports[`SWF LS JSON code completion functions completion pointing before the array 4`] = `Array []`; +exports[`SWF LS JSON code completion functions completion pointing before the array 4`] = `[]`; exports[`SWF LS JSON code completion functions completion pointing inside an object of the array 1`] = `0`; -exports[`SWF LS JSON code completion functions completion pointing inside an object of the array 2`] = `Array []`; +exports[`SWF LS JSON code completion functions completion pointing inside an object of the array 2`] = `[]`; exports[`SWF LS JSON code completion operation completion inside double quotes / with same level content after 1`] = `1`; exports[`SWF LS JSON code completion operation completion inside double quotes / with same level content after 2`] = ` -Array [ - Object { - "detail": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "filterText": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", +[ + { + "detail": ""specs/testRelativeService1.yml#testRelativeFunction1"", + "filterText": ""specs/testRelativeService1.yml#testRelativeFunction1"", "insertTextFormat": 2, "kind": 19, - "label": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "sortText": "100_\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "textEdit": Object { - "newText": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\",", - "range": Object { - "end": Object { + "label": ""specs/testRelativeService1.yml#testRelativeFunction1"", + "sortText": "100_"specs/testRelativeService1.yml#testRelativeFunction1"", + "textEdit": { + "newText": ""specs/testRelativeService1.yml#testRelativeFunction1",", + "range": { + "end": { "character": 21, "line": 4, }, - "start": Object { + "start": { "character": 19, "line": 4, }, @@ -22132,22 +22132,22 @@ Array [ exports[`SWF LS JSON code completion operation completion inside double quotes / without same level content after 1`] = `1`; exports[`SWF LS JSON code completion operation completion inside double quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "filterText": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", +[ + { + "detail": ""specs/testRelativeService1.yml#testRelativeFunction1"", + "filterText": ""specs/testRelativeService1.yml#testRelativeFunction1"", "insertTextFormat": 2, "kind": 19, - "label": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "sortText": "100_\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "textEdit": Object { - "newText": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "range": Object { - "end": Object { + "label": ""specs/testRelativeService1.yml#testRelativeFunction1"", + "sortText": "100_"specs/testRelativeService1.yml#testRelativeFunction1"", + "textEdit": { + "newText": ""specs/testRelativeService1.yml#testRelativeFunction1"", + "range": { + "end": { "character": 21, "line": 4, }, - "start": Object { + "start": { "character": 19, "line": 4, }, @@ -22160,22 +22160,22 @@ Array [ exports[`SWF LS JSON code completion operation completion not in quotes / with same level content after 1`] = `1`; exports[`SWF LS JSON code completion operation completion not in quotes / with same level content after 2`] = ` -Array [ - Object { - "detail": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "filterText": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", +[ + { + "detail": ""specs/testRelativeService1.yml#testRelativeFunction1"", + "filterText": ""specs/testRelativeService1.yml#testRelativeFunction1"", "insertTextFormat": 2, "kind": 19, - "label": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "sortText": "100_\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "textEdit": Object { - "newText": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\",", - "range": Object { - "end": Object { + "label": ""specs/testRelativeService1.yml#testRelativeFunction1"", + "sortText": "100_"specs/testRelativeService1.yml#testRelativeFunction1"", + "textEdit": { + "newText": ""specs/testRelativeService1.yml#testRelativeFunction1",", + "range": { + "end": { "character": 19, "line": 4, }, - "start": Object { + "start": { "character": 19, "line": 4, }, @@ -22188,22 +22188,22 @@ Array [ exports[`SWF LS JSON code completion operation completion not in quotes / without same level content after 1`] = `1`; exports[`SWF LS JSON code completion operation completion not in quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "filterText": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", +[ + { + "detail": ""specs/testRelativeService1.yml#testRelativeFunction1"", + "filterText": ""specs/testRelativeService1.yml#testRelativeFunction1"", "insertTextFormat": 2, "kind": 19, - "label": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "sortText": "100_\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "textEdit": Object { - "newText": "\\"specs/testRelativeService1.yml#testRelativeFunction1\\"", - "range": Object { - "end": Object { + "label": ""specs/testRelativeService1.yml#testRelativeFunction1"", + "sortText": "100_"specs/testRelativeService1.yml#testRelativeFunction1"", + "textEdit": { + "newText": ""specs/testRelativeService1.yml#testRelativeFunction1"", + "range": { + "end": { "character": 19, "line": 4, }, - "start": Object { + "start": { "character": 19, "line": 4, }, @@ -22216,43 +22216,43 @@ Array [ exports[`SWF LS JSON code completion start completion inside double quotes / with same level content after / with comma at the end 1`] = `2`; exports[`SWF LS JSON code completion start completion inside double quotes / with same level content after / with comma at the end 2`] = ` -Array [ - Object { - "detail": "\\"GreetInEnglish\\"", - "filterText": "\\"GreetInEnglish\\"", +[ + { + "detail": ""GreetInEnglish"", + "filterText": ""GreetInEnglish"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetInEnglish\\"", - "sortText": "100_\\"GreetInEnglish\\"", - "textEdit": Object { - "newText": "\\"GreetInEnglish\\"", - "range": Object { - "end": Object { + "label": ""GreetInEnglish"", + "sortText": "100_"GreetInEnglish"", + "textEdit": { + "newText": ""GreetInEnglish"", + "range": { + "end": { "character": 13, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, }, }, }, - Object { - "detail": "\\"GreetInSpanish\\"", - "filterText": "\\"GreetInSpanish\\"", + { + "detail": ""GreetInSpanish"", + "filterText": ""GreetInSpanish"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetInSpanish\\"", - "sortText": "100_\\"GreetInSpanish\\"", - "textEdit": Object { - "newText": "\\"GreetInSpanish\\"", - "range": Object { - "end": Object { + "label": ""GreetInSpanish"", + "sortText": "100_"GreetInSpanish"", + "textEdit": { + "newText": ""GreetInSpanish"", + "range": { + "end": { "character": 13, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, @@ -22265,43 +22265,43 @@ Array [ exports[`SWF LS JSON code completion start completion inside double quotes / with same level content after / with spaces and comma at the end 1`] = `2`; exports[`SWF LS JSON code completion start completion inside double quotes / with same level content after / with spaces and comma at the end 2`] = ` -Array [ - Object { - "detail": "\\"GreetInEnglish\\"", - "filterText": "\\"GreetInEnglish\\"", +[ + { + "detail": ""GreetInEnglish"", + "filterText": ""GreetInEnglish"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetInEnglish\\"", - "sortText": "100_\\"GreetInEnglish\\"", - "textEdit": Object { - "newText": "\\"GreetInEnglish\\"", - "range": Object { - "end": Object { + "label": ""GreetInEnglish"", + "sortText": "100_"GreetInEnglish"", + "textEdit": { + "newText": ""GreetInEnglish"", + "range": { + "end": { "character": 13, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, }, }, }, - Object { - "detail": "\\"GreetInSpanish\\"", - "filterText": "\\"GreetInSpanish\\"", + { + "detail": ""GreetInSpanish"", + "filterText": ""GreetInSpanish"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetInSpanish\\"", - "sortText": "100_\\"GreetInSpanish\\"", - "textEdit": Object { - "newText": "\\"GreetInSpanish\\"", - "range": Object { - "end": Object { + "label": ""GreetInSpanish"", + "sortText": "100_"GreetInSpanish"", + "textEdit": { + "newText": ""GreetInSpanish"", + "range": { + "end": { "character": 13, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, @@ -22314,43 +22314,43 @@ Array [ exports[`SWF LS JSON code completion start completion inside double quotes / with same level content after 1`] = `2`; exports[`SWF LS JSON code completion start completion inside double quotes / with same level content after 2`] = ` -Array [ - Object { - "detail": "\\"GreetInEnglish\\"", - "filterText": "\\"GreetInEnglish\\"", +[ + { + "detail": ""GreetInEnglish"", + "filterText": ""GreetInEnglish"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetInEnglish\\"", - "sortText": "100_\\"GreetInEnglish\\"", - "textEdit": Object { - "newText": "\\"GreetInEnglish\\",", - "range": Object { - "end": Object { + "label": ""GreetInEnglish"", + "sortText": "100_"GreetInEnglish"", + "textEdit": { + "newText": ""GreetInEnglish",", + "range": { + "end": { "character": 13, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, }, }, }, - Object { - "detail": "\\"GreetInSpanish\\"", - "filterText": "\\"GreetInSpanish\\"", + { + "detail": ""GreetInSpanish"", + "filterText": ""GreetInSpanish"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetInSpanish\\"", - "sortText": "100_\\"GreetInSpanish\\"", - "textEdit": Object { - "newText": "\\"GreetInSpanish\\",", - "range": Object { - "end": Object { + "label": ""GreetInSpanish"", + "sortText": "100_"GreetInSpanish"", + "textEdit": { + "newText": ""GreetInSpanish",", + "range": { + "end": { "character": 13, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, @@ -22363,43 +22363,43 @@ Array [ exports[`SWF LS JSON code completion start completion inside double quotes / without same level content after 1`] = `2`; exports[`SWF LS JSON code completion start completion inside double quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"GreetInEnglish\\"", - "filterText": "\\"GreetInEnglish\\"", +[ + { + "detail": ""GreetInEnglish"", + "filterText": ""GreetInEnglish"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetInEnglish\\"", - "sortText": "100_\\"GreetInEnglish\\"", - "textEdit": Object { - "newText": "\\"GreetInEnglish\\"", - "range": Object { - "end": Object { + "label": ""GreetInEnglish"", + "sortText": "100_"GreetInEnglish"", + "textEdit": { + "newText": ""GreetInEnglish"", + "range": { + "end": { "character": 13, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, }, }, }, - Object { - "detail": "\\"GreetInSpanish\\"", - "filterText": "\\"GreetInSpanish\\"", + { + "detail": ""GreetInSpanish"", + "filterText": ""GreetInSpanish"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetInSpanish\\"", - "sortText": "100_\\"GreetInSpanish\\"", - "textEdit": Object { - "newText": "\\"GreetInSpanish\\"", - "range": Object { - "end": Object { + "label": ""GreetInSpanish"", + "sortText": "100_"GreetInSpanish"", + "textEdit": { + "newText": ""GreetInSpanish"", + "range": { + "end": { "character": 13, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, @@ -22412,43 +22412,43 @@ Array [ exports[`SWF LS JSON code completion start completion not in quotes / with same level content after 1`] = `2`; exports[`SWF LS JSON code completion start completion not in quotes / with same level content after 2`] = ` -Array [ - Object { - "detail": "\\"GreetInEnglish\\"", - "filterText": "\\"GreetInEnglish\\"", +[ + { + "detail": ""GreetInEnglish"", + "filterText": ""GreetInEnglish"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetInEnglish\\"", - "sortText": "100_\\"GreetInEnglish\\"", - "textEdit": Object { - "newText": "\\"GreetInEnglish\\",", - "range": Object { - "end": Object { + "label": ""GreetInEnglish"", + "sortText": "100_"GreetInEnglish"", + "textEdit": { + "newText": ""GreetInEnglish",", + "range": { + "end": { "character": 11, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, }, }, }, - Object { - "detail": "\\"GreetInSpanish\\"", - "filterText": "\\"GreetInSpanish\\"", + { + "detail": ""GreetInSpanish"", + "filterText": ""GreetInSpanish"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetInSpanish\\"", - "sortText": "100_\\"GreetInSpanish\\"", - "textEdit": Object { - "newText": "\\"GreetInSpanish\\",", - "range": Object { - "end": Object { + "label": ""GreetInSpanish"", + "sortText": "100_"GreetInSpanish"", + "textEdit": { + "newText": ""GreetInSpanish",", + "range": { + "end": { "character": 11, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, @@ -22461,43 +22461,43 @@ Array [ exports[`SWF LS JSON code completion start completion not in quotes / without same level content after 1`] = `2`; exports[`SWF LS JSON code completion start completion not in quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"GreetInEnglish\\"", - "filterText": "\\"GreetInEnglish\\"", +[ + { + "detail": ""GreetInEnglish"", + "filterText": ""GreetInEnglish"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetInEnglish\\"", - "sortText": "100_\\"GreetInEnglish\\"", - "textEdit": Object { - "newText": "\\"GreetInEnglish\\"", - "range": Object { - "end": Object { + "label": ""GreetInEnglish"", + "sortText": "100_"GreetInEnglish"", + "textEdit": { + "newText": ""GreetInEnglish"", + "range": { + "end": { "character": 11, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, }, }, }, - Object { - "detail": "\\"GreetInSpanish\\"", - "filterText": "\\"GreetInSpanish\\"", + { + "detail": ""GreetInSpanish"", + "filterText": ""GreetInSpanish"", "insertTextFormat": 2, "kind": 12, - "label": "\\"GreetInSpanish\\"", - "sortText": "100_\\"GreetInSpanish\\"", - "textEdit": Object { - "newText": "\\"GreetInSpanish\\"", - "range": Object { - "end": Object { + "label": ""GreetInSpanish"", + "sortText": "100_"GreetInSpanish"", + "textEdit": { + "newText": ""GreetInSpanish"", + "range": { + "end": { "character": 11, "line": 9, }, - "start": Object { + "start": { "character": 11, "line": 9, }, @@ -22510,126 +22510,126 @@ Array [ exports[`SWF LS JSON code completion states completion add at the beginning of the array 1`] = `4`; exports[`SWF LS JSON code completion states completion add at the beginning of the array 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new operation state", "filterText": "New operation state", "insertTextFormat": 2, "kind": 8, "label": "New operation state", "sortText": "100_New operation state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"operation\\", - \\"actions\\": [ + "name": "\${1:Unique State name}", + "type": "operation", + "actions": [ { - \\"name\\": \\"\${5:Unique Action name}\\", - \\"functionRef\\": {} + "name": "\${5:Unique Action name}", + "functionRef": {} } ], - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "transition": "\${10:Next transition of the workflow}", + "end": false },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 0, }, - "start": Object { + "start": { "character": 13, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new event state", "filterText": "New event state", "insertTextFormat": 2, "kind": 8, "label": "New event state", "sortText": "100_New event state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"event\\", - \\"onEvents\\": [ + "name": "\${1:Unique State name}", + "type": "event", + "onEvents": [ { - \\"eventRefs\\": [ - \\"\${5:Unique event names}\\" + "eventRefs": [ + "\${5:Unique event names}" ] } ], - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "transition": "\${10:Next transition of the workflow}", + "end": false },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 0, }, - "start": Object { + "start": { "character": 13, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new switch state", "filterText": "New switch state", "insertTextFormat": 2, "kind": 8, "label": "New switch state", "sortText": "100_New switch state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"switch\\", - \\"dataConditions\\": [ + "name": "\${1:Unique State name}", + "type": "switch", + "dataConditions": [ { - \\"condition\\": \\"\${5:Workflow expression evaluated against state data}\\", - \\"transition\\": \\"\${6:Transition to another state if condition is true}\\" + "condition": "\${5:Workflow expression evaluated against state data}", + "transition": "\${6:Transition to another state if condition is true}" } ], - \\"defaultCondition\\": { - \\"transition\\": \\"\${7:Default transition of the workflow}\\" + "defaultCondition": { + "transition": "\${7:Default transition of the workflow}" } },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 0, }, - "start": Object { + "start": { "character": 13, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new inject state", "filterText": "New inject state", "insertTextFormat": 2, "kind": 8, "label": "New inject state", "sortText": "100_New inject state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"inject\\", - \\"data\\": {}, - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "name": "\${1:Unique State name}", + "type": "inject", + "data": {}, + "transition": "\${10:Next transition of the workflow}", + "end": false },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 0, }, - "start": Object { + "start": { "character": 13, "line": 0, }, @@ -22642,126 +22642,126 @@ Array [ exports[`SWF LS JSON code completion states completion add at the end of the array 1`] = `4`; exports[`SWF LS JSON code completion states completion add at the end of the array 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new operation state", "filterText": "New operation state", "insertTextFormat": 2, "kind": 8, "label": "New operation state", "sortText": "100_New operation state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"operation\\", - \\"actions\\": [ + "name": "\${1:Unique State name}", + "type": "operation", + "actions": [ { - \\"name\\": \\"\${5:Unique Action name}\\", - \\"functionRef\\": {} + "name": "\${5:Unique Action name}", + "functionRef": {} } ], - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "transition": "\${10:Next transition of the workflow}", + "end": false }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new event state", "filterText": "New event state", "insertTextFormat": 2, "kind": 8, "label": "New event state", "sortText": "100_New event state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"event\\", - \\"onEvents\\": [ + "name": "\${1:Unique State name}", + "type": "event", + "onEvents": [ { - \\"eventRefs\\": [ - \\"\${5:Unique event names}\\" + "eventRefs": [ + "\${5:Unique event names}" ] } ], - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "transition": "\${10:Next transition of the workflow}", + "end": false }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new switch state", "filterText": "New switch state", "insertTextFormat": 2, "kind": 8, "label": "New switch state", "sortText": "100_New switch state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"switch\\", - \\"dataConditions\\": [ + "name": "\${1:Unique State name}", + "type": "switch", + "dataConditions": [ { - \\"condition\\": \\"\${5:Workflow expression evaluated against state data}\\", - \\"transition\\": \\"\${6:Transition to another state if condition is true}\\" + "condition": "\${5:Workflow expression evaluated against state data}", + "transition": "\${6:Transition to another state if condition is true}" } ], - \\"defaultCondition\\": { - \\"transition\\": \\"\${7:Default transition of the workflow}\\" + "defaultCondition": { + "transition": "\${7:Default transition of the workflow}" } }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new inject state", "filterText": "New inject state", "insertTextFormat": 2, "kind": 8, "label": "New inject state", "sortText": "100_New inject state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"inject\\", - \\"data\\": {}, - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "name": "\${1:Unique State name}", + "type": "inject", + "data": {}, + "transition": "\${10:Next transition of the workflow}", + "end": false }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, @@ -22774,126 +22774,126 @@ Array [ exports[`SWF LS JSON code completion states completion add in the middle of the array / with comma at the end 1`] = `4`; exports[`SWF LS JSON code completion states completion add in the middle of the array / with comma at the end 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new operation state", "filterText": "New operation state", "insertTextFormat": 2, "kind": 8, "label": "New operation state", "sortText": "100_New operation state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"operation\\", - \\"actions\\": [ + "name": "\${1:Unique State name}", + "type": "operation", + "actions": [ { - \\"name\\": \\"\${5:Unique Action name}\\", - \\"functionRef\\": {} + "name": "\${5:Unique Action name}", + "functionRef": {} } ], - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "transition": "\${10:Next transition of the workflow}", + "end": false }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new event state", "filterText": "New event state", "insertTextFormat": 2, "kind": 8, "label": "New event state", "sortText": "100_New event state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"event\\", - \\"onEvents\\": [ + "name": "\${1:Unique State name}", + "type": "event", + "onEvents": [ { - \\"eventRefs\\": [ - \\"\${5:Unique event names}\\" + "eventRefs": [ + "\${5:Unique event names}" ] } ], - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "transition": "\${10:Next transition of the workflow}", + "end": false }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new switch state", "filterText": "New switch state", "insertTextFormat": 2, "kind": 8, "label": "New switch state", "sortText": "100_New switch state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"switch\\", - \\"dataConditions\\": [ + "name": "\${1:Unique State name}", + "type": "switch", + "dataConditions": [ { - \\"condition\\": \\"\${5:Workflow expression evaluated against state data}\\", - \\"transition\\": \\"\${6:Transition to another state if condition is true}\\" + "condition": "\${5:Workflow expression evaluated against state data}", + "transition": "\${6:Transition to another state if condition is true}" } ], - \\"defaultCondition\\": { - \\"transition\\": \\"\${7:Default transition of the workflow}\\" + "defaultCondition": { + "transition": "\${7:Default transition of the workflow}" } }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new inject state", "filterText": "New inject state", "insertTextFormat": 2, "kind": 8, "label": "New inject state", "sortText": "100_New inject state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"inject\\", - \\"data\\": {}, - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "name": "\${1:Unique State name}", + "type": "inject", + "data": {}, + "transition": "\${10:Next transition of the workflow}", + "end": false }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, @@ -22906,126 +22906,126 @@ Array [ exports[`SWF LS JSON code completion states completion add in the middle of the array 1`] = `4`; exports[`SWF LS JSON code completion states completion add in the middle of the array 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new operation state", "filterText": "New operation state", "insertTextFormat": 2, "kind": 8, "label": "New operation state", "sortText": "100_New operation state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"operation\\", - \\"actions\\": [ + "name": "\${1:Unique State name}", + "type": "operation", + "actions": [ { - \\"name\\": \\"\${5:Unique Action name}\\", - \\"functionRef\\": {} + "name": "\${5:Unique Action name}", + "functionRef": {} } ], - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "transition": "\${10:Next transition of the workflow}", + "end": false },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new event state", "filterText": "New event state", "insertTextFormat": 2, "kind": 8, "label": "New event state", "sortText": "100_New event state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"event\\", - \\"onEvents\\": [ + "name": "\${1:Unique State name}", + "type": "event", + "onEvents": [ { - \\"eventRefs\\": [ - \\"\${5:Unique event names}\\" + "eventRefs": [ + "\${5:Unique event names}" ] } ], - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "transition": "\${10:Next transition of the workflow}", + "end": false },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new switch state", "filterText": "New switch state", "insertTextFormat": 2, "kind": 8, "label": "New switch state", "sortText": "100_New switch state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"switch\\", - \\"dataConditions\\": [ + "name": "\${1:Unique State name}", + "type": "switch", + "dataConditions": [ { - \\"condition\\": \\"\${5:Workflow expression evaluated against state data}\\", - \\"transition\\": \\"\${6:Transition to another state if condition is true}\\" + "condition": "\${5:Workflow expression evaluated against state data}", + "transition": "\${6:Transition to another state if condition is true}" } ], - \\"defaultCondition\\": { - \\"transition\\": \\"\${7:Default transition of the workflow}\\" + "defaultCondition": { + "transition": "\${7:Default transition of the workflow}" } },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new inject state", "filterText": "New inject state", "insertTextFormat": 2, "kind": 8, "label": "New inject state", "sortText": "100_New inject state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"inject\\", - \\"data\\": {}, - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "name": "\${1:Unique State name}", + "type": "inject", + "data": {}, + "transition": "\${10:Next transition of the workflow}", + "end": false },", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 0, }, - "start": Object { + "start": { "character": 17, "line": 0, }, @@ -23038,126 +23038,126 @@ Array [ exports[`SWF LS JSON code completion states completion add into empty array 1`] = `4`; exports[`SWF LS JSON code completion states completion add into empty array 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new operation state", "filterText": "New operation state", "insertTextFormat": 2, "kind": 8, "label": "New operation state", "sortText": "100_New operation state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"operation\\", - \\"actions\\": [ + "name": "\${1:Unique State name}", + "type": "operation", + "actions": [ { - \\"name\\": \\"\${5:Unique Action name}\\", - \\"functionRef\\": {} + "name": "\${5:Unique Action name}", + "functionRef": {} } ], - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "transition": "\${10:Next transition of the workflow}", + "end": false }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 0, }, - "start": Object { + "start": { "character": 13, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new event state", "filterText": "New event state", "insertTextFormat": 2, "kind": 8, "label": "New event state", "sortText": "100_New event state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"event\\", - \\"onEvents\\": [ + "name": "\${1:Unique State name}", + "type": "event", + "onEvents": [ { - \\"eventRefs\\": [ - \\"\${5:Unique event names}\\" + "eventRefs": [ + "\${5:Unique event names}" ] } ], - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "transition": "\${10:Next transition of the workflow}", + "end": false }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 0, }, - "start": Object { + "start": { "character": 13, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new switch state", "filterText": "New switch state", "insertTextFormat": 2, "kind": 8, "label": "New switch state", "sortText": "100_New switch state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"switch\\", - \\"dataConditions\\": [ + "name": "\${1:Unique State name}", + "type": "switch", + "dataConditions": [ { - \\"condition\\": \\"\${5:Workflow expression evaluated against state data}\\", - \\"transition\\": \\"\${6:Transition to another state if condition is true}\\" + "condition": "\${5:Workflow expression evaluated against state data}", + "transition": "\${6:Transition to another state if condition is true}" } ], - \\"defaultCondition\\": { - \\"transition\\": \\"\${7:Default transition of the workflow}\\" + "defaultCondition": { + "transition": "\${7:Default transition of the workflow}" } }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 0, }, - "start": Object { + "start": { "character": 13, "line": 0, }, }, }, }, - Object { + { "detail": "Add a new inject state", "filterText": "New inject state", "insertTextFormat": 2, "kind": 8, "label": "New inject state", "sortText": "100_New inject state", - "textEdit": Object { + "textEdit": { "newText": "{ - \\"name\\": \\"\${1:Unique State name}\\", - \\"type\\": \\"inject\\", - \\"data\\": {}, - \\"transition\\": \\"\${10:Next transition of the workflow}\\", - \\"end\\": false + "name": "\${1:Unique State name}", + "type": "inject", + "data": {}, + "transition": "\${10:Next transition of the workflow}", + "end": false }", - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 0, }, - "start": Object { + "start": { "character": 13, "line": 0, }, @@ -23169,39 +23169,39 @@ Array [ exports[`SWF LS JSON code completion states completion pointing after the array 1`] = `0`; -exports[`SWF LS JSON code completion states completion pointing after the array 2`] = `Array []`; +exports[`SWF LS JSON code completion states completion pointing after the array 2`] = `[]`; exports[`SWF LS JSON code completion states completion pointing before the array 1`] = `0`; -exports[`SWF LS JSON code completion states completion pointing before the array 2`] = `Array []`; +exports[`SWF LS JSON code completion states completion pointing before the array 2`] = `[]`; exports[`SWF LS JSON code completion states completion pointing before the array 3`] = `0`; -exports[`SWF LS JSON code completion states completion pointing before the array 4`] = `Array []`; +exports[`SWF LS JSON code completion states completion pointing before the array 4`] = `[]`; exports[`SWF LS JSON code completion states completion pointing inside an object of the array 1`] = `0`; -exports[`SWF LS JSON code completion states completion pointing inside an object of the array 2`] = `Array []`; +exports[`SWF LS JSON code completion states completion pointing inside an object of the array 2`] = `[]`; exports[`SWF LS JSON code completion transition completion dataConditions transition completion simple case 1`] = `1`; exports[`SWF LS JSON code completion transition completion dataConditions transition completion simple case 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", - "filterText": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", + "filterText": ""Inject Mantra"", "insertTextFormat": 2, "kind": 12, - "label": "\\"Inject Mantra\\"", - "sortText": "100_\\"Inject Mantra\\"", - "textEdit": Object { - "newText": "\\"Inject Mantra\\"", - "range": Object { - "end": Object { + "label": ""Inject Mantra"", + "sortText": "100_"Inject Mantra"", + "textEdit": { + "newText": ""Inject Mantra"", + "range": { + "end": { "character": 26, "line": 6, }, - "start": Object { + "start": { "character": 26, "line": 6, }, @@ -23214,22 +23214,22 @@ Array [ exports[`SWF LS JSON code completion transition completion defaultCondition transition completion simple case 1`] = `1`; exports[`SWF LS JSON code completion transition completion defaultCondition transition completion simple case 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", - "filterText": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", + "filterText": ""Inject Mantra"", "insertTextFormat": 2, "kind": 12, - "label": "\\"Inject Mantra\\"", - "sortText": "100_\\"Inject Mantra\\"", - "textEdit": Object { - "newText": "\\"Inject Mantra\\"", - "range": Object { - "end": Object { + "label": ""Inject Mantra"", + "sortText": "100_"Inject Mantra"", + "textEdit": { + "newText": ""Inject Mantra"", + "range": { + "end": { "character": 24, "line": 5, }, - "start": Object { + "start": { "character": 24, "line": 5, }, @@ -23242,22 +23242,22 @@ Array [ exports[`SWF LS JSON code completion transition completion eventConditions transition completion simple case 1`] = `1`; exports[`SWF LS JSON code completion transition completion eventConditions transition completion simple case 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", - "filterText": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", + "filterText": ""Inject Mantra"", "insertTextFormat": 2, "kind": 12, - "label": "\\"Inject Mantra\\"", - "sortText": "100_\\"Inject Mantra\\"", - "textEdit": Object { - "newText": "\\"Inject Mantra\\"", - "range": Object { - "end": Object { + "label": ""Inject Mantra"", + "sortText": "100_"Inject Mantra"", + "textEdit": { + "newText": ""Inject Mantra"", + "range": { + "end": { "character": 24, "line": 5, }, - "start": Object { + "start": { "character": 24, "line": 5, }, @@ -23270,22 +23270,22 @@ Array [ exports[`SWF LS JSON code completion transition completion state transition completion inside double quotes / with same level content after 1`] = `1`; exports[`SWF LS JSON code completion transition completion state transition completion inside double quotes / with same level content after 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", - "filterText": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", + "filterText": ""Inject Mantra"", "insertTextFormat": 2, "kind": 12, - "label": "\\"Inject Mantra\\"", - "sortText": "100_\\"Inject Mantra\\"", - "textEdit": Object { - "newText": "\\"Inject Mantra\\",", - "range": Object { - "end": Object { + "label": ""Inject Mantra"", + "sortText": "100_"Inject Mantra"", + "textEdit": { + "newText": ""Inject Mantra",", + "range": { + "end": { "character": 22, "line": 4, }, - "start": Object { + "start": { "character": 22, "line": 4, }, @@ -23298,22 +23298,22 @@ Array [ exports[`SWF LS JSON code completion transition completion state transition completion inside double quotes / without same level content after 1`] = `1`; exports[`SWF LS JSON code completion transition completion state transition completion inside double quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", - "filterText": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", + "filterText": ""Inject Mantra"", "insertTextFormat": 2, "kind": 12, - "label": "\\"Inject Mantra\\"", - "sortText": "100_\\"Inject Mantra\\"", - "textEdit": Object { - "newText": "\\"Inject Mantra\\"", - "range": Object { - "end": Object { + "label": ""Inject Mantra"", + "sortText": "100_"Inject Mantra"", + "textEdit": { + "newText": ""Inject Mantra"", + "range": { + "end": { "character": 22, "line": 4, }, - "start": Object { + "start": { "character": 22, "line": 4, }, @@ -23326,22 +23326,22 @@ Array [ exports[`SWF LS JSON code completion transition completion state transition completion not in quotes / with same level content after 1`] = `1`; exports[`SWF LS JSON code completion transition completion state transition completion not in quotes / with same level content after 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", - "filterText": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", + "filterText": ""Inject Mantra"", "insertTextFormat": 2, "kind": 12, - "label": "\\"Inject Mantra\\"", - "sortText": "100_\\"Inject Mantra\\"", - "textEdit": Object { - "newText": "\\"Inject Mantra\\",", - "range": Object { - "end": Object { + "label": ""Inject Mantra"", + "sortText": "100_"Inject Mantra"", + "textEdit": { + "newText": ""Inject Mantra",", + "range": { + "end": { "character": 22, "line": 4, }, - "start": Object { + "start": { "character": 22, "line": 4, }, @@ -23354,22 +23354,22 @@ Array [ exports[`SWF LS JSON code completion transition completion state transition completion not in quotes / without same level content after 1`] = `1`; exports[`SWF LS JSON code completion transition completion state transition completion not in quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", - "filterText": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", + "filterText": ""Inject Mantra"", "insertTextFormat": 2, "kind": 12, - "label": "\\"Inject Mantra\\"", - "sortText": "100_\\"Inject Mantra\\"", - "textEdit": Object { - "newText": "\\"Inject Mantra\\"", - "range": Object { - "end": Object { + "label": ""Inject Mantra"", + "sortText": "100_"Inject Mantra"", + "textEdit": { + "newText": ""Inject Mantra"", + "range": { + "end": { "character": 22, "line": 4, }, - "start": Object { + "start": { "character": 22, "line": 4, }, diff --git a/packages/serverless-workflow-language-service/tests/__snapshots__/SwfYamlLanguageService.test.ts.snap b/packages/serverless-workflow-language-service/tests/__snapshots__/SwfYamlLanguageService.test.ts.snap index ed17590f23c..82dc0cf6b83 100644 --- a/packages/serverless-workflow-language-service/tests/__snapshots__/SwfYamlLanguageService.test.ts.snap +++ b/packages/serverless-workflow-language-service/tests/__snapshots__/SwfYamlLanguageService.test.ts.snap @@ -3,8 +3,8 @@ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -12,21 +12,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -34,14 +34,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, @@ -54,8 +54,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -63,21 +63,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 18, }, - "start": Object { + "start": { "character": 42, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -85,21 +85,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 18, }, - "start": Object { + "start": { "character": 42, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -107,21 +107,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 18, }, - "start": Object { + "start": { "character": 42, "line": 18, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -129,21 +129,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 18, }, - "start": Object { + "start": { "character": 42, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -151,14 +151,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 18, }, - "start": Object { + "start": { "character": 42, "line": 18, }, @@ -171,8 +171,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -180,21 +180,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -202,21 +202,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -224,21 +224,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -246,14 +246,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, @@ -266,8 +266,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -275,21 +275,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -297,21 +297,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -319,21 +319,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -341,14 +341,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, @@ -361,8 +361,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -370,21 +370,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -392,21 +392,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -414,21 +414,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -436,21 +436,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -458,14 +458,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, @@ -478,8 +478,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -487,21 +487,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -509,21 +509,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -531,21 +531,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -553,21 +553,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -575,14 +575,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, @@ -595,8 +595,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -604,21 +604,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 34, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -626,21 +626,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 34, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -648,21 +648,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 34, "line": 18, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -670,21 +670,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 34, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -692,14 +692,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 34, "line": 18, }, @@ -712,8 +712,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -721,21 +721,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -743,14 +743,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, @@ -762,21 +762,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion fn: after some value 1`] = `2`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -784,21 +784,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 44, "line": 18, }, - "start": Object { + "start": { "character": 44, "line": 18, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -806,14 +806,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 44, "line": 18, }, - "start": Object { + "start": { "character": 44, "line": 18, }, @@ -825,17 +825,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -843,21 +843,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -865,21 +865,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -887,21 +887,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -909,21 +909,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -931,14 +931,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, @@ -951,8 +951,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -960,21 +960,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -982,21 +982,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -1004,21 +1004,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -1026,21 +1026,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -1048,14 +1048,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, @@ -1068,8 +1068,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion space before fn: 1`] = `2`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -1077,21 +1077,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 36, "line": 18, }, - "start": Object { + "start": { "character": 36, "line": 18, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -1099,14 +1099,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 36, "line": 18, }, - "start": Object { + "start": { "character": 36, "line": 18, }, @@ -1119,8 +1119,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -1128,21 +1128,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 18, }, - "start": Object { + "start": { "character": 35, "line": 18, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -1150,14 +1150,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 18, }, - "start": Object { + "start": { "character": 35, "line": 18, }, @@ -1170,8 +1170,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion value fn:/single quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions action data filter completions built-in functions completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -1179,21 +1179,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 18, }, - "start": Object { + "start": { "character": 35, "line": 18, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -1201,14 +1201,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 18, }, - "start": Object { + "start": { "character": 35, "line": 18, }, @@ -1221,8 +1221,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -1230,21 +1230,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -1252,14 +1252,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, @@ -1272,8 +1272,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -1281,21 +1281,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 18, }, - "start": Object { + "start": { "character": 42, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -1303,21 +1303,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 18, }, - "start": Object { + "start": { "character": 42, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -1325,21 +1325,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 18, }, - "start": Object { + "start": { "character": 42, "line": 18, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -1347,21 +1347,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 18, }, - "start": Object { + "start": { "character": 42, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -1369,14 +1369,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 18, }, - "start": Object { + "start": { "character": 42, "line": 18, }, @@ -1389,8 +1389,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -1398,21 +1398,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -1420,21 +1420,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -1442,21 +1442,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -1464,14 +1464,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, @@ -1484,8 +1484,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -1493,21 +1493,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -1515,21 +1515,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -1537,21 +1537,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -1559,14 +1559,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, @@ -1579,8 +1579,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -1588,21 +1588,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -1610,21 +1610,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -1632,21 +1632,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -1654,21 +1654,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -1676,14 +1676,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, @@ -1696,8 +1696,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -1705,21 +1705,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -1727,21 +1727,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -1749,21 +1749,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -1771,21 +1771,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -1793,14 +1793,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, @@ -1813,8 +1813,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -1822,21 +1822,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 34, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -1844,21 +1844,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 34, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -1866,21 +1866,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 34, "line": 18, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -1888,21 +1888,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 34, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -1910,14 +1910,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 34, "line": 18, }, @@ -1930,8 +1930,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -1939,21 +1939,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -1961,14 +1961,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 18, }, - "start": Object { + "start": { "character": 33, "line": 18, }, @@ -1980,21 +1980,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion fn: after some value 1`] = `2`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -2002,21 +2002,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 44, "line": 18, }, - "start": Object { + "start": { "character": 44, "line": 18, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -2024,14 +2024,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 44, "line": 18, }, - "start": Object { + "start": { "character": 44, "line": 18, }, @@ -2043,17 +2043,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -2061,21 +2061,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -2083,21 +2083,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -2105,21 +2105,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -2127,21 +2127,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -2149,14 +2149,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, @@ -2169,8 +2169,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -2178,21 +2178,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -2200,21 +2200,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -2222,21 +2222,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -2244,21 +2244,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -2266,14 +2266,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 18, }, - "start": Object { + "start": { "character": 32, "line": 18, }, @@ -2286,8 +2286,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion space before fn: 1`] = `2`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -2295,21 +2295,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 36, "line": 18, }, - "start": Object { + "start": { "character": 36, "line": 18, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -2317,14 +2317,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 36, "line": 18, }, - "start": Object { + "start": { "character": 36, "line": 18, }, @@ -2337,8 +2337,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion value fn:/double quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -2346,21 +2346,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 18, }, - "start": Object { + "start": { "character": 35, "line": 18, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -2368,14 +2368,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 18, }, - "start": Object { + "start": { "character": 35, "line": 18, }, @@ -2388,8 +2388,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion value fn:/single quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions action data filter completions variables completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -2397,21 +2397,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 18, }, - "start": Object { + "start": { "character": 35, "line": 18, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -2419,14 +2419,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 18, }, - "start": Object { + "start": { "character": 35, "line": 18, }, @@ -2439,8 +2439,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -2448,21 +2448,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -2470,14 +2470,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, @@ -2490,8 +2490,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -2499,21 +2499,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 16, }, - "start": Object { + "start": { "character": 42, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -2521,21 +2521,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 16, }, - "start": Object { + "start": { "character": 42, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -2543,21 +2543,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 16, }, - "start": Object { + "start": { "character": 42, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -2565,21 +2565,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 16, }, - "start": Object { + "start": { "character": 42, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -2587,14 +2587,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 16, }, - "start": Object { + "start": { "character": 42, "line": 16, }, @@ -2607,8 +2607,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -2616,21 +2616,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -2638,21 +2638,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -2660,21 +2660,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -2682,14 +2682,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, @@ -2702,8 +2702,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -2711,21 +2711,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -2733,21 +2733,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -2755,21 +2755,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -2777,14 +2777,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, @@ -2797,8 +2797,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -2806,21 +2806,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -2828,21 +2828,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -2850,21 +2850,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -2872,21 +2872,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -2894,14 +2894,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, @@ -2914,8 +2914,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -2923,21 +2923,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -2945,21 +2945,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -2967,21 +2967,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -2989,21 +2989,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -3011,14 +3011,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, @@ -3031,8 +3031,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -3040,21 +3040,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 34, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -3062,21 +3062,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 34, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -3084,21 +3084,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 34, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -3106,21 +3106,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 34, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -3128,14 +3128,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 34, "line": 16, }, @@ -3148,8 +3148,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -3157,21 +3157,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -3179,14 +3179,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, @@ -3198,21 +3198,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion fn: after some value 1`] = `2`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -3220,21 +3220,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 44, "line": 16, }, - "start": Object { + "start": { "character": 44, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -3242,14 +3242,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 44, "line": 16, }, - "start": Object { + "start": { "character": 44, "line": 16, }, @@ -3261,17 +3261,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -3279,21 +3279,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -3301,21 +3301,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -3323,21 +3323,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -3345,21 +3345,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -3367,14 +3367,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, @@ -3387,8 +3387,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -3396,21 +3396,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -3418,21 +3418,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -3440,21 +3440,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -3462,21 +3462,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -3484,14 +3484,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, @@ -3504,8 +3504,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion space before fn: 1`] = `2`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -3513,21 +3513,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 36, "line": 16, }, - "start": Object { + "start": { "character": 36, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -3535,14 +3535,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 36, "line": 16, }, - "start": Object { + "start": { "character": 36, "line": 16, }, @@ -3555,8 +3555,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -3564,21 +3564,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -3586,14 +3586,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, @@ -3606,8 +3606,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion value fn:/single quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions data condition completion built-in functions completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -3615,21 +3615,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -3637,14 +3637,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, @@ -3657,8 +3657,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -3666,21 +3666,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -3688,14 +3688,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, @@ -3708,8 +3708,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -3717,21 +3717,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 16, }, - "start": Object { + "start": { "character": 42, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -3739,21 +3739,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 16, }, - "start": Object { + "start": { "character": 42, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -3761,21 +3761,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 16, }, - "start": Object { + "start": { "character": 42, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -3783,21 +3783,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 16, }, - "start": Object { + "start": { "character": 42, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -3805,14 +3805,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 16, }, - "start": Object { + "start": { "character": 42, "line": 16, }, @@ -3825,8 +3825,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -3834,21 +3834,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -3856,21 +3856,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -3878,21 +3878,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -3900,14 +3900,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, @@ -3920,8 +3920,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -3929,21 +3929,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -3951,21 +3951,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -3973,21 +3973,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -3995,14 +3995,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, @@ -4015,8 +4015,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -4024,21 +4024,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -4046,21 +4046,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -4068,21 +4068,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -4090,21 +4090,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -4112,14 +4112,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, @@ -4132,8 +4132,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -4141,21 +4141,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -4163,21 +4163,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -4185,21 +4185,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -4207,21 +4207,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -4229,14 +4229,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, @@ -4249,8 +4249,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -4258,21 +4258,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 34, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -4280,21 +4280,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 34, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -4302,21 +4302,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 34, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -4324,21 +4324,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 34, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -4346,14 +4346,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 34, "line": 16, }, @@ -4366,8 +4366,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -4375,21 +4375,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -4397,14 +4397,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 16, }, - "start": Object { + "start": { "character": 33, "line": 16, }, @@ -4416,21 +4416,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions data condition completion variables completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions data condition completion variables completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions data condition completion variables completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions data condition completion variables completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions data condition completion variables completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions data condition completion variables completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion fn: after some value 1`] = `2`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -4438,21 +4438,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 44, "line": 16, }, - "start": Object { + "start": { "character": 44, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -4460,14 +4460,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 44, "line": 16, }, - "start": Object { + "start": { "character": 44, "line": 16, }, @@ -4479,17 +4479,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions data condition completion variables completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions data condition completion variables completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions data condition completion variables completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions data condition completion variables completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -4497,21 +4497,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -4519,21 +4519,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -4541,21 +4541,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -4563,21 +4563,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -4585,14 +4585,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, @@ -4605,8 +4605,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -4614,21 +4614,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -4636,21 +4636,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -4658,21 +4658,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -4680,21 +4680,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -4702,14 +4702,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 16, }, - "start": Object { + "start": { "character": 32, "line": 16, }, @@ -4722,8 +4722,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion space before fn: 1`] = `2`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -4731,21 +4731,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 36, "line": 16, }, - "start": Object { + "start": { "character": 36, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -4753,14 +4753,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 36, "line": 16, }, - "start": Object { + "start": { "character": 36, "line": 16, }, @@ -4773,8 +4773,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion value fn:/double quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -4782,21 +4782,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -4804,14 +4804,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, @@ -4824,8 +4824,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions data condition completion variables completion value fn:/single quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions data condition completion variables completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -4833,21 +4833,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -4855,14 +4855,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, @@ -4875,8 +4875,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -4884,21 +4884,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -4906,14 +4906,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, @@ -4926,8 +4926,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -4935,21 +4935,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -4957,21 +4957,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -4979,21 +4979,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -5001,21 +5001,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -5023,14 +5023,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, @@ -5043,8 +5043,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -5052,21 +5052,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -5074,21 +5074,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -5096,21 +5096,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -5118,14 +5118,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, @@ -5138,8 +5138,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -5147,21 +5147,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -5169,21 +5169,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -5191,21 +5191,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -5213,14 +5213,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, @@ -5233,8 +5233,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -5242,21 +5242,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -5264,21 +5264,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -5286,21 +5286,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -5308,21 +5308,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -5330,14 +5330,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, @@ -5350,8 +5350,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -5359,21 +5359,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -5381,21 +5381,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -5403,21 +5403,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -5425,21 +5425,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -5447,14 +5447,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, @@ -5467,8 +5467,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -5476,21 +5476,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -5498,21 +5498,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -5520,21 +5520,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -5542,21 +5542,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -5564,14 +5564,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, @@ -5584,8 +5584,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -5593,21 +5593,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -5615,14 +5615,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, @@ -5634,21 +5634,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion fn: after some value 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -5656,21 +5656,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -5678,14 +5678,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, @@ -5697,17 +5697,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -5715,21 +5715,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -5737,21 +5737,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -5759,21 +5759,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -5781,21 +5781,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -5803,14 +5803,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, @@ -5823,8 +5823,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -5832,21 +5832,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -5854,21 +5854,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -5876,21 +5876,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -5898,21 +5898,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -5920,14 +5920,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, @@ -5940,8 +5940,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion space before fn: 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -5949,21 +5949,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -5971,14 +5971,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, @@ -5991,8 +5991,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -6000,21 +6000,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -6022,14 +6022,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, @@ -6042,8 +6042,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion value fn:/single quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter completions built-in functions completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -6051,21 +6051,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -6073,14 +6073,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, @@ -6093,8 +6093,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -6102,21 +6102,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -6124,14 +6124,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, @@ -6144,8 +6144,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -6153,21 +6153,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -6175,21 +6175,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -6197,21 +6197,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -6219,21 +6219,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -6241,14 +6241,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 35, "line": 16, }, - "start": Object { + "start": { "character": 35, "line": 16, }, @@ -6261,8 +6261,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -6270,21 +6270,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -6292,21 +6292,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -6314,21 +6314,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -6336,14 +6336,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, @@ -6356,8 +6356,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -6365,21 +6365,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -6387,21 +6387,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -6409,21 +6409,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -6431,14 +6431,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 26, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, @@ -6451,8 +6451,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -6460,21 +6460,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -6482,21 +6482,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -6504,21 +6504,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -6526,21 +6526,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -6548,14 +6548,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, @@ -6568,8 +6568,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -6577,21 +6577,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -6599,21 +6599,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -6621,21 +6621,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -6643,21 +6643,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -6665,14 +6665,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, @@ -6685,8 +6685,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -6694,21 +6694,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -6716,21 +6716,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -6738,21 +6738,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -6760,21 +6760,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -6782,14 +6782,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, @@ -6802,8 +6802,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -6811,21 +6811,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -6833,14 +6833,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 26, "line": 16, }, @@ -6852,21 +6852,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion fn: after some value 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -6874,21 +6874,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -6896,14 +6896,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, @@ -6915,17 +6915,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -6933,21 +6933,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -6955,21 +6955,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -6977,21 +6977,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -6999,21 +6999,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -7021,14 +7021,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, @@ -7041,8 +7041,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -7050,21 +7050,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -7072,21 +7072,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -7094,21 +7094,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -7116,21 +7116,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -7138,14 +7138,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 25, "line": 16, }, - "start": Object { + "start": { "character": 25, "line": 16, }, @@ -7158,8 +7158,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion space before fn: 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -7167,21 +7167,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -7189,14 +7189,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, @@ -7209,8 +7209,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion value fn:/double quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -7218,21 +7218,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -7240,14 +7240,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, @@ -7260,8 +7260,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion value fn:/single quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter completions variables completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -7269,21 +7269,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -7291,14 +7291,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, @@ -7311,8 +7311,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -7320,21 +7320,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -7342,14 +7342,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, @@ -7362,8 +7362,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -7371,21 +7371,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 17, }, - "start": Object { + "start": { "character": 39, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -7393,21 +7393,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 17, }, - "start": Object { + "start": { "character": 39, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -7415,21 +7415,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 17, }, - "start": Object { + "start": { "character": 39, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -7437,21 +7437,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 17, }, - "start": Object { + "start": { "character": 39, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -7459,14 +7459,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 17, }, - "start": Object { + "start": { "character": 39, "line": 17, }, @@ -7479,8 +7479,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -7488,21 +7488,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -7510,21 +7510,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -7532,21 +7532,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -7554,14 +7554,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -7574,8 +7574,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -7583,21 +7583,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -7605,21 +7605,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -7627,21 +7627,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -7649,14 +7649,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -7669,8 +7669,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -7678,21 +7678,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -7700,21 +7700,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -7722,21 +7722,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -7744,21 +7744,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -7766,14 +7766,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, @@ -7786,8 +7786,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -7795,21 +7795,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -7817,21 +7817,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -7839,21 +7839,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -7861,21 +7861,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -7883,14 +7883,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, @@ -7903,8 +7903,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -7912,21 +7912,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -7934,21 +7934,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -7956,21 +7956,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -7978,21 +7978,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -8000,14 +8000,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, @@ -8020,8 +8020,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -8029,21 +8029,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -8051,14 +8051,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -8070,21 +8070,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion fn: after some value 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -8092,21 +8092,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 17, }, - "start": Object { + "start": { "character": 41, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -8114,14 +8114,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 17, }, - "start": Object { + "start": { "character": 41, "line": 17, }, @@ -8133,17 +8133,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -8151,21 +8151,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -8173,21 +8173,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -8195,21 +8195,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -8217,21 +8217,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -8239,14 +8239,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, @@ -8259,8 +8259,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -8268,21 +8268,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -8290,21 +8290,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -8312,21 +8312,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -8334,21 +8334,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -8356,14 +8356,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, @@ -8376,8 +8376,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion space before fn: 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -8385,21 +8385,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -8407,14 +8407,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, @@ -8427,8 +8427,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -8436,21 +8436,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -8458,14 +8458,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, @@ -8478,8 +8478,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion value fn:/single quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion built-in functions completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -8487,21 +8487,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -8509,14 +8509,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, @@ -8529,8 +8529,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -8538,21 +8538,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -8560,14 +8560,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, @@ -8580,8 +8580,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -8589,21 +8589,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 17, }, - "start": Object { + "start": { "character": 39, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -8611,21 +8611,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 17, }, - "start": Object { + "start": { "character": 39, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -8633,21 +8633,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 17, }, - "start": Object { + "start": { "character": 39, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -8655,21 +8655,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 17, }, - "start": Object { + "start": { "character": 39, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -8677,14 +8677,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 17, }, - "start": Object { + "start": { "character": 39, "line": 17, }, @@ -8697,8 +8697,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -8706,21 +8706,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -8728,21 +8728,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -8750,21 +8750,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -8772,14 +8772,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -8792,8 +8792,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -8801,21 +8801,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -8823,21 +8823,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -8845,21 +8845,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -8867,14 +8867,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -8887,8 +8887,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -8896,21 +8896,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -8918,21 +8918,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -8940,21 +8940,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -8962,21 +8962,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -8984,14 +8984,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, @@ -9004,8 +9004,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -9013,21 +9013,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -9035,21 +9035,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -9057,21 +9057,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -9079,21 +9079,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -9101,14 +9101,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, @@ -9121,8 +9121,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -9130,21 +9130,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -9152,21 +9152,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -9174,21 +9174,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -9196,21 +9196,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -9218,14 +9218,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, @@ -9238,8 +9238,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -9247,21 +9247,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -9269,14 +9269,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -9288,21 +9288,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion fn: after some value 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -9310,21 +9310,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 17, }, - "start": Object { + "start": { "character": 41, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -9332,14 +9332,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 17, }, - "start": Object { + "start": { "character": 41, "line": 17, }, @@ -9351,17 +9351,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -9369,21 +9369,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -9391,21 +9391,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -9413,21 +9413,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -9435,21 +9435,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -9457,14 +9457,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, @@ -9477,8 +9477,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -9486,21 +9486,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -9508,21 +9508,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -9530,21 +9530,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -9552,21 +9552,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -9574,14 +9574,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 17, }, - "start": Object { + "start": { "character": 29, "line": 17, }, @@ -9594,8 +9594,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion space before fn: 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -9603,21 +9603,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -9625,14 +9625,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, @@ -9645,8 +9645,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion value fn:/double quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -9654,21 +9654,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -9676,14 +9676,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, @@ -9696,8 +9696,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion value fn:/single quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions event data filter inside onEvents completion variables completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -9705,21 +9705,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -9727,14 +9727,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, @@ -9747,8 +9747,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -9756,21 +9756,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -9778,14 +9778,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, @@ -9798,8 +9798,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -9807,21 +9807,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 48, "line": 19, }, - "start": Object { + "start": { "character": 48, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -9829,21 +9829,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 48, "line": 19, }, - "start": Object { + "start": { "character": 48, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -9851,21 +9851,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 48, "line": 19, }, - "start": Object { + "start": { "character": 48, "line": 19, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -9873,21 +9873,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 48, "line": 19, }, - "start": Object { + "start": { "character": 48, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -9895,14 +9895,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 48, "line": 19, }, - "start": Object { + "start": { "character": 48, "line": 19, }, @@ -9915,8 +9915,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -9924,21 +9924,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -9946,21 +9946,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -9968,21 +9968,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -9990,14 +9990,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, @@ -10010,8 +10010,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -10019,21 +10019,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -10041,21 +10041,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -10063,21 +10063,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -10085,14 +10085,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, @@ -10105,8 +10105,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -10114,21 +10114,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -10136,21 +10136,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -10158,21 +10158,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -10180,21 +10180,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -10202,14 +10202,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, @@ -10222,8 +10222,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -10231,21 +10231,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -10253,21 +10253,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -10275,21 +10275,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -10297,21 +10297,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -10319,14 +10319,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, @@ -10339,8 +10339,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -10348,21 +10348,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 40, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -10370,21 +10370,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 40, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -10392,21 +10392,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 40, "line": 19, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -10414,21 +10414,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 40, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -10436,14 +10436,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 40, "line": 19, }, @@ -10456,8 +10456,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -10465,21 +10465,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -10487,14 +10487,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, @@ -10506,21 +10506,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion fn: after some value 1`] = `2`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -10528,21 +10528,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 50, "line": 19, }, - "start": Object { + "start": { "character": 50, "line": 19, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -10550,14 +10550,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 50, "line": 19, }, - "start": Object { + "start": { "character": 50, "line": 19, }, @@ -10569,17 +10569,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -10587,21 +10587,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -10609,21 +10609,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -10631,21 +10631,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -10653,21 +10653,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -10675,14 +10675,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, @@ -10695,8 +10695,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -10704,21 +10704,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -10726,21 +10726,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -10748,21 +10748,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -10770,21 +10770,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -10792,14 +10792,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, @@ -10812,8 +10812,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion space before fn: 1`] = `2`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -10821,21 +10821,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 19, }, - "start": Object { + "start": { "character": 42, "line": 19, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -10843,14 +10843,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 19, }, - "start": Object { + "start": { "character": 42, "line": 19, }, @@ -10863,8 +10863,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -10872,21 +10872,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 19, }, - "start": Object { + "start": { "character": 41, "line": 19, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -10894,14 +10894,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 19, }, - "start": Object { + "start": { "character": 41, "line": 19, }, @@ -10914,8 +10914,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion value fn:/single quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions built-in functions completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -10923,21 +10923,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 19, }, - "start": Object { + "start": { "character": 41, "line": 19, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -10945,14 +10945,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 19, }, - "start": Object { + "start": { "character": 41, "line": 19, }, @@ -10965,8 +10965,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -10974,21 +10974,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -10996,14 +10996,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, @@ -11016,8 +11016,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -11025,21 +11025,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 48, "line": 19, }, - "start": Object { + "start": { "character": 48, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -11047,21 +11047,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 48, "line": 19, }, - "start": Object { + "start": { "character": 48, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -11069,21 +11069,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 48, "line": 19, }, - "start": Object { + "start": { "character": 48, "line": 19, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -11091,21 +11091,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 48, "line": 19, }, - "start": Object { + "start": { "character": 48, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -11113,14 +11113,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 48, "line": 19, }, - "start": Object { + "start": { "character": 48, "line": 19, }, @@ -11133,8 +11133,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -11142,21 +11142,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -11164,21 +11164,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -11186,21 +11186,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -11208,14 +11208,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, @@ -11228,8 +11228,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -11237,21 +11237,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -11259,21 +11259,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -11281,21 +11281,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -11303,14 +11303,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, @@ -11323,8 +11323,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -11332,21 +11332,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -11354,21 +11354,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -11376,21 +11376,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -11398,21 +11398,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -11420,14 +11420,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, @@ -11440,8 +11440,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -11449,21 +11449,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -11471,21 +11471,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -11493,21 +11493,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -11515,21 +11515,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -11537,14 +11537,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, @@ -11557,8 +11557,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -11566,21 +11566,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 40, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -11588,21 +11588,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 40, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -11610,21 +11610,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 40, "line": 19, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -11632,21 +11632,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 40, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -11654,14 +11654,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 40, "line": 19, }, @@ -11674,8 +11674,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -11683,21 +11683,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -11705,14 +11705,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 19, }, - "start": Object { + "start": { "character": 39, "line": 19, }, @@ -11724,21 +11724,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion fn: after some value 1`] = `2`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -11746,21 +11746,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 50, "line": 19, }, - "start": Object { + "start": { "character": 50, "line": 19, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -11768,14 +11768,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 50, "line": 19, }, - "start": Object { + "start": { "character": 50, "line": 19, }, @@ -11787,17 +11787,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -11805,21 +11805,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -11827,21 +11827,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -11849,21 +11849,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -11871,21 +11871,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -11893,14 +11893,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, @@ -11913,8 +11913,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -11922,21 +11922,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -11944,21 +11944,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -11966,21 +11966,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -11988,21 +11988,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -12010,14 +12010,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 38, "line": 19, }, - "start": Object { + "start": { "character": 38, "line": 19, }, @@ -12030,8 +12030,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion space before fn: 1`] = `2`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -12039,21 +12039,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 19, }, - "start": Object { + "start": { "character": 42, "line": 19, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -12061,14 +12061,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 19, }, - "start": Object { + "start": { "character": 42, "line": 19, }, @@ -12081,8 +12081,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion value fn:/double quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -12090,21 +12090,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 19, }, - "start": Object { + "start": { "character": 41, "line": 19, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -12112,14 +12112,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 19, }, - "start": Object { + "start": { "character": 41, "line": 19, }, @@ -12132,8 +12132,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion value fn:/single quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions functionRef arguments completions variables completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -12141,21 +12141,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 19, }, - "start": Object { + "start": { "character": 41, "line": 19, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -12163,14 +12163,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 41, "line": 19, }, - "start": Object { + "start": { "character": 41, "line": 19, }, @@ -12183,8 +12183,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -12192,21 +12192,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -12214,14 +12214,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -12234,8 +12234,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -12243,21 +12243,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 17, }, - "start": Object { + "start": { "character": 40, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -12265,21 +12265,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 17, }, - "start": Object { + "start": { "character": 40, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -12287,21 +12287,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 17, }, - "start": Object { + "start": { "character": 40, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -12309,21 +12309,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 17, }, - "start": Object { + "start": { "character": 40, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -12331,14 +12331,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 17, }, - "start": Object { + "start": { "character": 40, "line": 17, }, @@ -12351,8 +12351,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -12360,21 +12360,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -12382,21 +12382,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -12404,21 +12404,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -12426,14 +12426,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, @@ -12446,8 +12446,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -12455,21 +12455,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -12477,21 +12477,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -12499,21 +12499,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -12521,14 +12521,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, @@ -12541,8 +12541,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -12550,21 +12550,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -12572,21 +12572,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -12594,21 +12594,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -12616,21 +12616,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -12638,14 +12638,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -12658,8 +12658,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -12667,21 +12667,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -12689,21 +12689,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -12711,21 +12711,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -12733,21 +12733,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -12755,14 +12755,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -12775,8 +12775,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -12784,21 +12784,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -12806,21 +12806,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -12828,21 +12828,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -12850,21 +12850,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -12872,14 +12872,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, @@ -12892,8 +12892,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -12901,21 +12901,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -12923,14 +12923,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, @@ -12942,21 +12942,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion fn: after some value 1`] = `3`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -12964,21 +12964,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 17, }, - "start": Object { + "start": { "character": 42, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -12986,21 +12986,21 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 17, }, - "start": Object { + "start": { "character": 42, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc3", "insertText": "expressionFunc3", @@ -13008,14 +13008,14 @@ Array [ "kind": 3, "label": "expressionFunc3", "sortText": "100_expressionFunc3", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc3'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 17, }, - "start": Object { + "start": { "character": 42, "line": 17, }, @@ -13027,17 +13027,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -13045,21 +13045,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -13067,21 +13067,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -13089,21 +13089,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -13111,21 +13111,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -13133,14 +13133,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -13153,8 +13153,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -13162,21 +13162,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -13184,21 +13184,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -13206,21 +13206,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -13228,21 +13228,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -13250,14 +13250,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -13270,8 +13270,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion space before fn: 1`] = `3`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -13279,21 +13279,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 17, }, - "start": Object { + "start": { "character": 34, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -13301,21 +13301,21 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 17, }, - "start": Object { + "start": { "character": 34, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc3", "insertText": "expressionFunc3", @@ -13323,14 +13323,14 @@ Array [ "kind": 3, "label": "expressionFunc3", "sortText": "100_expressionFunc3", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc3'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 17, }, - "start": Object { + "start": { "character": 34, "line": 17, }, @@ -13343,8 +13343,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion value fn:/double quotes 1`] = `3`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -13352,21 +13352,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -13374,21 +13374,21 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc3", "insertText": "expressionFunc3", @@ -13396,14 +13396,14 @@ Array [ "kind": 3, "label": "expressionFunc3", "sortText": "100_expressionFunc3", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc3'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, @@ -13416,8 +13416,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion value fn:/single quotes 1`] = `3`; exports[`SWF LS YAML code completion Jq completions operation completions built-in functions completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -13425,21 +13425,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -13447,21 +13447,21 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc3", "insertText": "expressionFunc3", @@ -13469,14 +13469,14 @@ Array [ "kind": 3, "label": "expressionFunc3", "sortText": "100_expressionFunc3", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc3'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, @@ -13489,8 +13489,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -13498,21 +13498,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -13520,14 +13520,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -13540,8 +13540,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -13549,21 +13549,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 17, }, - "start": Object { + "start": { "character": 40, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -13571,21 +13571,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 17, }, - "start": Object { + "start": { "character": 40, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -13593,21 +13593,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 17, }, - "start": Object { + "start": { "character": 40, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -13615,21 +13615,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 17, }, - "start": Object { + "start": { "character": 40, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -13637,14 +13637,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 40, "line": 17, }, - "start": Object { + "start": { "character": 40, "line": 17, }, @@ -13657,8 +13657,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -13666,21 +13666,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -13688,21 +13688,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -13710,21 +13710,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -13732,14 +13732,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, @@ -13752,8 +13752,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -13761,21 +13761,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -13783,21 +13783,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -13805,21 +13805,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -13827,14 +13827,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, @@ -13847,8 +13847,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -13856,21 +13856,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -13878,21 +13878,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -13900,21 +13900,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -13922,21 +13922,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -13944,14 +13944,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -13964,8 +13964,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -13973,21 +13973,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -13995,21 +13995,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -14017,21 +14017,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -14039,21 +14039,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -14061,14 +14061,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -14081,8 +14081,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -14090,21 +14090,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -14112,21 +14112,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -14134,21 +14134,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -14156,21 +14156,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -14178,14 +14178,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 32, "line": 17, }, @@ -14198,8 +14198,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -14207,21 +14207,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -14229,14 +14229,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 32, "line": 17, }, - "start": Object { + "start": { "character": 31, "line": 17, }, @@ -14248,21 +14248,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions operation completions variables completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions operation completions variables completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions operation completions variables completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions operation completions variables completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions operation completions variables completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions operation completions variables completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion fn: after some value 1`] = `3`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -14270,21 +14270,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 17, }, - "start": Object { + "start": { "character": 42, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -14292,21 +14292,21 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 17, }, - "start": Object { + "start": { "character": 42, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc3", "insertText": "expressionFunc3", @@ -14314,14 +14314,14 @@ Array [ "kind": 3, "label": "expressionFunc3", "sortText": "100_expressionFunc3", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc3'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 17, }, - "start": Object { + "start": { "character": 42, "line": 17, }, @@ -14333,17 +14333,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions operation completions variables completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions operation completions variables completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions operation completions variables completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions operation completions variables completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -14351,21 +14351,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -14373,21 +14373,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -14395,21 +14395,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -14417,21 +14417,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -14439,14 +14439,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -14459,8 +14459,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -14468,21 +14468,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -14490,21 +14490,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -14512,21 +14512,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -14534,21 +14534,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -14556,14 +14556,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 17, }, - "start": Object { + "start": { "character": 30, "line": 17, }, @@ -14576,8 +14576,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion space before fn: 1`] = `3`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -14585,21 +14585,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 17, }, - "start": Object { + "start": { "character": 34, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -14607,21 +14607,21 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 17, }, - "start": Object { + "start": { "character": 34, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc3", "insertText": "expressionFunc3", @@ -14629,14 +14629,14 @@ Array [ "kind": 3, "label": "expressionFunc3", "sortText": "100_expressionFunc3", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc3'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 34, "line": 17, }, - "start": Object { + "start": { "character": 34, "line": 17, }, @@ -14649,8 +14649,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion value fn:/double quotes 1`] = `3`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -14658,21 +14658,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -14680,21 +14680,21 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc3", "insertText": "expressionFunc3", @@ -14702,14 +14702,14 @@ Array [ "kind": 3, "label": "expressionFunc3", "sortText": "100_expressionFunc3", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc3'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, @@ -14722,8 +14722,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions operation completions variables completion value fn:/single quotes 1`] = `3`; exports[`SWF LS YAML code completion Jq completions operation completions variables completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -14731,21 +14731,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -14753,21 +14753,21 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc3", "insertText": "expressionFunc3", @@ -14775,14 +14775,14 @@ Array [ "kind": 3, "label": "expressionFunc3", "sortText": "100_expressionFunc3", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc3'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 17, }, - "start": Object { + "start": { "character": 33, "line": 17, }, @@ -14795,8 +14795,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -14804,21 +14804,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -14826,14 +14826,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, @@ -14846,8 +14846,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -14855,21 +14855,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -14877,21 +14877,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -14899,21 +14899,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -14921,21 +14921,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -14943,14 +14943,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, @@ -14963,8 +14963,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -14972,21 +14972,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -14994,21 +14994,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -15016,21 +15016,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -15038,14 +15038,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, @@ -15058,8 +15058,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -15067,21 +15067,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -15089,21 +15089,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -15111,21 +15111,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -15133,14 +15133,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, @@ -15153,8 +15153,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -15162,21 +15162,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -15184,21 +15184,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -15206,21 +15206,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -15228,21 +15228,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -15250,14 +15250,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, @@ -15270,8 +15270,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -15279,21 +15279,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -15301,21 +15301,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -15323,21 +15323,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -15345,21 +15345,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -15367,14 +15367,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, @@ -15387,8 +15387,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -15396,21 +15396,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -15418,21 +15418,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -15440,21 +15440,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -15462,21 +15462,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -15484,14 +15484,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, @@ -15504,8 +15504,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -15513,21 +15513,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -15535,14 +15535,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, @@ -15554,21 +15554,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion fn: after some value 1`] = `2`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -15576,21 +15576,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 16, }, - "start": Object { + "start": { "character": 39, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -15598,14 +15598,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 16, }, - "start": Object { + "start": { "character": 39, "line": 16, }, @@ -15617,17 +15617,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -15635,21 +15635,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -15657,21 +15657,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -15679,21 +15679,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -15701,21 +15701,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -15723,14 +15723,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, @@ -15743,8 +15743,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -15752,21 +15752,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -15774,21 +15774,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -15796,21 +15796,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -15818,21 +15818,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -15840,14 +15840,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, @@ -15860,8 +15860,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion space before fn: 1`] = `2`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -15869,21 +15869,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 16, }, - "start": Object { + "start": { "character": 31, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -15891,14 +15891,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 16, }, - "start": Object { + "start": { "character": 31, "line": 16, }, @@ -15911,8 +15911,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion value fn:/double quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -15920,21 +15920,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 16, }, - "start": Object { + "start": { "character": 30, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -15942,14 +15942,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 16, }, - "start": Object { + "start": { "character": 30, "line": 16, }, @@ -15962,8 +15962,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion value fn:/single quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions state data filter completions built-in functions completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -15971,21 +15971,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 16, }, - "start": Object { + "start": { "character": 30, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -15993,14 +15993,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 16, }, - "start": Object { + "start": { "character": 30, "line": 16, }, @@ -16013,8 +16013,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor after a value - auto-complete the word map 1`] = `2`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor after a value - auto-complete the word map 2`] = ` -Array [ - Object { +[ + { "detail": "For any filter x, map(x) will run that filter for each element of the input array, and return the outputs in a new array. map(.+1) will increment each element of an array of numbers.", "filterText": "map", "insertText": "map(x)", @@ -16022,21 +16022,21 @@ Array [ "kind": 3, "label": "map(x)", "sortText": "100_map(x)", - "textEdit": Object { + "textEdit": { "newText": "map(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "map_values(x) will run that filter for each element, but it will return an object when an object is passed.", "filterText": "map", "insertText": "map_values(x)", @@ -16044,14 +16044,14 @@ Array [ "kind": 3, "label": "map_values(x)", "sortText": "100_map_values(x)", - "textEdit": Object { + "textEdit": { "newText": "map_values(x)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, @@ -16064,8 +16064,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor after some random word 1`] = `140`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor after some random word 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -16073,21 +16073,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -16095,21 +16095,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -16117,21 +16117,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -16139,21 +16139,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -16161,14 +16161,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 37, "line": 16, }, - "start": Object { + "start": { "character": 37, "line": 16, }, @@ -16181,8 +16181,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor after the dot(variable):/double quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor after the dot(variable):/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -16190,21 +16190,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -16212,21 +16212,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -16234,21 +16234,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -16256,14 +16256,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, @@ -16276,8 +16276,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor after the dot(variable):/single quotes 1`] = `4`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor after the dot(variable):/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "string", "filterText": "name", "insertText": "name", @@ -16285,21 +16285,21 @@ Array [ "kind": 12, "label": "name", "sortText": "100_name", - "textEdit": Object { + "textEdit": { "newText": "name", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "age", "insertText": "age", @@ -16307,21 +16307,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "avgLoad", "insertText": "avgLoad", @@ -16329,21 +16329,21 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "1", "filterText": "numberOfPods", "insertText": "numberOfPods", @@ -16351,14 +16351,14 @@ Array [ "kind": 12, "label": "numberOfPods", "sortText": "100_numberOfPods", - "textEdit": Object { + "textEdit": { "newText": "numberOfPods", - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, @@ -16371,8 +16371,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor before empty space 1`] = `140`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor before empty space 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -16380,21 +16380,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -16402,21 +16402,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -16424,21 +16424,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -16446,21 +16446,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -16468,14 +16468,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, @@ -16488,8 +16488,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor before the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor before the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -16497,21 +16497,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -16519,21 +16519,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -16541,21 +16541,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -16563,21 +16563,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -16585,14 +16585,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, @@ -16605,8 +16605,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor with a space after the dot(variable) 1`] = `140`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor with a space after the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -16614,21 +16614,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -16636,21 +16636,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -16658,21 +16658,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -16680,21 +16680,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -16702,14 +16702,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 29, "line": 16, }, @@ -16722,8 +16722,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor with a value following the dot(variable) 1`] = `2`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion cursor with a value following the dot(variable) 2`] = ` -Array [ - Object { +[ + { "detail": "1", "filterText": "a", "insertText": "age", @@ -16731,21 +16731,21 @@ Array [ "kind": 12, "label": "age", "sortText": "100_age", - "textEdit": Object { + "textEdit": { "newText": "age", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, }, }, }, - Object { + { "detail": "string", "filterText": "a", "insertText": "avgLoad", @@ -16753,14 +16753,14 @@ Array [ "kind": 12, "label": "avgLoad", "sortText": "100_avgLoad", - "textEdit": Object { + "textEdit": { "newText": "avgLoad", - "range": Object { - "end": Object { + "range": { + "end": { "character": 29, "line": 16, }, - "start": Object { + "start": { "character": 28, "line": 16, }, @@ -16772,21 +16772,21 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion empty object 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion empty object 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion empty object 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion empty object 3`] = `0`; -exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion empty object 4`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion empty object 4`] = `[]`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion empty object 5`] = `0`; -exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion empty object 6`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion empty object 6`] = `[]`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion fn: after some value 1`] = `2`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion fn: after some value 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -16794,21 +16794,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 16, }, - "start": Object { + "start": { "character": 39, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -16816,14 +16816,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 16, }, - "start": Object { + "start": { "character": 39, "line": 16, }, @@ -16835,17 +16835,17 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion fn: starting with a 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion fn: starting with a 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion fn: starting with a 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion fn: starting with r 1`] = `0`; -exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion fn: starting with r 2`] = `Array []`; +exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion fn: starting with r 2`] = `[]`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion no value/double quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion no value/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -16853,21 +16853,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -16875,21 +16875,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -16897,21 +16897,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -16919,21 +16919,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -16941,14 +16941,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, @@ -16961,8 +16961,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion no value/single quotes 1`] = `140`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion no value/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "The builtin function length gets the length of various different types of value.", "filterText": "length", "insertText": "length", @@ -16970,21 +16970,21 @@ Array [ "kind": 3, "label": "length", "sortText": "100_length", - "textEdit": Object { + "textEdit": { "newText": "length", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.", "filterText": "utf8bytelength", "insertText": "utf8bytelength", @@ -16992,21 +16992,21 @@ Array [ "kind": 3, "label": "utf8bytelength", "sortText": "100_utf8bytelength", - "textEdit": Object { + "textEdit": { "newText": "'utf8bytelength'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function keys, when given an object, returns its keys in an array.", "filterText": "keys", "insertText": "keys", @@ -17014,21 +17014,21 @@ Array [ "kind": 3, "label": "keys", "sortText": "100_keys", - "textEdit": Object { + "textEdit": { "newText": "keys", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.", "filterText": "keys_unsorted", "insertText": "keys_unsorted", @@ -17036,21 +17036,21 @@ Array [ "kind": 3, "label": "keys_unsorted", "sortText": "100_keys_unsorted", - "textEdit": Object { + "textEdit": { "newText": "keys_unsorted", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, }, }, }, - Object { + { "detail": "The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.", "filterText": "has(key)", "insertText": "has(key)", @@ -17058,14 +17058,14 @@ Array [ "kind": 3, "label": "has(key)", "sortText": "100_has(key)", - "textEdit": Object { + "textEdit": { "newText": "has(key)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 27, "line": 16, }, - "start": Object { + "start": { "character": 27, "line": 16, }, @@ -17078,8 +17078,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion space before fn: 1`] = `2`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion space before fn: 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -17087,21 +17087,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 16, }, - "start": Object { + "start": { "character": 31, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -17109,14 +17109,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 31, "line": 16, }, - "start": Object { + "start": { "character": 31, "line": 16, }, @@ -17129,8 +17129,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion value fn:/double quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion value fn:/double quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -17138,21 +17138,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 16, }, - "start": Object { + "start": { "character": 30, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -17160,14 +17160,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 16, }, - "start": Object { + "start": { "character": 30, "line": 16, }, @@ -17180,8 +17180,8 @@ Array [ exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion value fn:/single quotes 1`] = `2`; exports[`SWF LS YAML code completion Jq completions state data filter completions variables completion value fn:/single quotes 2`] = ` -Array [ - Object { +[ + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc1", "insertText": "expressionFunc1", @@ -17189,21 +17189,21 @@ Array [ "kind": 3, "label": "expressionFunc1", "sortText": "100_expressionFunc1", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 16, }, - "start": Object { + "start": { "character": 30, "line": 16, }, }, }, }, - Object { + { "detail": "Reusable functions(expressions) defined in the functions array", "filterText": "expressionFunc2", "insertText": "expressionFunc2", @@ -17211,14 +17211,14 @@ Array [ "kind": 3, "label": "expressionFunc2", "sortText": "100_expressionFunc2", - "textEdit": Object { + "textEdit": { "newText": "'expressionFunc2'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 16, }, - "start": Object { + "start": { "character": 30, "line": 16, }, @@ -17231,14 +17231,14 @@ Array [ exports[`SWF LS YAML code completion empty file completion empty file with a newline after the cursor 1`] = `2`; exports[`SWF LS YAML code completion empty file completion empty file with a newline after the cursor 2`] = ` -Array [ - Object { +[ + { "detail": "Start with a simple Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Serverless Workflow Example", "sortText": "100_Serverless Workflow Example", - "textEdit": Object { + "textEdit": { "newText": "id: '\${1:workflow_unique_identifier}' version: '\${2:0.1}' specVersion: '\${3:0.8}' @@ -17264,25 +17264,25 @@ states: firstArgument: '' secondArgument: '' end: true", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, }, }, }, - Object { + { "detail": "Start with an empty Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Empty Serverless Workflow", "sortText": "100_Empty Serverless Workflow", - "textEdit": Object { + "textEdit": { "newText": "id: '\${1:workflow_unique_identifier}' version: '\${2:0.1}' specVersion: '\${3:0.8}' @@ -17292,12 +17292,12 @@ start: '\${13}' functions: [] events: [] states: []", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, @@ -17310,14 +17310,14 @@ states: []", exports[`SWF LS YAML code completion empty file completion empty file with a newline before the cursor 1`] = `2`; exports[`SWF LS YAML code completion empty file completion empty file with a newline before the cursor 2`] = ` -Array [ - Object { +[ + { "detail": "Start with a simple Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Serverless Workflow Example", "sortText": "100_Serverless Workflow Example", - "textEdit": Object { + "textEdit": { "newText": "id: '\${1:workflow_unique_identifier}' version: '\${2:0.1}' specVersion: '\${3:0.8}' @@ -17343,25 +17343,25 @@ states: firstArgument: '' secondArgument: '' end: true", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, }, }, }, - Object { + { "detail": "Start with an empty Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Empty Serverless Workflow", "sortText": "100_Empty Serverless Workflow", - "textEdit": Object { + "textEdit": { "newText": "id: '\${1:workflow_unique_identifier}' version: '\${2:0.1}' specVersion: '\${3:0.8}' @@ -17371,12 +17371,12 @@ start: '\${13}' functions: [] events: [] states: []", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, @@ -17389,14 +17389,14 @@ states: []", exports[`SWF LS YAML code completion empty file completion total empty file 1`] = `2`; exports[`SWF LS YAML code completion empty file completion total empty file 2`] = ` -Array [ - Object { +[ + { "detail": "Start with a simple Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Serverless Workflow Example", "sortText": "100_Serverless Workflow Example", - "textEdit": Object { + "textEdit": { "newText": "id: '\${1:workflow_unique_identifier}' version: '\${2:0.1}' specVersion: '\${3:0.8}' @@ -17422,25 +17422,25 @@ states: firstArgument: '' secondArgument: '' end: true", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, }, }, }, - Object { + { "detail": "Start with an empty Serverless Workflow", "insertTextFormat": 2, "kind": 1, "label": "Empty Serverless Workflow", "sortText": "100_Empty Serverless Workflow", - "textEdit": Object { + "textEdit": { "newText": "id: '\${1:workflow_unique_identifier}' version: '\${2:0.1}' specVersion: '\${3:0.8}' @@ -17450,12 +17450,12 @@ start: '\${13}' functions: [] events: [] states: []", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, @@ -17468,22 +17468,22 @@ states: []", exports[`SWF LS YAML code completion eventRefs completion add at the beginning / with extra indentation / using the code lenses 1`] = `1`; exports[`SWF LS YAML code completion eventRefs completion add at the beginning / with extra indentation / using the code lenses 2`] = ` -Array [ - Object { - "detail": "\\"GreetEvent\\"", +[ + { + "detail": ""GreetEvent"", "filterText": "GreetEvent", "insertTextFormat": 2, "kind": 12, "label": "GreetEvent", "sortText": "100_GreetEvent", - "textEdit": Object { + "textEdit": { "newText": "GreetEvent", - "range": Object { - "end": Object { + "range": { + "end": { "character": 6, "line": 5, }, - "start": Object { + "start": { "character": 6, "line": 5, }, @@ -17496,22 +17496,22 @@ Array [ exports[`SWF LS YAML code completion eventRefs completion add at the beginning 1`] = `1`; exports[`SWF LS YAML code completion eventRefs completion add at the beginning 2`] = ` -Array [ - Object { - "detail": "\\"GreetEvent\\"", +[ + { + "detail": ""GreetEvent"", "filterText": "GreetEvent", "insertTextFormat": 2, "kind": 12, "label": "GreetEvent", "sortText": "100_GreetEvent", - "textEdit": Object { + "textEdit": { "newText": "GreetEvent", - "range": Object { - "end": Object { + "range": { + "end": { "character": 6, "line": 5, }, - "start": Object { + "start": { "character": 6, "line": 5, }, @@ -17524,22 +17524,22 @@ Array [ exports[`SWF LS YAML code completion eventRefs completion add at the beginning, using the code lenses 1`] = `1`; exports[`SWF LS YAML code completion eventRefs completion add at the beginning, using the code lenses 2`] = ` -Array [ - Object { - "detail": "\\"GreetEvent\\"", +[ + { + "detail": ""GreetEvent"", "filterText": "GreetEvent", "insertTextFormat": 2, "kind": 12, "label": "GreetEvent", "sortText": "100_GreetEvent", - "textEdit": Object { + "textEdit": { "newText": "GreetEvent", - "range": Object { - "end": Object { + "range": { + "end": { "character": 4, "line": 5, }, - "start": Object { + "start": { "character": 4, "line": 5, }, @@ -17552,22 +17552,22 @@ Array [ exports[`SWF LS YAML code completion eventRefs completion add at the end 1`] = `1`; exports[`SWF LS YAML code completion eventRefs completion add at the end 2`] = ` -Array [ - Object { - "detail": "\\"GreetEvent\\"", +[ + { + "detail": ""GreetEvent"", "filterText": "GreetEvent", "insertTextFormat": 2, "kind": 12, "label": "GreetEvent", "sortText": "100_GreetEvent", - "textEdit": Object { + "textEdit": { "newText": "GreetEvent", - "range": Object { - "end": Object { + "range": { + "end": { "character": 6, "line": 6, }, - "start": Object { + "start": { "character": 6, "line": 6, }, @@ -17579,27 +17579,27 @@ Array [ exports[`SWF LS YAML code completion eventRefs completion add in the middle / without dash character 1`] = `0`; -exports[`SWF LS YAML code completion eventRefs completion add in the middle / without dash character 2`] = `Array []`; +exports[`SWF LS YAML code completion eventRefs completion add in the middle / without dash character 2`] = `[]`; exports[`SWF LS YAML code completion eventRefs completion add in the middle 1`] = `1`; exports[`SWF LS YAML code completion eventRefs completion add in the middle 2`] = ` -Array [ - Object { - "detail": "\\"GreetEvent\\"", +[ + { + "detail": ""GreetEvent"", "filterText": "GreetEvent", "insertTextFormat": 2, "kind": 12, "label": "GreetEvent", "sortText": "100_GreetEvent", - "textEdit": Object { + "textEdit": { "newText": "GreetEvent", - "range": Object { - "end": Object { + "range": { + "end": { "character": 6, "line": 6, }, - "start": Object { + "start": { "character": 6, "line": 6, }, @@ -17612,22 +17612,22 @@ Array [ exports[`SWF LS YAML code completion eventRefs completion empty completion items / with extra space 1`] = `1`; exports[`SWF LS YAML code completion eventRefs completion empty completion items / with extra space 2`] = ` -Array [ - Object { - "detail": "\\"GreetEvent\\"", +[ + { + "detail": ""GreetEvent"", "filterText": "GreetEvent", "insertTextFormat": 2, "kind": 12, "label": "GreetEvent", "sortText": "100_GreetEvent", - "textEdit": Object { + "textEdit": { "newText": "GreetEvent", - "range": Object { - "end": Object { + "range": { + "end": { "character": 6, "line": 5, }, - "start": Object { + "start": { "character": 6, "line": 5, }, @@ -17639,32 +17639,32 @@ Array [ exports[`SWF LS YAML code completion eventRefs completion empty completion items 1`] = `0`; -exports[`SWF LS YAML code completion eventRefs completion empty completion items 2`] = `Array []`; +exports[`SWF LS YAML code completion eventRefs completion empty completion items 2`] = `[]`; exports[`SWF LS YAML code completion events completion add at the beginning / with double extra indentation / using the code lenses 1`] = `1`; exports[`SWF LS YAML code completion events completion add at the beginning / with double extra indentation / using the code lenses 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new event", "filterText": "New event", "insertTextFormat": 2, "kind": 8, "label": "New event", "sortText": "100_New event", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique event name}' source: '\${2:CloudEvent source}' type: '\${3:CloudEvent type}' kind: '\${4:Eventdef kind}' metadata: '\${5:Eventdef metdata}' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 4, "line": 1, }, - "start": Object { + "start": { "character": 4, "line": 1, }, @@ -17677,27 +17677,27 @@ Array [ exports[`SWF LS YAML code completion events completion add at the beginning / with extra indentation / using the code lenses 1`] = `1`; exports[`SWF LS YAML code completion events completion add at the beginning / with extra indentation / using the code lenses 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new event", "filterText": "New event", "insertTextFormat": 2, "kind": 8, "label": "New event", "sortText": "100_New event", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique event name}' source: '\${2:CloudEvent source}' type: '\${3:CloudEvent type}' kind: '\${4:Eventdef kind}' metadata: '\${5:Eventdef metdata}' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, @@ -17710,26 +17710,26 @@ Array [ exports[`SWF LS YAML code completion events completion add at the beginning 1`] = `1`; exports[`SWF LS YAML code completion events completion add at the beginning 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new event", "filterText": "New event", "insertTextFormat": 2, "kind": 8, "label": "New event", "sortText": "100_New event", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique event name}' source: '\${2:CloudEvent source}' type: '\${3:CloudEvent type}' kind: '\${4:Eventdef kind}' metadata: '\${5:Eventdef metdata}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, @@ -17742,27 +17742,27 @@ Array [ exports[`SWF LS YAML code completion events completion add at the beginning, using the code lenses 1`] = `1`; exports[`SWF LS YAML code completion events completion add at the beginning, using the code lenses 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new event", "filterText": "New event", "insertTextFormat": 2, "kind": 8, "label": "New event", "sortText": "100_New event", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique event name}' source: '\${2:CloudEvent source}' type: '\${3:CloudEvent type}' kind: '\${4:Eventdef kind}' metadata: '\${5:Eventdef metdata}' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, @@ -17775,26 +17775,26 @@ Array [ exports[`SWF LS YAML code completion events completion add at the end 1`] = `1`; exports[`SWF LS YAML code completion events completion add at the end 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new event", "filterText": "New event", "insertTextFormat": 2, "kind": 8, "label": "New event", "sortText": "100_New event", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique event name}' source: '\${2:CloudEvent source}' type: '\${3:CloudEvent type}' kind: '\${4:Eventdef kind}' metadata: '\${5:Eventdef metdata}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, @@ -17806,31 +17806,31 @@ Array [ exports[`SWF LS YAML code completion events completion add in the middle / without dash character 1`] = `0`; -exports[`SWF LS YAML code completion events completion add in the middle / without dash character 2`] = `Array []`; +exports[`SWF LS YAML code completion events completion add in the middle / without dash character 2`] = `[]`; exports[`SWF LS YAML code completion events completion add in the middle 1`] = `1`; exports[`SWF LS YAML code completion events completion add in the middle 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new event", "filterText": "New event", "insertTextFormat": 2, "kind": 8, "label": "New event", "sortText": "100_New event", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique event name}' source: '\${2:CloudEvent source}' type: '\${3:CloudEvent type}' kind: '\${4:Eventdef kind}' metadata: '\${5:Eventdef metdata}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, @@ -17843,26 +17843,26 @@ Array [ exports[`SWF LS YAML code completion events completion empty completion items / with extra space 1`] = `1`; exports[`SWF LS YAML code completion events completion empty completion items / with extra space 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new event", "filterText": "New event", "insertTextFormat": 2, "kind": 8, "label": "New event", "sortText": "100_New event", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique event name}' source: '\${2:CloudEvent source}' type: '\${3:CloudEvent type}' kind: '\${4:Eventdef kind}' metadata: '\${5:Eventdef metdata}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, @@ -17874,34 +17874,34 @@ Array [ exports[`SWF LS YAML code completion events completion empty completion items 1`] = `0`; -exports[`SWF LS YAML code completion events completion empty completion items 2`] = `Array []`; +exports[`SWF LS YAML code completion events completion empty completion items 2`] = `[]`; exports[`SWF LS YAML code completion functionRef arguments completion using JSON format 1`] = `0`; -exports[`SWF LS YAML code completion functionRef arguments completion using JSON format 2`] = `Array []`; +exports[`SWF LS YAML code completion functionRef arguments completion using JSON format 2`] = `[]`; exports[`SWF LS YAML code completion functionRef arguments completion with same level content after 1`] = `1`; exports[`SWF LS YAML code completion functionRef arguments completion with same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "specs/testRelativeService1.yml#testRelativeFunction1", "filterText": "'testRelativeFunction1' arguments", "insertTextFormat": 2, "kind": 9, "label": "'testRelativeFunction1' arguments", "sortText": "100_'testRelativeFunction1' arguments", - "textEdit": Object { + "textEdit": { "newText": " argString: '\${1:}' argNumber: '\${2:}' argBoolean: '\${3:}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 13, }, - "start": Object { + "start": { "character": 17, "line": 13, }, @@ -17913,34 +17913,34 @@ Array [ exports[`SWF LS YAML code completion functionRef arguments completion without any function arguments to complete 1`] = `0`; -exports[`SWF LS YAML code completion functionRef arguments completion without any function arguments to complete 2`] = `Array []`; +exports[`SWF LS YAML code completion functionRef arguments completion without any function arguments to complete 2`] = `[]`; exports[`SWF LS YAML code completion functionRef arguments completion without same level content after / without space after property name 1`] = `0`; -exports[`SWF LS YAML code completion functionRef arguments completion without same level content after / without space after property name 2`] = `Array []`; +exports[`SWF LS YAML code completion functionRef arguments completion without same level content after / without space after property name 2`] = `[]`; exports[`SWF LS YAML code completion functionRef arguments completion without same level content after 1`] = `1`; exports[`SWF LS YAML code completion functionRef arguments completion without same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "specs/testRelativeService1.yml#testRelativeFunction1", "filterText": "'testRelativeFunction1' arguments", "insertTextFormat": 2, "kind": 9, "label": "'testRelativeFunction1' arguments", "sortText": "100_'testRelativeFunction1' arguments", - "textEdit": Object { + "textEdit": { "newText": " argString: '\${1:}' argNumber: '\${2:}' argBoolean: '\${3:}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 13, }, - "start": Object { + "start": { "character": 17, "line": 13, }, @@ -17953,27 +17953,27 @@ Array [ exports[`SWF LS YAML code completion functionRef completion with same level content after 1`] = `1`; exports[`SWF LS YAML code completion functionRef completion with same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "specs/testRelativeService1.yml#testRelativeFunction1", "filterText": "testRelativeFunction1", "insertTextFormat": 2, "kind": 9, "label": "testRelativeFunction1", "sortText": "100_testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": " refName: 'testRelativeFunction1' arguments: argString: '\${1:}' argNumber: '\${2:}' argBoolean: '\${3:}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 10, }, - "start": Object { + "start": { "character": 17, "line": 10, }, @@ -17986,27 +17986,27 @@ Array [ exports[`SWF LS YAML code completion functionRef completion without same level content after 1`] = `1`; exports[`SWF LS YAML code completion functionRef completion without same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "specs/testRelativeService1.yml#testRelativeFunction1", "filterText": "testRelativeFunction1", "insertTextFormat": 2, "kind": 9, "label": "testRelativeFunction1", "sortText": "100_testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": " refName: 'testRelativeFunction1' arguments: argString: '\${1:}' argNumber: '\${2:}' argBoolean: '\${3:}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 11, }, - "start": Object { + "start": { "character": 17, "line": 11, }, @@ -18019,22 +18019,22 @@ Array [ exports[`SWF LS YAML code completion functionRef refName completion inside double quotes / with same level content after 1`] = `1`; exports[`SWF LS YAML code completion functionRef refName completion inside double quotes / with same level content after 2`] = ` -Array [ - Object { - "detail": "\\"myFunc\\"", +[ + { + "detail": ""myFunc"", "filterText": "myFunc", "insertTextFormat": 2, "kind": 12, "label": "myFunc", "sortText": "100_myFunc", - "textEdit": Object { + "textEdit": { "newText": "myFunc", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 12, }, - "start": Object { + "start": { "character": 15, "line": 12, }, @@ -18047,22 +18047,22 @@ Array [ exports[`SWF LS YAML code completion functionRef refName completion inside double quotes / without same level content after 1`] = `1`; exports[`SWF LS YAML code completion functionRef refName completion inside double quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"myFunc\\"", +[ + { + "detail": ""myFunc"", "filterText": "myFunc", "insertTextFormat": 2, "kind": 12, "label": "myFunc", "sortText": "100_myFunc", - "textEdit": Object { + "textEdit": { "newText": "myFunc", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 12, }, - "start": Object { + "start": { "character": 15, "line": 12, }, @@ -18075,22 +18075,22 @@ Array [ exports[`SWF LS YAML code completion functionRef refName completion inside single quotes / without same level content after 1`] = `1`; exports[`SWF LS YAML code completion functionRef refName completion inside single quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"myFunc\\"", +[ + { + "detail": ""myFunc"", "filterText": "myFunc", "insertTextFormat": 2, "kind": 12, "label": "myFunc", "sortText": "100_myFunc", - "textEdit": Object { + "textEdit": { "newText": "myFunc", - "range": Object { - "end": Object { + "range": { + "end": { "character": 17, "line": 12, }, - "start": Object { + "start": { "character": 15, "line": 12, }, @@ -18103,22 +18103,22 @@ Array [ exports[`SWF LS YAML code completion functionRef refName completion not in quotes / with same level content after 1`] = `1`; exports[`SWF LS YAML code completion functionRef refName completion not in quotes / with same level content after 2`] = ` -Array [ - Object { - "detail": "\\"myFunc\\"", +[ + { + "detail": ""myFunc"", "filterText": "myFunc", "insertTextFormat": 2, "kind": 12, "label": "myFunc", "sortText": "100_myFunc", - "textEdit": Object { + "textEdit": { "newText": "myFunc", - "range": Object { - "end": Object { + "range": { + "end": { "character": 15, "line": 12, }, - "start": Object { + "start": { "character": 15, "line": 12, }, @@ -18131,22 +18131,22 @@ Array [ exports[`SWF LS YAML code completion functionRef refName completion not in quotes / without same level content after 1`] = `1`; exports[`SWF LS YAML code completion functionRef refName completion not in quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"myFunc\\"", +[ + { + "detail": ""myFunc"", "filterText": "myFunc", "insertTextFormat": 2, "kind": 12, "label": "myFunc", "sortText": "100_myFunc", - "textEdit": Object { + "textEdit": { "newText": "myFunc", - "range": Object { - "end": Object { + "range": { + "end": { "character": 15, "line": 12, }, - "start": Object { + "start": { "character": 15, "line": 12, }, @@ -18158,28 +18158,28 @@ Array [ exports[`SWF LS YAML code completion functionRef refName completion not in quotes / without space after property name 1`] = `0`; -exports[`SWF LS YAML code completion functionRef refName completion not in quotes / without space after property name 2`] = `Array []`; +exports[`SWF LS YAML code completion functionRef refName completion not in quotes / without space after property name 2`] = `[]`; exports[`SWF LS YAML code completion functions completion add at the beginning / with double extra indentation / using the code lenses 1`] = `2`; exports[`SWF LS YAML code completion functions completion add at the beginning / with double extra indentation / using the code lenses 2`] = ` -Array [ - Object { - "command": Object { - "arguments": Array [ - Object { - "containingService": Object { - "events": Array [], - "functions": Array [ - Object { - "arguments": Object { +[ + { + "command": { + "arguments": [ + { + "containingService": { + "events": [], + "functions": [ + { + "arguments": { "argBoolean": "boolean", "argNumber": "number", "argString": "string", }, "name": "testRelativeFunction1", "operation": "specs/testRelativeService1.yml#testRelativeFunction1", - "source": Object { + "source": { "serviceFileAbsolutePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18188,7 +18188,7 @@ Array [ ], "name": "testRelativeService1", "rawContent": "", - "source": Object { + "source": { "absoluteFilePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18206,41 +18206,41 @@ Array [ "kind": 18, "label": "specs»testRelativeService1.yml#testRelativeFunction1", "sortText": "100_specs»testRelativeService1.yml#testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:testRelativeFunction1}' operation: 'specs/testRelativeService1.yml#testRelativeFunction1' type: rest ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 4, "line": 1, }, - "start": Object { + "start": { "character": 4, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new function", "filterText": "New function", "insertTextFormat": 2, "kind": 8, "label": "New function", "sortText": "100_New function", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique function name}' operation: '\${2:localhost#operation}' type: '\${3:Function type}' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 4, "line": 1, }, - "start": Object { + "start": { "character": 4, "line": 1, }, @@ -18253,23 +18253,23 @@ Array [ exports[`SWF LS YAML code completion functions completion add at the beginning / with extra indentation / using the code lenses 1`] = `2`; exports[`SWF LS YAML code completion functions completion add at the beginning / with extra indentation / using the code lenses 2`] = ` -Array [ - Object { - "command": Object { - "arguments": Array [ - Object { - "containingService": Object { - "events": Array [], - "functions": Array [ - Object { - "arguments": Object { +[ + { + "command": { + "arguments": [ + { + "containingService": { + "events": [], + "functions": [ + { + "arguments": { "argBoolean": "boolean", "argNumber": "number", "argString": "string", }, "name": "testRelativeFunction1", "operation": "specs/testRelativeService1.yml#testRelativeFunction1", - "source": Object { + "source": { "serviceFileAbsolutePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18278,7 +18278,7 @@ Array [ ], "name": "testRelativeService1", "rawContent": "", - "source": Object { + "source": { "absoluteFilePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18296,41 +18296,41 @@ Array [ "kind": 18, "label": "specs»testRelativeService1.yml#testRelativeFunction1", "sortText": "100_specs»testRelativeService1.yml#testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:testRelativeFunction1}' operation: 'specs/testRelativeService1.yml#testRelativeFunction1' type: rest ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new function", "filterText": "New function", "insertTextFormat": 2, "kind": 8, "label": "New function", "sortText": "100_New function", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique function name}' operation: '\${2:localhost#operation}' type: '\${3:Function type}' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, @@ -18343,23 +18343,23 @@ Array [ exports[`SWF LS YAML code completion functions completion add at the beginning 1`] = `2`; exports[`SWF LS YAML code completion functions completion add at the beginning 2`] = ` -Array [ - Object { - "command": Object { - "arguments": Array [ - Object { - "containingService": Object { - "events": Array [], - "functions": Array [ - Object { - "arguments": Object { +[ + { + "command": { + "arguments": [ + { + "containingService": { + "events": [], + "functions": [ + { + "arguments": { "argBoolean": "boolean", "argNumber": "number", "argString": "string", }, "name": "testRelativeFunction1", "operation": "specs/testRelativeService1.yml#testRelativeFunction1", - "source": Object { + "source": { "serviceFileAbsolutePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18368,7 +18368,7 @@ Array [ ], "name": "testRelativeService1", "rawContent": "", - "source": Object { + "source": { "absoluteFilePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18386,39 +18386,39 @@ Array [ "kind": 18, "label": "specs»testRelativeService1.yml#testRelativeFunction1", "sortText": "100_specs»testRelativeService1.yml#testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:testRelativeFunction1}' operation: 'specs/testRelativeService1.yml#testRelativeFunction1' type: rest", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new function", "filterText": "New function", "insertTextFormat": 2, "kind": 8, "label": "New function", "sortText": "100_New function", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique function name}' operation: '\${2:localhost#operation}' type: '\${3:Function type}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, @@ -18431,23 +18431,23 @@ Array [ exports[`SWF LS YAML code completion functions completion add at the beginning, using the code lenses 1`] = `2`; exports[`SWF LS YAML code completion functions completion add at the beginning, using the code lenses 2`] = ` -Array [ - Object { - "command": Object { - "arguments": Array [ - Object { - "containingService": Object { - "events": Array [], - "functions": Array [ - Object { - "arguments": Object { +[ + { + "command": { + "arguments": [ + { + "containingService": { + "events": [], + "functions": [ + { + "arguments": { "argBoolean": "boolean", "argNumber": "number", "argString": "string", }, "name": "testRelativeFunction1", "operation": "specs/testRelativeService1.yml#testRelativeFunction1", - "source": Object { + "source": { "serviceFileAbsolutePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18456,7 +18456,7 @@ Array [ ], "name": "testRelativeService1", "rawContent": "", - "source": Object { + "source": { "absoluteFilePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18474,41 +18474,41 @@ Array [ "kind": 18, "label": "specs»testRelativeService1.yml#testRelativeFunction1", "sortText": "100_specs»testRelativeService1.yml#testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:testRelativeFunction1}' operation: 'specs/testRelativeService1.yml#testRelativeFunction1' type: rest ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new function", "filterText": "New function", "insertTextFormat": 2, "kind": 8, "label": "New function", "sortText": "100_New function", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique function name}' operation: '\${2:localhost#operation}' type: '\${3:Function type}' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, @@ -18521,23 +18521,23 @@ Array [ exports[`SWF LS YAML code completion functions completion add at the end 1`] = `2`; exports[`SWF LS YAML code completion functions completion add at the end 2`] = ` -Array [ - Object { - "command": Object { - "arguments": Array [ - Object { - "containingService": Object { - "events": Array [], - "functions": Array [ - Object { - "arguments": Object { +[ + { + "command": { + "arguments": [ + { + "containingService": { + "events": [], + "functions": [ + { + "arguments": { "argBoolean": "boolean", "argNumber": "number", "argString": "string", }, "name": "testRelativeFunction1", "operation": "specs/testRelativeService1.yml#testRelativeFunction1", - "source": Object { + "source": { "serviceFileAbsolutePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18546,7 +18546,7 @@ Array [ ], "name": "testRelativeService1", "rawContent": "", - "source": Object { + "source": { "absoluteFilePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18564,39 +18564,39 @@ Array [ "kind": 18, "label": "specs»testRelativeService1.yml#testRelativeFunction1", "sortText": "100_specs»testRelativeService1.yml#testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:testRelativeFunction1}' operation: 'specs/testRelativeService1.yml#testRelativeFunction1' type: rest", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, }, }, }, - Object { + { "detail": "Add a new function", "filterText": "New function", "insertTextFormat": 2, "kind": 8, "label": "New function", "sortText": "100_New function", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique function name}' operation: '\${2:localhost#operation}' type: '\${3:Function type}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, @@ -18608,28 +18608,28 @@ Array [ exports[`SWF LS YAML code completion functions completion add in the middle / without dash character 1`] = `0`; -exports[`SWF LS YAML code completion functions completion add in the middle / without dash character 2`] = `Array []`; +exports[`SWF LS YAML code completion functions completion add in the middle / without dash character 2`] = `[]`; exports[`SWF LS YAML code completion functions completion add in the middle 1`] = `2`; exports[`SWF LS YAML code completion functions completion add in the middle 2`] = ` -Array [ - Object { - "command": Object { - "arguments": Array [ - Object { - "containingService": Object { - "events": Array [], - "functions": Array [ - Object { - "arguments": Object { +[ + { + "command": { + "arguments": [ + { + "containingService": { + "events": [], + "functions": [ + { + "arguments": { "argBoolean": "boolean", "argNumber": "number", "argString": "string", }, "name": "testRelativeFunction1", "operation": "specs/testRelativeService1.yml#testRelativeFunction1", - "source": Object { + "source": { "serviceFileAbsolutePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18638,7 +18638,7 @@ Array [ ], "name": "testRelativeService1", "rawContent": "", - "source": Object { + "source": { "absoluteFilePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18656,39 +18656,39 @@ Array [ "kind": 18, "label": "specs»testRelativeService1.yml#testRelativeFunction1", "sortText": "100_specs»testRelativeService1.yml#testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:testRelativeFunction1}' operation: 'specs/testRelativeService1.yml#testRelativeFunction1' type: rest", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, }, }, }, - Object { + { "detail": "Add a new function", "filterText": "New function", "insertTextFormat": 2, "kind": 8, "label": "New function", "sortText": "100_New function", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique function name}' operation: '\${2:localhost#operation}' type: '\${3:Function type}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, @@ -18701,23 +18701,23 @@ Array [ exports[`SWF LS YAML code completion functions completion empty completion items / with extra space 1`] = `2`; exports[`SWF LS YAML code completion functions completion empty completion items / with extra space 2`] = ` -Array [ - Object { - "command": Object { - "arguments": Array [ - Object { - "containingService": Object { - "events": Array [], - "functions": Array [ - Object { - "arguments": Object { +[ + { + "command": { + "arguments": [ + { + "containingService": { + "events": [], + "functions": [ + { + "arguments": { "argBoolean": "boolean", "argNumber": "number", "argString": "string", }, "name": "testRelativeFunction1", "operation": "specs/testRelativeService1.yml#testRelativeFunction1", - "source": Object { + "source": { "serviceFileAbsolutePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18726,7 +18726,7 @@ Array [ ], "name": "testRelativeService1", "rawContent": "", - "source": Object { + "source": { "absoluteFilePath": "/Users/tiago/Desktop/testRelativeService1.yml", "type": "LOCAL_FS", }, @@ -18744,39 +18744,39 @@ Array [ "kind": 18, "label": "specs»testRelativeService1.yml#testRelativeFunction1", "sortText": "100_specs»testRelativeService1.yml#testRelativeFunction1", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:testRelativeFunction1}' operation: 'specs/testRelativeService1.yml#testRelativeFunction1' type: rest", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new function", "filterText": "New function", "insertTextFormat": 2, "kind": 8, "label": "New function", "sortText": "100_New function", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique function name}' operation: '\${2:localhost#operation}' type: '\${3:Function type}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, @@ -18788,27 +18788,27 @@ Array [ exports[`SWF LS YAML code completion functions completion empty completion items 1`] = `0`; -exports[`SWF LS YAML code completion functions completion empty completion items 2`] = `Array []`; +exports[`SWF LS YAML code completion functions completion empty completion items 2`] = `[]`; exports[`SWF LS YAML code completion operation completion inside double quotes / without same level content after 1`] = `1`; exports[`SWF LS YAML code completion operation completion inside double quotes / without same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "'specs/testRelativeService1.yml#testRelativeFunction1'", "filterText": "'specs/testRelativeService1.yml#testRelativeFunction1'", "insertTextFormat": 2, "kind": 19, "label": "'specs/testRelativeService1.yml#testRelativeFunction1'", "sortText": "100_'specs/testRelativeService1.yml#testRelativeFunction1'", - "textEdit": Object { + "textEdit": { "newText": "'specs/testRelativeService1.yml#testRelativeFunction1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 15, "line": 2, }, - "start": Object { + "start": { "character": 13, "line": 2, }, @@ -18821,22 +18821,22 @@ Array [ exports[`SWF LS YAML code completion operation completion inside single quotes / with same level content after 1`] = `1`; exports[`SWF LS YAML code completion operation completion inside single quotes / with same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "'specs/testRelativeService1.yml#testRelativeFunction1'", "filterText": "'specs/testRelativeService1.yml#testRelativeFunction1'", "insertTextFormat": 2, "kind": 19, "label": "'specs/testRelativeService1.yml#testRelativeFunction1'", "sortText": "100_'specs/testRelativeService1.yml#testRelativeFunction1'", - "textEdit": Object { + "textEdit": { "newText": "'specs/testRelativeService1.yml#testRelativeFunction1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 15, "line": 2, }, - "start": Object { + "start": { "character": 13, "line": 2, }, @@ -18849,22 +18849,22 @@ Array [ exports[`SWF LS YAML code completion operation completion inside single quotes / without same level content after 1`] = `1`; exports[`SWF LS YAML code completion operation completion inside single quotes / without same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "'specs/testRelativeService1.yml#testRelativeFunction1'", "filterText": "'specs/testRelativeService1.yml#testRelativeFunction1'", "insertTextFormat": 2, "kind": 19, "label": "'specs/testRelativeService1.yml#testRelativeFunction1'", "sortText": "100_'specs/testRelativeService1.yml#testRelativeFunction1'", - "textEdit": Object { + "textEdit": { "newText": "'specs/testRelativeService1.yml#testRelativeFunction1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 15, "line": 2, }, - "start": Object { + "start": { "character": 13, "line": 2, }, @@ -18877,22 +18877,22 @@ Array [ exports[`SWF LS YAML code completion operation completion not in quotes / with same level content after 1`] = `1`; exports[`SWF LS YAML code completion operation completion not in quotes / with same level content after 2`] = ` -Array [ - Object { +[ + { "detail": "'specs/testRelativeService1.yml#testRelativeFunction1'", "filterText": "'specs/testRelativeService1.yml#testRelativeFunction1'", "insertTextFormat": 2, "kind": 19, "label": "'specs/testRelativeService1.yml#testRelativeFunction1'", "sortText": "100_'specs/testRelativeService1.yml#testRelativeFunction1'", - "textEdit": Object { + "textEdit": { "newText": "'specs/testRelativeService1.yml#testRelativeFunction1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 2, }, - "start": Object { + "start": { "character": 13, "line": 2, }, @@ -18905,22 +18905,22 @@ Array [ exports[`SWF LS YAML code completion operation completion not in quotes / without space after property name 1`] = `1`; exports[`SWF LS YAML code completion operation completion not in quotes / without space after property name 2`] = ` -Array [ - Object { +[ + { "detail": "'specs/testRelativeService1.yml#testRelativeFunction1'", "filterText": "'specs/testRelativeService1.yml#testRelativeFunction1'", "insertTextFormat": 2, "kind": 19, "label": "'specs/testRelativeService1.yml#testRelativeFunction1'", "sortText": "100_'specs/testRelativeService1.yml#testRelativeFunction1'", - "textEdit": Object { + "textEdit": { "newText": "'specs/testRelativeService1.yml#testRelativeFunction1'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 2, }, - "start": Object { + "start": { "character": 13, "line": 2, }, @@ -18933,43 +18933,43 @@ Array [ exports[`SWF LS YAML code completion start completion inside double quotes 1`] = `2`; exports[`SWF LS YAML code completion start completion inside double quotes 2`] = ` -Array [ - Object { - "detail": "\\"GreetInEnglish\\"", +[ + { + "detail": ""GreetInEnglish"", "filterText": "GreetInEnglish", "insertTextFormat": 2, "kind": 12, "label": "GreetInEnglish", "sortText": "100_GreetInEnglish", - "textEdit": Object { + "textEdit": { "newText": "GreetInEnglish", - "range": Object { - "end": Object { + "range": { + "end": { "character": 9, "line": 0, }, - "start": Object { + "start": { "character": 7, "line": 0, }, }, }, }, - Object { - "detail": "\\"GreetInSpanish\\"", + { + "detail": ""GreetInSpanish"", "filterText": "GreetInSpanish", "insertTextFormat": 2, "kind": 12, "label": "GreetInSpanish", "sortText": "100_GreetInSpanish", - "textEdit": Object { + "textEdit": { "newText": "GreetInSpanish", - "range": Object { - "end": Object { + "range": { + "end": { "character": 9, "line": 0, }, - "start": Object { + "start": { "character": 7, "line": 0, }, @@ -18982,43 +18982,43 @@ Array [ exports[`SWF LS YAML code completion start completion inside single quotes 1`] = `2`; exports[`SWF LS YAML code completion start completion inside single quotes 2`] = ` -Array [ - Object { - "detail": "\\"GreetInEnglish\\"", +[ + { + "detail": ""GreetInEnglish"", "filterText": "GreetInEnglish", "insertTextFormat": 2, "kind": 12, "label": "GreetInEnglish", "sortText": "100_GreetInEnglish", - "textEdit": Object { + "textEdit": { "newText": "GreetInEnglish", - "range": Object { - "end": Object { + "range": { + "end": { "character": 9, "line": 0, }, - "start": Object { + "start": { "character": 7, "line": 0, }, }, }, }, - Object { - "detail": "\\"GreetInSpanish\\"", + { + "detail": ""GreetInSpanish"", "filterText": "GreetInSpanish", "insertTextFormat": 2, "kind": 12, "label": "GreetInSpanish", "sortText": "100_GreetInSpanish", - "textEdit": Object { + "textEdit": { "newText": "GreetInSpanish", - "range": Object { - "end": Object { + "range": { + "end": { "character": 9, "line": 0, }, - "start": Object { + "start": { "character": 7, "line": 0, }, @@ -19030,48 +19030,48 @@ Array [ exports[`SWF LS YAML code completion start completion not in quotes / without space after property name 1`] = `0`; -exports[`SWF LS YAML code completion start completion not in quotes / without space after property name 2`] = `Array []`; +exports[`SWF LS YAML code completion start completion not in quotes / without space after property name 2`] = `[]`; exports[`SWF LS YAML code completion start completion not in quotes 1`] = `2`; exports[`SWF LS YAML code completion start completion not in quotes 2`] = ` -Array [ - Object { - "detail": "\\"GreetInEnglish\\"", +[ + { + "detail": ""GreetInEnglish"", "filterText": "GreetInEnglish", "insertTextFormat": 2, "kind": 12, "label": "GreetInEnglish", "sortText": "100_GreetInEnglish", - "textEdit": Object { + "textEdit": { "newText": "GreetInEnglish", - "range": Object { - "end": Object { + "range": { + "end": { "character": 7, "line": 0, }, - "start": Object { + "start": { "character": 7, "line": 0, }, }, }, }, - Object { - "detail": "\\"GreetInSpanish\\"", + { + "detail": ""GreetInSpanish"", "filterText": "GreetInSpanish", "insertTextFormat": 2, "kind": 12, "label": "GreetInSpanish", "sortText": "100_GreetInSpanish", - "textEdit": Object { + "textEdit": { "newText": "GreetInSpanish", - "range": Object { - "end": Object { + "range": { + "end": { "character": 7, "line": 0, }, - "start": Object { + "start": { "character": 7, "line": 0, }, @@ -19084,15 +19084,15 @@ Array [ exports[`SWF LS YAML code completion states completion add at the beginning / with double extra indentation / using the code lenses 1`] = `4`; exports[`SWF LS YAML code completion states completion add at the beginning / with double extra indentation / using the code lenses 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new operation state", "filterText": "New operation state", "insertTextFormat": 2, "kind": 8, "label": "New operation state", "sortText": "100_New operation state", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique State name}' type: operation actions: @@ -19101,26 +19101,26 @@ Array [ transition: '\${10:Next transition of the workflow}' end: false ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 4, "line": 1, }, - "start": Object { + "start": { "character": 4, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new event state", "filterText": "New event state", "insertTextFormat": 2, "kind": 8, "label": "New event state", "sortText": "100_New event state", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique State name}' type: event onEvents: @@ -19129,26 +19129,26 @@ Array [ transition: '\${10:Next transition of the workflow}' end: false ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 4, "line": 1, }, - "start": Object { + "start": { "character": 4, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new switch state", "filterText": "New switch state", "insertTextFormat": 2, "kind": 8, "label": "New switch state", "sortText": "100_New switch state", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique State name}' type: switch dataConditions: @@ -19157,38 +19157,38 @@ Array [ defaultCondition: transition: '\${7:Default transition of the workflow}' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 4, "line": 1, }, - "start": Object { + "start": { "character": 4, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new inject state", "filterText": "New inject state", "insertTextFormat": 2, "kind": 8, "label": "New inject state", "sortText": "100_New inject state", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique State name}' type: inject data: {} transition: '\${10:Next transition of the workflow}' end: false ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 4, "line": 1, }, - "start": Object { + "start": { "character": 4, "line": 1, }, @@ -19201,15 +19201,15 @@ Array [ exports[`SWF LS YAML code completion states completion add at the beginning / with extra indentation / using the code lenses 1`] = `4`; exports[`SWF LS YAML code completion states completion add at the beginning / with extra indentation / using the code lenses 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new operation state", "filterText": "New operation state", "insertTextFormat": 2, "kind": 8, "label": "New operation state", "sortText": "100_New operation state", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique State name}' type: operation actions: @@ -19218,26 +19218,26 @@ Array [ transition: '\${10:Next transition of the workflow}' end: false ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new event state", "filterText": "New event state", "insertTextFormat": 2, "kind": 8, "label": "New event state", "sortText": "100_New event state", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique State name}' type: event onEvents: @@ -19246,26 +19246,26 @@ Array [ transition: '\${10:Next transition of the workflow}' end: false ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new switch state", "filterText": "New switch state", "insertTextFormat": 2, "kind": 8, "label": "New switch state", "sortText": "100_New switch state", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique State name}' type: switch dataConditions: @@ -19274,38 +19274,38 @@ Array [ defaultCondition: transition: '\${7:Default transition of the workflow}' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new inject state", "filterText": "New inject state", "insertTextFormat": 2, "kind": 8, "label": "New inject state", "sortText": "100_New inject state", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique State name}' type: inject data: {} transition: '\${10:Next transition of the workflow}' end: false ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, @@ -19318,15 +19318,15 @@ Array [ exports[`SWF LS YAML code completion states completion add at the beginning 1`] = `4`; exports[`SWF LS YAML code completion states completion add at the beginning 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new operation state", "filterText": "New operation state", "insertTextFormat": 2, "kind": 8, "label": "New operation state", "sortText": "100_New operation state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: operation actions: @@ -19334,26 +19334,26 @@ Array [ functionRef: {} transition: '\${10:Next transition of the workflow}' end: false", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new event state", "filterText": "New event state", "insertTextFormat": 2, "kind": 8, "label": "New event state", "sortText": "100_New event state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: event onEvents: @@ -19361,26 +19361,26 @@ Array [ - '\${5:Unique event names}' transition: '\${10:Next transition of the workflow}' end: false", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new switch state", "filterText": "New switch state", "insertTextFormat": 2, "kind": 8, "label": "New switch state", "sortText": "100_New switch state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: switch dataConditions: @@ -19388,37 +19388,37 @@ Array [ transition: '\${6:Transition to another state if condition is true}' defaultCondition: transition: '\${7:Default transition of the workflow}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new inject state", "filterText": "New inject state", "insertTextFormat": 2, "kind": 8, "label": "New inject state", "sortText": "100_New inject state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: inject data: {} transition: '\${10:Next transition of the workflow}' end: false", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, @@ -19431,15 +19431,15 @@ Array [ exports[`SWF LS YAML code completion states completion add at the beginning, using the code lenses 1`] = `4`; exports[`SWF LS YAML code completion states completion add at the beginning, using the code lenses 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new operation state", "filterText": "New operation state", "insertTextFormat": 2, "kind": 8, "label": "New operation state", "sortText": "100_New operation state", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique State name}' type: operation actions: @@ -19448,26 +19448,26 @@ Array [ transition: '\${10:Next transition of the workflow}' end: false ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new event state", "filterText": "New event state", "insertTextFormat": 2, "kind": 8, "label": "New event state", "sortText": "100_New event state", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique State name}' type: event onEvents: @@ -19476,26 +19476,26 @@ Array [ transition: '\${10:Next transition of the workflow}' end: false ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new switch state", "filterText": "New switch state", "insertTextFormat": 2, "kind": 8, "label": "New switch state", "sortText": "100_New switch state", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique State name}' type: switch dataConditions: @@ -19504,38 +19504,38 @@ Array [ defaultCondition: transition: '\${7:Default transition of the workflow}' ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new inject state", "filterText": "New inject state", "insertTextFormat": 2, "kind": 8, "label": "New inject state", "sortText": "100_New inject state", - "textEdit": Object { + "textEdit": { "newText": "- name: '\${1:Unique State name}' type: inject data: {} transition: '\${10:Next transition of the workflow}' end: false ", - "range": Object { - "end": Object { + "range": { + "end": { "character": 0, "line": 1, }, - "start": Object { + "start": { "character": 0, "line": 1, }, @@ -19548,15 +19548,15 @@ Array [ exports[`SWF LS YAML code completion states completion add at the end 1`] = `4`; exports[`SWF LS YAML code completion states completion add at the end 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new operation state", "filterText": "New operation state", "insertTextFormat": 2, "kind": 8, "label": "New operation state", "sortText": "100_New operation state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: operation actions: @@ -19564,26 +19564,26 @@ Array [ functionRef: {} transition: '\${10:Next transition of the workflow}' end: false", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, }, }, }, - Object { + { "detail": "Add a new event state", "filterText": "New event state", "insertTextFormat": 2, "kind": 8, "label": "New event state", "sortText": "100_New event state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: event onEvents: @@ -19591,26 +19591,26 @@ Array [ - '\${5:Unique event names}' transition: '\${10:Next transition of the workflow}' end: false", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, }, }, }, - Object { + { "detail": "Add a new switch state", "filterText": "New switch state", "insertTextFormat": 2, "kind": 8, "label": "New switch state", "sortText": "100_New switch state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: switch dataConditions: @@ -19618,37 +19618,37 @@ Array [ transition: '\${6:Transition to another state if condition is true}' defaultCondition: transition: '\${7:Default transition of the workflow}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, }, }, }, - Object { + { "detail": "Add a new inject state", "filterText": "New inject state", "insertTextFormat": 2, "kind": 8, "label": "New inject state", "sortText": "100_New inject state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: inject data: {} transition: '\${10:Next transition of the workflow}' end: false", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, @@ -19660,20 +19660,20 @@ Array [ exports[`SWF LS YAML code completion states completion add in the middle / without dash character 1`] = `0`; -exports[`SWF LS YAML code completion states completion add in the middle / without dash character 2`] = `Array []`; +exports[`SWF LS YAML code completion states completion add in the middle / without dash character 2`] = `[]`; exports[`SWF LS YAML code completion states completion add in the middle 1`] = `4`; exports[`SWF LS YAML code completion states completion add in the middle 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new operation state", "filterText": "New operation state", "insertTextFormat": 2, "kind": 8, "label": "New operation state", "sortText": "100_New operation state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: operation actions: @@ -19681,26 +19681,26 @@ Array [ functionRef: {} transition: '\${10:Next transition of the workflow}' end: false", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, }, }, }, - Object { + { "detail": "Add a new event state", "filterText": "New event state", "insertTextFormat": 2, "kind": 8, "label": "New event state", "sortText": "100_New event state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: event onEvents: @@ -19708,26 +19708,26 @@ Array [ - '\${5:Unique event names}' transition: '\${10:Next transition of the workflow}' end: false", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, }, }, }, - Object { + { "detail": "Add a new switch state", "filterText": "New switch state", "insertTextFormat": 2, "kind": 8, "label": "New switch state", "sortText": "100_New switch state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: switch dataConditions: @@ -19735,37 +19735,37 @@ Array [ transition: '\${6:Transition to another state if condition is true}' defaultCondition: transition: '\${7:Default transition of the workflow}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, }, }, }, - Object { + { "detail": "Add a new inject state", "filterText": "New inject state", "insertTextFormat": 2, "kind": 8, "label": "New inject state", "sortText": "100_New inject state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: inject data: {} transition: '\${10:Next transition of the workflow}' end: false", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 2, }, - "start": Object { + "start": { "character": 2, "line": 2, }, @@ -19778,15 +19778,15 @@ Array [ exports[`SWF LS YAML code completion states completion empty completion items / with extra space 1`] = `4`; exports[`SWF LS YAML code completion states completion empty completion items / with extra space 2`] = ` -Array [ - Object { +[ + { "detail": "Add a new operation state", "filterText": "New operation state", "insertTextFormat": 2, "kind": 8, "label": "New operation state", "sortText": "100_New operation state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: operation actions: @@ -19794,26 +19794,26 @@ Array [ functionRef: {} transition: '\${10:Next transition of the workflow}' end: false", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new event state", "filterText": "New event state", "insertTextFormat": 2, "kind": 8, "label": "New event state", "sortText": "100_New event state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: event onEvents: @@ -19821,26 +19821,26 @@ Array [ - '\${5:Unique event names}' transition: '\${10:Next transition of the workflow}' end: false", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new switch state", "filterText": "New switch state", "insertTextFormat": 2, "kind": 8, "label": "New switch state", "sortText": "100_New switch state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: switch dataConditions: @@ -19848,37 +19848,37 @@ Array [ transition: '\${6:Transition to another state if condition is true}' defaultCondition: transition: '\${7:Default transition of the workflow}'", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, }, }, }, - Object { + { "detail": "Add a new inject state", "filterText": "New inject state", "insertTextFormat": 2, "kind": 8, "label": "New inject state", "sortText": "100_New inject state", - "textEdit": Object { + "textEdit": { "newText": "name: '\${1:Unique State name}' type: inject data: {} transition: '\${10:Next transition of the workflow}' end: false", - "range": Object { - "end": Object { + "range": { + "end": { "character": 2, "line": 1, }, - "start": Object { + "start": { "character": 2, "line": 1, }, @@ -19890,27 +19890,27 @@ Array [ exports[`SWF LS YAML code completion states completion empty completion items 1`] = `0`; -exports[`SWF LS YAML code completion states completion empty completion items 2`] = `Array []`; +exports[`SWF LS YAML code completion states completion empty completion items 2`] = `[]`; exports[`SWF LS YAML code completion transition completion dataConditions transition completion simple case 1`] = `1`; exports[`SWF LS YAML code completion transition completion dataConditions transition completion simple case 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", "filterText": "Inject Mantra", "insertTextFormat": 2, "kind": 12, "label": "Inject Mantra", "sortText": "100_Inject Mantra", - "textEdit": Object { + "textEdit": { "newText": "Inject Mantra", - "range": Object { - "end": Object { + "range": { + "end": { "character": 16, "line": 3, }, - "start": Object { + "start": { "character": 16, "line": 3, }, @@ -19923,22 +19923,22 @@ Array [ exports[`SWF LS YAML code completion transition completion defaultCondition transition completion simple case 1`] = `1`; exports[`SWF LS YAML code completion transition completion defaultCondition transition completion simple case 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", "filterText": "Inject Mantra", "insertTextFormat": 2, "kind": 12, "label": "Inject Mantra", "sortText": "100_Inject Mantra", - "textEdit": Object { + "textEdit": { "newText": "Inject Mantra", - "range": Object { - "end": Object { + "range": { + "end": { "character": 16, "line": 3, }, - "start": Object { + "start": { "character": 16, "line": 3, }, @@ -19951,22 +19951,22 @@ Array [ exports[`SWF LS YAML code completion transition completion eventConditions transition completion simple case 1`] = `1`; exports[`SWF LS YAML code completion transition completion eventConditions transition completion simple case 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", "filterText": "Inject Mantra", "insertTextFormat": 2, "kind": 12, "label": "Inject Mantra", "sortText": "100_Inject Mantra", - "textEdit": Object { + "textEdit": { "newText": "Inject Mantra", - "range": Object { - "end": Object { + "range": { + "end": { "character": 16, "line": 3, }, - "start": Object { + "start": { "character": 16, "line": 3, }, @@ -19979,22 +19979,22 @@ Array [ exports[`SWF LS YAML code completion transition completion state transition completion inside double quotes / with same level content after 1`] = `1`; exports[`SWF LS YAML code completion transition completion state transition completion inside double quotes / with same level content after 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", "filterText": "Inject Mantra", "insertTextFormat": 2, "kind": 12, "label": "Inject Mantra", "sortText": "100_Inject Mantra", - "textEdit": Object { + "textEdit": { "newText": "Inject Mantra", - "range": Object { - "end": Object { + "range": { + "end": { "character": 16, "line": 2, }, - "start": Object { + "start": { "character": 14, "line": 2, }, @@ -20007,22 +20007,22 @@ Array [ exports[`SWF LS YAML code completion transition completion state transition completion inside double quotes / without same level content after 1`] = `1`; exports[`SWF LS YAML code completion transition completion state transition completion inside double quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", "filterText": "Inject Mantra", "insertTextFormat": 2, "kind": 12, "label": "Inject Mantra", "sortText": "100_Inject Mantra", - "textEdit": Object { + "textEdit": { "newText": "Inject Mantra", - "range": Object { - "end": Object { + "range": { + "end": { "character": 16, "line": 2, }, - "start": Object { + "start": { "character": 14, "line": 2, }, @@ -20035,22 +20035,22 @@ Array [ exports[`SWF LS YAML code completion transition completion state transition completion inside single quotes / without same level content after 1`] = `1`; exports[`SWF LS YAML code completion transition completion state transition completion inside single quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", "filterText": "Inject Mantra", "insertTextFormat": 2, "kind": 12, "label": "Inject Mantra", "sortText": "100_Inject Mantra", - "textEdit": Object { + "textEdit": { "newText": "Inject Mantra", - "range": Object { - "end": Object { + "range": { + "end": { "character": 16, "line": 2, }, - "start": Object { + "start": { "character": 14, "line": 2, }, @@ -20063,22 +20063,22 @@ Array [ exports[`SWF LS YAML code completion transition completion state transition completion not in quotes / with same level content after 1`] = `1`; exports[`SWF LS YAML code completion transition completion state transition completion not in quotes / with same level content after 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", "filterText": "Inject Mantra", "insertTextFormat": 2, "kind": 12, "label": "Inject Mantra", "sortText": "100_Inject Mantra", - "textEdit": Object { + "textEdit": { "newText": "Inject Mantra", - "range": Object { - "end": Object { + "range": { + "end": { "character": 14, "line": 2, }, - "start": Object { + "start": { "character": 14, "line": 2, }, @@ -20091,22 +20091,22 @@ Array [ exports[`SWF LS YAML code completion transition completion state transition completion not in quotes / without same level content after 1`] = `1`; exports[`SWF LS YAML code completion transition completion state transition completion not in quotes / without same level content after 2`] = ` -Array [ - Object { - "detail": "\\"Inject Mantra\\"", +[ + { + "detail": ""Inject Mantra"", "filterText": "Inject Mantra", "insertTextFormat": 2, "kind": 12, "label": "Inject Mantra", "sortText": "100_Inject Mantra", - "textEdit": Object { + "textEdit": { "newText": "Inject Mantra", - "range": Object { - "end": Object { + "range": { + "end": { "character": 14, "line": 2, }, - "start": Object { + "start": { "character": 14, "line": 2, }, @@ -20118,4 +20118,4 @@ Array [ exports[`SWF LS YAML code completion transition completion state transition completion not in quotes / without space after property name 1`] = `0`; -exports[`SWF LS YAML code completion transition completion state transition completion not in quotes / without space after property name 2`] = `Array []`; +exports[`SWF LS YAML code completion transition completion state transition completion not in quotes / without space after property name 2`] = `[]`; diff --git a/packages/serverless-workflow-service-catalog/jest.config.js b/packages/serverless-workflow-service-catalog/jest.config.js index 5927d9bb888..060be79621a 100644 --- a/packages/serverless-workflow-service-catalog/jest.config.js +++ b/packages/serverless-workflow-service-catalog/jest.config.js @@ -17,21 +17,10 @@ * under the License. */ +const { config } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, + ...config, + testEnvironment: "node", }; diff --git a/packages/serverless-workflow-service-catalog/package.json b/packages/serverless-workflow-service-catalog/package.json index ad6127d48d8..00c444f3d8e 100644 --- a/packages/serverless-workflow-service-catalog/package.json +++ b/packages/serverless-workflow-service-catalog/package.json @@ -35,18 +35,19 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/json-schema": "^7.0.11", "@types/lodash": "^4.14.168", "@types/path-browserify": "^1.0.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/serverless-workflow-service-catalog/tests/channel/parsers/parseApiContent.test.ts b/packages/serverless-workflow-service-catalog/tests/channel/parsers/parseApiContent.test.ts index 7686d3990c1..05b089e5efd 100644 --- a/packages/serverless-workflow-service-catalog/tests/channel/parsers/parseApiContent.test.ts +++ b/packages/serverless-workflow-service-catalog/tests/channel/parsers/parseApiContent.test.ts @@ -68,6 +68,6 @@ describe("parserApiContent tests", () => { expect(() => { parseContent("wrong.json"); - }).toThrowError("'wrong.json' is not a supported spec file"); + }).toThrow("'wrong.json' is not a supported spec file"); }); }); diff --git a/packages/serverless-workflow-standalone-editor/jest.config.js b/packages/serverless-workflow-standalone-editor/jest.config.js index 279609294ee..9f9746ded4c 100644 --- a/packages/serverless-workflow-standalone-editor/jest.config.js +++ b/packages/serverless-workflow-standalone-editor/jest.config.js @@ -17,21 +17,10 @@ * under the License. */ +const { config } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/__tests__/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/__mocks__/styleMock.js", - }, + ...config, + testEnvironment: "jsdom", }; diff --git a/packages/serverless-workflow-standalone-editor/package.json b/packages/serverless-workflow-standalone-editor/package.json index 1fe8402dad3..9b0c9ac4a21 100644 --- a/packages/serverless-workflow-standalone-editor/package.json +++ b/packages/serverless-workflow-standalone-editor/package.json @@ -37,6 +37,7 @@ "@kie-tools-core/webpack-base": "workspace:*", "@kie-tools-core/workspace": "workspace:*", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/kie-bc-editors": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/serverless-workflow-combined-editor": "workspace:*", @@ -48,8 +49,8 @@ "@kie-tools/serverless-workflow-service-catalog": "workspace:*", "@kie-tools/serverless-workflow-text-editor": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/minimatch": "^3.0.5", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", @@ -58,9 +59,10 @@ "copy-webpack-plugin": "^11.0.0", "filemanager-webpack-plugin": "^7.0.0", "html-webpack-plugin": "^5.3.2", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "minimatch": "^3.0.5", "monaco-editor": "^0.39.0", "monaco-editor-webpack-plugin": "^7.0.1", @@ -72,7 +74,7 @@ "rimraf": "^3.0.2", "run-script-os": "^1.1.6", "start-server-and-test": "^2.0.3", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2", "underscore": "^1.13.1", "vscode-json-languageservice": "^4.2.1", @@ -84,4 +86,4 @@ "webpack-merge": "^5.9.0", "yaml-language-server-parser": "^0.1.3" } -} \ No newline at end of file +} diff --git a/packages/kie-editors-standalone/src/__tests__/common/Editor.test.ts b/packages/serverless-workflow-standalone-editor/tests/common/Editor.test.ts similarity index 97% rename from packages/kie-editors-standalone/src/__tests__/common/Editor.test.ts rename to packages/serverless-workflow-standalone-editor/tests/common/Editor.test.ts index 38e5b354f1f..57681db9a88 100644 --- a/packages/kie-editors-standalone/src/__tests__/common/Editor.test.ts +++ b/packages/serverless-workflow-standalone-editor/tests/common/Editor.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { createEditor } from "../../common/Editor"; +import { createEditor } from "../../src/common/Editor"; import { EnvelopeServer } from "@kie-tools-core/envelope-bus/dist/channel"; import { KogitoEditorChannelApi, KogitoEditorEnvelopeApi } from "@kie-tools-core/editor/dist/api"; import { StateControl } from "@kie-tools-core/editor/dist/channel"; diff --git a/packages/serverless-workflow-text-editor/dev-webapp/App.tsx b/packages/serverless-workflow-text-editor/dev-webapp/App.tsx index c5ebe20933f..c55b594d88e 100644 --- a/packages/serverless-workflow-text-editor/dev-webapp/App.tsx +++ b/packages/serverless-workflow-text-editor/dev-webapp/App.tsx @@ -146,7 +146,7 @@ export const App = () => { endLineNumber: lsDiagnostic.range.end.line + 1, endColumn: lsDiagnostic.range.end.character + 1, }, - } as Notification) + }) as Notification ); window.alert(JSON.stringify(notifications, undefined, 2)); diff --git a/packages/serverless-workflow-text-editor/dev-webapp/static/envelope/serverless-workflow-text-editor-envelope.html b/packages/serverless-workflow-text-editor/dev-webapp/static/envelope/serverless-workflow-text-editor-envelope.html index 82eb86bc1e2..dd7f03a4130 100644 --- a/packages/serverless-workflow-text-editor/dev-webapp/static/envelope/serverless-workflow-text-editor-envelope.html +++ b/packages/serverless-workflow-text-editor/dev-webapp/static/envelope/serverless-workflow-text-editor-envelope.html @@ -17,7 +17,7 @@ ~ under the License. --> - + - - + </defs> + <title> kie_icon_rgb_fullcolor_default - - - - - - - + + + + + + + diff --git a/packages/sonataflow-deployment-webapp/static/index.html b/packages/sonataflow-deployment-webapp/static/index.html index a3f2cf62393..9a5fbfeb949 100644 --- a/packages/sonataflow-deployment-webapp/static/index.html +++ b/packages/sonataflow-deployment-webapp/static/index.html @@ -17,7 +17,7 @@ ~ under the License. --> - + SonataFlow Deployment diff --git a/packages/envelope/tests/__mocks__/styleMock.js b/packages/sonataflow-deployment-webapp/tests/__mocks__/styleMock.js similarity index 100% rename from packages/envelope/tests/__mocks__/styleMock.js rename to packages/sonataflow-deployment-webapp/tests/__mocks__/styleMock.js diff --git a/packages/sonataflow-deployment-webapp/src/__tests__/impl/CloudEventFormGatewayApiImpl.test.ts b/packages/sonataflow-deployment-webapp/tests/impl/CloudEventFormGatewayApiImpl.test.ts similarity index 94% rename from packages/sonataflow-deployment-webapp/src/__tests__/impl/CloudEventFormGatewayApiImpl.test.ts rename to packages/sonataflow-deployment-webapp/tests/impl/CloudEventFormGatewayApiImpl.test.ts index f834572abdf..42485e19fb1 100644 --- a/packages/sonataflow-deployment-webapp/src/__tests__/impl/CloudEventFormGatewayApiImpl.test.ts +++ b/packages/sonataflow-deployment-webapp/tests/impl/CloudEventFormGatewayApiImpl.test.ts @@ -18,7 +18,7 @@ */ import { triggerStartCloudEvent } from "@kie-tools/runtime-tools-swf-gateway-api/dist/gatewayApi"; -import { CloudEventFormGatewayApiImpl } from "../../impl/CloudEventFormGatewayApiImpl"; +import { CloudEventFormGatewayApiImpl } from "../../src/impl/CloudEventFormGatewayApiImpl"; jest.mock("@kie-tools/runtime-tools-swf-gateway-api/dist/gatewayApi", () => ({ triggerStartCloudEvent: jest.fn(), diff --git a/packages/sonataflow-deployment-webapp/src/__tests__/impl/WorkflowFormGatewayApiImpl.test.ts b/packages/sonataflow-deployment-webapp/tests/impl/WorkflowFormGatewayApiImpl.test.ts similarity index 97% rename from packages/sonataflow-deployment-webapp/src/__tests__/impl/WorkflowFormGatewayApiImpl.test.ts rename to packages/sonataflow-deployment-webapp/tests/impl/WorkflowFormGatewayApiImpl.test.ts index d91cd159413..11418d4e7a7 100644 --- a/packages/sonataflow-deployment-webapp/src/__tests__/impl/WorkflowFormGatewayApiImpl.test.ts +++ b/packages/sonataflow-deployment-webapp/tests/impl/WorkflowFormGatewayApiImpl.test.ts @@ -20,7 +20,7 @@ import { startWorkflowRest, getCustomWorkflowSchemaFromApi, } from "@kie-tools/runtime-tools-swf-gateway-api/dist/gatewayApi/apis"; -import { WorkflowFormGatewayApi, WorkflowFormGatewayApiImpl } from "../../impl/WorkflowFormGatewayApiImpl"; +import { WorkflowFormGatewayApi, WorkflowFormGatewayApiImpl } from "../../src/impl/WorkflowFormGatewayApiImpl"; jest.mock("@kie-tools/runtime-tools-swf-gateway-api/dist/gatewayApi/apis", () => ({ startWorkflowRest: jest.fn(), diff --git a/packages/sonataflow-devmode-image/README.md b/packages/sonataflow-devmode-image/README.md index 0ee2fda5fd0..7c68e439b3e 100644 --- a/packages/sonataflow-devmode-image/README.md +++ b/packages/sonataflow-devmode-image/README.md @@ -27,7 +27,7 @@ image along with the modules and scripts provided in `@kie-tools/sonataflow-imag - **cekit 4.11.0**: [docs.cekit.io](https://docs.cekit.io/en/latest/index.html) - **s2i**: [source-to-image](https://github.com/openshift/source-to-image) - **make** -- **docker** or **podman** +- **docker** ## Build @@ -60,12 +60,6 @@ image along with the modules and scripts provided in `@kie-tools/sonataflow-imag docker images ``` - or - - ```bash - podman images - ``` - ## Testing the generated image (only for Linux) - With the image generated, run: diff --git a/packages/sonataflow-devmode-image/env/index.js b/packages/sonataflow-devmode-image/env/index.js index d700e5b3914..660f9197301 100644 --- a/packages/sonataflow-devmode-image/env/index.js +++ b/packages/sonataflow-devmode-image/env/index.js @@ -26,19 +26,19 @@ module.exports = composeEnv([rootEnv], { vars: varsWithName({ SONATAFLOW_DEVMODE_IMAGE__registry: { default: "docker.io", - description: "The image registry.", + description: "E.g., `docker.io` or `quay.io`.", }, SONATAFLOW_DEVMODE_IMAGE__account: { default: "apache", - description: "The image registry account.", + description: "E.g,. `apache` or `kie-tools-bot`", }, SONATAFLOW_DEVMODE_IMAGE__name: { default: "incubator-kie-sonataflow-devmode", - description: "The image name.", + description: "Name of the image itself.", }, SONATAFLOW_DEVMODE_IMAGE__buildTag: { default: rootEnv.env.root.streamName, - description: "The image tag.", + description: "Tag version of this image. E.g., `main` or `10.0.x` or `10.0.0", }, SONATAFLOW_DEVMODE_IMAGE__sonataflowQuarkusDevUiVersion: { default: sonataFlowQuarkusDevUiEnv.env.sonataflowQuarkusDevuiExtension.version, diff --git a/packages/sonataflow-devmode-image/package.json b/packages/sonataflow-devmode-image/package.json index 804dfa95d96..d46b4029e61 100644 --- a/packages/sonataflow-devmode-image/package.json +++ b/packages/sonataflow-devmode-image/package.json @@ -20,11 +20,11 @@ "copy-devui-repo": "tar -C ~/.m2/repository/org/apache/kie/ -cvf build/modules/sonataflow/devmode/build-config/sonataflow-quarkus-devui-maven-repo.tar sonataflow && tar -C ~/.m2/repository/org/kie/ -cvf build/modules/sonataflow/devmode/build-config/kie-tools-maven-base-maven-repo.tar kie-tools-maven-base", "copy-test-assets": "run-script-os", "copy-test-assets:linux:darwin": "cp -R ./node_modules/@kie-tools/sonataflow-image-common/test-resources/* build && cp -R test-resources/* build", - "format": "prettier --write .", + "format": "prettier --write . --ignore-path=../../.prettierignore --ignore-path=../../.gitignore", "image:build": "run-script-os", "image:build:darwin:win32": "echo \"Build skipped on macOS and Windows\"", "image:build:linux": "pnpm setup:env make -C ./build build", - "image:test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"run-script-os\" --finally \"cp -r build/target/test/results dist-e2e-tests/\"", + "image:test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"mkdir -p build/target/test/results\" \"run-script-os\" --finally \"cp -r build/target/test/results dist-e2e-tests/\"", "image:test:darwin:win32": "echo \"Tests skipped on macOS and Windows\"", "image:test:linux": "pnpm copy-test-assets && pnpm setup:env make -C ./build test-image", "install": "node install.js && pnpm format", @@ -47,4 +47,4 @@ "s2i" ] } -} \ No newline at end of file +} diff --git a/packages/sonataflow-image-common/README.md b/packages/sonataflow-image-common/README.md index 1d6ae9d253e..96f1e6bf146 100644 --- a/packages/sonataflow-image-common/README.md +++ b/packages/sonataflow-image-common/README.md @@ -32,7 +32,7 @@ The contents of this package are: - `behave` `lxml` `docker` `docker-squash` `elementPath` `pyyaml` `ruamel.yaml` `python-dateutil` `Jinja2` `pykwalify` `colorlog` `click` - **cekit 4.11.0**: [docs.cekit.io](https://docs.cekit.io/en/latest/index.html) - **make** -- **docker** or **podman** +- **docker** ## Using the Makefile diff --git a/packages/sonataflow-image-common/package.json b/packages/sonataflow-image-common/package.json index c1b63671095..48c6e347535 100644 --- a/packages/sonataflow-image-common/package.json +++ b/packages/sonataflow-image-common/package.json @@ -26,4 +26,4 @@ "make" ] } -} \ No newline at end of file +} diff --git a/packages/sonataflow-image-common/resources/Makefile b/packages/sonataflow-image-common/resources/Makefile index 2456077c121..79c1803284a 100644 --- a/packages/sonataflow-image-common/resources/Makefile +++ b/packages/sonataflow-image-common/resources/Makefile @@ -70,8 +70,8 @@ ifneq ($(SWF_IMAGE_TAG), $(CURRENT_IMAGE_VERSION)) endif _create_e2e_dir: - rm -rf ../dist-e2e-tests - mkdir ../dist-e2e-tests + rm -rf ../dist-tests-e2e + mkdir ../dist-tests-e2e # Trigger the image tests .PHONY test-image: _create_e2e_dir _check_swf_image_name bats _test_image diff --git a/packages/sonataflow-image-common/resources/modules/kogito-maven/common/maven/settings.xml b/packages/sonataflow-image-common/resources/modules/kogito-maven/common/maven/settings.xml index 2a23213c48b..eae20db74b4 100644 --- a/packages/sonataflow-image-common/resources/modules/kogito-maven/common/maven/settings.xml +++ b/packages/sonataflow-image-common/resources/modules/kogito-maven/common/maven/settings.xml @@ -4,7 +4,6 @@ xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd" > - diff --git a/packages/sonataflow-image-common/resources/scripts/run-bats.sh b/packages/sonataflow-image-common/resources/scripts/run-bats.sh index ad52a9dc4b8..af64c14d850 100755 --- a/packages/sonataflow-image-common/resources/scripts/run-bats.sh +++ b/packages/sonataflow-image-common/resources/scripts/run-bats.sh @@ -31,7 +31,7 @@ else rm -rf bats-core fi -tests_output_path="${script_dir_path}/../../dist-e2e-tests" +tests_output_path="${script_dir_path}/../../dist-tests-e2e" echo "----> running bats" ./bats/bin/bats modules/sonataflow/common/scripts/tests/bats --formatter junit --report-formatter junit --output "${tests_output_path}" diff --git a/packages/sonataflow-image-common/resources/tests/shell/README.md b/packages/sonataflow-image-common/resources/tests/shell/README.md index 0c3c4fb75ef..c330c3b8ec6 100644 --- a/packages/sonataflow-image-common/resources/tests/shell/README.md +++ b/packages/sonataflow-image-common/resources/tests/shell/README.md @@ -26,7 +26,7 @@ The `run.sh` should be used to run the tests since it must set a few env vars. To run from your terminal, try: ```shell -tests/shell/run.sh sonataflow-devmode docker.io/apache/sonataflow-devmode:999-20240509-SNAPSHOT +tests/shell/run.sh sonataflow-devmode docker.io/apache/sonataflow-devmode:999-20240620-SNAPSHOT ``` The first argument is the test case to run and the second, the image. diff --git a/packages/sonataflow-operator/Makefile b/packages/sonataflow-operator/Makefile index 270e3065183..e42bc4a9224 100644 --- a/packages/sonataflow-operator/Makefile +++ b/packages/sonataflow-operator/Makefile @@ -336,7 +336,7 @@ generate-all: generate generate-deploy bundle addheaders vet fmt .PHONY: test-e2e # You will need to have a Minikube/Kind cluster up in running to run this target, and run container-builder before the test test-e2e: - go test ./test/e2e/* -v -ginkgo.v -ginkgo.no-color -ginkgo.junit-report=./dist-e2e-tests/junit-report-it.xml -timeout 60m + go test ./test/e2e/* -v -ginkgo.v -ginkgo.no-color -ginkgo.junit-report=./dist-tests-e2e/junit-report-it.xml -timeout 60m .PHONY: before-pr before-pr: test generate-all @@ -368,4 +368,4 @@ load-docker-image: install-kind full-test-e2e: create-cluster load-docker-image deploy sleep 60 kubectl wait pod -A -l control-plane=sonataflow-operator --for condition=Ready --timeout 120s - go test ./test/e2e/* -v -ginkgo.v -ginkgo.no-color -ginkgo.junit-report=./dist-e2e-tests/junit-report-it.xml -timeout 60m + go test ./test/e2e/* -v -ginkgo.v -ginkgo.no-color -ginkgo.junit-report=./dist-tests-e2e/junit-report-it.xml -timeout 60m diff --git a/packages/sonataflow-operator/api/go.mod b/packages/sonataflow-operator/api/go.mod index 911b758cc92..148022c1ebb 100644 --- a/packages/sonataflow-operator/api/go.mod +++ b/packages/sonataflow-operator/api/go.mod @@ -55,11 +55,11 @@ require ( github.com/senseyeio/duration v0.0.0-20180430131211-7c2a214ada46 // indirect github.com/spf13/pflag v1.0.5 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/net v0.17.0 // indirect + golang.org/x/crypto v0.21.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.13.0 // indirect - golang.org/x/sys v0.15.0 // indirect - golang.org/x/term v0.15.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.3.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect diff --git a/packages/sonataflow-operator/api/go.sum b/packages/sonataflow-operator/api/go.sum index 4f6bbea5070..b4acbbd1bac 100644 --- a/packages/sonataflow-operator/api/go.sum +++ b/packages/sonataflow-operator/api/go.sum @@ -166,7 +166,7 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -188,7 +188,7 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY= @@ -211,9 +211,9 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/packages/sonataflow-operator/bddframework/go.mod b/packages/sonataflow-operator/bddframework/go.mod index b906152b403..00649ec7f4c 100644 --- a/packages/sonataflow-operator/bddframework/go.mod +++ b/packages/sonataflow-operator/bddframework/go.mod @@ -99,12 +99,12 @@ require ( github.com/xanzy/ssh-agent v0.2.1 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/net v0.17.0 // indirect + golang.org/x/crypto v0.21.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.13.0 // indirect golang.org/x/sync v0.4.0 // indirect - golang.org/x/sys v0.15.0 // indirect - golang.org/x/term v0.15.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.3.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect diff --git a/packages/sonataflow-operator/bddframework/go.sum b/packages/sonataflow-operator/bddframework/go.sum index fa1eb9ad91d..2a12289bcfc 100644 --- a/packages/sonataflow-operator/bddframework/go.sum +++ b/packages/sonataflow-operator/bddframework/go.sum @@ -974,7 +974,7 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1069,8 +1069,7 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1171,11 +1170,11 @@ golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/packages/sonataflow-operator/bddframework/pkg/api/app/v1beta1/kogitoservices.go b/packages/sonataflow-operator/bddframework/pkg/api/app/v1beta1/kogitoservices.go index 7e4e3d8c53a..7c1ae65b288 100644 --- a/packages/sonataflow-operator/bddframework/pkg/api/app/v1beta1/kogitoservices.go +++ b/packages/sonataflow-operator/bddframework/pkg/api/app/v1beta1/kogitoservices.go @@ -201,7 +201,7 @@ type KogitoServiceSpec struct { Env []corev1.EnvVar `json:"env,omitempty"` // +optional - // Image definition for the service. Example: "quay.io/kiegroup/kogito-service:latest". + // Image definition for the service. Example: "docker.io/repo/kogito-service:latest". // // On OpenShift an ImageStream will be created in the current namespace pointing to the given image. // +operator-sdk:csv:customresourcedefinitions:type=spec diff --git a/packages/sonataflow-operator/container-builder/go.mod b/packages/sonataflow-operator/container-builder/go.mod index dfe3a689eee..d26060a02b2 100644 --- a/packages/sonataflow-operator/container-builder/go.mod +++ b/packages/sonataflow-operator/container-builder/go.mod @@ -12,7 +12,7 @@ require ( github.com/opencontainers/go-digest v1.0.0 github.com/pkg/errors v0.9.1 github.com/stretchr/testify v1.8.4 - golang.org/x/net v0.17.0 + golang.org/x/net v0.23.0 k8s.io/api v0.27.6 k8s.io/apimachinery v0.27.6 k8s.io/client-go v0.27.6 @@ -68,8 +68,8 @@ require ( go.uber.org/zap v1.26.0 // indirect golang.org/x/mod v0.13.0 // indirect golang.org/x/oauth2 v0.13.0 // indirect - golang.org/x/sys v0.15.0 // indirect - golang.org/x/term v0.15.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.14.0 // indirect diff --git a/packages/sonataflow-operator/container-builder/go.sum b/packages/sonataflow-operator/container-builder/go.sum index 54cd5675dd1..a4989def790 100644 --- a/packages/sonataflow-operator/container-builder/go.sum +++ b/packages/sonataflow-operator/container-builder/go.sum @@ -332,8 +332,7 @@ golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY= @@ -363,11 +362,9 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/text v0.0.0-20170915090833-1cbadb444a80/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= diff --git a/packages/sonataflow-operator/controllers/platform/services/services.go b/packages/sonataflow-operator/controllers/platform/services/services.go index e54e0148c7c..4170ab723f7 100644 --- a/packages/sonataflow-operator/controllers/platform/services/services.go +++ b/packages/sonataflow-operator/controllers/platform/services/services.go @@ -109,8 +109,8 @@ func (d DataIndexHandler) GetServiceImageName(persistenceType constants.Persiste if persistenceType == constants.PersistenceTypeEphemeral && len(cfg.GetCfg().DataIndexEphemeralImageTag) > 0 { return cfg.GetCfg().DataIndexEphemeralImageTag } - // returns "quay.io/kiegroup/kogito-data-index-:" - return fmt.Sprintf("%s-%s-%s:%s", constants.KogitoImageNamePrefix, constants.DataIndexName, persistenceType.String(), version.GetKogitoVersion()) + // returns "docker.io/apache/incubator-kie-kogito-data-index-:" + return fmt.Sprintf("%s-%s-%s:%s", constants.KogitoImageNamePrefix, constants.DataIndexName, persistenceType.String(), version.GetKogitoImagesTagVersion()) } func (d DataIndexHandler) GetServiceName() string { @@ -273,8 +273,8 @@ func (j JobServiceHandler) GetServiceImageName(persistenceType constants.Persist if persistenceType == constants.PersistenceTypeEphemeral && len(cfg.GetCfg().JobsServiceEphemeralImageTag) > 0 { return cfg.GetCfg().JobsServiceEphemeralImageTag } - // returns "quay.io/kiegroup/kogito-jobs-service-:" - return fmt.Sprintf("%s-%s-%s:%s", constants.KogitoImageNamePrefix, constants.JobServiceName, persistenceType.String(), version.GetKogitoVersion()) + // returns "docker.io/apache/incubator-kie-kogito-jobs-service-:" + return fmt.Sprintf("%s-%s-%s:%s", constants.KogitoImageNamePrefix, constants.JobServiceName, persistenceType.String(), version.GetKogitoImagesTagVersion()) } func (j JobServiceHandler) GetServiceName() string { diff --git a/packages/sonataflow-operator/controllers/profiles/common/constants/platform_services.go b/packages/sonataflow-operator/controllers/profiles/common/constants/platform_services.go index 956c2fedf69..caeab716cb5 100644 --- a/packages/sonataflow-operator/controllers/profiles/common/constants/platform_services.go +++ b/packages/sonataflow-operator/controllers/profiles/common/constants/platform_services.go @@ -58,7 +58,7 @@ const ( DataIndexServiceName = "data-index-service" JobServiceName = "jobs-service" ImageNamePrefix = "docker.io/apache/incubator-kie-kogito" - KogitoImageNamePrefix = "quay.io/kiegroup/kogito" + KogitoImageNamePrefix = "docker.io/apache/incubator-kie-kogito" DataIndexName = "data-index" DefaultDatabaseName string = "sonataflow" diff --git a/packages/sonataflow-operator/controllers/profiles/dev/profile_dev_test.go b/packages/sonataflow-operator/controllers/profiles/dev/profile_dev_test.go index f08192d70c0..ba2aa11a7ba 100644 --- a/packages/sonataflow-operator/controllers/profiles/dev/profile_dev_test.go +++ b/packages/sonataflow-operator/controllers/profiles/dev/profile_dev_test.go @@ -233,7 +233,7 @@ func Test_devProfileWithImageSnapshotOverrideWithPlatform(t *testing.T) { // check if the objects have been created deployment := test.MustGetDeployment(t, client, workflow) - assert.Equal(t, "docker.io/customgroup/custom-swf-builder-nightly:42.43.7", deployment.Spec.Template.Spec.Containers[0].Image) + assert.Equal(t, "docker.io/customgroup/custom-swf-builder:42.43.7", deployment.Spec.Template.Spec.Containers[0].Image) } func Test_devProfileWithWPlatformWithoutDevBaseImageAndWithBaseImage(t *testing.T) { diff --git a/packages/sonataflow-operator/env/index.js b/packages/sonataflow-operator/env/index.js index 768e48196f8..bb7dff616d4 100644 --- a/packages/sonataflow-operator/env/index.js +++ b/packages/sonataflow-operator/env/index.js @@ -27,19 +27,19 @@ module.exports = composeEnv([rootEnv, sonataflowBuilderImageEnv, sonataflowDevMo vars: varsWithName({ SONATAFLOW_OPERATOR__registry: { default: "docker.io", - description: "The image registry.", + description: "E.g., `docker.io` or `quay.io`.", }, SONATAFLOW_OPERATOR__account: { default: "apache", - description: "The image registry account.", + description: "E.g,. `apache` or `kie-tools-bot`", }, SONATAFLOW_OPERATOR__name: { default: "incubator-kie-sonataflow-operator", - description: "The image name.", + description: "Name of the image itself.", }, SONATAFLOW_OPERATOR__buildTag: { default: rootEnv.env.root.streamName, - description: "The image tag", + description: "Tag version of this image. E.g., `main` or `10.0.x` or `10.0.0", }, SONATAFLOW_OPERATOR__sonataflowBuilderImage: { default: `${sonataflowBuilderImageEnv.env.sonataflowBuilderImage.registry}/${sonataflowBuilderImageEnv.env.sonataflowBuilderImage.account}/${sonataflowBuilderImageEnv.env.sonataflowBuilderImage.name}:${sonataflowBuilderImageEnv.env.sonataflowBuilderImage.tag}`, diff --git a/packages/sonataflow-operator/go.mod b/packages/sonataflow-operator/go.mod index ed57555134d..3e320f46fa7 100644 --- a/packages/sonataflow-operator/go.mod +++ b/packages/sonataflow-operator/go.mod @@ -106,12 +106,12 @@ require ( go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.26.0 // indirect - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/net v0.17.0 // indirect + golang.org/x/crypto v0.21.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.13.0 // indirect golang.org/x/sync v0.4.0 // indirect - golang.org/x/sys v0.15.0 // indirect - golang.org/x/term v0.15.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.14.0 // indirect diff --git a/packages/sonataflow-operator/go.sum b/packages/sonataflow-operator/go.sum index f6b34f6221e..6840954e565 100644 --- a/packages/sonataflow-operator/go.sum +++ b/packages/sonataflow-operator/go.sum @@ -724,8 +724,8 @@ golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -813,8 +813,8 @@ golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -907,14 +907,14 @@ golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220708085239-5a0f0661e09d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/packages/sonataflow-operator/go.work.sum b/packages/sonataflow-operator/go.work.sum index 378d3f74099..6e93eeee2c3 100644 --- a/packages/sonataflow-operator/go.work.sum +++ b/packages/sonataflow-operator/go.work.sum @@ -432,7 +432,6 @@ github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.0 h1:vcYCAze6p19qBW7MhZybI github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.0/go.mod h1:OQeznEEkTZ9OrhHJoDD8ZDq51FHgXjqtP9z6bEwBq9U= github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 h1:sXr+ck84g/ZlZUOZiNELInmMgOsuGwdjjVkEIde0OtY= github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0/go.mod h1:okt5dMMTOFjX/aovMlrjvvXoPMBVSPzk9185BT0+eZM= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest/autorest v0.11.6/go.mod h1:V6p3pKZx1KKkJubbxnDWrzNhEIfOy/pTGasLqzHIPHs= github.com/Azure/go-autorest/autorest v0.11.8/go.mod h1:V6p3pKZx1KKkJubbxnDWrzNhEIfOy/pTGasLqzHIPHs= @@ -493,7 +492,6 @@ github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JP github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= github.com/Microsoft/hcsshim v0.8.7 h1:ptnOoufxGSzauVTsdE+wMYnCWA301PdoN4xg5oRdZpg= @@ -1356,7 +1354,6 @@ github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f h1:2+myh5ml7lgEU/51gbeLHfKGNfgEQQIWrlbdaOsidbQ= github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= -github.com/moby/term v0.0.0-20221205130635-1aeaba878587/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/mozilla/tls-observatory v0.0.0-20180409132520-8791a200eb40 h1:Q0XH6Ql1+Z6YbUKyWyI0sD8/9yH0U8x86yA8LuWMJwY= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= @@ -1615,6 +1612,8 @@ go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= +golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6 h1:QE6XYQK6naiK1EPAe1g/ILLxN5RBoH5xkJk3CqlMI/Y= golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= golang.org/x/image v0.0.0-20190802002840-cff245a6509b h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4= @@ -1631,6 +1630,8 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= @@ -1681,8 +1682,10 @@ golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= @@ -1805,7 +1808,6 @@ google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQf google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/airbrake/gobrake.v2 v2.0.9 h1:7z2uVWwn7oVeeugY1DtlPAy5H+KYgB1KeKTnqjNatLo= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/cheggaaa/pb.v1 v1.0.25 h1:Ev7yu1/f6+d+b3pi5vPdRPc6nNtP1umSfcWiEfRqv6I= diff --git a/packages/sonataflow-operator/package.json b/packages/sonataflow-operator/package.json index e56f8216e71..25cdd5e4a5d 100644 --- a/packages/sonataflow-operator/package.json +++ b/packages/sonataflow-operator/package.json @@ -22,17 +22,17 @@ "bump-version": "run-script-os", "bump-version:darwin:linux": "./hack/bump-version.sh", "bump-version:win32": "echo 'Bumping version not supported on Windows'", - "format": "prettier --write .", + "format": "prettier --write . --ignore-path=../../.prettierignore --ignore-path=../../.gitignore", "image:build": "run-script-os", "image:build:darwin:win32": "echo 'Image build not supported on Windows and macOS'", "image:build:linux": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && run-script-if --bool \"$(build-env containerImages.build)\" --then \"make container-build\"", "install": "rimraf bin && go mod tidy && node install.js && pnpm bump-version && pnpm format", "test": "run-script-os", + "test:darwin:linux": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"make test\"", + "test:win32": ".\\node_modules\\@kie-tools\\python-venv\\venv\\Scripts\\Activate.bat && run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"make test\"", "test-e2e": "run-script-os", "test-e2e:darwin:win32": "echo 'E2E tests not supported on Windows and macOS'", - "test-e2e:linux": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(false)\" --then \"make full-test-e2e\"", - "test:darwin:linux": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"make test\"", - "test:win32": ".\\node_modules\\@kie-tools\\python-venv\\venv\\Scripts\\Activate.bat && run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"make test\"" + "test-e2e:linux": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(false)\" --then \"make full-test-e2e\"" }, "dependencies": {}, "devDependencies": { @@ -51,4 +51,4 @@ "python3" ] } -} \ No newline at end of file +} diff --git a/packages/sonataflow-operator/test/testdata/platform/noservices/preview/ephemeral/02-sonataflow_platform.yaml b/packages/sonataflow-operator/test/testdata/platform/noservices/preview/ephemeral/02-sonataflow_platform.yaml index 4dbeaea91fe..b5bf5a70fef 100644 --- a/packages/sonataflow-operator/test/testdata/platform/noservices/preview/ephemeral/02-sonataflow_platform.yaml +++ b/packages/sonataflow-operator/test/testdata/platform/noservices/preview/ephemeral/02-sonataflow_platform.yaml @@ -26,7 +26,7 @@ spec: template: buildArgs: - name: QUARKUS_EXTENSION - value: org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:999-20240509-SNAPSHOT + value: org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:999-20240623-SNAPSHOT config: strategyOptions: KanikoBuildCacheEnabled: "true" diff --git a/packages/sonataflow-operator/test/testdata/platform/services/dev/ephemeral/02-sonataflow_platform.yaml b/packages/sonataflow-operator/test/testdata/platform/services/dev/ephemeral/02-sonataflow_platform.yaml index fb9b5f8a87a..70393f8d7f1 100644 --- a/packages/sonataflow-operator/test/testdata/platform/services/dev/ephemeral/02-sonataflow_platform.yaml +++ b/packages/sonataflow-operator/test/testdata/platform/services/dev/ephemeral/02-sonataflow_platform.yaml @@ -26,7 +26,7 @@ spec: template: buildArgs: - name: QUARKUS_EXTENSION - value: org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:999-20240509-SNAPSHOT + value: org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:999-20240623-SNAPSHOT config: strategyOptions: KanikoBuildCacheEnabled: "true" diff --git a/packages/sonataflow-operator/test/testdata/platform/services/dev/postgreSQL/02-sonataflow_platform.yaml b/packages/sonataflow-operator/test/testdata/platform/services/dev/postgreSQL/02-sonataflow_platform.yaml index f141fbc35a7..5c9cad88ffb 100644 --- a/packages/sonataflow-operator/test/testdata/platform/services/dev/postgreSQL/02-sonataflow_platform.yaml +++ b/packages/sonataflow-operator/test/testdata/platform/services/dev/postgreSQL/02-sonataflow_platform.yaml @@ -26,7 +26,7 @@ spec: template: buildArgs: - name: QUARKUS_EXTENSIONS - value: org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:999-20240509-SNAPSHOT + value: org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:999-20240623-SNAPSHOT services: dataIndex: enabled: false diff --git a/packages/sonataflow-operator/test/testdata/platform/services/preview/cluster-wide-ephemeral/02-sonataflow_platform.yaml b/packages/sonataflow-operator/test/testdata/platform/services/preview/cluster-wide-ephemeral/02-sonataflow_platform.yaml index f9b1262adfe..a04f6b01b91 100644 --- a/packages/sonataflow-operator/test/testdata/platform/services/preview/cluster-wide-ephemeral/02-sonataflow_platform.yaml +++ b/packages/sonataflow-operator/test/testdata/platform/services/preview/cluster-wide-ephemeral/02-sonataflow_platform.yaml @@ -26,7 +26,7 @@ spec: template: buildArgs: - name: QUARKUS_EXTENSION - value: org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:999-20240509-SNAPSHOT + value: org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:999-20240623-SNAPSHOT config: strategyOptions: KanikoBuildCacheEnabled: "true" diff --git a/packages/sonataflow-operator/test/testdata/platform/services/preview/ephemeral-data-index/02-sonataflow_platform.yaml b/packages/sonataflow-operator/test/testdata/platform/services/preview/ephemeral-data-index/02-sonataflow_platform.yaml index df031f38298..fc5cafafe5a 100644 --- a/packages/sonataflow-operator/test/testdata/platform/services/preview/ephemeral-data-index/02-sonataflow_platform.yaml +++ b/packages/sonataflow-operator/test/testdata/platform/services/preview/ephemeral-data-index/02-sonataflow_platform.yaml @@ -26,7 +26,7 @@ spec: template: buildArgs: - name: QUARKUS_EXTENSION - value: org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:999-20240509-SNAPSHOT + value: org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:999-20240623-SNAPSHOT config: strategyOptions: KanikoBuildCacheEnabled: "true" diff --git a/packages/sonataflow-operator/test/testdata/platform/services/preview/ephemeral-job-service/02-sonataflow_platform.yaml b/packages/sonataflow-operator/test/testdata/platform/services/preview/ephemeral-job-service/02-sonataflow_platform.yaml index a53c938061a..fc692d4d0f8 100644 --- a/packages/sonataflow-operator/test/testdata/platform/services/preview/ephemeral-job-service/02-sonataflow_platform.yaml +++ b/packages/sonataflow-operator/test/testdata/platform/services/preview/ephemeral-job-service/02-sonataflow_platform.yaml @@ -25,7 +25,7 @@ spec: template: buildArgs: - name: QUARKUS_EXTENSION - value: org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:999-20240509-SNAPSHOT + value: org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:999-20240623-SNAPSHOT config: strategyOptions: KanikoBuildCacheEnabled: "true" diff --git a/packages/sonataflow-operator/test/testdata/sonataflow.org_v1alpha08_sonataflow-simpleops.yaml b/packages/sonataflow-operator/test/testdata/sonataflow.org_v1alpha08_sonataflow-simpleops.yaml index b7fdf4b0629..767c36fa97a 100644 --- a/packages/sonataflow-operator/test/testdata/sonataflow.org_v1alpha08_sonataflow-simpleops.yaml +++ b/packages/sonataflow-operator/test/testdata/sonataflow.org_v1alpha08_sonataflow-simpleops.yaml @@ -30,7 +30,7 @@ metadata: spec: podTemplate: container: - image: quay.io/kiegroup/sonataflow-minimal-example:latest + image: docker.io/apache/incubator-kie-sonataflow-minimal-example:latest flow: start: HelloWorld states: diff --git a/packages/sonataflow-operator/test/testdata/workflow/persistence/by_service/02-sonataflow_platform.yaml b/packages/sonataflow-operator/test/testdata/workflow/persistence/by_service/02-sonataflow_platform.yaml index e631f8151f2..e239bea7d9c 100644 --- a/packages/sonataflow-operator/test/testdata/workflow/persistence/by_service/02-sonataflow_platform.yaml +++ b/packages/sonataflow-operator/test/testdata/workflow/persistence/by_service/02-sonataflow_platform.yaml @@ -26,7 +26,7 @@ spec: template: buildArgs: - name: QUARKUS_EXTENSIONS - value: org.kie:kie-addons-quarkus-persistence-jdbc:999-20240509-SNAPSHOT,io.quarkus:quarkus-jdbc-postgresql:3.8.4,io.quarkus:quarkus-agroal:3.8.4 + value: org.kie:kie-addons-quarkus-persistence-jdbc:999-20240623-SNAPSHOT,io.quarkus:quarkus-jdbc-postgresql:3.8.4,io.quarkus:quarkus-agroal:3.8.4 config: strategyOptions: KanikoBuildCacheEnabled: "true" diff --git a/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_overwritten_by_service/02-sonataflow_platform.yaml b/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_overwritten_by_service/02-sonataflow_platform.yaml index 5f7840d6923..0f400f9df28 100644 --- a/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_overwritten_by_service/02-sonataflow_platform.yaml +++ b/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_overwritten_by_service/02-sonataflow_platform.yaml @@ -36,7 +36,7 @@ spec: template: buildArgs: - name: QUARKUS_EXTENSIONS - value: org.kie:kie-addons-quarkus-persistence-jdbc:999-20240509-SNAPSHOT,io.quarkus:quarkus-jdbc-postgresql:3.8.4,io.quarkus:quarkus-agroal:3.8.4 + value: org.kie:kie-addons-quarkus-persistence-jdbc:999-20240623-SNAPSHOT,io.quarkus:quarkus-jdbc-postgresql:3.8.4,io.quarkus:quarkus-agroal:3.8.4 config: strategyOptions: KanikoBuildCacheEnabled: "true" diff --git a/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_with_di_and_js_services/02-sonataflow_platform.yaml b/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_with_di_and_js_services/02-sonataflow_platform.yaml index 1c7b2cb2cb0..19ebd285b93 100644 --- a/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_with_di_and_js_services/02-sonataflow_platform.yaml +++ b/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_with_di_and_js_services/02-sonataflow_platform.yaml @@ -36,7 +36,7 @@ spec: template: buildArgs: - name: QUARKUS_EXTENSIONS - value: org.kie:kie-addons-quarkus-persistence-jdbc:999-20240509-SNAPSHOT,io.quarkus:quarkus-jdbc-postgresql:3.8.4,io.quarkus:quarkus-agroal:3.8.4 + value: org.kie:kie-addons-quarkus-persistence-jdbc:999-20240623-SNAPSHOT,io.quarkus:quarkus-jdbc-postgresql:3.8.4,io.quarkus:quarkus-agroal:3.8.4 config: strategyOptions: KanikoBuildCacheEnabled: "true" diff --git a/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_with_no_persistence_required/02-sonataflow_platform.yaml b/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_with_no_persistence_required/02-sonataflow_platform.yaml index e78f0c9788d..cb0a86945d9 100644 --- a/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_with_no_persistence_required/02-sonataflow_platform.yaml +++ b/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_with_no_persistence_required/02-sonataflow_platform.yaml @@ -36,7 +36,7 @@ spec: template: buildArgs: - name: QUARKUS_EXTENSIONS - value: org.kie:kie-addons-quarkus-persistence-jdbc:999-20240509-SNAPSHOT,io.quarkus:quarkus-jdbc-postgresql:3.8.4,io.quarkus:quarkus-agroal:3.8.4 + value: org.kie:kie-addons-quarkus-persistence-jdbc:999-20240623-SNAPSHOT,io.quarkus:quarkus-jdbc-postgresql:3.8.4,io.quarkus:quarkus-agroal:3.8.4 config: strategyOptions: KanikoBuildCacheEnabled: "true" diff --git a/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_without_di_and_js_services/02-sonataflow_platform.yaml b/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_without_di_and_js_services/02-sonataflow_platform.yaml index e78f0c9788d..cb0a86945d9 100644 --- a/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_without_di_and_js_services/02-sonataflow_platform.yaml +++ b/packages/sonataflow-operator/test/testdata/workflow/persistence/from_platform_without_di_and_js_services/02-sonataflow_platform.yaml @@ -36,7 +36,7 @@ spec: template: buildArgs: - name: QUARKUS_EXTENSIONS - value: org.kie:kie-addons-quarkus-persistence-jdbc:999-20240509-SNAPSHOT,io.quarkus:quarkus-jdbc-postgresql:3.8.4,io.quarkus:quarkus-agroal:3.8.4 + value: org.kie:kie-addons-quarkus-persistence-jdbc:999-20240623-SNAPSHOT,io.quarkus:quarkus-jdbc-postgresql:3.8.4,io.quarkus:quarkus-agroal:3.8.4 config: strategyOptions: KanikoBuildCacheEnabled: "true" diff --git a/packages/sonataflow-operator/test/yaml.go b/packages/sonataflow-operator/test/yaml.go index 12376a9da5c..cc891c8ca58 100644 --- a/packages/sonataflow-operator/test/yaml.go +++ b/packages/sonataflow-operator/test/yaml.go @@ -240,7 +240,7 @@ func GetBasePlatformWithDevBaseImageInReadyPhase(namespace string) *operatorapi. platform := GetBasePlatform() platform.Namespace = namespace platform.Status.Manager().MarkTrue(api.SucceedConditionType) - platform.Spec.DevMode.BaseImage = "docker.io/customgroup/custom-swf-builder-nightly:42.43.7" + platform.Spec.DevMode.BaseImage = "docker.io/customgroup/custom-swf-builder:42.43.7" return platform } diff --git a/packages/sonataflow-operator/testbdd/go.mod b/packages/sonataflow-operator/testbdd/go.mod index 23c34f2fd27..466a7ef9d28 100644 --- a/packages/sonataflow-operator/testbdd/go.mod +++ b/packages/sonataflow-operator/testbdd/go.mod @@ -111,12 +111,12 @@ require ( go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.26.0 // indirect - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/net v0.17.0 // indirect + golang.org/x/crypto v0.21.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.13.0 // indirect golang.org/x/sync v0.4.0 // indirect - golang.org/x/sys v0.15.0 // indirect - golang.org/x/term v0.15.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.14.0 // indirect diff --git a/packages/sonataflow-operator/testbdd/go.sum b/packages/sonataflow-operator/testbdd/go.sum index 43572f7c878..2e0cf2989d9 100644 --- a/packages/sonataflow-operator/testbdd/go.sum +++ b/packages/sonataflow-operator/testbdd/go.sum @@ -1000,7 +1000,7 @@ golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1096,8 +1096,7 @@ golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1200,11 +1199,11 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/packages/sonataflow-operator/version/version.go b/packages/sonataflow-operator/version/version.go index 4e566cac33e..b68317683c5 100644 --- a/packages/sonataflow-operator/version/version.go +++ b/packages/sonataflow-operator/version/version.go @@ -31,9 +31,8 @@ const ( // When released, this version should reflect the `major.minor` version in the registry. // For example, docker.io/apache/incubator-kie-sonataflow-operator:main -> 10.0 tagVersion = "main" - // Kogito version - // kogitoVersion = "999-20240509" TODO: Uncomment this and update the value via bump-version.sh - kogitoVersion = "latest" + // Kogito images tag version. Used for data-index and jobs-service images. + kogitoImagesTagVersion = "999-20240623" ) // GetOperatorVersion gets the current binary version of the operator. Do not use it to compose image tags! @@ -46,7 +45,7 @@ func GetTagVersion() string { return tagVersion } -// GetKogitoVersion gets the current kogito version for the upstream kogito images. -func GetKogitoVersion() string { - return kogitoVersion +// GetKogitoImagesTagVersion gets the current kogito version for the upstream kogito images. +func GetKogitoImagesTagVersion() string { + return kogitoImagesTagVersion } diff --git a/packages/sonataflow-operator/workflowproj/go.mod b/packages/sonataflow-operator/workflowproj/go.mod index 7e890a29114..797ee21349c 100644 --- a/packages/sonataflow-operator/workflowproj/go.mod +++ b/packages/sonataflow-operator/workflowproj/go.mod @@ -62,12 +62,12 @@ require ( github.com/senseyeio/duration v0.0.0-20180430131211-7c2a214ada46 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/vmware-labs/yaml-jsonpath v0.3.2 // indirect - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/net v0.17.0 // indirect + golang.org/x/crypto v0.21.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.13.0 // indirect golang.org/x/sync v0.4.0 // indirect - golang.org/x/sys v0.15.0 // indirect - golang.org/x/term v0.15.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.3.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect diff --git a/packages/sonataflow-operator/workflowproj/go.sum b/packages/sonataflow-operator/workflowproj/go.sum index 76febac129b..192d34d6a5a 100644 --- a/packages/sonataflow-operator/workflowproj/go.sum +++ b/packages/sonataflow-operator/workflowproj/go.sum @@ -201,7 +201,7 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -227,7 +227,7 @@ golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY= @@ -257,10 +257,10 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/packages/sonataflow-operator/workflowproj/testdata/mygeneric.wsdl b/packages/sonataflow-operator/workflowproj/testdata/mygeneric.wsdl index 85e44784f47..33dee30975d 100644 --- a/packages/sonataflow-operator/workflowproj/testdata/mygeneric.wsdl +++ b/packages/sonataflow-operator/workflowproj/testdata/mygeneric.wsdl @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Returns the word corresponding to the positive number passed as parameter. Limited to quadrillions. - - - - - Returns the non-zero dollar amount of the passed number. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The Number Conversion Web Service, implemented with Visual DataFlex, provides functions that convert numbers into words or dollar amounts. - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the word corresponding to the positive number passed as parameter. Limited to quadrillions. + + + + + Returns the non-zero dollar amount of the passed number. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The Number Conversion Web Service, implemented with Visual DataFlex, provides functions that convert numbers into words or dollar amounts. + + + + + + + + diff --git a/packages/sonataflow-operator/workflowproj/workflowproj.go b/packages/sonataflow-operator/workflowproj/workflowproj.go index 73277330535..2451b124e7c 100644 --- a/packages/sonataflow-operator/workflowproj/workflowproj.go +++ b/packages/sonataflow-operator/workflowproj/workflowproj.go @@ -23,6 +23,7 @@ import ( "context" "fmt" "io" + "sort" "strings" "github.com/pkg/errors" @@ -64,6 +65,8 @@ type WorkflowProjectHandler interface { SaveAsKubernetesManifests(path string) error // AsObjects returns a reference to the WorkflowProject holding the Kubernetes Manifests based on your files. AsObjects() (*WorkflowProject, error) + // Image overrides the default image in the generated SonataFlow manifest + Image(image string) WorkflowProjectHandler } // WorkflowProject is a structure to hold every Kubernetes object generated by the given WorkflowProjectHandler handler. @@ -264,13 +267,25 @@ func (w *workflowProjectHandler) parseRawResources() error { } resourceCount := 1 - for path, resources := range w.rawResources { + paths := []string{} + for k := range w.rawResources { + paths = append(paths, k) + } + // Sort the paths to generate a deterministric list of files. + // Without sorting Golang map iteration on the strings is inconsistent because + // iteration order is not specified, so each time we could get 01-configmap-NAME-resources.yaml + // with schemas, and the next time with subflows, or other way round. + sort.Strings(paths) + for _, path := range paths { + // For better usability also convenience we add the 'path' from which the config map is taken + // so the config map file will have a meaningful name like + // 01-configmap-NAME-resources-specs.yaml or -subflow.yaml or -schemas.yaml cm := &corev1.ConfigMap{ - ObjectMeta: metav1.ObjectMeta{Namespace: w.namespace, Name: fmt.Sprintf("%02d-%s-resources", resourceCount, w.name)}, + ObjectMeta: metav1.ObjectMeta{Namespace: w.namespace, Name: fmt.Sprintf("%02d-%s-resources-%s", resourceCount, w.name, path)}, Data: map[string]string{}, } - for _, r := range resources { + for _, r := range w.rawResources[path] { contents, err := io.ReadAll(r.contents) if err != nil { return err @@ -302,6 +317,11 @@ func (w *workflowProjectHandler) addResourceConfigMapToProject(cm *corev1.Config return nil } +func (w *workflowProjectHandler) Image(image string) WorkflowProjectHandler { + w.project.Workflow.Spec.PodTemplate.Container.Image = image + return w +} + // IsDevProfile detects if the workflow is using the Dev profile or not func IsDevProfile(workflow *operatorapi.SonataFlow) bool { profile := workflow.Annotations[metadata.Profile] diff --git a/packages/sonataflow-operator/workflowproj/workflowproj_test.go b/packages/sonataflow-operator/workflowproj/workflowproj_test.go index 9b2a64af5ac..e7d5afd450e 100644 --- a/packages/sonataflow-operator/workflowproj/workflowproj_test.go +++ b/packages/sonataflow-operator/workflowproj/workflowproj_test.go @@ -85,7 +85,7 @@ func Test_Handler_WorkflowMinimalAndPropsAndSpec(t *testing.T) { assert.Equal(t, "hello-props", proj.Properties.Name) assert.NotEmpty(t, proj.Properties.Data) assert.Equal(t, 1, len(proj.Resources)) - assert.Equal(t, "01-hello-resources", proj.Resources[0].Name) + assert.Equal(t, "01-hello-resources-specs", proj.Resources[0].Name) assert.Equal(t, proj.Workflow.Spec.Resources.ConfigMaps[0].ConfigMap.Name, proj.Resources[0].Name) } @@ -114,8 +114,8 @@ func Test_Handler_WorkflowMinimalAndPropsAndSpecAndGeneric(t *testing.T) { assert.Equal(t, "hello-props", proj.Properties.Name) assert.NotEmpty(t, proj.Properties.Data) assert.Equal(t, 2, len(proj.Resources)) - assert.Equal(t, "01-hello-resources", proj.Resources[0].Name) - assert.Equal(t, "02-hello-resources", proj.Resources[1].Name) + assert.Equal(t, "01-hello-resources-files", proj.Resources[0].Name) + assert.Equal(t, "02-hello-resources-specs", proj.Resources[1].Name) assert.Equal(t, proj.Workflow.Spec.Resources.ConfigMaps[0].ConfigMap.Name, proj.Resources[0].Name) assert.Equal(t, proj.Workflow.Spec.Resources.ConfigMaps[1].ConfigMap.Name, proj.Resources[1].Name) data, err := getResourceDataWithFileName(proj.Resources, "myopenapi.json") @@ -158,8 +158,8 @@ func Test_Handler_WorklflowServiceAndPropsAndSpec_SaveAs(t *testing.T) { expectedFiles := []string{ "01-configmap_service-props.yaml", - "02-configmap_01-service-resources.yaml", - "03-configmap_02-service-resources.yaml", + "02-configmap_01-service-resources-files.yaml", + "03-configmap_02-service-resources-specs.yaml", "04-sonataflow_service.yaml", } expectedKinds := []schema.GroupVersionKind{ diff --git a/packages/sonataflow-quarkus-devui/package.json b/packages/sonataflow-quarkus-devui/package.json index 9026e0621a3..0e505282968 100644 --- a/packages/sonataflow-quarkus-devui/package.json +++ b/packages/sonataflow-quarkus-devui/package.json @@ -17,8 +17,8 @@ "build:dev:darwin:linux": "mvn clean install -DskipTests", "build:dev:win32": "pnpm powershell \"mvn clean install -DskipTests \"", "build:prod": "pnpm lint && run-script-os", - "build:prod:darwin:linux": "mvn clean deploy -DdeployAtEnd -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures) -Dmaven.deploy.skip=$(build-env maven.deploy.skip)", - "build:prod:win32": "pnpm powershell \"mvn clean deploy `-DdeployAtEnd `-DskipTests `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures) `-Dmaven.deploy.skip=$(build-env maven.deploy.skip)\"", + "build:prod:darwin:linux": "mvn clean deploy -DdeployAtEnd -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures) -Dmaven.deploy.skip=$(build-env maven.deploy.skip) -Dreproducible", + "build:prod:win32": "pnpm powershell \"mvn clean deploy `-DdeployAtEnd `-DskipTests `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures) `-Dmaven.deploy.skip=$(build-env maven.deploy.skip) `-Dreproducible\"", "install": "node install.js", "lint": "echo 'Linting'", "powershell": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command", @@ -41,4 +41,4 @@ "mvn" ] } -} \ No newline at end of file +} diff --git a/packages/sonataflow-quarkus-devui/pom.xml b/packages/sonataflow-quarkus-devui/pom.xml index 337b53bd4f2..6b712cb4ada 100644 --- a/packages/sonataflow-quarkus-devui/pom.xml +++ b/packages/sonataflow-quarkus-devui/pom.xml @@ -22,7 +22,6 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > - org.apache.kie.sonataflow kie-tools-packages @@ -40,6 +39,7 @@ pom + 2024-01-12T00:00:00Z org.kie.kogito.quarkus.swf.dev.ui @@ -94,7 +94,7 @@ ${skip.ui.build} - false + false -F serverless-workflow-dev-ui-webapp... -F !@kie-tools/dmn-marshaller-backend-compatibility-tester -F !@kie-tools/dmn-testing-models build:prod diff --git a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-bom/pom.xml b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-bom/pom.xml index 64408c3e384..a9637b5134c 100644 --- a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-bom/pom.xml +++ b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-bom/pom.xml @@ -22,44 +22,44 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > - 4.0.0 - - org.apache.kie.sonataflow - sonataflow-quarkus-devui-parent - 999-SNAPSHOT - ../pom.xml - + 4.0.0 + + org.apache.kie.sonataflow + sonataflow-quarkus-devui-parent + 999-SNAPSHOT + ../pom.xml + - sonataflow-quarkus-devui-bom + sonataflow-quarkus-devui-bom - KIE Tools :: SonataFlow Quarkus Dev UI Extension :: BOM + KIE Tools :: SonataFlow Quarkus Dev UI Extension :: BOM - pom + pom - - - - org.apache.kie.sonataflow - sonataflow-quarkus-devui - ${project.version} - - - org.apache.kie.sonataflow - sonataflow-quarkus-devui - ${project.version} - sources - - - org.apache.kie.sonataflow - sonataflow-quarkus-devui-deployment - ${project.version} - - - org.apache.kie.sonataflow - sonataflow-quarkus-devui-deployment - ${project.version} - sources - - - + + + + org.apache.kie.sonataflow + sonataflow-quarkus-devui + ${project.version} + + + org.apache.kie.sonataflow + sonataflow-quarkus-devui + ${project.version} + sources + + + org.apache.kie.sonataflow + sonataflow-quarkus-devui-deployment + ${project.version} + + + org.apache.kie.sonataflow + sonataflow-quarkus-devui-deployment + ${project.version} + sources + + + diff --git a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/pom.xml b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/pom.xml index 660df01467c..a758bd80346 100644 --- a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/pom.xml +++ b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/pom.xml @@ -35,8 +35,8 @@ KIE Tools :: SonataFlow Quarkus Dev UI Extension :: Deployment - ../node_modules/@kie-tools/serverless-workflow-dev-ui-webapp - 0.8.11 + ../node_modules/@kie-tools/serverless-workflow-dev-ui-webapp + 0.8.11 diff --git a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/pom.xml b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/pom.xml index dde82a6a08c..e50e1e19cbf 100644 --- a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/pom.xml +++ b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/pom.xml @@ -33,7 +33,6 @@ KIE Tools :: SonataFlow Quarkus Dev UI Extension :: Runtime Runtime development tools for Serverless Workflows - io.quarkus quarkus-core @@ -86,6 +85,11 @@ commons-lang3 + + io.vertx + vertx-web-client + + org.junit.jupiter junit-jupiter-engine diff --git a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/dataindex/DataIndexClient.java b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/dataindex/DataIndexClient.java deleted file mode 100644 index f8d28872d4d..00000000000 --- a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/dataindex/DataIndexClient.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.kie.sonataflow.swf.tools.runtime.dataindex; - -import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; -import org.kie.sonataflow.swf.tools.runtime.dataindex.workflows.WorkflowInstancesResponse; - -import jakarta.enterprise.context.ApplicationScoped; -import jakarta.ws.rs.Consumes; -import jakarta.ws.rs.POST; -import jakarta.ws.rs.Path; -import jakarta.ws.rs.core.MediaType; - -@Path("/graphql") -@RegisterRestClient(configKey = DataIndexClient.DATA_INDEX_CONFIG_KEY) -@ApplicationScoped -public interface DataIndexClient { - - String DATA_INDEX_CONFIG_KEY = "kogito.data-index.url"; - - @POST - @Consumes(MediaType.APPLICATION_JSON) - WorkflowInstancesResponse queryWorkflows(String query); -} diff --git a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/dataindex/workflows/WorkflowInstance.java b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/dataindex/workflows/WorkflowInstance.java deleted file mode 100644 index d20e872ace5..00000000000 --- a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/dataindex/workflows/WorkflowInstance.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.kie.sonataflow.swf.tools.runtime.dataindex.workflows; - -public class WorkflowInstance { - - private String id; - - public WorkflowInstance() { - } - - public WorkflowInstance(final String id) { - this.id = id; - } - - public String getId() { - return id; - } - - public void setId(final String id) { - this.id = id; - } - - @Override - public String toString() { - return id; - } -} diff --git a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/dataindex/workflows/WorkflowInstancesData.java b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/dataindex/workflows/WorkflowInstancesData.java deleted file mode 100644 index df7f26ff8de..00000000000 --- a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/dataindex/workflows/WorkflowInstancesData.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.kie.sonataflow.swf.tools.runtime.dataindex.workflows; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class WorkflowInstancesData { - - @JsonProperty("ProcessInstances") - private List instances; - - public WorkflowInstancesData() { - } - - public WorkflowInstancesData(final List instances) { - this.instances = instances; - } - - public List getWorkflows() { - return instances; - } - - public void setWorkflowInstances(final List workflowInstancesList) { - this.instances = workflowInstancesList; - } -} diff --git a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/dataindex/workflows/WorkflowInstancesResponse.java b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/dataindex/workflows/WorkflowInstancesResponse.java deleted file mode 100644 index bfd36dfb6b6..00000000000 --- a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/dataindex/workflows/WorkflowInstancesResponse.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.kie.sonataflow.swf.tools.runtime.dataindex.workflows; - -public class WorkflowInstancesResponse { - - private WorkflowInstancesData data; - - public WorkflowInstancesResponse() { - } - - public WorkflowInstancesResponse(final WorkflowInstancesData data) { - this.data = data; - } - - public WorkflowInstancesData getData() { - return data; - } - - public void setData(final WorkflowInstancesData data) { - this.data = data; - } -} diff --git a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/rpc/SonataFlowQuarkusExtensionJsonRPCService.java b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/rpc/SonataFlowQuarkusExtensionJsonRPCService.java index cd5b2570edf..92d7091aece 100644 --- a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/rpc/SonataFlowQuarkusExtensionJsonRPCService.java +++ b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/rpc/SonataFlowQuarkusExtensionJsonRPCService.java @@ -16,31 +16,83 @@ package org.kie.sonataflow.swf.tools.runtime.rpc; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Optional; import java.util.function.Supplier; -import com.fasterxml.jackson.databind.ObjectMapper; -import io.smallrye.common.annotation.NonBlocking; +import io.smallrye.mutiny.Uni; +import io.vertx.core.Vertx; +import io.vertx.core.json.JsonObject; +import io.vertx.ext.web.client.WebClient; +import io.vertx.ext.web.client.WebClientOptions; +import jakarta.annotation.PostConstruct; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; -import org.eclipse.microprofile.rest.client.inject.RestClient; -import org.kie.sonataflow.swf.tools.runtime.dataindex.DataIndexClient; +import org.eclipse.microprofile.config.ConfigProvider; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @ApplicationScoped public class SonataFlowQuarkusExtensionJsonRPCService { + private static final String DATA_INDEX_URL = "kogito.data-index.url"; + + private static final Logger LOGGER = LoggerFactory.getLogger(SonataFlowQuarkusExtensionJsonRPCService.class); + + public static final String PROCESS_INSTANCES = "ProcessInstances"; + public static final String ALL_WORKFLOWS_IDS_QUERY = "{ \"operationName\": \"getAllProcessesIds\", \"query\": \"query getAllProcessesIds{ ProcessInstances{ id } }\" }"; - private final ObjectMapper mapper; - private final DataIndexClient dataIndexClient; + private WebClient dataIndexWebClient; + + private final Vertx vertx; @Inject - public SonataFlowQuarkusExtensionJsonRPCService(ObjectMapper mapper, @RestClient DataIndexClient dataIndexClient) { - this.mapper = mapper; - this.dataIndexClient = dataIndexClient; + public SonataFlowQuarkusExtensionJsonRPCService(Vertx vertx) { + this.vertx = vertx; + } + + @PostConstruct + public void init() { + Optional dataIndexURL = ConfigProvider.getConfig().getOptionalValue(DATA_INDEX_URL, String.class); + dataIndexURL.ifPresent(this::initDataIndexWebClient); + } + + private void initDataIndexWebClient(String dataIndexURL) { + try { + this.dataIndexWebClient = WebClient.create(vertx, buildWebClientOptions(dataIndexURL)); + } catch (Exception ex) { + LOGGER.warn("Cannot configure dataIndexWebClient with 'kogito.data-index.url'='{}':", dataIndexURL, ex); + } + } + + protected WebClientOptions buildWebClientOptions(String dataIndexURL) throws MalformedURLException { + URL url = new URL(dataIndexURL); + return new WebClientOptions() + .setDefaultHost(url.getHost()) + .setDefaultPort((url.getPort() != -1 ? url.getPort() : url.getDefaultPort())) + .setSsl(url.getProtocol().compareToIgnoreCase("https") == 0); + } + + public Uni queryWorkflowsCount() { + return doQuery(ALL_WORKFLOWS_IDS_QUERY, PROCESS_INSTANCES); } - @NonBlocking - public String queryWorkflowsCount() { - return doQuery(() -> this.dataIndexClient.queryWorkflows(ALL_WORKFLOWS_IDS_QUERY).getData().getWorkflows().size()); + private Uni doQuery(String query, String graphModelName) { + if(dataIndexWebClient == null) { + LOGGER.warn("Cannot perform '{}' query, dataIndexWebClient couldn't be set. Is DataIndex correctly? Please verify '{}' value", graphModelName, DATA_INDEX_URL); + return Uni.createFrom().item("-"); + } + return Uni.createFrom().completionStage(this.dataIndexWebClient.post("/graphql") + .putHeader("content-type", "application/json") + .sendJson(new JsonObject(query)) + .map(response -> { + if(response.statusCode() == 200) { + JsonObject responseData = response.bodyAsJsonObject().getJsonObject("data"); + return String.valueOf(responseData.getJsonArray(graphModelName).size()); + } + return "-"; + }).toCompletionStage()); } private String doQuery(Supplier countSupplier) { diff --git a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/resources/META-INF/beans.xml b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/resources/META-INF/beans.xml index aae671e6cb7..0e7bbc028e9 100644 --- a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/resources/META-INF/beans.xml +++ b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/resources/META-INF/beans.xml @@ -21,6 +21,4 @@ xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd" -> - - +/> diff --git a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/resources/application.properties b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/resources/application.properties index ff385055a76..fe95886d5c1 100644 --- a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/resources/application.properties +++ b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/resources/application.properties @@ -16,5 +16,3 @@ # specific language governing permissions and limitations # under the License. # - -quarkus.rest-client."kogito.data-index.url".url=${kogito.data-index.url}/ \ No newline at end of file diff --git a/packages/storybook-base/package.json b/packages/storybook-base/package.json index 7f97eb9f0d0..703bd26669c 100644 --- a/packages/storybook-base/package.json +++ b/packages/storybook-base/package.json @@ -13,7 +13,7 @@ "url": "https://github.com/apache/incubator-kie-tools/issues" }, "bin": { - "storybook-base": "bin.js" + "kie-tools--storybook": "bin.js" }, "main": "bin.js", "files": [ @@ -22,9 +22,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "devDependencies": { "@babel/core": "^7.16.0", @@ -45,17 +44,11 @@ "@storybook/addon-webpack5-compiler-babel": "^3.0.3", "@storybook/react-webpack5": "^7.3.2", "@storybook/theming": "^7.3.2", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/vscode": "1.67.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", "storybook": "^7.3.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/storybook-base/static/logo.svg b/packages/storybook-base/static/logo.svg index c37d9017e08..edc4a2f2bf6 100644 --- a/packages/storybook-base/static/logo.svg +++ b/packages/storybook-base/static/logo.svg @@ -1,6 +1,6 @@ - + - - - - - - - - - - - + + + + + + + + + + diff --git a/packages/stunner-editors-dmn-loader/package.json b/packages/stunner-editors-dmn-loader/package.json index ffdca762b2d..133b3a19b74 100644 --- a/packages/stunner-editors-dmn-loader/package.json +++ b/packages/stunner-editors-dmn-loader/package.json @@ -9,7 +9,6 @@ "build:dev": "rimraf dist && webpack --env dev", "build:prod": "rimraf dist && webpack", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"", "watch": "webpack --watch --env live --env dev" }, "dependencies": { @@ -32,19 +31,14 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/lodash": "^4.14.168", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "jest": "^26.6.3", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/stunner-editors-dmn-loader/src/gwtToBee.ts b/packages/stunner-editors-dmn-loader/src/gwtToBee.ts index e84fb8a17da..8dcd91fae04 100644 --- a/packages/stunner-editors-dmn-loader/src/gwtToBee.ts +++ b/packages/stunner-editors-dmn-loader/src/gwtToBee.ts @@ -152,60 +152,60 @@ export function gwtToBee(expression: GwtExpressionDefinition, __widths: Map { - __widths.set(expression.id, [ - BEE_TABLE_ROW_INDEX_COLUMN_WIDTH, - expression.classAndMethodNamesWidth ?? JAVA_FUNCTION_EXPRESSION_VALUES_MIN_WIDTH, - ]); - return { - __$$element: "context", - contextEntry: [ - { - "@_id": expression.classFieldId, - expression: { - __$$element: "literalExpression", - text: { __$$text: expression.className ?? "" }, + ? (() => { + __widths.set(expression.id, [ + BEE_TABLE_ROW_INDEX_COLUMN_WIDTH, + expression.classAndMethodNamesWidth ?? JAVA_FUNCTION_EXPRESSION_VALUES_MIN_WIDTH, + ]); + return { + __$$element: "context", + contextEntry: [ + { + "@_id": expression.classFieldId, + expression: { + __$$element: "literalExpression", + text: { __$$text: expression.className ?? "" }, + }, + variable: { "@_name": DMN15_SPEC.BOXED.FUNCTION.JAVA.classFieldName }, }, - variable: { "@_name": DMN15_SPEC.BOXED.FUNCTION.JAVA.classFieldName }, - }, - { - "@_id": expression.methodFieldId, - expression: { - __$$element: "literalExpression", - text: { __$$text: expression.methodName ?? "" }, + { + "@_id": expression.methodFieldId, + expression: { + __$$element: "literalExpression", + text: { __$$text: expression.methodName ?? "" }, + }, + variable: { "@_name": DMN15_SPEC.BOXED.FUNCTION.JAVA.methodSignatureFieldName }, }, - variable: { "@_name": DMN15_SPEC.BOXED.FUNCTION.JAVA.methodSignatureFieldName }, - }, - ], - }; - })() - : expression.functionKind === FunctionExpressionDefinitionKind.Pmml - ? (() => { - return { - __$$element: "context", - contextEntry: [ - { - "@_id": expression.documentFieldId, - expression: { - __$$element: "literalExpression", - text: { __$$text: expression.document ?? "" }, - }, - variable: { "@_name": DMN15_SPEC.BOXED.FUNCTION.PMML.documentFieldName }, - }, - { - "@_id": expression.modelFieldId, - expression: { - __$$element: "literalExpression", - text: { __$$text: expression.model ?? "" }, - }, - variable: { "@_name": DMN15_SPEC.BOXED.FUNCTION.PMML.modelFieldName }, - }, - ], - }; - })() - : (() => { - throw new Error(`Unknown Function kind '${(expression as any).functionKind}'.`); - })(), + ], + }; + })() + : expression.functionKind === FunctionExpressionDefinitionKind.Pmml + ? (() => { + return { + __$$element: "context", + contextEntry: [ + { + "@_id": expression.documentFieldId, + expression: { + __$$element: "literalExpression", + text: { __$$text: expression.document ?? "" }, + }, + variable: { "@_name": DMN15_SPEC.BOXED.FUNCTION.PMML.documentFieldName }, + }, + { + "@_id": expression.modelFieldId, + expression: { + __$$element: "literalExpression", + text: { __$$text: expression.model ?? "" }, + }, + variable: { "@_name": DMN15_SPEC.BOXED.FUNCTION.PMML.modelFieldName }, + }, + ], + }; + })() + : (() => { + throw new Error(`Unknown Function kind '${(expression as any).functionKind}'.`); + })(), }; case GwtExpressionDefinitionLogicType.Invocation: return { diff --git a/packages/stunner-editors/appformer-bom/pom.xml b/packages/stunner-editors/appformer-bom/pom.xml index 39ed3dc9a3c..200138d9b40 100644 --- a/packages/stunner-editors/appformer-bom/pom.xml +++ b/packages/stunner-editors/appformer-bom/pom.xml @@ -495,7 +495,6 @@ test - @@ -550,5 +549,4 @@ - diff --git a/packages/stunner-editors/appformer-client-api/pom.xml b/packages/stunner-editors/appformer-client-api/pom.xml index 286e3fda6ad..157b0b9b55c 100644 --- a/packages/stunner-editors/appformer-client-api/pom.xml +++ b/packages/stunner-editors/appformer-client-api/pom.xml @@ -50,7 +50,5 @@ mockito-core test - - diff --git a/packages/stunner-editors/appformer-client-api/src/main/resources/org/appformer/AppformerClientAPI.gwt.xml b/packages/stunner-editors/appformer-client-api/src/main/resources/org/appformer/AppformerClientAPI.gwt.xml index 699f27e7e9e..03c2adbf9e7 100644 --- a/packages/stunner-editors/appformer-client-api/src/main/resources/org/appformer/AppformerClientAPI.gwt.xml +++ b/packages/stunner-editors/appformer-client-api/src/main/resources/org/appformer/AppformerClientAPI.gwt.xml @@ -20,7 +20,5 @@ - - diff --git a/packages/stunner-editors/appformer-kogito-bridge/pom.xml b/packages/stunner-editors/appformer-kogito-bridge/pom.xml index cf9e54e29b3..763176db810 100644 --- a/packages/stunner-editors/appformer-kogito-bridge/pom.xml +++ b/packages/stunner-editors/appformer-kogito-bridge/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.editors @@ -86,6 +85,5 @@ mockito-core test - diff --git a/packages/stunner-editors/appformer-kogito-bridge/src/main/resources/org/appformer/kogito/bridge/AppformerKogitoBridge.gwt.xml b/packages/stunner-editors/appformer-kogito-bridge/src/main/resources/org/appformer/kogito/bridge/AppformerKogitoBridge.gwt.xml index 2ac3c1baab9..43d6e3a07ee 100644 --- a/packages/stunner-editors/appformer-kogito-bridge/src/main/resources/org/appformer/kogito/bridge/AppformerKogitoBridge.gwt.xml +++ b/packages/stunner-editors/appformer-kogito-bridge/src/main/resources/org/appformer/kogito/bridge/AppformerKogitoBridge.gwt.xml @@ -20,9 +20,7 @@ - - diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-api/pom.xml b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-api/pom.xml index 48e0aed6210..0bd835f7db0 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-api/pom.xml +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-api/pom.xml @@ -54,7 +54,5 @@ org.drools drools-scenario-simulation-api - - diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-client/pom.xml b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-client/pom.xml index 17b79e87da0..e28a5fa1581 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-client/pom.xml +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-client/pom.xml @@ -133,7 +133,6 @@ lienzo-core - org.gwtproject @@ -153,7 +152,7 @@ test - + org.kie.kogito.stunner.editors lienzo-tests test @@ -164,5 +163,4 @@ test - diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-client/src/main/java/org/drools/workbench/screens/scenariosimulation/client/editor/menu/BaseMenuViewImpl.html b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-client/src/main/java/org/drools/workbench/screens/scenariosimulation/client/editor/menu/BaseMenuViewImpl.html index 0f4a359c745..acec5633288 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-client/src/main/java/org/drools/workbench/screens/scenariosimulation/client/editor/menu/BaseMenuViewImpl.html +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-client/src/main/java/org/drools/workbench/screens/scenariosimulation/client/editor/menu/BaseMenuViewImpl.html @@ -1,4 +1,4 @@ - + - diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-marshaller/pom.xml b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-marshaller/pom.xml index d123defaa8f..51f778a8dd2 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-marshaller/pom.xml +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-marshaller/pom.xml @@ -191,7 +191,5 @@ - - diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-marshaller/src/main/resources/org/drools/workbench/scenariosimulation/kogito/marshaller/ScesimMarshaller.gwt.xml b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-marshaller/src/main/resources/org/drools/workbench/scenariosimulation/kogito/marshaller/ScesimMarshaller.gwt.xml index c5ac528f396..17a38234fde 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-marshaller/src/main/resources/org/drools/workbench/scenariosimulation/kogito/marshaller/ScesimMarshaller.gwt.xml +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-marshaller/src/main/resources/org/drools/workbench/scenariosimulation/kogito/marshaller/ScesimMarshaller.gwt.xml @@ -20,7 +20,6 @@ - @@ -32,5 +31,4 @@ - diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-marshaller/src/main/resources/scesim.xsd b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-marshaller/src/main/resources/scesim.xsd index 05e5240506e..619df274223 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-marshaller/src/main/resources/scesim.xsd +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-marshaller/src/main/resources/scesim.xsd @@ -1,144 +1,148 @@ - - + + - + - + - - + + - - + + - + - + - - - - - - - - - + + + + + + + + + - + - + - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - + - + - + - + - + - - + + - - + + - + - + - + - - - - + + + + - + diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/pom.xml b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/pom.xml index 2b6173411cd..a88603c9bcc 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/pom.xml +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/pom.xml @@ -345,7 +345,6 @@ provided - @@ -364,10 +363,10 @@ add-source - ${gwt.helper.includes} - ${gwt.helper.rootDirectories} + ${gwt.helper.includes} + + ${gwt.helper.rootDirectories} + @@ -558,9 +557,6 @@ - - - diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/resources/logback.xml b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/resources/logback.xml index ef2f84b5752..0f2dddc3a6b 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/resources/logback.xml +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/resources/logback.xml @@ -18,7 +18,6 @@ ~ under the License. --> - @@ -32,5 +31,4 @@ - diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/resources/org/drools/workbench/screens/scenariosimulation/webapp/DroolsWorkbenchScenarioSimulationKogitoRuntime.gwt.xml b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/resources/org/drools/workbench/screens/scenariosimulation/webapp/DroolsWorkbenchScenarioSimulationKogitoRuntime.gwt.xml index a8c296e32c1..39731e151e5 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/resources/org/drools/workbench/screens/scenariosimulation/webapp/DroolsWorkbenchScenarioSimulationKogitoRuntime.gwt.xml +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/resources/org/drools/workbench/screens/scenariosimulation/webapp/DroolsWorkbenchScenarioSimulationKogitoRuntime.gwt.xml @@ -20,7 +20,6 @@ - @@ -63,5 +62,4 @@ - diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/webapp/WEB-INF/web.xml b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/webapp/WEB-INF/web.xml index dea3125d06f..2fb7c850342 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/webapp/WEB-INF/web.xml +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/webapp/WEB-INF/web.xml @@ -23,9 +23,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > - test.html - diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/webapp/index.html b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/webapp/index.html index 656e77f7717..90cb9bb6810 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/webapp/index.html +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-runtime/src/main/webapp/index.html @@ -1,4 +1,4 @@ - + - @@ -357,10 +356,10 @@ add-source - ${gwt.helper.includes} - ${gwt.helper.rootDirectories} + ${gwt.helper.includes} + + ${gwt.helper.rootDirectories} + @@ -551,9 +550,7 @@ - - @@ -572,6 +569,5 @@ - - + diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/resources/logback.xml b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/resources/logback.xml index ef2f84b5752..0f2dddc3a6b 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/resources/logback.xml +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/resources/logback.xml @@ -18,7 +18,6 @@ ~ under the License. --> - @@ -32,5 +31,4 @@ - diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/resources/org/drools/workbench/screens/scenariosimulation/webapp/DroolsWorkbenchScenarioSimulationKogitoTesting.gwt.xml b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/resources/org/drools/workbench/screens/scenariosimulation/webapp/DroolsWorkbenchScenarioSimulationKogitoTesting.gwt.xml index f4b6d744829..4c2970a88da 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/resources/org/drools/workbench/screens/scenariosimulation/webapp/DroolsWorkbenchScenarioSimulationKogitoTesting.gwt.xml +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/resources/org/drools/workbench/screens/scenariosimulation/webapp/DroolsWorkbenchScenarioSimulationKogitoTesting.gwt.xml @@ -20,7 +20,6 @@ - @@ -34,7 +33,6 @@ name='org.drools.workbench.screens.scenariosimulation.kogito.DroolsWorkbenchScenarioSimulationKogitoEditor' /> - @@ -64,5 +62,4 @@ - diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/webapp/WEB-INF/web.xml b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/webapp/WEB-INF/web.xml index e3e74bee3ee..9accb877e5b 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/webapp/WEB-INF/web.xml +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/webapp/WEB-INF/web.xml @@ -23,9 +23,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > - index.html - diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/webapp/index.html b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/webapp/index.html index b603d97f1df..2eb49c5fc39 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/webapp/index.html +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-testing/src/main/webapp/index.html @@ -1,4 +1,4 @@ - + - + diff --git a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/pom.xml b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/pom.xml index d6f6d56f12b..b1fcbbb5c2b 100644 --- a/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/pom.xml +++ b/packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/pom.xml @@ -43,5 +43,4 @@ drools-wb-scenario-simulation-editor-kogito-runtime drools-wb-scenario-simulation-editor-kogito-testing - diff --git a/packages/stunner-editors/drools-wb-screens/pom.xml b/packages/stunner-editors/drools-wb-screens/pom.xml index cbf16c915a0..ed2fa53f2e1 100644 --- a/packages/stunner-editors/drools-wb-screens/pom.xml +++ b/packages/stunner-editors/drools-wb-screens/pom.xml @@ -38,5 +38,4 @@ drools-wb-scenario-simulation-editor - diff --git a/packages/stunner-editors/errai-api/pom.xml b/packages/stunner-editors/errai-api/pom.xml index ecf46240d62..a8ddfa2287d 100644 --- a/packages/stunner-editors/errai-api/pom.xml +++ b/packages/stunner-editors/errai-api/pom.xml @@ -31,7 +31,7 @@ errai-api Errai::API An aggregate jar of public API (annotations and interfaces) from various Errai modules. - + diff --git a/packages/stunner-editors/errai-bom/pom.xml b/packages/stunner-editors/errai-bom/pom.xml index 81ce05677fe..c47496037c3 100644 --- a/packages/stunner-editors/errai-bom/pom.xml +++ b/packages/stunner-editors/errai-bom/pom.xml @@ -58,17 +58,17 @@ - - jboss-releases-repository - JBoss Releases Repository - https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/ - - - - jboss-snapshots-repository - JBoss Snapshots Repository - https://repository.jboss.org/nexus/content/repositories/snapshots/ - + + jboss-releases-repository + JBoss Releases Repository + https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/ + + + + jboss-snapshots-repository + JBoss Snapshots Repository + https://repository.jboss.org/nexus/content/repositories/snapshots/ + @@ -176,7 +176,6 @@ - @@ -432,10 +431,10 @@ ${version.org.quartz-scheduler} - org.eclipse.jdt - ecj - ${version.org.eclipse.jdt.ecj} - + org.eclipse.jdt + ecj + ${version.org.eclipse.jdt.ecj} + org.apache.stanbol diff --git a/packages/stunner-editors/errai-cdi/errai-cdi-client/pom.xml b/packages/stunner-editors/errai-cdi/errai-cdi-client/pom.xml index e6afe7a6ab5..541dcd1d51b 100644 --- a/packages/stunner-editors/errai-cdi/errai-cdi-client/pom.xml +++ b/packages/stunner-editors/errai-cdi/errai-cdi-client/pom.xml @@ -180,7 +180,5 @@ junit provided - - diff --git a/packages/stunner-editors/errai-cdi/errai-cdi-client/src/main/java/org/jboss/errai/enterprise/CDI.gwt.xml b/packages/stunner-editors/errai-cdi/errai-cdi-client/src/main/java/org/jboss/errai/enterprise/CDI.gwt.xml index ad9b17bbd45..1bcee647ef6 100644 --- a/packages/stunner-editors/errai-cdi/errai-cdi-client/src/main/java/org/jboss/errai/enterprise/CDI.gwt.xml +++ b/packages/stunner-editors/errai-cdi/errai-cdi-client/src/main/java/org/jboss/errai/enterprise/CDI.gwt.xml @@ -20,13 +20,13 @@ - - - + + + - + - - - + + + diff --git a/packages/stunner-editors/errai-cdi/errai-cdi-shared/pom.xml b/packages/stunner-editors/errai-cdi/errai-cdi-shared/pom.xml index 3bb9e2d2d0c..bdd9b5398f0 100644 --- a/packages/stunner-editors/errai-cdi/errai-cdi-shared/pom.xml +++ b/packages/stunner-editors/errai-cdi/errai-cdi-shared/pom.xml @@ -51,7 +51,7 @@ - + org.kie.kogito.stunner.editors diff --git a/packages/stunner-editors/errai-cdi/errai-cdi-shared/src/main/java/org/jboss/errai/enterprise/CDIShared.gwt.xml b/packages/stunner-editors/errai-cdi/errai-cdi-shared/src/main/java/org/jboss/errai/enterprise/CDIShared.gwt.xml index e38598483cd..1f9f1a8c64b 100644 --- a/packages/stunner-editors/errai-cdi/errai-cdi-shared/src/main/java/org/jboss/errai/enterprise/CDIShared.gwt.xml +++ b/packages/stunner-editors/errai-cdi/errai-cdi-shared/src/main/java/org/jboss/errai/enterprise/CDIShared.gwt.xml @@ -20,11 +20,11 @@ - + - + - - - + + + diff --git a/packages/stunner-editors/errai-cdi/pom.xml b/packages/stunner-editors/errai-cdi/pom.xml index e76b2be3967..2bea6193456 100644 --- a/packages/stunner-editors/errai-cdi/pom.xml +++ b/packages/stunner-editors/errai-cdi/pom.xml @@ -108,5 +108,4 @@ - diff --git a/packages/stunner-editors/errai-codegen-gwt/pom.xml b/packages/stunner-editors/errai-codegen-gwt/pom.xml index c11c4c27e4b..bcea885ae92 100644 --- a/packages/stunner-editors/errai-codegen-gwt/pom.xml +++ b/packages/stunner-editors/errai-codegen-gwt/pom.xml @@ -40,7 +40,7 @@ org.kie.kogito.stunner.editors errai-codegen - test-jar + test-jar test @@ -96,5 +96,4 @@ - diff --git a/packages/stunner-editors/errai-codegen/pom.xml b/packages/stunner-editors/errai-codegen/pom.xml index 364c94e61e9..3e7af3e794d 100644 --- a/packages/stunner-editors/errai-codegen/pom.xml +++ b/packages/stunner-editors/errai-codegen/pom.xml @@ -33,9 +33,9 @@ - org.eclipse.jdt - ecj - + org.eclipse.jdt + ecj + org.kie.kogito.stunner.editors @@ -162,8 +162,8 @@ org.gwtproject:gwt-dev - com/google/gwt/** - org/eclipse/jdt/** + com/google/gwt/** + org/eclipse/jdt/** @@ -191,8 +191,7 @@ maven-surefire-plugin - - + ${basedir}/target/test-classes ${basedir}/target/classes @@ -204,18 +203,18 @@ - + - org.apache.maven.plugins - maven-jar-plugin - - - - test-jar - - - - + org.apache.maven.plugins + maven-jar-plugin + + + + test-jar + + + + diff --git a/packages/stunner-editors/errai-common/pom.xml b/packages/stunner-editors/errai-common/pom.xml index abf7a9027ea..29710d536b8 100644 --- a/packages/stunner-editors/errai-common/pom.xml +++ b/packages/stunner-editors/errai-common/pom.xml @@ -159,7 +159,6 @@ com.google.elemental2 elemental2-dom - diff --git a/packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/ErraiCommon.gwt.xml b/packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/ErraiCommon.gwt.xml index 1a2d43d2094..e9f11ca2075 100644 --- a/packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/ErraiCommon.gwt.xml +++ b/packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/ErraiCommon.gwt.xml @@ -20,13 +20,13 @@ - - - - + + + + - + - - + + diff --git a/packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/Logging.gwt.xml b/packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/Logging.gwt.xml index ae65c773648..9cbcb323a05 100644 --- a/packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/Logging.gwt.xml +++ b/packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/Logging.gwt.xml @@ -20,18 +20,18 @@ - - - - - - - - - - - - + + - + + + + + + + + + + + diff --git a/packages/stunner-editors/errai-common/src/test/java/org/jboss/errai/common/it/CommonTests.gwt.xml b/packages/stunner-editors/errai-common/src/test/java/org/jboss/errai/common/it/CommonTests.gwt.xml index 9edaa96e15e..8ad264af07f 100644 --- a/packages/stunner-editors/errai-common/src/test/java/org/jboss/errai/common/it/CommonTests.gwt.xml +++ b/packages/stunner-editors/errai-common/src/test/java/org/jboss/errai/common/it/CommonTests.gwt.xml @@ -20,9 +20,9 @@ - - + + - - + + diff --git a/packages/stunner-editors/errai-config/pom.xml b/packages/stunner-editors/errai-config/pom.xml index 4edea11b644..00377b471c3 100644 --- a/packages/stunner-editors/errai-config/pom.xml +++ b/packages/stunner-editors/errai-config/pom.xml @@ -33,7 +33,6 @@ Errai::Config - org.kie.kogito.stunner.editors errai-codegen diff --git a/packages/stunner-editors/errai-data-binding/src/main/java/org/jboss/errai/databinding/DataBinding.gwt.xml b/packages/stunner-editors/errai-data-binding/src/main/java/org/jboss/errai/databinding/DataBinding.gwt.xml index 9f874102c22..765f90f9587 100644 --- a/packages/stunner-editors/errai-data-binding/src/main/java/org/jboss/errai/databinding/DataBinding.gwt.xml +++ b/packages/stunner-editors/errai-data-binding/src/main/java/org/jboss/errai/databinding/DataBinding.gwt.xml @@ -20,11 +20,11 @@ - - - + + + - - - + + + diff --git a/packages/stunner-editors/errai-data-binding/src/test/java/org/jboss/errai/databinding/DataBindingTestModule.gwt.xml b/packages/stunner-editors/errai-data-binding/src/test/java/org/jboss/errai/databinding/DataBindingTestModule.gwt.xml index 7e31d754ec4..d0e8a110324 100644 --- a/packages/stunner-editors/errai-data-binding/src/test/java/org/jboss/errai/databinding/DataBindingTestModule.gwt.xml +++ b/packages/stunner-editors/errai-data-binding/src/test/java/org/jboss/errai/databinding/DataBindingTestModule.gwt.xml @@ -19,10 +19,10 @@ - - - + + + - - + + diff --git a/packages/stunner-editors/errai-data-binding/war/WEB-INF/web.xml b/packages/stunner-editors/errai-data-binding/war/WEB-INF/web.xml index cc1250246ba..8abc1165741 100644 --- a/packages/stunner-editors/errai-data-binding/war/WEB-INF/web.xml +++ b/packages/stunner-editors/errai-data-binding/war/WEB-INF/web.xml @@ -23,6 +23,4 @@ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5" -> - - +/> diff --git a/packages/stunner-editors/errai-ioc/pom.xml b/packages/stunner-editors/errai-ioc/pom.xml index e3d6088b22b..b3558a69976 100644 --- a/packages/stunner-editors/errai-ioc/pom.xml +++ b/packages/stunner-editors/errai-ioc/pom.xml @@ -61,8 +61,7 @@ test-jar - - + @@ -89,7 +88,7 @@ com.google.inject guice - + com.google.guava guava-gwt @@ -206,8 +205,8 @@ - - + + 1 false maven-surefire-plugin - - + **/unit/**/*Test.java **/*UnitTest.java @@ -252,5 +250,4 @@ - diff --git a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/async/test/beanmanager/AsyncBeanManagerTests.gwt.xml b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/async/test/beanmanager/AsyncBeanManagerTests.gwt.xml index 23c33ccb37a..f6c8f5fde0c 100644 --- a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/async/test/beanmanager/AsyncBeanManagerTests.gwt.xml +++ b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/async/test/beanmanager/AsyncBeanManagerTests.gwt.xml @@ -19,11 +19,11 @@ - - - - - + + + + + - + diff --git a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/async/test/constructor/AsyncConstrInjectTests.gwt.xml b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/async/test/constructor/AsyncConstrInjectTests.gwt.xml index 23c33ccb37a..f6c8f5fde0c 100644 --- a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/async/test/constructor/AsyncConstrInjectTests.gwt.xml +++ b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/async/test/constructor/AsyncConstrInjectTests.gwt.xml @@ -19,11 +19,11 @@ - - - - - + + + + + - + diff --git a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/async/test/scopes/dependent/AsyncDepScopeTests.gwt.xml b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/async/test/scopes/dependent/AsyncDepScopeTests.gwt.xml index f9ead624fc3..13950e34755 100644 --- a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/async/test/scopes/dependent/AsyncDepScopeTests.gwt.xml +++ b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/async/test/scopes/dependent/AsyncDepScopeTests.gwt.xml @@ -1,9 +1,9 @@ - - - - - + + + + + - + diff --git a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/beanmanager/IOCBeanManagerTests.gwt.xml b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/beanmanager/IOCBeanManagerTests.gwt.xml index 095b6bfd28e..64e6b10f7a2 100644 --- a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/beanmanager/IOCBeanManagerTests.gwt.xml +++ b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/beanmanager/IOCBeanManagerTests.gwt.xml @@ -19,14 +19,14 @@ - - - - - + + + + + - - + + - + diff --git a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/decorator/DecoratorAPITests.gwt.xml b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/decorator/DecoratorAPITests.gwt.xml index 23c33ccb37a..f6c8f5fde0c 100644 --- a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/decorator/DecoratorAPITests.gwt.xml +++ b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/decorator/DecoratorAPITests.gwt.xml @@ -19,11 +19,11 @@ - - - - - + + + + + - + diff --git a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/extensions/IOCExtensionTests.gwt.xml b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/extensions/IOCExtensionTests.gwt.xml index 23c33ccb37a..f6c8f5fde0c 100644 --- a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/extensions/IOCExtensionTests.gwt.xml +++ b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/extensions/IOCExtensionTests.gwt.xml @@ -19,11 +19,11 @@ - - - - - + + + + + - + diff --git a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/lifecycle/LifecycleTests.gwt.xml b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/lifecycle/LifecycleTests.gwt.xml index fd9d276d1b8..57f0ee26520 100644 --- a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/lifecycle/LifecycleTests.gwt.xml +++ b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/lifecycle/LifecycleTests.gwt.xml @@ -19,10 +19,10 @@ - - - - + + + + - + diff --git a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/qualifiers/QualifierEqualityTests.gwt.xml b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/qualifiers/QualifierEqualityTests.gwt.xml index 23c33ccb37a..f6c8f5fde0c 100644 --- a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/qualifiers/QualifierEqualityTests.gwt.xml +++ b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/qualifiers/QualifierEqualityTests.gwt.xml @@ -19,11 +19,11 @@ - - - - - + + + + + - + diff --git a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/qualifiers/QualifierRegressionTests.gwt.xml b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/qualifiers/QualifierRegressionTests.gwt.xml index e944d774684..ec14736a3e3 100644 --- a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/qualifiers/QualifierRegressionTests.gwt.xml +++ b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/qualifiers/QualifierRegressionTests.gwt.xml @@ -19,8 +19,8 @@ - - - - + + + + diff --git a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/wiring/IOCWiringTests.gwt.xml b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/wiring/IOCWiringTests.gwt.xml index 095b6bfd28e..64e6b10f7a2 100644 --- a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/wiring/IOCWiringTests.gwt.xml +++ b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/errai/ioc/tests/wiring/IOCWiringTests.gwt.xml @@ -19,14 +19,14 @@ - - - - - + + + + + - - + + - + diff --git a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/tests/errai/ioc/wiring/IOCWiringTests.gwt.xml b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/tests/errai/ioc/wiring/IOCWiringTests.gwt.xml index 23c33ccb37a..f6c8f5fde0c 100644 --- a/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/tests/errai/ioc/wiring/IOCWiringTests.gwt.xml +++ b/packages/stunner-editors/errai-ioc/src/test/java/org/jboss/tests/errai/ioc/wiring/IOCWiringTests.gwt.xml @@ -19,11 +19,11 @@ - - - - - + + + + + - + diff --git a/packages/stunner-editors/errai-ioc/src/test/resources/WEB-INF/web.xml b/packages/stunner-editors/errai-ioc/src/test/resources/WEB-INF/web.xml index 5d6f7861c6a..9c4600d4fea 100644 --- a/packages/stunner-editors/errai-ioc/src/test/resources/WEB-INF/web.xml +++ b/packages/stunner-editors/errai-ioc/src/test/resources/WEB-INF/web.xml @@ -23,6 +23,4 @@ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5" -> - - +/> diff --git a/packages/stunner-editors/errai-javax-enterprise/pom.xml b/packages/stunner-editors/errai-javax-enterprise/pom.xml index e4a593c5752..963cd1292d7 100644 --- a/packages/stunner-editors/errai-javax-enterprise/pom.xml +++ b/packages/stunner-editors/errai-javax-enterprise/pom.xml @@ -22,32 +22,32 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > - 4.0.0 - Errai::CDI::EE6 API Overrides - errai-javax-enterprise + 4.0.0 + Errai::CDI::EE6 API Overrides + errai-javax-enterprise - - org.kie.kogito.stunner.editors - stunner-editors-parent - ${revision} - ../pom.xml - + + org.kie.kogito.stunner.editors + stunner-editors-parent + ${revision} + ../pom.xml + - - - org.kie.kogito.stunner.editors - errai-codegen - - + + + org.kie.kogito.stunner.editors + errai-codegen + + - - - - src/main/java - - - src/main/resources - - - + + + + src/main/java + + + src/main/resources + + + diff --git a/packages/stunner-editors/errai-javax-enterprise/src/main/java/javax/enterprise/Support.gwt.xml b/packages/stunner-editors/errai-javax-enterprise/src/main/java/javax/enterprise/Support.gwt.xml index 17b04c24daf..a5e57763849 100644 --- a/packages/stunner-editors/errai-javax-enterprise/src/main/java/javax/enterprise/Support.gwt.xml +++ b/packages/stunner-editors/errai-javax-enterprise/src/main/java/javax/enterprise/Support.gwt.xml @@ -20,5 +20,5 @@ - + diff --git a/packages/stunner-editors/errai-reflections/pom.xml b/packages/stunner-editors/errai-reflections/pom.xml index eec365931fd..e8599be8370 100644 --- a/packages/stunner-editors/errai-reflections/pom.xml +++ b/packages/stunner-editors/errai-reflections/pom.xml @@ -70,7 +70,6 @@ scm:git:git@github.com:errai/Reflections.git - @@ -97,7 +96,6 @@ true - diff --git a/packages/stunner-editors/errai-reflections/reflections/pom.xml b/packages/stunner-editors/errai-reflections/reflections/pom.xml index 5329f4e5304..2755a135a26 100644 --- a/packages/stunner-editors/errai-reflections/reflections/pom.xml +++ b/packages/stunner-editors/errai-reflections/reflections/pom.xml @@ -91,5 +91,4 @@ true - diff --git a/packages/stunner-editors/errai-reflections/reflections/src/test/resources/META-INF/reflections/inner/resource2-reflections.xml b/packages/stunner-editors/errai-reflections/reflections/src/test/resources/META-INF/reflections/inner/resource2-reflections.xml index b30dee8fb86..74873eaa222 100644 --- a/packages/stunner-editors/errai-reflections/reflections/src/test/resources/META-INF/reflections/inner/resource2-reflections.xml +++ b/packages/stunner-editors/errai-reflections/reflections/src/test/resources/META-INF/reflections/inner/resource2-reflections.xml @@ -18,24 +18,24 @@ ~ under the License. --> - - - org.jboss.errai.reflections.TestModel$AM1 - - org.jboss.errai.reflections.TestModel$C4.m3() - org.jboss.errai.reflections.TestModel$C4.m1(int[][], java.lang.String[][]) - org.jboss.errai.reflections.TestModel$C4.m1(int, java.lang.String[]) - org.jboss.errai.reflections.TestModel$C4.m1() - - - - - - org.jboss.errai.reflections.TestModel$AF1 - - org.jboss.errai.reflections.TestModel$C4.f1 - org.jboss.errai.reflections.TestModel$C4.f2 - - - + + + org.jboss.errai.reflections.TestModel$AM1 + + org.jboss.errai.reflections.TestModel$C4.m3() + org.jboss.errai.reflections.TestModel$C4.m1(int[][], java.lang.String[][]) + org.jboss.errai.reflections.TestModel$C4.m1(int, java.lang.String[]) + org.jboss.errai.reflections.TestModel$C4.m1() + + + + + + org.jboss.errai.reflections.TestModel$AF1 + + org.jboss.errai.reflections.TestModel$C4.f1 + org.jboss.errai.reflections.TestModel$C4.f2 + + + diff --git a/packages/stunner-editors/errai-reflections/reflections/src/test/resources/META-INF/reflections/resource1-reflections.xml b/packages/stunner-editors/errai-reflections/reflections/src/test/resources/META-INF/reflections/resource1-reflections.xml index e67a63d5f7e..ae0debd4516 100644 --- a/packages/stunner-editors/errai-reflections/reflections/src/test/resources/META-INF/reflections/resource1-reflections.xml +++ b/packages/stunner-editors/errai-reflections/reflections/src/test/resources/META-INF/reflections/resource1-reflections.xml @@ -18,12 +18,12 @@ ~ under the License. --> - - - org.jboss.errai.reflections.TestModel$C2 to org.jboss.errai.reflections.TestModel$C3 - - org.jboss.errai.reflections.TestModel$C4.c2toC3(org.jboss.errai.reflections.TestModel$C2) - - - + + + org.jboss.errai.reflections.TestModel$C2 to org.jboss.errai.reflections.TestModel$C3 + + org.jboss.errai.reflections.TestModel$C4.c2toC3(org.jboss.errai.reflections.TestModel$C2) + + + diff --git a/packages/stunner-editors/errai-ui/pom.xml b/packages/stunner-editors/errai-ui/pom.xml index f8bab3cbf76..a6dc5cc7d05 100644 --- a/packages/stunner-editors/errai-ui/pom.xml +++ b/packages/stunner-editors/errai-ui/pom.xml @@ -166,7 +166,7 @@ org.jsoup - jsoup + jsoup @@ -179,7 +179,7 @@ - + org.slf4j @@ -255,8 +255,8 @@ maven-failsafe-plugin - - + + 1 false -Xmx1500m ${argLine} @@ -307,5 +307,4 @@ - diff --git a/packages/stunner-editors/errai-ui/src/main/java/org/jboss/errai/ui/UI.gwt.xml b/packages/stunner-editors/errai-ui/src/main/java/org/jboss/errai/ui/UI.gwt.xml index cbc670d1081..732cefbfd2a 100644 --- a/packages/stunner-editors/errai-ui/src/main/java/org/jboss/errai/ui/UI.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/main/java/org/jboss/errai/ui/UI.gwt.xml @@ -28,7 +28,7 @@ - + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/basic/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/basic/Test.gwt.xml index 9f85e84cadc..4457aff0077 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/basic/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/basic/Test.gwt.xml @@ -19,7 +19,7 @@ - - - + + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/binding/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/binding/Test.gwt.xml index 9f85e84cadc..4457aff0077 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/binding/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/binding/Test.gwt.xml @@ -19,7 +19,7 @@ - - - + + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/designer/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/designer/Test.gwt.xml index 0e6716655cb..e4d080f667e 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/designer/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/designer/Test.gwt.xml @@ -19,6 +19,6 @@ - - + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/element/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/element/Test.gwt.xml index abd5a787065..15988469257 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/element/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/element/Test.gwt.xml @@ -19,8 +19,8 @@ - - - - + + + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/elemental2/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/elemental2/Test.gwt.xml index 8e743f3df0d..15988469257 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/elemental2/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/elemental2/Test.gwt.xml @@ -19,9 +19,8 @@ - - - - - + + + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/error/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/error/Test.gwt.xml index 658147587b0..d243fc13e6b 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/error/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/error/Test.gwt.xml @@ -19,9 +19,9 @@ - - - + + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/extended/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/extended/Test.gwt.xml index c85d7b46458..e4d080f667e 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/extended/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/extended/Test.gwt.xml @@ -19,7 +19,6 @@ - - - + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/form/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/form/Test.gwt.xml index 9f85e84cadc..4457aff0077 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/form/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/form/Test.gwt.xml @@ -19,7 +19,7 @@ - - - + + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/handler/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/handler/Test.gwt.xml index c85d7b46458..e4d080f667e 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/handler/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/handler/Test.gwt.xml @@ -19,7 +19,6 @@ - - - + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/i18n/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/i18n/Test.gwt.xml index 5bca8491379..8e473f6e167 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/i18n/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/i18n/Test.gwt.xml @@ -19,8 +19,8 @@ - - - - + + + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/i18n/client/res/I18nNotRootTemplatedWidget.html b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/i18n/client/res/I18nNotRootTemplatedWidget.html index 85953c5fa70..f4181c2995e 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/i18n/client/res/I18nNotRootTemplatedWidget.html +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/i18n/client/res/I18nNotRootTemplatedWidget.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - +

This thing is before the template and should not appear in the errai-bundle-all.json file!

diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/integration/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/integration/Test.gwt.xml index 4ef30095cc9..34936e8e53d 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/integration/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/integration/Test.gwt.xml @@ -23,5 +23,4 @@ - diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/nested/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/nested/Test.gwt.xml index 0e6716655cb..e4d080f667e 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/nested/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/nested/Test.gwt.xml @@ -19,6 +19,6 @@ - - + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/nestedcyclic/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/nestedcyclic/Test.gwt.xml index 0e6716655cb..e4d080f667e 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/nestedcyclic/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/nestedcyclic/Test.gwt.xml @@ -19,6 +19,6 @@ - - + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/path/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/path/Test.gwt.xml index 9f85e84cadc..4457aff0077 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/path/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/path/Test.gwt.xml @@ -19,7 +19,7 @@ - - - + + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/producer/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/producer/Test.gwt.xml index 0e6716655cb..e4d080f667e 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/producer/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/producer/Test.gwt.xml @@ -19,6 +19,6 @@ - - + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/quickhandler/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/quickhandler/Test.gwt.xml index 9f85e84cadc..4457aff0077 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/quickhandler/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/quickhandler/Test.gwt.xml @@ -19,7 +19,7 @@ - - - + + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/runtime/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/runtime/Test.gwt.xml index 0e6716655cb..e4d080f667e 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/runtime/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/runtime/Test.gwt.xml @@ -19,6 +19,6 @@ - - + + diff --git a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/stylebinding/Test.gwt.xml b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/stylebinding/Test.gwt.xml index abd5a787065..15988469257 100644 --- a/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/stylebinding/Test.gwt.xml +++ b/packages/stunner-editors/errai-ui/src/test/java/org/jboss/errai/ui/test/stylebinding/Test.gwt.xml @@ -19,8 +19,8 @@ - - - - + + + + diff --git a/packages/stunner-editors/errai-ui/src/test/resources/simple.html b/packages/stunner-editors/errai-ui/src/test/resources/simple.html index 79cc573c1dd..6259826816d 100644 --- a/packages/stunner-editors/errai-ui/src/test/resources/simple.html +++ b/packages/stunner-editors/errai-ui/src/test/resources/simple.html @@ -16,7 +16,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + Simple test diff --git a/packages/stunner-editors/errai-validation/pom.xml b/packages/stunner-editors/errai-validation/pom.xml index c9af7c9f936..633c7c264d6 100644 --- a/packages/stunner-editors/errai-validation/pom.xml +++ b/packages/stunner-editors/errai-validation/pom.xml @@ -145,8 +145,8 @@ ${basedir}/src/test/java/ false - - + + 1 false - - + + - - - + + + diff --git a/packages/stunner-editors/errai-validation/src/test/java/org/jboss/errai/validation/ValidationTestModule.gwt.xml b/packages/stunner-editors/errai-validation/src/test/java/org/jboss/errai/validation/ValidationTestModule.gwt.xml index bf70d89df50..111c2b9f5cd 100644 --- a/packages/stunner-editors/errai-validation/src/test/java/org/jboss/errai/validation/ValidationTestModule.gwt.xml +++ b/packages/stunner-editors/errai-validation/src/test/java/org/jboss/errai/validation/ValidationTestModule.gwt.xml @@ -19,10 +19,10 @@ - - - - - - + + + + + + diff --git a/packages/stunner-editors/errai-validation/war/WEB-INF/web.xml b/packages/stunner-editors/errai-validation/war/WEB-INF/web.xml index 11405a54c54..8abc1165741 100644 --- a/packages/stunner-editors/errai-validation/war/WEB-INF/web.xml +++ b/packages/stunner-editors/errai-validation/war/WEB-INF/web.xml @@ -23,6 +23,4 @@ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5" -> - - +/> diff --git a/packages/stunner-editors/kie-wb-common-bom/pom.xml b/packages/stunner-editors/kie-wb-common-bom/pom.xml index 18bba60b220..c46e51b9530 100644 --- a/packages/stunner-editors/kie-wb-common-bom/pom.xml +++ b/packages/stunner-editors/kie-wb-common-bom/pom.xml @@ -512,5 +512,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-api/pom.xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-api/pom.xml index 884f75b09f6..6ab22dfd577 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-api/pom.xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-api/pom.xml @@ -39,7 +39,6 @@ - javax.validation validation-api @@ -98,7 +97,6 @@ - org.kie.kogito.stunner.editors errai-common @@ -165,7 +163,5 @@ gwt-user test - - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-api/src/main/resources/org/kie/workbench/common/dmn/DMNAPI.gwt.xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-api/src/main/resources/org/kie/workbench/common/dmn/DMNAPI.gwt.xml index 22ec30261db..43c9dab55c7 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-api/src/main/resources/org/kie/workbench/common/dmn/DMNAPI.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-api/src/main/resources/org/kie/workbench/common/dmn/DMNAPI.gwt.xml @@ -20,7 +20,6 @@ - @@ -28,7 +27,5 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/pom.xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/pom.xml index 7653c0dca90..5171753ff2d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/pom.xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/pom.xml @@ -351,7 +351,5 @@ assertj-core test - - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/java/org/kie/workbench/common/dmn/client/editors/documentation/template/dmn-documentation-template.html b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/java/org/kie/workbench/common/dmn/client/editors/documentation/template/dmn-documentation-template.html index d76f9b8b566..a2dffac86f4 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/java/org/kie/workbench/common/dmn/client/editors/documentation/template/dmn-documentation-template.html +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/java/org/kie/workbench/common/dmn/client/editors/documentation/template/dmn-documentation-template.html @@ -17,7 +17,7 @@ ~ under the License. --> - + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/java/org/kie/workbench/common/dmn/client/editors/types/listview/common/SmallSwitchComponentView.less b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/java/org/kie/workbench/common/dmn/client/editors/types/listview/common/SmallSwitchComponentView.less index 43144a8a209..c80405420ce 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/java/org/kie/workbench/common/dmn/client/editors/types/listview/common/SmallSwitchComponentView.less +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/java/org/kie/workbench/common/dmn/client/editors/types/listview/common/SmallSwitchComponentView.less @@ -68,7 +68,9 @@ } input:focus + .kie-slider { - box-shadow: inset 0 1px 1px rgba(3, 3, 3, 0.075), 0 0 8px rgba(0, 136, 206, 1); + box-shadow: + inset 0 1px 1px rgba(3, 3, 3, 0.075), + 0 0 8px rgba(0, 136, 206, 1); } input:checked + .kie-slider:before { diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/DMNClient.gwt.xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/DMNClient.gwt.xml index be95c4d8bfa..f02d2645b00 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/DMNClient.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/DMNClient.gwt.xml @@ -20,7 +20,6 @@ - @@ -33,5 +32,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/logos/drools-logo.svg b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/logos/drools-logo.svg index b5026b3bb6a..bfe38fd31a9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/logos/drools-logo.svg +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/logos/drools-logo.svg @@ -1,6 +1,15 @@ - + - + - - - + + + C40,45.9,38.5,46.2,36.4,46.2z" + /> - - - + + - + - + - + - - + + - - + z" + /> + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/business-knowledge-model-palette.svg b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/business-knowledge-model-palette.svg index 27d33e5010e..0a839af35d9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/business-knowledge-model-palette.svg +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/business-knowledge-model-palette.svg @@ -1,6 +1,15 @@ - + - + - + C420,89,411,80,400,80L400,80z" + /> diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/business-knowledge-model.svg b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/business-knowledge-model.svg index 28b0c6cf8a5..06332e1230d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/business-knowledge-model.svg +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/business-knowledge-model.svg @@ -1,6 +1,17 @@ - + - + - + - +.st0 { + fill: #4d5258; +} + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/decision-service-palette.svg b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/decision-service-palette.svg index c03ccae6623..6fae5bc0757 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/decision-service-palette.svg +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/decision-service-palette.svg @@ -1,6 +1,15 @@ - + - + - + c-21,0-38-17-38-38V220h340v41.9C380,282.9,363,299.9,342,299.9z" + /> diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/decision-service.svg b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/decision-service.svg index f0b1c554488..d4f18aafe84 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/decision-service.svg +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/decision-service.svg @@ -1,6 +1,17 @@ - + - + - + - + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/input-data-palette.svg b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/input-data-palette.svg index 81fb5018b96..3747d187f3f 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/input-data-palette.svg +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/input-data-palette.svg @@ -1,6 +1,15 @@ - + - + - + C420,137.3,362.7,80,292,80L292,80z" + /> diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/input-data.svg b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/input-data.svg index 58f17a29757..71475026e8d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/input-data.svg +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/input-data.svg @@ -1,6 +1,17 @@ - + - + - + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/knowledge-source-palette.svg b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/knowledge-source-palette.svg index b1e2df8ac86..d6077692177 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/knowledge-source-palette.svg +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/knowledge-source-palette.svg @@ -1,6 +1,15 @@ - + - + - + c0.9,0.6,1.9,0.9,2.9,0.9c2.6,0,5-2.1,5-5V100.1C420.3,89,411.3,80.1,400.3,80.1L400.3,80.1z" + /> diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/knowledge-source.svg b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/knowledge-source.svg index 7fb4d9d0a66..53e48ec06bb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/knowledge-source.svg +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/knowledge-source.svg @@ -1,6 +1,17 @@ - + - + - + - +.st0 { + fill: #4d5258; +} + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/text-annotation.svg b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/text-annotation.svg index 9653d7d8087..1caff15420f 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/text-annotation.svg +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-client/src/main/resources/org/kie/workbench/common/dmn/client/resources/images/shapes/text-annotation.svg @@ -1,6 +1,15 @@ - + - + - + - - + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-common/pom.xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-common/pom.xml index 7d80ca5afb8..9fe7dbcfa1c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-common/pom.xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-common/pom.xml @@ -39,7 +39,6 @@ - @@ -62,7 +61,6 @@ errai-common - org.kie.kogito.stunner.editors @@ -238,7 +236,6 @@ powermock-module-junit4 test - @@ -256,5 +253,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-common/src/main/resources/org/kie/workbench/common/dmn/webapp/kogito/common/DMNWebappKogitoCommon.gwt.xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-common/src/main/resources/org/kie/workbench/common/dmn/webapp/kogito/common/DMNWebappKogitoCommon.gwt.xml index 1cef03c95b8..4c06fd83033 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-common/src/main/resources/org/kie/workbench/common/dmn/webapp/kogito/common/DMNWebappKogitoCommon.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-common/src/main/resources/org/kie/workbench/common/dmn/webapp/kogito/common/DMNWebappKogitoCommon.gwt.xml @@ -20,7 +20,6 @@ - @@ -49,5 +48,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/pom.xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/pom.xml index f0712db4c2d..f597e834d84 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/pom.xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/pom.xml @@ -221,5 +221,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DC.xsd b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DC.xsd index 6f7926fb11b..4be6e95186e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DC.xsd +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DC.xsd @@ -1,159 +1,162 @@ - - + + + + + + - - - - + + + Color is a data type that represents a color value in the RGB format. + + + + + - - - Color is a data type that represents a color value in the RGB format. - - - - - + + + + + + - - - - - - + + + A Point specifies an location in some x-y coordinate system. + + + + - - - A Point specifies an location in some x-y coordinate system. - - - - + + + Dimension specifies two lengths (width and height) along the x and y axes in some x-y coordinate system. + + + + - - - Dimension specifies two lengths (width and height) along the x and y axes in some x-y coordinate system. - - - - + + + Bounds specifies a rectangular area in some x-y coordinate system that is defined by a location (x and y) and a size (width and height). + + + + + + - - - Bounds specifies a rectangular area in some x-y coordinate system that is defined by a location (x and y) and a size (width and height). - - - - - - - - - - AlignmentKind enumerates the possible options for alignment for layout purposes. - - - - - - - - - - - KnownColor is an enumeration of 17 known colors. - - - - - a color with a value of #800000 - - - - - a color with a value of #FF0000 - - - - - a color with a value of #FFA500 - - - - - a color with a value of #FFFF00 - - - - - a color with a value of #808000 - - - - - a color with a value of #800080 - - - - - a color with a value of #FF00FF - - - - - a color with a value of #FFFFFF - - - - - a color with a value of #00FF00 - - - - - a color with a value of #008000 - - - - - a color with a value of #000080 - - - - - a color with a value of #0000FF - - - - - a color with a value of #00FFFF - - - - - a color with a value of #008080 - - - - - a color with a value of #000000 - - - - - a color with a value of #C0C0C0 - - - - - a color with a value of #808080 - - - - + + + AlignmentKind enumerates the possible options for alignment for layout purposes. + + + + + + + + + + KnownColor is an enumeration of 17 known colors. + + + + + a color with a value of #800000 + + + + + a color with a value of #FF0000 + + + + + a color with a value of #FFA500 + + + + + a color with a value of #FFFF00 + + + + + a color with a value of #808000 + + + + + a color with a value of #800080 + + + + + a color with a value of #FF00FF + + + + + a color with a value of #FFFFFF + + + + + a color with a value of #00FF00 + + + + + a color with a value of #008000 + + + + + a color with a value of #000080 + + + + + a color with a value of #0000FF + + + + + a color with a value of #00FFFF + + + + + a color with a value of #008080 + + + + + a color with a value of #000000 + + + + + a color with a value of #C0C0C0 + + + + + a color with a value of #808080 + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DI.xsd b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DI.xsd index a79b4f798d8..b1921064b82 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DI.xsd +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DI.xsd @@ -1,115 +1,121 @@ - - - + + + - - The Diagram Interchange (DI) package enables interchange of graphical information that language users have control over, such as position of nodes and line routing points. Language specifications specialize elements of DI to define diagram interchange elements for a language. - + + The Diagram Interchange (DI) package enables interchange of graphical information that language users have control over, such as position of nodes and line routing points. Language specifications specialize elements of DI to define diagram interchange elements for a language. + - - - This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence - - + + + This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence + + - - - DiagramElement is the abstract super type of all elements in diagrams, including diagrams themselves. When contained in a diagram, diagram elements are laid out relative to the diagram's origin. - - - - - - - - - - - - an optional locally-owned style for this diagram element. - - - - - - a reference to an optional shared style element for this diagram element. - - - - - + + + DiagramElement is the abstract super type of all elements in diagrams, including diagrams themselves. When contained in a diagram, diagram elements are laid out relative to the diagram's origin. + + + + + + + + + + + + an optional locally-owned style for this diagram element. + + + + + + a reference to an optional shared style element for this diagram element. + + + + + - - - - - - the name of the diagram. - - - - - the documentation of the diagram. - - - - - the resolution of the diagram expressed in user units per inch. - - - - - + + + + + + the name of the diagram. + + + + + the documentation of the diagram. + + + + + the resolution of the diagram expressed in user units per inch. + + + + + - - - - - - - the optional bounds of the shape relative to the origin of its nesting plane. - - - - - - + + + + + + + the optional bounds of the shape relative to the origin of its nesting plane. + + + + + + - - - - - - - an optional list of points relative to the origin of the nesting diagram that specifies the connected line segments of the edge - - - - - - - - - - Style contains formatting properties that affect the appearance or style of diagram elements, including diagram themselves. - - - - - - - - - - - - - + + + + + + + an optional list of points relative to the origin of the nesting diagram that specifies the connected line segments of the edge + + + + + + + + + Style contains formatting properties that affect the appearance or style of diagram elements, including diagram themselves. + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DMN12.xsd b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DMN12.xsd index 47585ae1afc..f26c4652ee2 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DMN12.xsd +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DMN12.xsd @@ -1,504 +1,529 @@ - - - - - - + + + + + Include the DMN Diagram Interchange (DI) schema - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DMNDI12.xsd b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DMNDI12.xsd index d836703d50c..e164a74100b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DMNDI12.xsd +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DMNDI12.xsd @@ -1,106 +1,106 @@ - - + + + + - - + + + + + This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence + + + + + + + - - - - - This element should never be instantiated directly, but rather concrete implementation should. It is placed there only to be referred in the sequence - - - - - - - + + + + + + - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/KIE.xsd b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/KIE.xsd index 4cf183bd212..b72b70b10a3 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/KIE.xsd +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/KIE.xsd @@ -1,29 +1,29 @@ - - - - - - + + + + + - + - + - + - - + + - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/org/kie/workbench/common/dmn/webapp/kogito/marshaller/DMNMarshaller.gwt.xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/org/kie/workbench/common/dmn/webapp/kogito/marshaller/DMNMarshaller.gwt.xml index 4d2d784fb1d..b99e4e4acd3 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/org/kie/workbench/common/dmn/webapp/kogito/marshaller/DMNMarshaller.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/org/kie/workbench/common/dmn/webapp/kogito/marshaller/DMNMarshaller.gwt.xml @@ -20,7 +20,6 @@ - @@ -35,5 +34,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/pom.xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/pom.xml index 3df6827e0a3..fa02000da80 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/pom.xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/pom.xml @@ -49,7 +49,6 @@ - org.slf4j @@ -729,7 +728,6 @@ - @@ -786,10 +784,10 @@ add-source - ${gwt.helper.excludes} - ${gwt.helper.rootDirectories} + ${gwt.helper.excludes} + + ${gwt.helper.rootDirectories} + @@ -798,5 +796,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/resources/logback.xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/resources/logback.xml index ef2f84b5752..0f2dddc3a6b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/resources/logback.xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/resources/logback.xml @@ -18,7 +18,6 @@ ~ under the License. --> - @@ -32,5 +31,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/resources/org/kie/workbench/common/dmn/showcase/DMNKogitoRuntimeWebapp.gwt.xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/resources/org/kie/workbench/common/dmn/showcase/DMNKogitoRuntimeWebapp.gwt.xml index f21c2cea428..c0520615418 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/resources/org/kie/workbench/common/dmn/showcase/DMNKogitoRuntimeWebapp.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/resources/org/kie/workbench/common/dmn/showcase/DMNKogitoRuntimeWebapp.gwt.xml @@ -20,7 +20,6 @@ - @@ -41,5 +40,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/webapp/WEB-INF/web.xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/webapp/WEB-INF/web.xml index 0dbc9154c5f..2fb7c850342 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/webapp/WEB-INF/web.xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/webapp/WEB-INF/web.xml @@ -23,9 +23,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > - test.html - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/webapp/index.html b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/webapp/index.html index ce72bf085ff..dbf71a76e01 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/webapp/index.html +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/webapp/index.html @@ -1,4 +1,4 @@ - + - - + + Product_Type @@ -163,12 +176,12 @@ - - + + - - + + 0.36 @@ -176,47 +189,48 @@ - - + + - + - + - + - + - + PITI - + - (Requested Product.Amount*((Requested Product.Rate/100)/12))/(1-(1/(1+(Requested Product.Rate/100)/12)**-Requested Product.Term)) + (Requested Product.Amount*((Requested Product.Rate/100)/12))/(1-(1/(1+(Requested Product.Rate/100)/12)**-Requested Product.Term)) - + Applicant Data.Monthly.Tax - + Applicant Data.Monthly.Insurance - + Applicant Data.Monthly.Income @@ -233,49 +247,49 @@ else "Insufficient" - - + + - - - - + + + + (pmt+tax+insurance)/income - - + + - - + + - + - + - + - + DTI - + Applicant Data.Monthly.Repayments + Applicant Data.Monthly.Expenses - + Applicant Data.Monthly.Income @@ -292,10 +306,10 @@ else "Insufficient" - - + + - + @@ -303,8 +317,8 @@ else "Insufficient" Credit Score.FICO - - + + >= 750 @@ -313,7 +327,7 @@ else "Insufficient" "Excellent" - + @@ -324,7 +338,7 @@ else "Insufficient" "Good" - + @@ -335,7 +349,7 @@ else "Insufficient" "Fair" - + @@ -346,7 +360,7 @@ else "Insufficient" "Poor" - + @@ -357,22 +371,26 @@ else "Insufficient" "Bad" - + - - + + - + - + - + @@ -390,9 +408,9 @@ else "Insufficient" Front End Ratio - - - + + + "Poor", "Bad" @@ -410,7 +428,7 @@ else "Insufficient" "Credit Score too low." - + @@ -430,7 +448,7 @@ else "Insufficient" "Debt to income ratio is too high." - + @@ -450,7 +468,7 @@ else "Insufficient" "Mortgage payment to income ratio is too high." - + @@ -470,7 +488,7 @@ else "Insufficient" "Debt to income ratio is too high AND mortgage payment to income ratio is too high." - + @@ -490,29 +508,29 @@ else "Insufficient" "The borrower has been successfully prequalified for the requested loan." - + - - + + - - + + - - + + d/i - - + + 0.28 @@ -540,7 +558,7 @@ else "Insufficient" 100 1110 - + 1110 @@ -573,7 +591,7 @@ else "Insufficient" 100 632 - + 632 @@ -614,149 +632,226 @@ else "Insufficient" - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/webapp/test.html b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/webapp/test.html index ae23250a75b..f2511a8c0ee 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/webapp/test.html +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/main/webapp/test.html @@ -17,7 +17,7 @@ ~ under the License. --> - + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0001-filter.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0001-filter.dmn index 815bb8395d7..f0ce606f233 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0001-filter.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0001-filter.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_f52ca843-504b-4c3b-a6bc-4d377bffef7a" + name="filter01" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_f52ca843-504b-4c3b-a6bc-4d377bffef7a" +> + number @@ -39,47 +45,58 @@ string - - + + - + Employee[dept=20].name - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0001-input-data-string.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0001-input-data-string.dmn index 70f5f916353..58080057ece 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0001-input-data-string.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0001-input-data-string.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - "Hello " + Full Name - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + "Hello " + Full Name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0002-input-data-number.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0002-input-data-number.dmn index 67cc5d22dcd..965166fa2ec 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0002-input-data-number.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0002-input-data-number.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_0002-input-data-number" + name="0002-input-data-number" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="https://github.com/agilepro/dmn-tck" +> + - - + + - + 12 * Monthly Salary - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0002-string-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0002-string-functions.dmn index 0d13ae5cd8d..65ef490f909 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0002-string-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0002-string-functions.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_c2dc9bd5-010e-4351-b375-7db74d8ba69d" + name="stringFunctions" + expressionLanguage="http://www.omg.org/spec/FEEL/20140401" + typeLanguage="http://www.omg.org/spec/FEEL/20140401" + namespace="http://www.trisotech.com/definitions/_c2dc9bd5-010e-4351-b375-7db74d8ba69d" +> + boolean @@ -77,98 +84,98 @@ - - + + - - + + - - + + - - + + - + - + - + - + starts with(A,"x") - + starts with(A,B) - + ends with(A,"x") - + ends with(A,B) - + contains(A,"x") - + contains(A,B) - + substring(A,NumC,1) - + string length(A) - + upper case(A) - + lower case(B) - + substring before(A,B) - + substring after(A,B) @@ -176,42 +183,42 @@ - - + + - + - + matches(A,"[a-z]{3}") - - + + - + - + - + replace(A,"a","o") - + replace(A,"(an)+", "**") - + replace(A,"[aeiouy]","[$0]") @@ -219,10 +226,10 @@ - - + + - + string(NumC) @@ -232,121 +239,173 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0003-input-data-string-allowed-values.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0003-input-data-string-allowed-values.dmn index c54eaa44528..2138d592bae 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0003-input-data-string-allowed-values.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0003-input-data-string-allowed-values.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_0003-input-data-string-allowed-values" + name="0003-input-data-string-allowed-values" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="https://github.com/agilepro/dmn-tck" +> + string @@ -32,47 +38,54 @@ - - + + - + "You are " + Employment Status - - + + - + - + - - - + + + - - + + - - - + + + - - + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0003-iteration.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0003-iteration.dmn index ca6376cd659..34e6b4ea321 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0003-iteration.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0003-iteration.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_54863c52-2fa7-4a3d-b383-d4eb2eb88771" + name="iteration1" + expressionLanguage="http://www.omg.org/spec/FEEL/20140401" + typeLanguage="http://www.omg.org/spec/FEEL/20140401" + namespace="http://www.trisotech.com/definitions/_54863c52-2fa7-4a3d-b383-d4eb2eb88771" +> + number @@ -42,75 +49,81 @@ tLoan - - + + - + - + for i in Loans return PMT2(i) - - + + - + (loan.amount * loan.rate/12)/(1-(1+loan.rate/12)**-loan.term) - - + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0004-lending.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0004-lending.dmn index 278b6f4ad4a..f1de5129cc7 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0004-lending.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0004-lending.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_4e0f0b70-d31c-471c-bd52-5ca709ed362b" + name="Lending1" + expressionLanguage="http://www.omg.org/spec/FEEL/20140401" + typeLanguage="http://www.omg.org/spec/FEEL/20140401" + namespace="http://www.trisotech.com/definitions/_4e0f0b70-d31c-471c-bd52-5ca709ed362b" +> + string @@ -123,20 +130,20 @@ - - + + - + - + BureauCallTypeTable - + Pre-bureauRiskCategory @@ -144,17 +151,22 @@ - + Is credit bureau call required? Yes (BUREAU) or No (DECLINE, THROUGH) - + - + - + - + Eligibility @@ -176,7 +188,7 @@ "DECLINE", "THROUGH", "BUREAU" - + "INELIGIBLE" @@ -188,7 +200,7 @@ "DECLINE" - + @@ -202,7 +214,7 @@ "BUREAU" - + @@ -216,44 +228,44 @@ "THROUGH" - + - - + + - + - + - + - + EligibilityRules - + Pre-bureauAffordability - + Pre-bureauRiskCategory - + ApplicantData.Age @@ -261,29 +273,29 @@ - - + + - + - + - + Pre-bureauRiskCategoryTable - + ApplicantData.ExistingCustomer - + ApplicationRiskScore @@ -291,38 +303,38 @@ - - + + - + - + - + - + Post-bureauRiskCategoryTable - + ApplicantData.ExistingCustomer - + BureauData.CreditScore - + ApplicationRiskScore @@ -330,32 +342,32 @@ - - + + - + - + ApplicationRiskScoreModel - + ApplicantData.Age - + ApplicantData.MaritalStatus - + ApplicantData.EmploymentStatus @@ -363,50 +375,50 @@ - - + + - + - + - + - + AffordabilityCalculation - + ApplicantData.Monthly.Income - + ApplicantData.Monthly.Repayments - + ApplicantData.Monthly.Expenses - + Pre-bureauRiskCategory - + RequiredMonthlyInstallment @@ -414,50 +426,50 @@ - - + + - + - + - + - + AffordabilityCalculation - + ApplicantData.Monthly.Income - + ApplicantData.Monthly.Repayments - + ApplicantData.Monthly.Expenses - + Post-bureauRiskCategory - + RequiredMonthlyInstallment @@ -465,38 +477,38 @@ - - + + - + - + InstallmentCalculation - + RequestedProduct.ProductType - + RequestedProduct.Rate - + RequestedProduct.Term - + RequestedProduct.Amount @@ -504,44 +516,44 @@ - - + + - + - + - + - + RoutingRules - + BureauData.Bankrupt - + BureauData.CreditScore - + Post-bureauRiskCategory - + Post-bureauAffordability @@ -549,45 +561,49 @@ - - + + - + - + - + "ACCEPT" - - + + - - - - - + + + + + - + MonthlyIncome - (MonthlyExpenses + MonthlyRepayments) - + CreditContingencyFactorTable - + RiskCategory @@ -595,9 +611,10 @@ - + - if DisposableIncome * CreditContingencyFactor > RequiredMonthlyInstallment then true else false + if DisposableIncome * CreditContingencyFactor > RequiredMonthlyInstallment then true else false @@ -608,15 +625,20 @@ - + - - + + - - + + RiskCategory @@ -625,8 +647,8 @@ "DECLINE", "HIGH", "LOW", "MEDIUM", "VERY LOW" - - + + "HIGH", "DECLINE" @@ -635,7 +657,7 @@ 0.6 - + @@ -646,7 +668,7 @@ 0.7 - + @@ -657,20 +679,33 @@ 0.8 - + - - + + - - - - + + + + Pre-bureauRiskCategory @@ -691,7 +726,7 @@ "INELIGIBLE", "ELIGIBLE" - + "DECLINE" @@ -706,7 +741,7 @@ "INELIGIBLE" - + @@ -723,7 +758,7 @@ "INELIGIBLE" - + @@ -740,7 +775,7 @@ "INELIGIBLE" - + @@ -757,25 +792,34 @@ "ELIGIBLE" - + - - + + - - + + Pre-bureauRiskCategory - - + + "HIGH","MEDIUM" @@ -784,7 +828,7 @@ "FULL" - + @@ -795,7 +839,7 @@ "MINI" - + @@ -806,19 +850,24 @@ "NONE" - + - - + + - - - + + + ExistingCustomer @@ -829,8 +878,8 @@ ApplicationRiskScore - - + + false @@ -842,7 +891,7 @@ "HIGH" - + @@ -856,7 +905,7 @@ "MEDIUM" - + @@ -870,7 +919,7 @@ "LOW" - + @@ -884,7 +933,7 @@ "VERY LOW" - + @@ -898,7 +947,7 @@ "DECLINE" - + @@ -912,7 +961,7 @@ "HIGH" - + @@ -926,7 +975,7 @@ "MEDIUM" - + @@ -940,20 +989,25 @@ "LOW" - + - - + + - - - - + + + + ExistingCustomer @@ -969,8 +1023,8 @@ CreditScore - - + + false @@ -985,7 +1039,7 @@ "HIGH" - + @@ -1002,7 +1056,7 @@ "MEDIUM" - + @@ -1019,7 +1073,7 @@ "LOW" - + @@ -1036,7 +1090,7 @@ "HIGH" - + @@ -1053,7 +1107,7 @@ "MEDIUM" - + @@ -1070,7 +1124,7 @@ "LOW" - + @@ -1087,7 +1141,7 @@ "VERY LOW" - + @@ -1104,7 +1158,7 @@ "HIGH" - + @@ -1121,7 +1175,7 @@ "MEDIUM" - + @@ -1138,7 +1192,7 @@ "LOW" - + @@ -1155,7 +1209,7 @@ "HIGH" - + @@ -1172,7 +1226,7 @@ "MEDIUM" - + @@ -1189,20 +1243,26 @@ "LOW" - + - - + + - - - - + + + + Age @@ -1227,8 +1287,8 @@ "UNEMPLOYED", "EMPLOYED", "SELF-EMPLOYED", "STUDENT" - - + + [18..21] @@ -1243,7 +1303,7 @@ 32 - + @@ -1260,7 +1320,7 @@ 35 - + @@ -1277,7 +1337,7 @@ 40 - + @@ -1294,7 +1354,7 @@ 43 - + @@ -1311,7 +1371,7 @@ 48 - + @@ -1328,7 +1388,7 @@ 25 - + @@ -1345,7 +1405,7 @@ 45 - + @@ -1362,7 +1422,7 @@ 15 - + @@ -1379,7 +1439,7 @@ 45 - + @@ -1396,7 +1456,7 @@ 36 - + @@ -1413,29 +1473,30 @@ 18 - + - - + + - - - - + + + + - + - if ProductType ="STANDARD LOAN" then 20.00 else if ProductType ="SPECIAL LOAN" then 25.00 else null + if ProductType ="STANDARD LOAN" then 20.00 else if ProductType ="SPECIAL LOAN" then 25.00 else null - + (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) @@ -1449,14 +1510,27 @@ - - + + - - - - - + + + + + Post-bureauRiskCategory @@ -1482,7 +1556,7 @@ "DECLINE", "REFER", "ACCEPT" - + - @@ -1500,7 +1574,7 @@ "DECLINE" - + @@ -1520,7 +1594,7 @@ "DECLINE" - + @@ -1540,7 +1614,7 @@ "REFER" - + @@ -1560,7 +1634,7 @@ "REFER" - + @@ -1580,466 +1654,619 @@ "ACCEPT" - + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0004-simpletable-U.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0004-simpletable-U.dmn index 4391dcaea09..c29124f4260 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0004-simpletable-U.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0004-simpletable-U.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_edbd2d8e-a5a8-4660-9bb9-adaa792d900c" + name="simple U table" + expressionLanguage="http://www.omg.org/spec/FEEL/20140401" + typeLanguage="http://www.omg.org/spec/FEEL/20140401" + namespace="http://www.trisotech.com/definitions/_edbd2d8e-a5a8-4660-9bb9-adaa792d900c" +> + - - + + - + - + - + - + Age @@ -63,7 +75,7 @@ "Approved", "Declined" - + >=18 @@ -78,7 +90,7 @@ "Approved" - + @@ -95,7 +107,7 @@ "Declined" - + @@ -112,7 +124,7 @@ "Declined" - + @@ -129,77 +141,102 @@ "Declined" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0005-literal-invocation.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0005-literal-invocation.dmn index 32a401e4e46..0227f945b84 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0005-literal-invocation.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0005-literal-invocation.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_cb28c255-91cd-4c01-ac7b-1a9cb1ecdb11" + name="literal invocation1" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_cb28c255-91cd-4c01-ac7b-1a9cb1ecdb11" +> + number @@ -38,97 +44,106 @@ - - + + - + - + - + PMT(Loan.amount, Loan.rate, Loan.term)+fee - - + + - - - + + + (p*r/12)/(1-(1+r/12)**-n) - - + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0005-simpletable-A.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0005-simpletable-A.dmn index d096fa132d4..a6465ae29bb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0005-simpletable-A.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0005-simpletable-A.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_6cb03678-38e5-4ee3-826b-d6622c738563" + name="simple A table" + expressionLanguage="http://www.omg.org/spec/FEEL/20140401" + typeLanguage="http://www.omg.org/spec/FEEL/20140401" + namespace="http://www.trisotech.com/definitions/_6cb03678-38e5-4ee3-826b-d6622c738563" +> + - - + + - + - + - + - + Age @@ -63,7 +75,7 @@ "Approved", "Declined" - + >=18 @@ -78,7 +90,7 @@ "Approved" - + @@ -95,7 +107,7 @@ "Declined" - + @@ -112,7 +124,7 @@ "Declined" - + @@ -129,77 +141,102 @@ "Declined" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0006-join.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0006-join.dmn index 08c2a0349f0..71b43fe7c51 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0006-join.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0006-join.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_16bf03c7-8f3d-46d0-a921-6e335ccc7e29" + name="join01" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_16bf03c7-8f3d-46d0-a921-6e335ccc7e29" +> + string @@ -52,87 +58,112 @@ - - + + - + - + - + DeptTable[number = EmployeeTable[name=LastName].deptNum[1]].manager[1] - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0006-simpletable-P1.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0006-simpletable-P1.dmn index 71aa400b50a..cdae8c66c17 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0006-simpletable-P1.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0006-simpletable-P1.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_791b8e95-b7a7-40e7-9dd1-5ff12364f340" + name="simple P table 1" + expressionLanguage="http://www.omg.org/spec/FEEL/20140401" + typeLanguage="http://www.omg.org/spec/FEEL/20140401" + namespace="http://www.trisotech.com/definitions/_791b8e95-b7a7-40e7-9dd1-5ff12364f340" +> + - - + + - + - + - + - + Age @@ -63,7 +75,7 @@ "Approved", "Declined" - + >=18 @@ -78,7 +90,7 @@ "Approved" - + @@ -95,7 +107,7 @@ "Declined" - + @@ -112,7 +124,7 @@ "Declined" - + @@ -129,77 +141,102 @@ "Declined" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0007-date-time.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0007-date-time.dmn index 652cb087ded..7ab01d9f906 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0007-date-time.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0007-date-time.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_69430b3e-17b8-430d-b760-c505bf6469f9" + name="dateTime Table 58" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_69430b3e-17b8-430d-b760-c505bf6469f9" +> + number @@ -58,46 +64,46 @@ - - + + - - + + - - + + - + - + - + - + - + - + date(dateString) - + date(Date-Time) - + date(Year,Month,Day) @@ -105,254 +111,254 @@ - - + + - + date and time(dateTimeString) - - + + - + time(timeString) - - + + - - + + - - + + - - + + - + - + date and time(Date.fromString,Time) - - + + - + time(Date-Time2) - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - + time(Hours,Minutes,Seconds,Timezone) - - + + - - + + - + duration(durationString) - - + + - + - + Date-Time - Date-Time2 - - + + - - + + - + - + dtDuration2 / oneHour - - + + - + - + dtDuration1 + dtDuration2 - - + + - + - + years and months duration(Date-Time2,Date-Time) - - + + - + Date.fromString.day - - + + - + Date.fromString.year - - + + - + Date.fromString.month - - + + - + Date-Time2.hour - - + + - + Date-Time2.minute - - + + - + Date-Time2.second - - + + - + Date-Time2.timezone - - + + - + ymDuration2.years - - + + - + dtDuration1.seconds @@ -362,446 +368,670 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0007-simpletable-P2.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0007-simpletable-P2.dmn index 7b1e956ffca..ef681c25a3c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0007-simpletable-P2.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0007-simpletable-P2.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_501f6033-f4bc-4823-99aa-edaf29ac2e0b" + name="simple P table 2" + expressionLanguage="http://www.omg.org/spec/FEEL/20140401" + typeLanguage="http://www.omg.org/spec/FEEL/20140401" + namespace="http://www.trisotech.com/definitions/_501f6033-f4bc-4823-99aa-edaf29ac2e0b" +> + - - + + - + - + - + - + Age @@ -63,7 +75,7 @@ "Approved", "Declined" - + >=18 @@ -78,7 +90,7 @@ "Approved" - + @@ -95,77 +107,102 @@ "Declined" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0008-LX-arithmetic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0008-LX-arithmetic.dmn index 029501eb875..e41a98193d8 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0008-LX-arithmetic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0008-LX-arithmetic.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_1fedf2c0-0f4a-470c-bc66-a15528e8a49a" + name="literal - arithmetic" + expressionLanguage="http://www.omg.org/spec/FEEL/20140401" + typeLanguage="http://www.omg.org/spec/FEEL/20140401" + namespace="http://www.trisotech.com/definitions/_1fedf2c0-0f4a-470c-bc66-a15528e8a49a" +> + number @@ -39,47 +46,58 @@ - - + + - + (loan.principal*loan.rate/12)/(1-(1+loan.rate/12)**-loan.termMonths) - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0008-listGen.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0008-listGen.dmn index a08ab1ea08c..d6e324edf65 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0008-listGen.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0008-listGen.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_95e3405c-eac4-4398-9de1-ca40c213f4ae" + name="listGen" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_95e3405c-eac4-4398-9de1-ca40c213f4ae" +> + string - - + + ["a","b","c"] - - + + - - + + - - + + - - + + - + - + - + [a,b,c] - - + + - + - + ["a",b,c] - - + + - + - + c - - + + - @@ -99,7 +110,7 @@ "a" - + @@ -110,7 +121,7 @@ "b" - + @@ -121,24 +132,29 @@ "c" - + - - + + - + - + - + - + a @@ -154,8 +170,8 @@ c - - + + - @@ -170,7 +186,7 @@ a - + @@ -187,7 +203,7 @@ b - + @@ -204,72 +220,72 @@ c - + - - + + - - + + [["w","x"],"y","z"] - - + + - + [wx,"y","z"] - - + + - + - + - + [a,b,listGen6] - - + + - + - + - + [a,b,listGen7] - - + + - + - + [listGen4,listGen7] @@ -279,215 +295,325 @@ - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0009-append-flatten.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0009-append-flatten.dmn index c78c49b633f..ecc704e39f0 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0009-append-flatten.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0009-append-flatten.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_9d6beae5-6a61-44a7-bbcf-09bcce989739" + name="flatten" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_9d6beae5-6a61-44a7-bbcf-09bcce989739" +> + string @@ -33,114 +39,114 @@ tStringList - - + + - - + + - - + + ["a","b","c"] - - + + [["w","x"],"y","z"] - - + + - + - + append(simpleList,literalSimpleList) - - + + - + - + append(simpleList,nestedList) - - + + - + - + append(literalSimpleList,nestedList) - - + + - + - + append(literalSimpleList,literalNestedList) - - + + - + flatten(append1) - - + + - + flatten(append2) - - + + - + flatten(append3) - - + + - + flatten(append4) @@ -150,173 +156,257 @@ - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0009-invocation-arithmetic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0009-invocation-arithmetic.dmn index 8bed0f9e24a..069aa996ed3 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0009-invocation-arithmetic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0009-invocation-arithmetic.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_cb28c255-91cd-4c01-ac7b-1a9cb1ecdb11" + name="literal invocation1" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_cb28c255-91cd-4c01-ac7b-1a9cb1ecdb11" +> + number @@ -38,97 +44,109 @@ - - + + - + - + - + PMT(Loan.amount, Loan.rate, Loan.term)+fee - - + + - - - - + + + + (p*r/12)/(1-(1+r/12)**-n) - - + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0010-concatenate.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0010-concatenate.dmn index 055056b821a..425b18f4469 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0010-concatenate.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0010-concatenate.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_e14a67c7-c9a2-4fd6-84fb-63722d1454d4" + name="concatenate" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_e14a67c7-c9a2-4fd6-84fb-63722d1454d4" +> + string @@ -33,74 +39,74 @@ tStringList - - + + - - + + - - + + ["a","b","c"] - - + + [["w","x"],"y","z"] - - + + - + - + concatenate(simpleList,literalSimpleList) - - + + - + - + concatenate(simpleList,nestedList) - - + + - + - + concatenate(literalSimpleList,nestedList) - - + + - + - + concatenate(literalSimpleList,literalNestedList) @@ -110,117 +116,173 @@ - - - - - - + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0010-multi-output-U.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0010-multi-output-U.dmn index 0cdf618139a..5a47b41bf57 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0010-multi-output-U.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0010-multi-output-U.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_a3ebbd98-af09-42f3-9099-4ae2204a1f54" + name="multi-output-table" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_a3ebbd98-af09-42f3-9099-4ae2204a1f54" +> + string @@ -35,18 +41,23 @@ - - + + - + - + - + - + Age @@ -81,7 +92,7 @@ "Standard" - + >=18 @@ -99,7 +110,7 @@ "Best" - + @@ -119,7 +130,7 @@ "Standard" - + @@ -139,7 +150,7 @@ "Standard" - + @@ -159,7 +170,7 @@ "Standard" - + @@ -179,77 +190,102 @@ "Standard" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0011-insert-remove.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0011-insert-remove.dmn index c3f610f97a5..854a360983a 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0011-insert-remove.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0011-insert-remove.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_6029a6d3-d2f1-484b-a99d-4bedb5858a3e" + name="insert-remove" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_6029a6d3-d2f1-484b-a99d-4bedb5858a3e" +> + string @@ -33,90 +39,90 @@ tStringList - - + + - - + + - - + + - - + + [["a","b"],["b","c"]] - - + + - + - + remove(simpleList,position) - - + + - + - + - + insert before(literalNestedList,position,simpleList) - - + + - + - + remove(literalNestedList,position) - - + + - + - + insert before(simpleList,position,"x") - - + + - + - + - + insert before(nestedList,position,simpleList) @@ -126,142 +132,214 @@ - - - - - - + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0012-list-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0012-list-functions.dmn index 2a922a44b2f..f69b73ff4d9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0012-list-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0012-list-functions.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_c0858816-af7b-40a1-8aa7-6e11b8761215" + name="listFunctions" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_c0858816-af7b-40a1-8aa7-6e11b8761215" +> + string @@ -36,251 +42,251 @@ tStringList - - + + - - + + - - + + - - + + - + - + list contains(list1,list2) - - + + - + - + list contains(list2,string1) - - + + - + count(list1) - - + + - + min(numList) - - + + - - + + - + sum(numList) - - + + - + mean(numList) - - + + - - + + - - + + - - + + - + - + - + mean(num1,num2,num3) - - + + - + sublist(list1,1,2) - - + + - + sublist(list1,-1,1) - - + + - + - + - + append(numList,num1,num2) - - + + - + - + concatenate(list1,list2) - - + + - + - + insert before(list2,2,string1) - - + + - + remove(list2,2) - - + + - + reverse(concatenate1) - - + + - + - + append(list1,list2) - - + + - + - + index of(list2,string1) - - + + - + - + union(insertBefore1,concatenate1) - - + + - + distinct values(insertBefore1) - - + + - + flatten(appendListItem) @@ -290,380 +296,574 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0013-sort.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0013-sort.dmn index bee66438e14..a0ca92829b5 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0013-sort.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0013-sort.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_ac1acfdd-6baa-4f30-9cac-5d23957b4217" + name="sort" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_ac1acfdd-6baa-4f30-9cac-5d23957b4217" +> + number @@ -50,42 +56,42 @@ string - - + + - - + + - - + + - + sort(listA, function(x,y) x>y) - - + + - + sort(tableB, function(x,y) x.col2<y.col2) - - + + - - + + - + sort(stringList, function(x,y) x<y) @@ -95,76 +101,109 @@ - - - + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0014-loan-comparison.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0014-loan-comparison.dmn index 51330b55324..6d503082b61 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0014-loan-comparison.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0014-loan-comparison.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_56c7d4a5-e6db-4bba-ac5f-dc082a16f719" + name="loanComparison" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_56c7d4a5-e6db-4bba-ac5f-dc082a16f719" +> + string @@ -91,13 +97,13 @@ - - + + - - - - + + + + "Oceans Capital" @@ -241,48 +247,48 @@ - - + + - - + + - + - + - + - + for i in Bankrates return FinancialMetrics(i,RequestedAmt) - + sort(metricsTable, function(x,y) x.rate<y.rate) - + sort(metricsTable, function(x,y) x.downPmtAmt<y.downPmtAmt) - + sort(metricsTable, function(x,y) x.paymentAmt<y.paymentAmt) - + sort(metricsTable, function(x,y) x.equity36moPct>y.equity36moPct) @@ -290,56 +296,56 @@ - - + + - - + + - + product.lenderName - + product.rate - + product.points - + product.fee - + requestedAmt*(1+points/100)+fee - + 0.2*loanAmt - + monthlyPayment(loanAmt,rate,360) - + 1 - equity36Mo(loanAmt,rate,36,paymentAmt)/requestedAmt*0.8 @@ -347,32 +353,32 @@ - + - + - - + + - - - + + + p*r/12/(1-(1+r/12)**-n) - - + + - - - - + + + + p*(1+r/12)**n - pmt*(-1+(1+r/12)**n)/r @@ -382,142 +388,181 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0015-all-any.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0015-all-any.dmn index 521adac3a4b..72a7c9029c6 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0015-all-any.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0015-all-any.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_0b25a236-f7a2-4845-b41e-73ab3e5ebd41" + name="and-or" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_0b25a236-f7a2-4845-b41e-73ab3e5ebd41" +> + boolean - - + + - + - + - + all([a>b,a>c]) - - + + - + all(literalList) - - + + - + - + - + any([a>b,a>c]) - - + + - + any(literalList) - - + + - + - + - + [a>b,a>c] - - + + - - + + - - + + - - - - - + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0016-some-every.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0016-some-every.dmn index e495a2ea2c6..2cfc7c13201 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0016-some-every.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0016-some-every.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_d7643a02-a8fc-4a6f-a8a9-5c2881afea70" + name="some-every" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_d7643a02-a8fc-4a6f-a8a9-5c2881afea70" +> + string @@ -38,15 +44,15 @@ tItemPrice - - + + - - + + - - + + "widget" @@ -74,63 +80,63 @@ - - + + - + every i in priceTable1 satisfies i.price > 10 - - + + - + every i in priceTable2 satisfies i.price > 10 - - + + - + some i in priceTable1 satisfies i.price > 10 - - + + - + some i in priceTable2 satisfies i.price > 10 - - + + - + - + every i in priceTable1 satisfies gtTen(i.price)=true - - + + - + theNumber > 10 @@ -140,117 +146,167 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0017-tableTests.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0017-tableTests.dmn index 8de15b599e8..7fd770b5cdf 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0017-tableTests.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0017-tableTests.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_92a0c25f-707e-4fc8-ae2d-2ab51ebe6bb6" + name="tableTest" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="http://www.trisotech.com/definitions/_92a0c25f-707e-4fc8-ae2d-2ab51ebe6bb6" +> + number @@ -41,39 +47,44 @@ string - - + + - - + + - - + + - - + + - - + + - - + + - + - + structA.price - - + + >10 @@ -82,7 +93,7 @@ true - + @@ -93,24 +104,29 @@ false - + - - + + - + - + - + - + structA.price @@ -121,7 +137,7 @@ "In range", "Not in range" - + [numB..numC] @@ -130,7 +146,7 @@ "In range" - + @@ -141,25 +157,30 @@ "Not in range" - + - - + + - + - + dateD - - + + >date("2016-10-01") @@ -168,7 +189,7 @@ true - + @@ -179,28 +200,33 @@ false - + - - + + - + - + - + dateD - - + + >dateE @@ -209,7 +235,7 @@ true - + @@ -220,7 +246,7 @@ false - + @@ -229,120 +255,177 @@ - - - - + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0019-flight-rebooking.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0019-flight-rebooking.dmn index 6ef34e42f97..0275c9b80aa 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0019-flight-rebooking.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11-expected/0019-flight-rebooking.dmn @@ -1,4 +1,4 @@ - + - - + xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" + id="_0019_flight_rebooking" + name="0019-flight-rebooking" + typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" + namespace="https://www.drools.org/kie-dmn" +> + string @@ -69,45 +75,50 @@ tPassenger - - + + - - + + - - + + - + - + - + - + Flight List[ Status = "cancelled" ].Flight Number - + Passenger List[ list contains( Cancelled Flights, Flight Number ) ] - + - - + + - status priority( Passenger1.Status ) < status priority( Passenger2.Status ) or ( status priority( Passenger1.Status ) = status priority( Passenger2.Status ) and Passenger1.Miles > Passenger2.Miles ) ) + status priority( Passenger1.Status ) < status priority( Passenger2.Status ) or ( status priority( Passenger1.Status ) = status priority( Passenger2.Status ) and Passenger1.Miles > Passenger2.Miles ) ) @@ -119,27 +130,31 @@ - - + + - + - + - + rebooked flights( Prioritized Waiting List, [], Flight List ) - - + + - - + + Status @@ -148,8 +163,8 @@ "gold", "silver", "bronze" - - + + "gold" @@ -158,7 +173,7 @@ 1 - + @@ -169,7 +184,7 @@ 2 - + @@ -180,71 +195,76 @@ 3 - + - - + + - - - + + + - + Waiting[1] - + Flights[ Flight Number = Passenger.Flight Number ][1] - + - - + + flight.Capacity > count( rebooked list[ Flight Number = flight.Flight Number ] ) - + - Flight List[ From = Original Flight.From and To = Original Flight.To and Departure > Original Flight.Departure and Status = "scheduled" and has capacity( item, Rebooked ) ][1] + Flight List[ From = Original Flight.From and To = Original Flight.To and Departure > Original Flight.Departure and Status = "scheduled" and has capacity( item, Rebooked ) ][1] - + - + Passenger.Name - + Passenger.Status - + Passenger.Miles - + Best Alternate Flight.Flight Number @@ -253,7 +273,8 @@ - if count( Waiting ) > 1 then rebooked flights( remove( Waiting, 1 ), append( Rebooked, New Flight ), Flights ) else append( Rebooked, New Flight ) + if count( Waiting ) > 1 then rebooked flights( remove( Waiting, 1 ), append( Rebooked, New Flight ), Flights ) else append( Rebooked, New Flight ) @@ -263,107 +284,129 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0001-filter.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0001-filter.dmn index 94865ddf5f5..a7bc4d4409e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0001-filter.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0001-filter.dmn @@ -1,4 +1,4 @@ - + - - - - feel:number - - - feel:number - - - feel:string - - - - feel:string - - - - - - - - Employee[dept=20].name - - - - - + + + + feel:number + + + feel:number + + + feel:string + + + + feel:string + + + + + + + + Employee[dept=20].name + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0001-input-data-string.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0001-input-data-string.dmn index c29e02d1d87..aec491c4606 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0001-input-data-string.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0001-input-data-string.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - "Hello " + Full Name - - - - - + + + + + + + + "Hello " + Full Name + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0002-input-data-number.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0002-input-data-number.dmn index dc6c6ab8caf..3a323723364 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0002-input-data-number.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0002-input-data-number.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - 12 * Monthly Salary - - - - - + + + + + + + + 12 * Monthly Salary + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0002-string-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0002-string-functions.dmn index 0e650f9edee..be69cbad767 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0002-string-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0002-string-functions.dmn @@ -1,4 +1,4 @@ - + - - - - feel:boolean - - - feel:boolean - - - feel:boolean - - - feel:boolean - - - feel:boolean - - - feel:boolean - - - feel:string - - - feel:number - - - feel:string - - - feel:string - - - feel:string - - - feel:string - - - - - feel:string - - - feel:string - - - feel:string - - - - - - - - - - - - - - - - - - - - - - - - - - - starts with(A,"x") - - - - - - starts with(A,B) - - - - - - ends with(A,"x") - - - - - - ends with(A,B) - - - - - - contains(A,"x") - - - - - - contains(A,B) - - - - - - substring(A,NumC,1) - - - - - - string length(A) - - - - - - upper case(A) - - - - - - lower case(B) - - - - - - substring before(A,B) - - - - - - substring after(A,B) - - - - - - - - - - - - - - matches(A,"[a-z]{3}") - - - - - - - - - - - - - - - replace(A,"a","o") - - - - - - replace(A,"(an)+", "**") - - - - - - replace(A,"[aeiouy]","[$0]") - - - - - - - - - - - string(NumC) - - - \ No newline at end of file + + + + feel:boolean + + + feel:boolean + + + feel:boolean + + + feel:boolean + + + feel:boolean + + + feel:boolean + + + feel:string + + + feel:number + + + feel:string + + + feel:string + + + feel:string + + + feel:string + + + + + feel:string + + + feel:string + + + feel:string + + + + + + + + + + + + + + + + + + + + + + + + + + + starts with(A,"x") + + + + + + starts with(A,B) + + + + + + ends with(A,"x") + + + + + + ends with(A,B) + + + + + + contains(A,"x") + + + + + + contains(A,B) + + + + + + substring(A,NumC,1) + + + + + + string length(A) + + + + + + upper case(A) + + + + + + lower case(B) + + + + + + substring before(A,B) + + + + + + substring after(A,B) + + + + + + + + + + + + + + matches(A,"[a-z]{3}") + + + + + + + + + + + + + + + replace(A,"a","o") + + + + + + replace(A,"(an)+", "**") + + + + + + replace(A,"[aeiouy]","[$0]") + + + + + + + + + + + string(NumC) + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0003-input-data-string-allowed-values.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0003-input-data-string-allowed-values.dmn index 7e63cf9f3f0..4b5edad0d59 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0003-input-data-string-allowed-values.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0003-input-data-string-allowed-values.dmn @@ -1,4 +1,4 @@ - + - - - feel:string - - "UNEMPLOYED","EMPLOYED","SELF-EMPLOYED","STUDENT" - - - - - - - - - "You are " + Employment Status - - - - - + + + feel:string + + "UNEMPLOYED","EMPLOYED","SELF-EMPLOYED","STUDENT" + + + + + + + + + "You are " + Employment Status + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0003-iteration.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0003-iteration.dmn index 28952780ef0..6f0d073327b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0003-iteration.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0003-iteration.dmn @@ -1,4 +1,4 @@ - + - - - - feel:number - - - feel:number - - - feel:number - - - - tns:tLoan - - - - - - - - - - - for i in Loans return PMT2(i) - - - - - - - (loan.amount * loan.rate/12)/(1-(1+loan.rate/12)**-loan.term) - - - - - - - + + + + feel:number + + + feel:number + + + feel:number + + + + tns:tLoan + + + + + + + + + + + for i in Loans return PMT2(i) + + + + + + + (loan.amount * loan.rate/12)/(1-(1+loan.rate/12)**-loan.term) + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0004-lending.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0004-lending.dmn index 2829a872464..81eab458662 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0004-lending.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0004-lending.dmn @@ -1,4 +1,4 @@ - + - - - feel:string - - "INELIGIBLE", "ELIGIBLE" - - - - feel:string - - "FULL", "MINI", "NONE" - - - - feel:string - - "DECLINE", "BUREAU", "THROUGH" - - - - feel:string - - "DECLINE", "HIGH", "MEDIUM", "LOW", "VERY LOW" - - - - feel:string - - "DECLINE", "REFER", "ACCEPT" - - - - - feel:number - - [0..999], null - - - - feel:boolean - - - - feel:string - - "DECLINE", "ACCEPT" - - - - - - feel:number - - - feel:number - - - feel:number - - - - feel:number - - - feel:boolean - - - feel:string - - "S","M" - - - - feel:string - - "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" - - - - - - feel:string - - "STANDARD LOAN", "SPECIAL LOAN" - - - - feel:number - - - feel:number - - - feel:number - - - - - - - - - - - - - BureauCallTypeTable - - - - - Pre-bureauRiskCategory - - - - - - Is credit bureau call required? - Yes (BUREAU) or No (DECLINE, THROUGH) - - - - - - - - - - - Eligibility - - - "ELIGIBLE", "INELIGIBLE" - - - - - BureauCallType - - - "FULL", "MINI", "NONE" - - - - - "DECLINE", "THROUGH", "BUREAU" - - - - - "INELIGIBLE" - - - - - - - "DECLINE" - - - - - "ELIGIBLE" - - - "FULL","MINI" - - - "BUREAU" - - - - - "ELIGIBLE" - - - "NONE" - - - "THROUGH" - - - - - - - - - - - - - - - - - - - - - EligibilityRules - - - - - Pre-bureauAffordability - - - - - - Pre-bureauRiskCategory - - - - - - ApplicantData.Age - - - - - - - - - - - - - - - - - - Pre-bureauRiskCategoryTable - - - - - ApplicantData.ExistingCustomer - - - - - - ApplicationRiskScore - - - - - - - - - - - - - - - - - - - - - Post-bureauRiskCategoryTable - - - - - ApplicantData.ExistingCustomer - - - - - - BureauData.CreditScore - - - - - - ApplicationRiskScore - - - - - - - - - - - - - - - ApplicationRiskScoreModel - - - - - ApplicantData.Age - - - - - - ApplicantData.MaritalStatus - - - - - - ApplicantData.EmploymentStatus - - - - - - - - - - - - - - - - - - - - - AffordabilityCalculation - - - - - ApplicantData.Monthly.Income - - - - - - ApplicantData.Monthly.Repayments - - - - - - ApplicantData.Monthly.Expenses - - - - - - Pre-bureauRiskCategory - - - - - - RequiredMonthlyInstallment - - - - - - - - - - - - - - - - - - - - - AffordabilityCalculation - - - - - ApplicantData.Monthly.Income - - - - - - ApplicantData.Monthly.Repayments - - - - - - ApplicantData.Monthly.Expenses - - - - - - Post-bureauRiskCategory - - - - - - RequiredMonthlyInstallment - - - - - - - - - - - - - - - InstallmentCalculation - - - - - RequestedProduct.ProductType - - - - - - RequestedProduct.Rate - - - - - - RequestedProduct.Term - - - - - - RequestedProduct.Amount - - - - - - - - - - - - - - - - - - - - - RoutingRules - - - - - BureauData.Bankrupt - - - - - - BureauData.CreditScore - - - - - - Post-bureauRiskCategory - - - - - - Post-bureauAffordability - - - - - - - - - - - - - - - - - "ACCEPT" - - - - - - - - - - - - - - MonthlyIncome - (MonthlyExpenses + MonthlyRepayments) - - - - - - - CreditContingencyFactorTable - - - - - RiskCategory - - - - - - - - if DisposableIncome * CreditContingencyFactor > RequiredMonthlyInstallment then true else false - - - - - Affordability - - - - - - - - - - - - - - - - RiskCategory - - - "DECLINE", "HIGH", "LOW", "MEDIUM", "VERY LOW" - - - - - - "HIGH", "DECLINE" - - - 0.6 - - - - - "MEDIUM" - - - 0.7 - - - - - "LOW", "VERY LOW" - - - 0.8 - - - - - - - - - - - - - - - Pre-bureauRiskCategory - - - - - Pre-bureauAffordability - - - - - Age - - - - - "INELIGIBLE", "ELIGIBLE" - - - - - "DECLINE" - - - - - - - - - - - "INELIGIBLE" - - - - - - - - - false - - - - - - - "INELIGIBLE" - - - - - - - - - - - - - <18 - - - "INELIGIBLE" - - - - - - - - - - - - - - - - - "ELIGIBLE" - - - - - - - - - - - - - Pre-bureauRiskCategory - - - - - - "HIGH","MEDIUM" - - - "FULL" - - - - - "LOW" - - - "MINI" - - - - - "VERY LOW","DECLINE" - - - "NONE" - - - - - - - - - - - - - - ExistingCustomer - - - - - ApplicationRiskScore - - - - - - false - - - <100 - - - "HIGH" - - - - - false - - - [100..120) - - - "MEDIUM" - - - - - false - - - [120..130) - - - "LOW" - - - - - false - - - >130 - - - "VERY LOW" - - - - - true - - - <80 - - - "DECLINE" - - - - - true - - - [80..90) - - - "HIGH" - - - - - true - - - [90..110] - - - "MEDIUM" - - - - - true - - - >110 - - - "LOW" - - - - - - - - - - - - - - - ExistingCustomer - - - - - ApplicationRiskScore - - - - - CreditScore - - - - - - false - - - <120 - - - <590 - - - "HIGH" - - - - - false - - - <120 - - - [590..610] - - - "MEDIUM" - - - - - false - - - <120 - - - >610 - - - "LOW" - - - - - false - - - [120..130] - - - <600 - - - "HIGH" - - - - - false - - - [120..130] - - - [600..625] - - - "MEDIUM" - - - - - false - - - [120..130] - - - >625 - - - "LOW" - - - - - false - - - >130 - - - - - - - "VERY LOW" - - - - - true - - - <=100 - - - <580 - - - "HIGH" - - - - - true - - - <=100 - - - [580..600] - - - "MEDIUM" - - - - - true - - - <=100 - - - >600 - - - "LOW" - - - - - true - - - >100 - - - <590 - - - "HIGH" - - - - - true - - - >100 - - - [590..615] - - - "MEDIUM" - - - - - true - - - >100 - - - >615 - - - "LOW" - - - - - - - - - - - - - - - Age - - - [18..120] - - - - - MaritalStatus - - - "S", "M" - - - - - EmploymentStatus - - - "UNEMPLOYED", "EMPLOYED", "SELF-EMPLOYED", "STUDENT" - - - - - - [18..21] - - - - - - - - - - - 32 - - - - - [22..25] - - - - - - - - - - - 35 - - - - - [26..35] - - - - - - - - - - - 40 - - - - - [36..49] - - - - - - - - - - - 43 - - - - - >=50 - - - - - - - - - - - 48 - - - - - - - - - "S" - - - - - - - 25 - - - - - - - - - "M" - - - - - - - 45 - - - - - - - - - - - - - "UNEMPLOYED" - - - 15 - - - - - - - - - - - - - "EMPLOYED" - - - 45 - - - - - - - - - - - - - "SELF-EMPLOYED" - - - 36 - - - - - - - - - - - - - "STUDENT" - - - 18 - - - - - - - - - - - - - - - - - if ProductType ="STANDARD LOAN" then 20.00 else if ProductType ="SPECIAL LOAN" then 25.00 else null - - - - - - (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) - - - - - MonthlyRepayment+MonthlyFee - - - - - - - - - - - - - - - - Post-bureauRiskCategory - - - - - Post-bureauAffordability - - - - - Bankrupt - - - - - CreditScore - - - - - "DECLINE", "REFER", "ACCEPT" - - - - - - - - - false - - - - - - - - - - - "DECLINE" - - - - - - - - - - - - - true - - - - - - - "DECLINE" - - - - - "HIGH" - - - - - - - - - - - - - - - "REFER" - - - - - - - - - - - - - - - - - <580 - - - "REFER" - - - - - - - - - - - - - - - - - - - - - "ACCEPT" - - - - - - - - - - - - - - - - - - + + + feel:string + + "INELIGIBLE", "ELIGIBLE" + + + + feel:string + + "FULL", "MINI", "NONE" + + + + feel:string + + "DECLINE", "BUREAU", "THROUGH" + + + + feel:string + + "DECLINE", "HIGH", "MEDIUM", "LOW", "VERY LOW" + + + + feel:string + + "DECLINE", "REFER", "ACCEPT" + + + + + feel:number + + [0..999], null + + + + feel:boolean + + + + feel:string + + "DECLINE", "ACCEPT" + + + + + + feel:number + + + feel:number + + + feel:number + + + + feel:number + + + feel:boolean + + + feel:string + + "S","M" + + + + feel:string + + "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" + + + + + + feel:string + + "STANDARD LOAN", "SPECIAL LOAN" + + + + feel:number + + + feel:number + + + feel:number + + + + + + + + + + + + + BureauCallTypeTable + + + + + Pre-bureauRiskCategory + + + + + + Is credit bureau call required? + Yes (BUREAU) or No (DECLINE, THROUGH) + + + + + + + + + + + Eligibility + + + "ELIGIBLE", "INELIGIBLE" + + + + + BureauCallType + + + "FULL", "MINI", "NONE" + + + + + "DECLINE", "THROUGH", "BUREAU" + + + + + "INELIGIBLE" + + + - + + + "DECLINE" + + + + + "ELIGIBLE" + + + "FULL","MINI" + + + "BUREAU" + + + + + "ELIGIBLE" + + + "NONE" + + + "THROUGH" + + + + + + + + + + + + + + + + + + + + + EligibilityRules + + + + + Pre-bureauAffordability + + + + + + Pre-bureauRiskCategory + + + + + + ApplicantData.Age + + + + + + + + + + + + + + + + + + Pre-bureauRiskCategoryTable + + + + + ApplicantData.ExistingCustomer + + + + + + ApplicationRiskScore + + + + + + + + + + + + + + + + + + + + + Post-bureauRiskCategoryTable + + + + + ApplicantData.ExistingCustomer + + + + + + BureauData.CreditScore + + + + + + ApplicationRiskScore + + + + + + + + + + + + + + + ApplicationRiskScoreModel + + + + + ApplicantData.Age + + + + + + ApplicantData.MaritalStatus + + + + + + ApplicantData.EmploymentStatus + + + + + + + + + + + + + + + + + + + + + AffordabilityCalculation + + + + + ApplicantData.Monthly.Income + + + + + + ApplicantData.Monthly.Repayments + + + + + + ApplicantData.Monthly.Expenses + + + + + + Pre-bureauRiskCategory + + + + + + RequiredMonthlyInstallment + + + + + + + + + + + + + + + + + + + + + AffordabilityCalculation + + + + + ApplicantData.Monthly.Income + + + + + + ApplicantData.Monthly.Repayments + + + + + + ApplicantData.Monthly.Expenses + + + + + + Post-bureauRiskCategory + + + + + + RequiredMonthlyInstallment + + + + + + + + + + + + + + + InstallmentCalculation + + + + + RequestedProduct.ProductType + + + + + + RequestedProduct.Rate + + + + + + RequestedProduct.Term + + + + + + RequestedProduct.Amount + + + + + + + + + + + + + + + + + + + + + RoutingRules + + + + + BureauData.Bankrupt + + + + + + BureauData.CreditScore + + + + + + Post-bureauRiskCategory + + + + + + Post-bureauAffordability + + + + + + + + + + + + + + + + + "ACCEPT" + + + + + + + + + + + + + + MonthlyIncome - (MonthlyExpenses + MonthlyRepayments) + + + + + + + CreditContingencyFactorTable + + + + + RiskCategory + + + + + + + + if DisposableIncome * CreditContingencyFactor > RequiredMonthlyInstallment then true else false + + + + + Affordability + + + + + + + + + + + + + + + + RiskCategory + + + "DECLINE", "HIGH", "LOW", "MEDIUM", "VERY LOW" + + + + + + "HIGH", "DECLINE" + + + 0.6 + + + + + "MEDIUM" + + + 0.7 + + + + + "LOW", "VERY LOW" + + + 0.8 + + + + + + + + + + + + + + + Pre-bureauRiskCategory + + + + + Pre-bureauAffordability + + + + + Age + + + + + "INELIGIBLE", "ELIGIBLE" + + + + + "DECLINE" + + + - + + + - + + + "INELIGIBLE" + + + + + - + + + false + + + - + + + "INELIGIBLE" + + + + + - + + + - + + + <18 + + + "INELIGIBLE" + + + + + - + + + - + + + - + + + "ELIGIBLE" + + + + + + + + + + + + + Pre-bureauRiskCategory + + + + + + "HIGH","MEDIUM" + + + "FULL" + + + + + "LOW" + + + "MINI" + + + + + "VERY LOW","DECLINE" + + + "NONE" + + + + + + + + + + + + + + ExistingCustomer + + + + + ApplicationRiskScore + + + + + + false + + + <100 + + + "HIGH" + + + + + false + + + [100..120) + + + "MEDIUM" + + + + + false + + + [120..130) + + + "LOW" + + + + + false + + + >130 + + + "VERY LOW" + + + + + true + + + <80 + + + "DECLINE" + + + + + true + + + [80..90) + + + "HIGH" + + + + + true + + + [90..110] + + + "MEDIUM" + + + + + true + + + >110 + + + "LOW" + + + + + + + + + + + + + + + ExistingCustomer + + + + + ApplicationRiskScore + + + + + CreditScore + + + + + + false + + + <120 + + + <590 + + + "HIGH" + + + + + false + + + <120 + + + [590..610] + + + "MEDIUM" + + + + + false + + + <120 + + + >610 + + + "LOW" + + + + + false + + + [120..130] + + + <600 + + + "HIGH" + + + + + false + + + [120..130] + + + [600..625] + + + "MEDIUM" + + + + + false + + + [120..130] + + + >625 + + + "LOW" + + + + + false + + + >130 + + + - + + + "VERY LOW" + + + + + true + + + <=100 + + + <580 + + + "HIGH" + + + + + true + + + <=100 + + + [580..600] + + + "MEDIUM" + + + + + true + + + <=100 + + + >600 + + + "LOW" + + + + + true + + + >100 + + + <590 + + + "HIGH" + + + + + true + + + >100 + + + [590..615] + + + "MEDIUM" + + + + + true + + + >100 + + + >615 + + + "LOW" + + + + + + + + + + + + + + + Age + + + [18..120] + + + + + MaritalStatus + + + "S", "M" + + + + + EmploymentStatus + + + "UNEMPLOYED", "EMPLOYED", "SELF-EMPLOYED", "STUDENT" + + + + + + [18..21] + + + - + + + - + + + 32 + + + + + [22..25] + + + - + + + - + + + 35 + + + + + [26..35] + + + - + + + - + + + 40 + + + + + [36..49] + + + - + + + - + + + 43 + + + + + >=50 + + + - + + + - + + + 48 + + + + + - + + + "S" + + + - + + + 25 + + + + + - + + + "M" + + + - + + + 45 + + + + + - + + + - + + + "UNEMPLOYED" + + + 15 + + + + + - + + + - + + + "EMPLOYED" + + + 45 + + + + + - + + + - + + + "SELF-EMPLOYED" + + + 36 + + + + + - + + + - + + + "STUDENT" + + + 18 + + + + + + + + + + + + + + + + + if ProductType ="STANDARD LOAN" then 20.00 else if ProductType ="SPECIAL LOAN" then 25.00 else null + + + + + + (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) + + + + + MonthlyRepayment+MonthlyFee + + + + + + + + + + + + + + + + Post-bureauRiskCategory + + + + + Post-bureauAffordability + + + + + Bankrupt + + + + + CreditScore + + + + + "DECLINE", "REFER", "ACCEPT" + + + + + - + + + false + + + - + + + - + + + "DECLINE" + + + + + - + + + - + + + true + + + - + + + "DECLINE" + + + + + "HIGH" + + + - + + + - + + + - + + + "REFER" + + + + + - + + + - + + + - + + + <580 + + + "REFER" + + + + + - + + + - + + + - + + + - + + + "ACCEPT" + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0004-simpletable-U.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0004-simpletable-U.dmn index b126928f9f1..5b3b5c8ce2c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0004-simpletable-U.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0004-simpletable-U.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - - - <18 - - - "Medium","Low" - - - true - - - "Declined" - - - - - - - - - "High" - - - true - - - "Declined" - - - - - - - - - - - - - false - - - "Declined" - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + + + <18 + + + "Medium","Low" + + + true + + + "Declined" + + + + + - + + + "High" + + + true + + + "Declined" + + + + + - + + + - + + + false + + + "Declined" + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0005-literal-invocation.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0005-literal-invocation.dmn index 23d170b158d..5e89537cbdf 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0005-literal-invocation.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0005-literal-invocation.dmn @@ -1,4 +1,4 @@ - + - - - - feel:number - - - feel:number - - - feel:number - - - - - - - - - - - - - - - PMT(Loan.amount, Loan.rate, Loan.term)+fee - - - - - - - - - (p*r/12)/(1-(1+r/12)**-n) - - - - - - - - - - - \ No newline at end of file + + + + feel:number + + + feel:number + + + feel:number + + + + + + + + + + + + + + + PMT(Loan.amount, Loan.rate, Loan.term)+fee + + + + + + + + + (p*r/12)/(1-(1+r/12)**-n) + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0005-simpletable-A.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0005-simpletable-A.dmn index 16121162237..1b1ebf7fd44 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0005-simpletable-A.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0005-simpletable-A.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - - - <18 - - - - - - - - - - - "Declined" - - - - - - - - - "High" - - - - - - - "Declined" - - - - - - - - - - - - - false - - - "Declined" - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + + + <18 + + + - + + + - + + + "Declined" + + + + + - + + + "High" + + + - + + + "Declined" + + + + + - + + + - + + + false + + + "Declined" + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0006-join.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0006-join.dmn index cd003261966..877a297e9a4 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0006-join.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0006-join.dmn @@ -1,4 +1,4 @@ - + - - - - feel:string - - - feel:string - - - feel:number - - - feel:string - - - - - feel:number - - - feel:string - - - feel:string - - - - - - - - - - - - - - - DeptTable[number = EmployeeTable[name=LastName].deptNum[1]].manager[1] - - - - - - - - - - - + + + + feel:string + + + feel:string + + + feel:number + + + feel:string + + + + + feel:number + + + feel:string + + + feel:string + + + + + + + + + + + + + + + DeptTable[number = EmployeeTable[name=LastName].deptNum[1]].manager[1] + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0006-simpletable-P1.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0006-simpletable-P1.dmn index b771adfe1c4..0b8c7d7ecdc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0006-simpletable-P1.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0006-simpletable-P1.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - - - <18 - - - - - - - - - - - "Declined" - - - - - - - - - "High" - - - - - - - "Declined" - - - - - - - - - - - - - false - - - "Declined" - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + + + <18 + + + - + + + - + + + "Declined" + + + + + - + + + "High" + + + - + + + "Declined" + + + + + - + + + - + + + false + + + "Declined" + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0007-date-time.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0007-date-time.dmn index 0f4bfcc85ca..2325c74b293 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0007-date-time.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0007-date-time.dmn @@ -1,4 +1,4 @@ - + - - - - feel:number - - - feel:number - - - feel:number - - - feel:number - - - feel:number - - - feel:number - - - - - feel:date - - - feel:date - - - feel:date - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - date(dateString) - - - - - - date(Date-Time) - - - - - - date(Year,Month,Day) - - - - - - - - - - - date and time(dateTimeString) - - - - - - - - - time(timeString) - - - - - - - - - - - - - - - - - - - - - date and time(Date.fromString,Time) - - - - - - - - - time(Date-Time2) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - time(Hours,Minutes,Seconds,Timezone) - - - - - - - - - - - - duration(durationString) - - - - - - - - - - - - Date-Time - Date-Time2 - - - - - - - - - - - - - - - dtDuration2 / oneHour - - - - - - - - - - - - dtDuration1 + dtDuration2 - - - - - - - - - - - - years and months duration(Date-Time2,Date-Time) - - - - - - - - - Date.fromString.day - - - - - - - - - Date.fromString.year - - - - - - - - - Date.fromString.month - - - - - - - - - Date-Time2.hour - - - - - - - - - Date-Time2.minute - - - - - - - - - Date-Time2.second - - - - - - - - - Date-Time2.timezone - - - - - - - - - ymDuration2.years - - - - - - - - - dtDuration1.seconds - - + + + + feel:number + + + feel:number + + + feel:number + + + feel:number + + + feel:number + + + feel:number + + + + + feel:date + + + feel:date + + + feel:date + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + date(dateString) + + + + + + date(Date-Time) + + + + + + date(Year,Month,Day) + + + + + + + + + + + date and time(dateTimeString) + + + + + + + + + time(timeString) + + + + + + + + + + + + + + + + + + + + + date and time(Date.fromString,Time) + + + + + + + + + time(Date-Time2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + time(Hours,Minutes,Seconds,Timezone) + + + + + + + + + + + + duration(durationString) + + + + + + + + + + + + Date-Time - Date-Time2 + + + + + + + + + + + + + + + dtDuration2 / oneHour + + + + + + + + + + + + dtDuration1 + dtDuration2 + + + + + + + + + + + + years and months duration(Date-Time2,Date-Time) + + + + + + + + + Date.fromString.day + + + + + + + + + Date.fromString.year + + + + + + + + + Date.fromString.month + + + + + + + + + Date-Time2.hour + + + + + + + + + Date-Time2.minute + + + + + + + + + Date-Time2.second + + + + + + + + + Date-Time2.timezone + + + + + + + + + ymDuration2.years + + + + + + + + + dtDuration1.seconds + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0007-simpletable-P2.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0007-simpletable-P2.dmn index 2e1dbb46be0..0c0d0998439 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0007-simpletable-P2.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0007-simpletable-P2.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - - - - - - - - - - - - - - - "Declined" - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + + + - + + + - + + + - + + + "Declined" + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0008-LX-arithmetic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0008-LX-arithmetic.dmn index 839ee4fa19d..8d2f1c8efe0 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0008-LX-arithmetic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0008-LX-arithmetic.dmn @@ -1,4 +1,4 @@ - + - - - - feel:number - - - feel:number - - - feel:number - - - - - - - - - (loan.principal*loan.rate/12)/(1-(1+loan.rate/12)**-loan.termMonths) - - - - - - \ No newline at end of file + + + + feel:number + + + feel:number + + + feel:number + + + + + + + + + (loan.principal*loan.rate/12)/(1-(1+loan.rate/12)**-loan.termMonths) + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0008-listGen.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0008-listGen.dmn index 5c5ed9b0391..ca20650b7a9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0008-listGen.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0008-listGen.dmn @@ -1,4 +1,4 @@ - + - - - feel:string - - - - - ["a","b","c"] - - - - - - - - - - - - - - - - - - - - - - - - [a,b,c] - - - - - - - - - - - - ["a",b,c] - - - - - - - - - - - c - - - - - - - - - - "a" - - - - - - - - - "b" - - - - - - - - - "c" - - - - - - - - - - - - - - - - - - - a - - - - - b - - - - - c - - - - - - - - - - - - - - - - - - a - - - - - - - - - - - - - - - - - b - - - - - - - - - - - - - - - - - c - - - - - - - - - - - [["w","x"],"y","z"] - - - - - - - - - [wx,"y","z"] - - - - - - - - - - - - - - - [a,b,listGen6] - - - - - - - - - - - - - - - [a,b,listGen7] - - - - - - - - - - - - [listGen4,listGen7] - - + + + feel:string + + + + + ["a","b","c"] + + + + + + + + + + + + + + + + + + + + + + + + [a,b,c] + + + + + + + + + + + + ["a",b,c] + + + + + + + + + + + c + + + + + + - + + + "a" + + + + + - + + + "b" + + + + + - + + + "c" + + + + + + + + + + + + + + + + + + + a + + + + + b + + + + + c + + + + + + - + + + - + + + - + + + a + + + + + - + + + - + + + - + + + b + + + + + - + + + - + + + - + + + c + + + + + + + + + + + [["w","x"],"y","z"] + + + + + + + + + [wx,"y","z"] + + + + + + + + + + + + + + + [a,b,listGen6] + + + + + + + + + + + + + + + [a,b,listGen7] + + + + + + + + + + + + [listGen4,listGen7] + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0009-append-flatten.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0009-append-flatten.dmn index 2572976d5bc..8cba541d91c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0009-append-flatten.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0009-append-flatten.dmn @@ -1,4 +1,4 @@ - + - - - feel:string - - - tns:tStringList - - - - - - - - - - - ["a","b","c"] - - - - - - [["w","x"],"y","z"] - - - - - - - - - - - - append(simpleList,literalSimpleList) - - - - - - - - - - - - append(simpleList,nestedList) - - - - - - - - - - - - append(literalSimpleList,nestedList) - - - - - - - - - - - - append(literalSimpleList,literalNestedList) - - - - - - - - - flatten(append1) - - - - - - - - - flatten(append2) - - - - - - - - - flatten(append3) - - - - - - - - - flatten(append4) - - + + + feel:string + + + tns:tStringList + + + + + + + + + + + ["a","b","c"] + + + + + + [["w","x"],"y","z"] + + + + + + + + + + + + append(simpleList,literalSimpleList) + + + + + + + + + + + + append(simpleList,nestedList) + + + + + + + + + + + + append(literalSimpleList,nestedList) + + + + + + + + + + + + append(literalSimpleList,literalNestedList) + + + + + + + + + flatten(append1) + + + + + + + + + flatten(append2) + + + + + + + + + flatten(append3) + + + + + + + + + flatten(append4) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0009-invocation-arithmetic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0009-invocation-arithmetic.dmn index 0771f580ebd..ba1d9294ef7 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0009-invocation-arithmetic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0009-invocation-arithmetic.dmn @@ -1,4 +1,4 @@ - + - - - - feel:number - - - feel:number - - - feel:number - - - - - - - - - - - - - - - PMT(Loan.amount, Loan.rate, Loan.term)+fee - - - - - - - - - (p*r/12)/(1-(1+r/12)**-n) - - - - - - - - - - + + + + feel:number + + + feel:number + + + feel:number + + + + + + + + + + + + + + + PMT(Loan.amount, Loan.rate, Loan.term)+fee + + + + + + + + + (p*r/12)/(1-(1+r/12)**-n) + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0010-concatenate.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0010-concatenate.dmn index 48be27903d9..49170693e96 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0010-concatenate.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0010-concatenate.dmn @@ -1,4 +1,4 @@ - + - - - feel:string - - - tns:tStringList - - - - - - - - - - - ["a","b","c"] - - - - - - [["w","x"],"y","z"] - - - - - - - - - - - - concatenate(simpleList,literalSimpleList) - - - - - - - - - - - - concatenate(simpleList,nestedList) - - - - - - - - - - - - concatenate(literalSimpleList,nestedList) - - - - - - - - - - - - concatenate(literalSimpleList,literalNestedList) - - + + + feel:string + + + tns:tStringList + + + + + + + + + + + ["a","b","c"] + + + + + + [["w","x"],"y","z"] + + + + + + + + + + + + concatenate(simpleList,literalSimpleList) + + + + + + + + + + + + concatenate(simpleList,nestedList) + + + + + + + + + + + + concatenate(literalSimpleList,nestedList) + + + + + + + + + + + + concatenate(literalSimpleList,literalNestedList) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0010-multi-output-U.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0010-multi-output-U.dmn index 98607e92228..4f802485484 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0010-multi-output-U.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0010-multi-output-U.dmn @@ -1,4 +1,4 @@ - + - - - - feel:string - - - feel:string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - "Declined" - - - - - "Best", "Standard" - - - "Standard" - - - - - >=18 - - - "Low" - - - true - - - "Approved" - - - "Best" - - - - - >=18 - - - "Medium" - - - true - - - "Approved" - - - "Standard" - - - - - <18 - - - "Medium","Low" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - "High" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - - - - - false - - - "Declined" - - - "Standard" - - - - - - - - - - - - - - \ No newline at end of file + + + + feel:string + + + feel:string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + "Declined" + + + + + "Best", "Standard" + + + "Standard" + + + + + >=18 + + + "Low" + + + true + + + "Approved" + + + "Best" + + + + + >=18 + + + "Medium" + + + true + + + "Approved" + + + "Standard" + + + + + <18 + + + "Medium","Low" + + + true + + + "Declined" + + + "Standard" + + + + + - + + + "High" + + + true + + + "Declined" + + + "Standard" + + + + + - + + + - + + + false + + + "Declined" + + + "Standard" + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0011-insert-remove.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0011-insert-remove.dmn index 1b955c0f349..70233731a04 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0011-insert-remove.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0011-insert-remove.dmn @@ -1,4 +1,4 @@ - + - - - feel:string - - - tns:tStringList - - - - - - - - - - - - - - [["a","b"],["b","c"]] - - - - - - - - - - - - remove(simpleList,position) - - - - - - - - - - - - - - - insert before(literalNestedList,position,simpleList) - - - - - - - - - - - - remove(literalNestedList,position) - - - - - - - - - - - - insert before(simpleList,position,"x") - - - - - - - - - - - - - - - insert before(nestedList,position,simpleList) - - - \ No newline at end of file + + + feel:string + + + tns:tStringList + + + + + + + + + + + + + + [["a","b"],["b","c"]] + + + + + + + + + + + + remove(simpleList,position) + + + + + + + + + + + + + + + insert before(literalNestedList,position,simpleList) + + + + + + + + + + + + remove(literalNestedList,position) + + + + + + + + + + + + insert before(simpleList,position,"x") + + + + + + + + + + + + + + + insert before(nestedList,position,simpleList) + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0012-list-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0012-list-functions.dmn index 68956aec3c0..aaa9c9e2eb3 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0012-list-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0012-list-functions.dmn @@ -1,4 +1,4 @@ - + - - - feel:string - - - feel:number - - - tns:tStringList - - - - - - - - - - - - - - - - - - - - list contains(list1,list2) - - - - - - - - - - - - list contains(list2,string1) - - - - - - - - - count(list1) - - - - - - - - - min(numList) - - - - - - - - - - - - sum(numList) - - - - - - - - - mean(numList) - - - - - - - - - - - - - - - - - - - - - - - - mean(num1,num2,num3) - - - - - - - - - sublist(list1,1,2) - - - - - - - - - sublist(list1,-1,1) - - - - - - - - - - - - - - - append(numList,num1,num2) - - - - - - - - - - - - concatenate(list1,list2) - - - - - - - - - - - - insert before(list2,2,string1) - - - - - - - - - remove(list2,2) - - - - - - - - - reverse(concatenate1) - - - - - - - - - - - - append(list1,list2) - - - - - - - - - - - - index of(list2,string1) - - - - - - - - - - - - union(insertBefore1,concatenate1) - - - - - - - - - distinct values(insertBefore1) - - - - - - - - - flatten(appendListItem) - - + + + feel:string + + + feel:number + + + tns:tStringList + + + + + + + + + + + + + + + + + + + + list contains(list1,list2) + + + + + + + + + + + + list contains(list2,string1) + + + + + + + + + count(list1) + + + + + + + + + min(numList) + + + + + + + + + + + + sum(numList) + + + + + + + + + mean(numList) + + + + + + + + + + + + + + + + + + + + + + + + mean(num1,num2,num3) + + + + + + + + + sublist(list1,1,2) + + + + + + + + + sublist(list1,-1,1) + + + + + + + + + + + + + + + append(numList,num1,num2) + + + + + + + + + + + + concatenate(list1,list2) + + + + + + + + + + + + insert before(list2,2,string1) + + + + + + + + + remove(list2,2) + + + + + + + + + reverse(concatenate1) + + + + + + + + + + + + append(list1,list2) + + + + + + + + + + + + index of(list2,string1) + + + + + + + + + + + + union(insertBefore1,concatenate1) + + + + + + + + + distinct values(insertBefore1) + + + + + + + + + flatten(appendListItem) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0013-sort.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0013-sort.dmn index a0e3fab633c..3705ab7e27c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0013-sort.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0013-sort.dmn @@ -1,4 +1,4 @@ - + - - - feel:number - - - - feel:number - - - feel:number - - - feel:number - - - feel:number - - - - tns:tRow - - - feel:string - - - - - - - - - - - - - - sort(listA, function(x,y) x>y) - - - - - - - - - sort(tableB, function(x,y) x.col2<y.col2) - - - - - - - - - - - - sort(stringList, function(x,y) x<y) - - + + + feel:number + + + + feel:number + + + feel:number + + + feel:number + + + feel:number + + + + tns:tRow + + + feel:string + + + + + + + + + + + + + + sort(listA, function(x,y) x>y) + + + + + + + + + sort(tableB, function(x,y) x.col2<y.col2) + + + + + + + + + + + + sort(stringList, function(x,y) x<y) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0014-loan-comparison.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0014-loan-comparison.dmn index 39972ece3b8..26388c4abd9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0014-loan-comparison.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0014-loan-comparison.dmn @@ -1,4 +1,4 @@ - + - - - - feel:string - - - feel:number - - - feel:number - - - feel:number - - - - tns:tLoanProduct - - - - feel:string - - - feel:number - - - feel:number - - - feel:number - - - feel:number - - - feel:number - - - feel:number - - - feel:number - - - - tns:tMetric - - - - tns:tMetrics - - - tns:tMetrics - - - tns:tMetrics - - - tns:tMetrics - - - tns:tMetrics - - - - - - - - - - - - "Oceans Capital" - - - .03500 - - - 0 - - - 0 - - - - - "eClick Lending" - - - .03200 - - - 1.1 - - - 2700 - - - - - "eClickLending" - - - .03375 - - - 0.1 - - - 1200 - - - - - "AimLoan" - - - .03000 - - - 1.1 - - - 3966 - - - - - "Home Loans Today" - - - .03125 - - - 1.1 - - - 285 - - - - - "Sebonic" - - - .03125 - - - 0.1 - - - 4028 - - - - - "AimLoan" - - - .03125 - - - 0.1 - - - 4317 - - - - - "eRates Mortgage" - - - .03125 - - - 1.1 - - - 2518 - - - - - "Home Loans Today" - - - .03250 - - - 0.1 - - - 822 - - - - - "AimLoan" - - - .03250 - - - 0 - - - 1995 - - - - - - - - - - - - - - - - - - - - - - - for i in Bankrates return FinancialMetrics(i,RequestedAmt) - - - - - - sort(metricsTable, function(x,y) x.rate<y.rate) - - - - - - sort(metricsTable, function(x,y) x.downPmtAmt<y.downPmtAmt) - - - - - - sort(metricsTable, function(x,y) x.paymentAmt<y.paymentAmt) - - - - - - sort(metricsTable, function(x,y) x.equity36moPct>y.equity36moPct) - - - - - - - - - - - - - product.lenderName - - - - - - product.rate - - - - - - product.points - - - - - - product.fee - - - - - - requestedAmt*(1+points/100)+fee - - - - - - 0.2*loanAmt - - - - - - monthlyPayment(loanAmt,rate,360) - - - - - - 1 - equity36Mo(loanAmt,rate,36,paymentAmt)/requestedAmt*0.8 - - - - - - - - - - - - - - - - - - - p*r/12/(1-(1+r/12)**-n) - - - - - - - - - - - - p*(1+r/12)**n - pmt*(-1+(1+r/12)**n)/r - - - - + + + + feel:string + + + feel:number + + + feel:number + + + feel:number + + + + tns:tLoanProduct + + + + feel:string + + + feel:number + + + feel:number + + + feel:number + + + feel:number + + + feel:number + + + feel:number + + + feel:number + + + + tns:tMetric + + + + tns:tMetrics + + + tns:tMetrics + + + tns:tMetrics + + + tns:tMetrics + + + tns:tMetrics + + + + + + + + + + + + "Oceans Capital" + + + .03500 + + + 0 + + + 0 + + + + + "eClick Lending" + + + .03200 + + + 1.1 + + + 2700 + + + + + "eClickLending" + + + .03375 + + + 0.1 + + + 1200 + + + + + "AimLoan" + + + .03000 + + + 1.1 + + + 3966 + + + + + "Home Loans Today" + + + .03125 + + + 1.1 + + + 285 + + + + + "Sebonic" + + + .03125 + + + 0.1 + + + 4028 + + + + + "AimLoan" + + + .03125 + + + 0.1 + + + 4317 + + + + + "eRates Mortgage" + + + .03125 + + + 1.1 + + + 2518 + + + + + "Home Loans Today" + + + .03250 + + + 0.1 + + + 822 + + + + + "AimLoan" + + + .03250 + + + 0 + + + 1995 + + + + + + + + + + + + + + + + + + + + + + + for i in Bankrates return FinancialMetrics(i,RequestedAmt) + + + + + + sort(metricsTable, function(x,y) x.rate<y.rate) + + + + + + sort(metricsTable, function(x,y) x.downPmtAmt<y.downPmtAmt) + + + + + + sort(metricsTable, function(x,y) x.paymentAmt<y.paymentAmt) + + + + + + sort(metricsTable, function(x,y) x.equity36moPct>y.equity36moPct) + + + + + + + + + + + + + product.lenderName + + + + + + product.rate + + + + + + product.points + + + + + + product.fee + + + + + + requestedAmt*(1+points/100)+fee + + + + + + 0.2*loanAmt + + + + + + monthlyPayment(loanAmt,rate,360) + + + + + + 1 - equity36Mo(loanAmt,rate,36,paymentAmt)/requestedAmt*0.8 + + + + + + + + + + + + + + + + + + + p*r/12/(1-(1+r/12)**-n) + + + + + + + + + + + + p*(1+r/12)**n - pmt*(-1+(1+r/12)**n)/r + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0015-all-any.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0015-all-any.dmn index be9adeed44d..88a0e9e3a8b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0015-all-any.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0015-all-any.dmn @@ -1,4 +1,4 @@ - + - - - feel:boolean - - - - - - - - - - - - - - all([a>b,a>c]) - - - - - - - - - all(literalList) - - - - - - - - - - - - - - - any([a>b,a>c]) - - - - - - - - - any(literalList) - - - - - - - - - - - - - - - [a>b,a>c] - - - - - - - - - - - + + + feel:boolean + + + + + + + + + + + + + + all([a>b,a>c]) + + + + + + + + + all(literalList) + + + + + + + + + + + + + + + any([a>b,a>c]) + + + + + + + + + any(literalList) + + + + + + + + + + + + + + + [a>b,a>c] + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0016-some-every.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0016-some-every.dmn index 30e9085fe79..fdf21a32841 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0016-some-every.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0016-some-every.dmn @@ -1,4 +1,4 @@ - + - - - - feel:string - - - feel:number - - - - tns:tItemPrice - - - - - - - - - - - - "widget" - - - 25 - - - - - "sprocket" - - - 15 - - - - - "trinket" - - - 1.5 - - - - - - - - - - - every i in priceTable1 satisfies i.price > 10 - - - - - - - - - every i in priceTable2 satisfies i.price > 10 - - - - - - - - - some i in priceTable1 satisfies i.price > 10 - - - - - - - - - some i in priceTable2 satisfies i.price > 10 - - - - - - - - - - - - every i in priceTable1 satisfies gtTen(i.price)=true - - - - - - - theNumber > 10 - - - - + + + + feel:string + + + feel:number + + + + tns:tItemPrice + + + + + + + + + + + + "widget" + + + 25 + + + + + "sprocket" + + + 15 + + + + + "trinket" + + + 1.5 + + + + + + + + + + + every i in priceTable1 satisfies i.price > 10 + + + + + + + + + every i in priceTable2 satisfies i.price > 10 + + + + + + + + + some i in priceTable1 satisfies i.price > 10 + + + + + + + + + some i in priceTable2 satisfies i.price > 10 + + + + + + + + + + + + every i in priceTable1 satisfies gtTen(i.price)=true + + + + + + + theNumber > 10 + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0017-tableTests.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0017-tableTests.dmn index d52f3b373aa..58140cc61bd 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0017-tableTests.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0017-tableTests.dmn @@ -1,4 +1,4 @@ - + - - - feel:number - - - - feel:string - - - feel:number - - - - feel:string - - - - - - - - - - - - - - - - - - - - - - - - - structA.price - - - - - - >10 - - - true - - - - - <=10 - - - false - - - - - - - - - - - - - - - - - - - structA.price - - - - - "In range", "Not in range" - - - - - [numB..numC] - - - "In range" - - - - - - - - - "Not in range" - - - - - - - - - - - - - dateD - - - - - - >date("2016-10-01") - - - true - - - - - <=date("2016-10-01") - - - false - - - - - - - - - - - - - - - - dateD - - - - - - >dateE - - - true - - - - - <=dateE - - - false - - - - + + + feel:number + + + + feel:string + + + feel:number + + + + feel:string + + + + + + + + + + + + + + + + + + + + + + + + + structA.price + + + + + + >10 + + + true + + + + + <=10 + + + false + + + + + + + + + + + + + + + + + + + structA.price + + + + + "In range", "Not in range" + + + + + [numB..numC] + + + "In range" + + + + + - + + + "Not in range" + + + + + + + + + + + + + dateD + + + + + + >date("2016-10-01") + + + true + + + + + <=date("2016-10-01") + + + false + + + + + + + + + + + + + + + + dateD + + + + + + >dateE + + + true + + + + + <=dateE + + + false + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0019-flight-rebooking.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0019-flight-rebooking.dmn index 1ca02c1e1a6..56799b52131 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0019-flight-rebooking.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn11/0019-flight-rebooking.dmn @@ -1,4 +1,4 @@ - + - - - - - feel:string - - - feel:string - - - feel:string - - - feel:dateTime - - - feel:dateTime - - - feel:number - - - feel:string - - - - kie:tFlight - - - - - feel:string - - - feel:string - - - feel:number - - - feel:string - - - - kie:tPassenger - - - - - - - - - - - - - - - - - - - - - - - - - - Flight List[ Status = "cancelled" ].Flight Number - - - - - - Passenger List[ list contains( Cancelled Flights, Flight Number ) ] - - - - - - - - - status priority( Passenger1.Status ) < status priority( Passenger2.Status ) or + + + + feel:string + + + feel:string + + + feel:string + + + feel:dateTime + + + feel:dateTime + + + feel:number + + + feel:string + + + + kie:tFlight + + + + + feel:string + + + feel:string + + + feel:number + + + feel:string + + + + kie:tPassenger + + + + + + + + + + + + + + + + + + + + + + + + + + Flight List[ Status = "cancelled" ].Flight Number + + + + + + Passenger List[ list contains( Cancelled Flights, Flight Number ) ] + + + + + + + + + status priority( Passenger1.Status ) < status priority( Passenger2.Status ) or ( status priority( Passenger1.Status ) = status priority( Passenger2.Status ) and Passenger1.Miles > Passenger2.Miles ) ) - - - - - - sort( Waiting List, passenger priority ) - - - - - - - - - - - - - - - - - - + + + + + + sort( Waiting List, passenger priority ) + + + + + + + + + + + + + + + + + + rebooked flights( Prioritized Waiting List, [], Flight List ) - - - - - - - - - - Status - - - "gold", "silver", "bronze" - - - - - - "gold" - - - 1 - - - - - "silver" - - - 2 - - - - - "bronze" - - - 3 - - - - - - - - - - - - - - - - - Waiting[1] - - - - - - Flights[ Flight Number = Passenger.Flight Number ][1] - - - - - - - - - flight.Capacity > count( rebooked list[ Flight Number = flight.Flight Number ] ) - - - - - - - Flight List[ From = Original Flight.From and + + + + + + + + + + Status + + + "gold", "silver", "bronze" + + + + + + "gold" + + + 1 + + + + + "silver" + + + 2 + + + + + "bronze" + + + 3 + + + + + + + + + + + + + + + + + Waiting[1] + + + + + + Flights[ Flight Number = Passenger.Flight Number ][1] + + + + + + + + + flight.Capacity > count( rebooked list[ Flight Number = flight.Flight Number ] ) + + + + + + + Flight List[ From = Original Flight.From and To = Original Flight.To and Departure > Original Flight.Departure and Status = "scheduled" and has capacity( item, Rebooked ) ][1] - - - - - - - - Passenger.Name - - - - Passenger.Status - - - - Passenger.Miles - - - - Best Alternate Flight.Flight Number - - - - - - if count( Waiting ) > 1 + + + + + + + + + Passenger.Name + + + + + + Passenger.Status + + + + + + Passenger.Miles + + + + + + Best Alternate Flight.Flight Number + + + + + + + if count( Waiting ) > 1 then rebooked flights( remove( Waiting, 1 ), append( Rebooked, New Flight ), @@ -251,10 +260,10 @@ else append( Rebooked, New Flight ) - - - - - - + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0001-filter.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0001-filter.dmn index 5d2d272940c..d45a39d98e4 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0001-filter.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0001-filter.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -34,48 +45,59 @@ string - - + + - + Employees[dept=20].name - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0001-input-data-string.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0001-input-data-string.dmn index da114a877d4..8f745ca69de 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0001-input-data-string.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0001-input-data-string.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + "Hello " + Full Name - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0002-input-data-number.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0002-input-data-number.dmn index 0a46f43a320..ddfa8e5a038 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0002-input-data-number.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0002-input-data-number.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + 12 * Monthly Salary - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0002-string-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0002-string-functions.dmn index 98c91da1d57..f496cb998a9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0002-string-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0002-string-functions.dmn @@ -1,4 +1,4 @@ - + - - + + boolean @@ -69,98 +81,98 @@ - - + + - - + + - - + + - - + + - + - + - + - + starts with(A,"x") - + starts with(A,B) - + ends with(A,"x") - + ends with(A,B) - + contains(A,"x") - + contains(A,B) - + substring(A,NumC,1) - + string length(A) - + upper case(A) - + lower case(B) - + substring before(A,B) - + substring after(A,B) @@ -168,36 +180,36 @@ - - + + - + matches(A,"[a-z]{3}") - - + + - + - + replace(A,"a","o") - + replace(A,"(an)+", "**") - + replace(A,"[aeiouy]","[$0]") @@ -205,10 +217,10 @@ - - + + - + string(NumC) @@ -218,114 +230,160 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0003-input-data-string-allowed-values.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0003-input-data-string-allowed-values.dmn index 83063d702f2..eaa8e2168fb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0003-input-data-string-allowed-values.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0003-input-data-string-allowed-values.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -26,48 +37,55 @@ - - + + - + "You are " + Employment Status - - + + - + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0003-iteration.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0003-iteration.dmn index 57da9afaf93..c0232dc4b53 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0003-iteration.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0003-iteration.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -37,76 +49,82 @@ number - - + + - + - + for i in Loans return PMT2(i) - - + + - + (loan.amount * loan.rate/12)/(1-(1+loan.rate/12)**-loan.term) - - + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0004-lending.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0004-lending.dmn index 54bf9299eaf..a119d419f59 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0004-lending.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0004-lending.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -115,20 +127,20 @@ - - + + - + - + BureauCallTypeTable - + Pre-bureauRiskCategory @@ -136,17 +148,22 @@ - + Is credit bureau call required? Yes (BUREAU) or No (DECLINE, THROUGH) - + - + - + - + Eligibility @@ -168,7 +185,7 @@ "DECLINE", "THROUGH", "BUREAU" - + "INELIGIBLE" @@ -180,7 +197,7 @@ "DECLINE" - + @@ -194,7 +211,7 @@ "BUREAU" - + @@ -208,44 +225,44 @@ "THROUGH" - + - - + + - + - + - + - + EligibilityRules - + Pre-bureauAffordability - + Pre-bureauRiskCategory - + ApplicantData.Age @@ -253,29 +270,33 @@ - - + + - + - + - + Pre-bureauRiskCategoryTable - + ApplicantData.ExistingCustomer - + ApplicationRiskScore @@ -283,38 +304,42 @@ - - + + - + - + - + - + Post-bureauRiskCategoryTable - + ApplicantData.ExistingCustomer - + BureauData.CreditScore - + ApplicationRiskScore @@ -322,32 +347,32 @@ - - + + - + - + ApplicationRiskScoreModel - + ApplicantData.Age - + ApplicantData.MaritalStatus - + ApplicantData.EmploymentStatus @@ -355,50 +380,50 @@ - - + + - + - + - + - + AffordabilityCalculation - + ApplicantData.Monthly.Income - + ApplicantData.Monthly.Repayments - + ApplicantData.Monthly.Expenses - + Pre-bureauRiskCategory - + RequiredMonthlyInstallment @@ -406,50 +431,50 @@ - - + + - + - + - + - + AffordabilityCalculation - + ApplicantData.Monthly.Income - + ApplicantData.Monthly.Repayments - + ApplicantData.Monthly.Expenses - + Post-bureauRiskCategory - + RequiredMonthlyInstallment @@ -457,38 +482,38 @@ - - + + - + - + InstallmentCalculation - + RequestedProduct.ProductType - + RequestedProduct.Rate - + RequestedProduct.Term - + RequestedProduct.Amount @@ -496,44 +521,44 @@ - - + + - + - + - + - + RoutingRules - + BureauData.Bankrupt - + BureauData.CreditScore - + Post-bureauRiskCategory - + Post-bureauAffordability @@ -541,45 +566,49 @@ - - + + - + - + - + "ACCEPT" - - + + - - - - - + + + + + - + MonthlyIncome - (MonthlyExpenses + MonthlyRepayments) - + CreditContingencyFactorTable - + RiskCategory @@ -587,9 +616,10 @@ - + - if DisposableIncome * CreditContingencyFactor > RequiredMonthlyInstallment then true else false + if DisposableIncome * CreditContingencyFactor > RequiredMonthlyInstallment then true else false @@ -600,15 +630,20 @@ - + - - + + - - + + RiskCategory @@ -617,8 +652,8 @@ "DECLINE", "HIGH", "LOW", "MEDIUM", "VERY LOW" - - + + "HIGH", "DECLINE" @@ -627,7 +662,7 @@ 0.6 - + @@ -638,7 +673,7 @@ 0.7 - + @@ -649,20 +684,33 @@ 0.8 - + - - + + - - - - + + + + Pre-bureauRiskCategory @@ -683,7 +731,7 @@ "INELIGIBLE", "ELIGIBLE" - + "DECLINE" @@ -698,7 +746,7 @@ "INELIGIBLE" - + @@ -715,7 +763,7 @@ "INELIGIBLE" - + @@ -732,7 +780,7 @@ "INELIGIBLE" - + @@ -749,25 +797,34 @@ "ELIGIBLE" - + - - + + - - + + Pre-bureauRiskCategory - - + + "HIGH","MEDIUM" @@ -776,7 +833,7 @@ "FULL" - + @@ -787,7 +844,7 @@ "MINI" - + @@ -798,19 +855,24 @@ "NONE" - + - - + + - - - + + + ExistingCustomer @@ -821,8 +883,8 @@ ApplicationRiskScore - - + + false @@ -834,7 +896,7 @@ "HIGH" - + @@ -848,7 +910,7 @@ "MEDIUM" - + @@ -862,7 +924,7 @@ "LOW" - + @@ -876,7 +938,7 @@ "VERY LOW" - + @@ -890,7 +952,7 @@ "DECLINE" - + @@ -904,7 +966,7 @@ "HIGH" - + @@ -918,7 +980,7 @@ "MEDIUM" - + @@ -932,20 +994,25 @@ "LOW" - + - - + + - - - - + + + + ExistingCustomer @@ -961,8 +1028,8 @@ CreditScore - - + + false @@ -977,7 +1044,7 @@ "HIGH" - + @@ -994,7 +1061,7 @@ "MEDIUM" - + @@ -1011,7 +1078,7 @@ "LOW" - + @@ -1028,7 +1095,7 @@ "HIGH" - + @@ -1045,7 +1112,7 @@ "MEDIUM" - + @@ -1062,7 +1129,7 @@ "LOW" - + @@ -1079,7 +1146,7 @@ "VERY LOW" - + @@ -1096,7 +1163,7 @@ "HIGH" - + @@ -1113,7 +1180,7 @@ "MEDIUM" - + @@ -1130,7 +1197,7 @@ "LOW" - + @@ -1147,7 +1214,7 @@ "HIGH" - + @@ -1164,7 +1231,7 @@ "MEDIUM" - + @@ -1181,20 +1248,26 @@ "LOW" - + - - + + - - - - + + + + Age @@ -1219,8 +1292,8 @@ "UNEMPLOYED", "EMPLOYED", "SELF-EMPLOYED", "STUDENT" - - + + [18..21] @@ -1235,7 +1308,7 @@ 32 - + @@ -1252,7 +1325,7 @@ 35 - + @@ -1269,7 +1342,7 @@ 40 - + @@ -1286,7 +1359,7 @@ 43 - + @@ -1303,7 +1376,7 @@ 48 - + @@ -1320,7 +1393,7 @@ 25 - + @@ -1337,7 +1410,7 @@ 45 - + @@ -1354,7 +1427,7 @@ 15 - + @@ -1371,7 +1444,7 @@ 45 - + @@ -1388,7 +1461,7 @@ 36 - + @@ -1405,29 +1478,30 @@ 18 - + - - + + - - - - + + + + - + - if ProductType ="STANDARD LOAN" then 20.00 else if ProductType ="SPECIAL LOAN" then 25.00 else null + if ProductType ="STANDARD LOAN" then 20.00 else if ProductType ="SPECIAL LOAN" then 25.00 else null - + (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) @@ -1441,14 +1515,27 @@ - - + + - - - - - + + + + + Post-bureauRiskCategory @@ -1474,7 +1561,7 @@ "DECLINE", "REFER", "ACCEPT" - + - @@ -1492,7 +1579,7 @@ "DECLINE" - + @@ -1512,7 +1599,7 @@ "DECLINE" - + @@ -1532,7 +1619,7 @@ "REFER" - + @@ -1552,7 +1639,7 @@ "REFER" - + @@ -1572,467 +1659,620 @@ "ACCEPT" - + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0004-simpletable-U.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0004-simpletable-U.dmn index 888fcd07b5c..d55a25ce1b1 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0004-simpletable-U.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0004-simpletable-U.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + - + - + Age @@ -55,7 +72,7 @@ "Approved", "Declined" - + >=18 @@ -70,7 +87,7 @@ "Approved" - + @@ -87,7 +104,7 @@ "Declined" - + @@ -104,7 +121,7 @@ "Declined" - + @@ -121,78 +138,103 @@ "Declined" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0005-literal-invocation.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0005-literal-invocation.dmn index 5057c7a1fed..b0d232a475b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0005-literal-invocation.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0005-literal-invocation.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -31,98 +42,107 @@ - - + + - + - + - + PMT(Loan.amount, Loan.rate, Loan.term)+fee - - + + - - - + + + (p*r/12)/(1-(1+r/12)**-n) - - + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0005-simpletable-A.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0005-simpletable-A.dmn index 9fc79b88029..9d52ddaf04d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0005-simpletable-A.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0005-simpletable-A.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + - + - + Age @@ -55,7 +72,7 @@ "Approved", "Declined" - + >=18 @@ -70,7 +87,7 @@ "Approved" - + @@ -87,7 +104,7 @@ "Declined" - + @@ -104,7 +121,7 @@ "Declined" - + @@ -121,78 +138,103 @@ "Declined" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0006-join.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0006-join.dmn index ade47fa3ce3..281d5f0ac6b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0006-join.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0006-join.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -42,88 +53,113 @@ - - + + - + - + - + DeptTable[number = EmployeeTable[name=LastName].deptNum[1]].manager[1] - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0006-simpletable-P1.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0006-simpletable-P1.dmn index 12e928216a5..5f599f9b958 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0006-simpletable-P1.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0006-simpletable-P1.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + - + - + Age @@ -55,7 +72,7 @@ "Approved", "Declined" - + >=18 @@ -70,7 +87,7 @@ "Approved" - + @@ -87,7 +104,7 @@ "Declined" - + @@ -104,7 +121,7 @@ "Declined" - + @@ -121,78 +138,103 @@ "Declined" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0007-date-time.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0007-date-time.dmn index 01ec267c49d..efd49ab472f 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0007-date-time.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0007-date-time.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -51,46 +62,46 @@ - - + + - - + + - - + + - + - + - + - + - + - + date(dateString) - + date(Date-Time) - + date(Year,Month,Day) @@ -98,1105 +109,1533 @@ - - + + - + date and time(dateTimeString) - - + + - + time(timeString) - - + + - - + + - - + + - - + + - + - + date and time(Date.fromString,Time) - - + + - + time(Date-Time2) - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - + time(Hours,Minutes,Seconds,Timezone) - - + + - - + + - + duration(durationString) - - + + - + - + Date-Time - Date-Time2 - - + + - + - + dtDuration1 + dtDuration2 - - + + - + - + years and months duration(Date-Time2,Date-Time) - - + + - + Date.fromString.day - - + + - + Date.fromString.year - - + + - + Date.fromString.month - - + + - + Date-Time2.hour - - + + - + Date-Time2.minute - - + + - + Date-Time2.second - - + + - + Date-Time2.time offset - - + + - + ymDuration2.years - - + + - + dtDuration1.seconds - - + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0007-simpletable-P2.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0007-simpletable-P2.dmn index d19abbf02c5..67818d00ca0 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0007-simpletable-P2.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0007-simpletable-P2.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + - + - + Age @@ -55,7 +72,7 @@ "Approved", "Declined" - + >=18 @@ -70,7 +87,7 @@ "Approved" - + @@ -87,78 +104,103 @@ "Declined" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0008-LX-arithmetic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0008-LX-arithmetic.dmn index 6cbb757ce8c..bc4007e98cc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0008-LX-arithmetic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0008-LX-arithmetic.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -31,48 +43,59 @@ - - + + - + (loan.principal*loan.rate/12)/(1-(1+loan.rate/12)**-loan.termMonths) - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0008-listGen.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0008-listGen.dmn index 6b8edaeec4f..3a06034f93b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0008-listGen.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0008-listGen.dmn @@ -1,4 +1,4 @@ - + - - + + string - - + + - - + + - - + + - - + + - + - + - + [a,b,c] - - + + - + - + ["a",b,c] - - + + - + - + c - - + + - @@ -85,7 +101,7 @@ "a" - + @@ -96,7 +112,7 @@ "b" - + @@ -107,24 +123,29 @@ "c" - + - - + + - + - + - + - + a @@ -140,8 +161,8 @@ c - - + + - @@ -156,7 +177,7 @@ a - + @@ -173,7 +194,7 @@ b - + @@ -190,80 +211,80 @@ c - + - - + + - - + + flatten([["w","x"],"y","z"]) - - + + - + flatten([wx,"y","z"]) - - + + - + - + - + flatten([a,b,listGen6]) - - + + - + - + - + flatten([a,b,listGen7]) - - + + - + - + flatten([listGen4,listGen7]) - - + + ["a","b","c"] @@ -272,436 +293,656 @@ - - - - - - - - - + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - + + + - - + + - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0009-append-flatten.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0009-append-flatten.dmn index b85c73f080d..d2ffc31287c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0009-append-flatten.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0009-append-flatten.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -26,111 +37,111 @@ tStringList - - + + - - + + - - + + ["a","b","c"] - - + + [["w","x"],["y"],["z"]] - - + + - + append(literalNestedList,["t"]) - - + + - + - + append(nestedList,simpleList) - - + + - + - + append(nestedList,literalSimpleList) - - + + - + - + append(literalNestedList,literalSimpleList) - - + + - + flatten(append1) - - + + - + flatten(append2) - - + + - + flatten(append3) - - + + - + flatten(append4) @@ -140,170 +151,251 @@ - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0009-invocation-arithmetic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0009-invocation-arithmetic.dmn index b9a9102c74f..96676dd6d4d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0009-invocation-arithmetic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0009-invocation-arithmetic.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -31,98 +42,111 @@ - - + + - + - + - + PMT(Loan.amount, Loan.rate, Loan.term)+fee - - + + - - - - + + + + (p*r/12)/(1-(1+r/12)**-n) - - + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0010-concatenate.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0010-concatenate.dmn index 9f07eb90f0c..604e2b15a12 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0010-concatenate.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0010-concatenate.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -26,74 +37,74 @@ tStringList - - + + - - + + - - + + ["a","b","c"] - - + + [["w","x"],["y"],["z"]] - - + + - + - + concatenate(simpleList,literalSimpleList) - - + + - + - + concatenate(simpleList,flatten(nestedList)) - - + + - + - + concatenate(literalSimpleList,flatten(nestedList)) - - + + - + - + concatenate([literalSimpleList],literalNestedList) @@ -103,118 +114,174 @@ - - - - - - + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0010-multi-output-U.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0010-multi-output-U.dmn index 74f85fc4b1b..18e1546d164 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0010-multi-output-U.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0010-multi-output-U.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -28,18 +39,23 @@ - - + + - + - + - + - + Age @@ -74,7 +90,7 @@ "Standard" - + >=18 @@ -92,7 +108,7 @@ "Best" - + @@ -112,7 +128,7 @@ "Standard" - + @@ -132,7 +148,7 @@ "Standard" - + @@ -152,7 +168,7 @@ "Standard" - + @@ -172,78 +188,103 @@ "Standard" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0011-insert-remove.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0011-insert-remove.dmn index 20aa7e792a1..b7decf70f98 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0011-insert-remove.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0011-insert-remove.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -26,90 +37,90 @@ tStringList - - + + - - + + - - + + - - + + [["a","b"],["b","c"]] - - + + - + - + remove(simpleList,position) - - + + - + - + - + insert before(literalNestedList,position,simpleList) - - + + - + - + remove(literalNestedList,position) - - + + - + - + insert before(simpleList,position,"x") - - + + - + - + - + insert before(nestedList,position,simpleList) @@ -119,143 +130,215 @@ - - - - - - + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0012-list-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0012-list-functions.dmn index 058c5ece67a..0b89fc2dd14 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0012-list-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0012-list-functions.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -29,251 +40,251 @@ tStringList - - + + - - + + - - + + - - + + - + - + list contains(list1,list2) - - + + - + - + list contains(list2,string1) - - + + - + count(list1) - - + + - + min(numList) - - + + - - + + - + sum(numList) - - + + - + mean(numList) - - + + - - + + - - + + - - + + - + - + - + mean(num1,num2,num3) - - + + - + sublist(list1,1,2) - - + + - + sublist(list1,-1,1) - - + + - + - + - + append(numList,num1,num2) - - + + - + - + concatenate(list1,list2) - - + + - + - + insert before(list2,2,string1) - - + + - + remove(list2,2) - - + + - + reverse(concatenate1) - - + + - + - + append(list1,list2) - - + + - + - + index of(list2,string1) - - + + - + - + union(insertBefore1,concatenate1) - - + + - + distinct values(insertBefore1) - - + + - + flatten(appendListItem) @@ -283,381 +294,575 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0013-sort.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0013-sort.dmn index 7b053aa0674..078152b29aa 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0013-sort.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0013-sort.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -43,42 +54,42 @@ string - - + + - - + + - - + + - + sort(listA, function(x,y) x>y) - - + + - + sort(tableB, function(x,y) x.col2<y.col2) - - + + - - + + - + sort(stringList, function(x,y) x<y) @@ -88,77 +99,110 @@ - - - + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0014-loan-comparison.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0014-loan-comparison.dmn index d26cbb3470f..58b7af0071c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0014-loan-comparison.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0014-loan-comparison.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -83,13 +94,13 @@ - - + + - - - - + + + + "Oceans Capital" @@ -233,48 +244,48 @@ - - + + - - + + - + - + - + - + for i in Bankrates return FinancialMetrics(i,RequestedAmt) - + sort(metricsTable, function(x,y) x.rate<y.rate) - + sort(metricsTable, function(x,y) x.downPmtAmt<y.downPmtAmt) - + sort(metricsTable, function(x,y) x.paymentAmt<y.paymentAmt) - + sort(metricsTable, function(x,y) x.equity36moPct>y.equity36moPct) @@ -282,56 +293,56 @@ - - + + - - + + - + product.lenderName - + product.rate - + product.points - + product.fee - + requestedAmt*(1+points/100)+fee - + 0.2*loanAmt - + monthlyPayment(loanAmt,rate,360) - + 1 - equity36Mo(loanAmt,rate,36,paymentAmt)/requestedAmt*0.8 @@ -339,32 +350,32 @@ - + - + - - + + - - - + + + p*r/12/(1-(1+r/12)**-n) - - + + - - - - + + + + p*(1+r/12)**n - pmt*(-1+(1+r/12)**n)/r @@ -374,143 +385,182 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0016-some-every.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0016-some-every.dmn index 01e6f188a5d..7a7b369ef92 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0016-some-every.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0016-some-every.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -31,15 +42,15 @@ tItemPrice - - + + - - + + - - + + "widget" @@ -67,63 +78,63 @@ - - + + - + every i in priceTable1 satisfies i.price > 10 - - + + - + every i in priceTable2 satisfies i.price > 10 - - + + - + some i in priceTable1 satisfies i.price > 10 - - + + - + some i in priceTable2 satisfies i.price > 10 - - + + - + - + every i in priceTable1 satisfies gtTen(i.price)=true - - + + - + theNumber > 10 @@ -133,118 +144,168 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0017-tableTests.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0017-tableTests.dmn index e2f1bf840f5..a4bcc8cb32d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0017-tableTests.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0017-tableTests.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -34,39 +45,44 @@ string - - + + - - + + - - + + - - + + - - + + - - + + - + - + structA.price - - + + >10 @@ -75,7 +91,7 @@ true - + @@ -86,24 +102,29 @@ false - + - - + + - + - + - + - + structA.price @@ -114,7 +135,7 @@ "In range", "Not in range" - + [numB..numC] @@ -123,7 +144,7 @@ "In range" - + @@ -134,25 +155,30 @@ "Not in range" - + - - + + - + - + dateD - - + + >date("2016-10-01") @@ -161,7 +187,7 @@ true - + @@ -172,28 +198,33 @@ false - + - - + + - + - + - + dateD - - + + >dateE @@ -202,7 +233,7 @@ true - + @@ -213,7 +244,7 @@ false - + @@ -222,121 +253,178 @@ - - - - + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0020-vacation-days.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0020-vacation-days.dmn index 277821401c3..e74c43d6712 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0020-vacation-days.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0020-vacation-days.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - - + + - - + + - + - + - + - + - Base Vacation Days + max( Extra days case 1, Extra days case 3 ) + Extra days case 2 + Base Vacation Days + max( Extra days case 1, Extra days case 3 ) + Extra days case 2 - - + + - + - + - + Age @@ -71,7 +89,7 @@ 0 - + <18,>=60 @@ -83,7 +101,7 @@ 5 - + @@ -97,21 +115,26 @@ 5 - + - - + + - + - + - + Age @@ -127,7 +150,7 @@ 0 - + - @@ -139,7 +162,7 @@ 3 - + @@ -153,21 +176,26 @@ 3 - + - - + + - + - + - + Age @@ -183,7 +211,7 @@ 0 - + - @@ -195,7 +223,7 @@ 2 - + @@ -209,14 +237,14 @@ 2 - + - - + + 22 @@ -225,116 +253,146 @@ - - - - - + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0021-singleton-list.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0021-singleton-list.dmn index 39f50354e40..9e599e84394 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0021-singleton-list.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0021-singleton-list.dmn @@ -1,4 +1,4 @@ - + - - + + string - - + + - - + + - + sublist(Employees, 2, 1) - - + + - + sublist(Employees, 2, 1) - - + + - + Employees[item = "Bob"] - - + + - + Employees[item = "Bob"] - - + + - + upper case( Employees[item = "Bob"] ) @@ -80,87 +91,102 @@ - - - - - + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0030-user-defined-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0030-user-defined-functions.dmn index e526a7b9920..48c0f73a894 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0030-user-defined-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0030-user-defined-functions.dmn @@ -1,4 +1,4 @@ - + - + Tests definition of functions in a boxed expression and invocation of those. - + - - + + - + - + - + - - + + a+b - + function(a,b) a + b - boxedFnDefinition(stringInputA, stringInputB) + literalFnDefinition(stringInputA, stringInputB) + boxedFnDefinition(stringInputA, stringInputB) + literalFnDefinition(stringInputA, stringInputB) - - + + - + - + - + - - + + a+b - + function(a,b) a + b - boxedFnDefinition(b:stringInputA, a:stringInputB) + literalFnDefinition(b:stringInputA, a:stringInputB) + boxedFnDefinition(b:stringInputA, a:stringInputB) + literalFnDefinition(b:stringInputA, a:stringInputB) - - + + - - + + - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0031-user-defined-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0031-user-defined-functions.dmn index beb9abcccdd..99c5780a16c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0031-user-defined-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0031-user-defined-functions.dmn @@ -1,4 +1,4 @@ - + - - + + - - - - + + + + @@ -51,7 +62,11 @@ - + number @@ -62,33 +77,33 @@ - - + + - + function(a,b) a+b - + function(a,b) a-b - + - - + + a*b - + function(a,b) if b = 0 then null else a/b @@ -96,32 +111,36 @@ - - + + - + - + - + - + fn library.sumFn(inputA,inputB) - + fn library.multiplyFn(inputA,inputB) - + fn library.divideFn(inputA, inputB) @@ -129,38 +148,42 @@ - - + + - + - + - + - + fn library.subFn(a:inputA,b:inputB) - + fn library.multiplyFn(a:inputA,b:inputB) - + fn library.subFn(a:inputB, b:inputA) - + fn library.divideFn(a:inputA, b:inputB) @@ -168,35 +191,41 @@ - - + + - + - + - + - + - + - fn library.multiplyFn(fn library.sumFn(inputA,inputA), fn library.sumFn(a:inputB, b:inputB)) + fn library.multiplyFn(fn library.sumFn(inputA,inputA), fn library.sumFn(a:inputB, b:inputB)) - + - fn library.multiplyFn(inputA * inputA, if fn library.subFn(inputA,inputB) in [0..10] then 5 else 10 ) + fn library.multiplyFn(inputA * inputA, if fn library.subFn(inputA,inputB) in [0..10] then 5 else 10 ) - + Circumference(inputA+inputB) @@ -204,153 +233,211 @@ - - + + - + (2*3.141592) * radius - - + + - - + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0032-conditionals.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0032-conditionals.dmn index 2c801b72a00..fcd82400aeb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0032-conditionals.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0032-conditionals.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + if bool then num+10 else num-10 - - + + - + - + - if aDate > date("2017-01-01") then substring before(aString, " ") else substring after(aString, " ") + if aDate > date("2017-01-01") then substring before(aString, " ") else substring after(aString, " ") - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0033-for-loops.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0033-for-loops.dmn index e77ec9639fd..9befb26b1bc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0033-for-loops.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0033-for-loops.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -26,76 +37,76 @@ boolean - - + + - + - + for h in heights, w in widths return h * w - - + + - - + + - - + + - + for h in heights return h + 1 - - + + - - + + - + - + - + for f in factors return is factor( value, f ) - - + + - - + + - - + + value / factor = decimal( value / factor, 0 ) - - + + - + for x in [2, 3, 4, 5] return x * value @@ -105,123 +116,176 @@ - - - - - - + + + + + + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0034-drg-scopes.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0034-drg-scopes.dmn index 9baffc557af..5864bb2734d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0034-drg-scopes.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0034-drg-scopes.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -78,14 +89,14 @@ - - + + - + - + A @@ -93,23 +104,23 @@ - - + + - + - + - + B - + A @@ -117,14 +128,14 @@ - - + + - + - + decision A 1 @@ -132,14 +143,14 @@ - - + + - + - + decision A 1 @@ -147,14 +158,14 @@ - - + + - + - + decision B 1 @@ -162,14 +173,14 @@ - - + + - + - + decision B 1 @@ -177,23 +188,23 @@ - - + + - + - + - + decision A 2.1 - + decision A 2.2 @@ -201,32 +212,32 @@ - - + + - + - + - + - + decision B 2.1 - + decision B 2.2 - + decision A 3 @@ -234,32 +245,32 @@ - - + + - + - + - + - + C - + decision A 3 - + decision B 3 @@ -267,20 +278,20 @@ - - + + - + - + BKM II - + "decision C 3" @@ -288,20 +299,20 @@ - - + + - + - + BKM I - + "decision C 2" @@ -309,14 +320,14 @@ - - + + - + - + decision C 3 @@ -324,382 +335,530 @@ - - + + - + "BKM I" + " # " + BKM II(param) - + - - + + - + "BKM II" + " # " + BKM III(param) + " # " + BKM IV(param) - + - + - - + + - + "BKM IV" + " # " + BKM III(param) - + - - + + - + "BKM III" + " # " + param - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0035-test-structure-output.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0035-test-structure-output.dmn index 9d665e47f44..ebf262fcfea 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0035-test-structure-output.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0035-test-structure-output.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -77,25 +88,30 @@ - - + + - - + + num-(floor(num/divisor)*divisor) - - + + - + - - + + digit @@ -104,8 +120,8 @@ [0..15] - - + + [0..9] @@ -114,7 +130,7 @@ string(digit) - + @@ -125,7 +141,7 @@ "A" - + @@ -136,7 +152,7 @@ "B" - + @@ -147,7 +163,7 @@ "C" - + @@ -158,7 +174,7 @@ "D" - + @@ -169,7 +185,7 @@ "E" - + @@ -180,7 +196,7 @@ "F" - + @@ -194,130 +210,131 @@ - - + + - + - if num < 16then "0" + single encode to hex(num)else single encode to hex(floor(num/16)) + single encode to hex(remainder(num, 16)) + if num < 16then "0" + single encode to hex(num)else single encode to hex(floor(num/16)) + single encode to hex(remainder(num, 16)) - + - + - - + + - + - + - + - + "#" + to hex(R Value) + to hex(G Value) + to hex(B Value) - - + + - - + + - - + + - - + + - + - + - + - + R Value / 255 - + G Value / 255 - + B Value / 255 - + 1-max(Rn, Gn, Bn) - + if Kn=1 then 0 else (1-Rn-Kn) / (1-Kn) - + if Kn=1 then 0 else (1-Gn-Kn) / (1-Kn) - + if Kn=1 then 0 else (1-Bn-Kn) / (1-Kn) - + - + decimal(Cn*100, 0) - + decimal(Mn*100, 0) - + decimal(Yn*100, 0) - + decimal(Kn*100, 0) @@ -332,44 +349,44 @@ - - + + - + - + - + - + - + - + - + - + R Value - + G Value - + B Value @@ -377,13 +394,13 @@ - + hex Value - + cmyk Value @@ -401,177 +418,255 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0036-dt-variable-input.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0036-dt-variable-input.dmn index 69a30cbc78c..17feea1619d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0036-dt-variable-input.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0036-dt-variable-input.dmn @@ -1,4 +1,4 @@ - + - - + + boolean @@ -46,22 +57,28 @@ - - + + - + - + - + Another boolean - - + + Complex.aBoolean @@ -70,7 +87,7 @@ "Same boolean" - + @@ -81,44 +98,50 @@ "Not same boolean" - + - - + + - - + + - - + + - - + + - - + + - + - + - + Another String - - + + Complex.aString @@ -127,7 +150,7 @@ "Same String" - + @@ -138,28 +161,34 @@ "Different String" - + - - + + - + - + - + Another number - - + + Complex.aNumber @@ -168,7 +197,7 @@ "Equals" - + @@ -179,7 +208,7 @@ "Bigger" - + @@ -190,28 +219,34 @@ "Smaller" - + - - + + - + - + - + Another Date - - + + Complex.aDate @@ -220,7 +255,7 @@ "Same Date" - + @@ -231,7 +266,7 @@ "Future Date" - + @@ -242,28 +277,34 @@ "Past Date" - + - - + + - + - + - + Another Time - - + + Complex.aTime @@ -272,7 +313,7 @@ "Same Time" - + @@ -283,7 +324,7 @@ "Future Time" - + @@ -294,28 +335,34 @@ "Past Time" - + - - + + - + - + - + Another Date and Time - - + + Complex.aDateTime @@ -324,7 +371,7 @@ "Same date time" - + @@ -335,7 +382,7 @@ "Future date time" - + @@ -346,28 +393,34 @@ "Past date time" - + - - + + - + - + - + Another Days and Time Duration - - + + Complex.aDaysAndTimeDuration @@ -376,7 +429,7 @@ "Same duration" - + @@ -387,7 +440,7 @@ "Longer duration" - + @@ -398,28 +451,38 @@ "Shorter duration" - + - - + + - + - + - + Another Years and Months Duration - - + + Complex.aYearsAndMonthsDuration @@ -428,7 +491,7 @@ "Same duration" - + @@ -439,7 +502,7 @@ "Longer duration" - + @@ -450,262 +513,386 @@ "Shorter duration" - + - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0037-dt-on-bkm-implicit-params.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0037-dt-on-bkm-implicit-params.dmn index 06bc3f519cb..cfdb42a060c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0037-dt-on-bkm-implicit-params.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0037-dt-on-bkm-implicit-params.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -34,36 +45,36 @@ - - + + - - + + - + - + Description - + Person.Gender - + Person.Name - + Person.Children @@ -71,13 +82,19 @@ - - + + - - - - + + + + Person.Gender @@ -96,8 +113,8 @@ Person.Children - - + + "Male" @@ -108,11 +125,14 @@ - - + Person.Name + " is a dad of " + string(decimal(Person.Children,0)) + " children." - + @@ -125,11 +145,14 @@ - - + Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." - + @@ -139,50 +162,68 @@ - - - - - - - + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0038-dt-on-bkm-explicit-params.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0038-dt-on-bkm-explicit-params.dmn index 165a7637620..e2949cf1b46 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0038-dt-on-bkm-explicit-params.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0038-dt-on-bkm-explicit-params.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -34,24 +45,24 @@ - - + + - - + + - + - + Description - + Person @@ -59,14 +70,19 @@ - - + + - + - - + + Person.Gender @@ -75,28 +91,35 @@ "Male","Female" - - + + "Male" - + Person.Name + " is a dad of " + string(decimal(Person.Children,0)) + " children." - + "Female" - - Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." + + Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." - + @@ -113,50 +136,68 @@ - - - - - - - + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0039-dt-list-semantics.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0039-dt-list-semantics.dmn index 13b8191a1f8..6f452da85d3 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0039-dt-list-semantics.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0039-dt-list-semantics.dmn @@ -1,4 +1,4 @@ - + - - + + string - - + + - - + + - - + + - + - + - + Symptom - - + + "cough", "sore throat", "stuffy nose" @@ -55,7 +72,7 @@ Symptom + " is in the list of Cold symptoms" - + @@ -66,7 +83,7 @@ Symptom + " is in the list of Flu symptoms" - + @@ -75,44 +92,62 @@ - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0040-singlenestedcontext.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0040-singlenestedcontext.dmn index 48ab1b0a988..af1b4b8dfa8 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0040-singlenestedcontext.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0040-singlenestedcontext.dmn @@ -1,4 +1,4 @@ - + - +--> + + - - + + - + - + - + 0.0375 - + - + 100 - - + + Principal @@ -66,8 +83,8 @@ Fees - - + + 600000 @@ -85,7 +102,7 @@ (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees - + @@ -105,7 +122,7 @@ (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees - + @@ -125,7 +142,7 @@ (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees - + @@ -145,61 +162,79 @@ - - + + - - + + - - - - - - - + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0041-multiple-nestedcontext.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0041-multiple-nestedcontext.dmn index db3133cfe38..e8b3b6b4a6b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0041-multiple-nestedcontext.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0041-multiple-nestedcontext.dmn @@ -1,4 +1,4 @@ - + - +--> + + - - + + - + - + - + 0.0375 - + - + - - + + Principal @@ -58,8 +75,8 @@ Rate - - + + 600000 @@ -74,7 +91,7 @@ (Principal*Rate/12)/(1-(1+Rate/12)**-Term) - + @@ -91,7 +108,7 @@ (Principal*Rate/12)/(1-(1+Rate/12)**-Term) - + @@ -108,7 +125,7 @@ (Principal*Rate/12)/(1-(1+Rate/12)**-Term) - + @@ -135,62 +152,80 @@ - - + + - - + + - - - - - - - - + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0100-feel-constants.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0100-feel-constants.dmn index 16c0a522a80..144cd9c4eba 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0100-feel-constants.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0100-feel-constants.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + true - - + + false @@ -37,28 +48,28 @@ - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0101-feel-constants.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0101-feel-constants.dmn index 204df7b02d5..f2025a10888 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0101-feel-constants.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0101-feel-constants.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + 125.4321987654 - - + + -125.4321987654 - - + + -50 - - + + 50 - - + + .872 - - + + -.872 @@ -65,68 +76,68 @@ - - - - - - + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0102-feel-constants.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0102-feel-constants.dmn index d8c2a65f00b..d88b87221be 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0102-feel-constants.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0102-feel-constants.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + "横綱" - - + + - "thisIsSomeLongStringThatMustBeProcessedSoHopefullyThisTestPassWithItAndIMustWriteSomethingMoreSoItIsLongerAndLongerAndLongerAndLongerAndLongerTillItIsReallyLong" + "thisIsSomeLongStringThatMustBeProcessedSoHopefullyThisTestPassWithItAndIMustWriteSomethingMoreSoItIsLongerAndLongerAndLongerAndLongerAndLongerTillItIsReallyLong" - - + + "foo bar" - - + + "šomeÚnicodeŠtriňg" @@ -51,48 +63,48 @@ - - - - + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0105-feel-math.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0105-feel-math.dmn index 92db35d6b03..d1354fc0759 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0105-feel-math.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0105-feel-math.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + 10**-5 - - + + (5+2)**5 - - + + (10+20)/0 - - + + 10**5 - - + + 10 - null - - + + null - 10 - - + + 10+null - - + + null + 10 - - + + 5+2**5+3 - - + + 5+2**(5+3) - - + + -10+-5 - - + + 10+5 - - + + 5+2**5 - - + + 10-5 - - + + (-10)+(-5) - - + + (-10)-(-5) - - + + -10--5 - - + + 10*5 - - + + (10+20)-(-5+3) - - + + -10*-5 - - + + 10 / null - - + + 10 * null - - + + null * 10 - - + + (-10)/(-5) - - + + (10+20)/(-5*3) - - + + 10/5 - - + + -10/-5 - - + + (-10)*(-5) - - + + 10 + 20 / (-5 - 3) - - + + (10+5)*(-5*3) - - + + 1.2*10**3 - - + + null / 10 - - + + 10 + 20 / -5 - 3 @@ -254,338 +265,338 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0106-feel-ternary-logic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0106-feel-ternary-logic.dmn index f56d85ce2aa..1f95be0f57e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0106-feel-ternary-logic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0106-feel-ternary-logic.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - - + + - - + + - + - + A and B - - + + - + - + A or B @@ -57,62 +68,74 @@ - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0107-feel-ternary-logic-not.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0107-feel-ternary-logic-not.dmn index 0e161fc16ad..d20fd3babbf 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0107-feel-ternary-logic-not.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0107-feel-ternary-logic-not.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - - + + - + not(A) @@ -37,31 +48,34 @@ - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0108-first-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0108-first-hitpolicy.dmn index 7b9daa89c04..3a6169279cb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0108-first-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0108-first-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -28,18 +39,24 @@ - - + + - + - + - + - + Age @@ -74,7 +91,7 @@ "Standard" - + >=18 @@ -92,7 +109,7 @@ "Best" - + @@ -112,7 +129,7 @@ "Standard" - + @@ -132,78 +149,103 @@ "Standard" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0109-ruleOrder-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0109-ruleOrder-hitpolicy.dmn index 531af8d2436..b354cfa0f0a 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0109-ruleOrder-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0109-ruleOrder-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -36,18 +47,24 @@ - - + + - + - + - + - + Age @@ -76,7 +93,7 @@ "Standard" - + >=18 @@ -94,7 +111,7 @@ "Best" - + @@ -114,7 +131,7 @@ "Standard" - + @@ -134,78 +151,103 @@ "Standard" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0110-outputOrder-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0110-outputOrder-hitpolicy.dmn index ff379d3d3ad..7708dfbeea9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0110-outputOrder-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0110-outputOrder-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -31,18 +42,24 @@ - - + + - + - + - + - + Age @@ -66,8 +83,8 @@ "Approved", "Declined" - - + + >=18 @@ -85,7 +102,7 @@ "Basic" - + @@ -105,7 +122,7 @@ "Standard" - + @@ -125,78 +142,103 @@ "Standard" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0111-first-hitpolicy-singleoutputcol.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0111-first-hitpolicy-singleoutputcol.dmn index ee25983643a..446f1a8dd7c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0111-first-hitpolicy-singleoutputcol.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0111-first-hitpolicy-singleoutputcol.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0112-ruleOrder-hitpolicy-singleinoutcol.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0112-ruleOrder-hitpolicy-singleinoutcol.dmn index 4dfb990b42a..31dd2486656 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0112-ruleOrder-hitpolicy-singleinoutcol.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0112-ruleOrder-hitpolicy-singleinoutcol.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -31,19 +42,25 @@ string - - + + - + - + Age - - + + >=18 @@ -52,7 +69,7 @@ "Best" - + @@ -63,7 +80,7 @@ "Standard" - + @@ -74,44 +91,55 @@ "Standard" - + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0113-outputOrder-hitpolicy-singleinoutcol.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0113-outputOrder-hitpolicy-singleinoutcol.dmn index d4e5cad920a..fa8f97df3a5 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0113-outputOrder-hitpolicy-singleinoutcol.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0113-outputOrder-hitpolicy-singleinoutcol.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -37,12 +48,18 @@ - - + + - + - + Age @@ -53,7 +70,7 @@ "Approved","Declined" - + >=18 @@ -62,7 +79,7 @@ "Approved" - + @@ -73,7 +90,7 @@ "Declined" - + @@ -84,44 +101,55 @@ "Approved" - + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0114-min-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0114-min-collect-hitpolicy.dmn index 64cfd326db1..19c16c05265 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0114-min-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0114-min-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + NumOfYears - - + + >1 @@ -41,7 +59,7 @@ 98.83 - + @@ -52,7 +70,7 @@ 150.21 - + @@ -63,7 +81,7 @@ 205.43 - + @@ -74,44 +92,47 @@ 64.32 - + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0115-sum-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0115-sum-collect-hitpolicy.dmn index ca70402aede..086a4d06466 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0115-sum-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0115-sum-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + NumOfYears - - + + >1 @@ -41,7 +59,7 @@ 100 - + @@ -52,7 +70,7 @@ 200 - + @@ -63,7 +81,7 @@ 300 - + @@ -74,44 +92,47 @@ 500 - + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0116-count-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0116-count-collect-hitpolicy.dmn index b37bde0baa4..19debc6f107 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0116-count-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0116-count-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + NumOfYears - - + + >1 @@ -41,7 +59,7 @@ 100 - + @@ -52,7 +70,7 @@ 200 - + @@ -63,7 +81,7 @@ 300 - + @@ -74,44 +92,47 @@ 500 - + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0117-multi-any-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0117-multi-any-hitpolicy.dmn index 48bf76cca26..4470fceb83e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0117-multi-any-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0117-multi-any-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -28,18 +39,24 @@ - - + + - + - + - + - + Age @@ -74,7 +91,7 @@ "Standard" - + >=18 @@ -92,7 +109,7 @@ "Best" - + @@ -112,7 +129,7 @@ "Standard" - + @@ -132,7 +149,7 @@ "Standard" - + @@ -152,7 +169,7 @@ "Standard" - + @@ -172,7 +189,7 @@ "Standard" - + @@ -192,78 +209,103 @@ "Best" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0118-multi-priority-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0118-multi-priority-hitpolicy.dmn index 8c9b2fe9179..5b413ad55f2 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0118-multi-priority-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0118-multi-priority-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -31,18 +42,24 @@ - - + + - + - + - + - + Age @@ -66,8 +83,8 @@ "Approved", "Declined" - - + + >=18 @@ -85,7 +102,7 @@ "Basic" - + @@ -105,7 +122,7 @@ "Standard" - + @@ -125,78 +142,103 @@ "Standard" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0119-multi-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0119-multi-collect-hitpolicy.dmn index 9ec44aaeaaa..adfd3d45163 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0119-multi-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/0119-multi-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -31,18 +42,24 @@ - - + + - + - + - + - + Age @@ -66,8 +83,8 @@ "Approved", "Declined" - - + + >=18 @@ -85,7 +102,7 @@ "Basic" - + @@ -105,7 +122,7 @@ "Standard" - + @@ -125,78 +142,103 @@ "Standard" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1100-feel-decimal-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1100-feel-decimal-function.dmn index ce5b3800ed2..4c29930bc92 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1100-feel-decimal-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1100-feel-decimal-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'decimal(n, scale)' in category numeric functions - - + + number - + number - + number - + number - + number - + number - + number - + number - + number - + number Tests FEEL expression: 'decimal(0, 0)' and expects result: '0 (number)' - + Result of FEEL expression 'decimal(0, 0)'? 0 (number) - + decimal(0, 0) Tests FEEL expression: 'decimal(0.0, 1)' and expects result: '0.0 (number)' - + Result of FEEL expression 'decimal(0.0, 1)'? 0.0 (number) - + decimal(0.0, 1) - + - Tests FEEL expression: 'decimal(n:15/7,scale:3)' and expects result: '2.143 (number)' - + Tests FEEL expression: 'decimal(n:15/7,scale:3)' and expects result: '2.143 (number)' + Result of FEEL expression 'decimal(n:15/7,scale:3)'? 2.143 (number) - + decimal(n:15/7,scale:3) - Tests FEEL expression: 'decimal(n:15/78*2,scale:3)' and expects result: '0.385 (number)' - + Tests FEEL expression: 'decimal(n:15/78*2,scale:3)' and expects result: '0.385 (number)' + Result of FEEL expression 'decimal(n:15/78*2,scale:3)'? 0.385 (number) - + decimal(n:15/78*2,scale:3) - Tests FEEL expression: 'decimal(65.123456, 6)' and expects result: '65.123456 (number)' - + Tests FEEL expression: 'decimal(65.123456, 6)' and expects result: '65.123456 (number)' + Result of FEEL expression 'decimal(65.123456, 6)'? 65.123456 (number) - + decimal(65.123456, 6) Tests FEEL expression: 'decimal(0.515, 2)' and expects result: '0.52 (number)' - + Result of FEEL expression 'decimal(0.515, 2)'? 0.52 (number) - + decimal(0.515, 2) Tests FEEL expression: 'decimal(1/3, 2)' and expects result: '0.33 (number)' - + Result of FEEL expression 'decimal(1/3, 2)'? 0.33 (number) - + decimal(1/3, 2) Tests FEEL expression: 'decimal(2.5, 0)' and expects result: '2 (number)' - + Result of FEEL expression 'decimal(2.5, 0)'? 2 (number) - + decimal(2.5, 0) Tests FEEL expression: 'decimal(1.5, 0)' and expects result: '2 (number)' - + Result of FEEL expression 'decimal(1.5, 0)'? 2 (number) - + decimal(1.5, 0) Tests FEEL expression: 'decimal(1/3, 2.5)' and expects result: '0.33 (number)' - + Result of FEEL expression 'decimal(1/3, 2.5)'? 0.33 (number) - + decimal(1/3, 2.5) @@ -157,117 +251,161 @@ - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1101-feel-floor-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1101-feel-floor-function.dmn index 6f8719db553..78860a9250b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1101-feel-floor-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1101-feel-floor-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'floor(n)' in category numeric functions - - + + number - + number - + number - + number - + number - + number - + Tests FEEL expression: 'floor(-5/2.3*5)' and expects result: '-11 (number)' - + Result of FEEL expression 'floor(-5/2.3*5)'? -11 (number) - + floor(-5/2.3*5) Tests FEEL expression: 'floor(n:5.777)' and expects result: '5 (number)' - + Result of FEEL expression 'floor(n:5.777)'? 5 (number) - + floor(n:5.777) Tests FEEL expression: 'floor(n:-.33333)' and expects result: '-1 (number)' - + Result of FEEL expression 'floor(n:-.33333)'? -1 (number) - + floor(n:-.33333) Tests FEEL expression: 'floor(--1)' and expects result: '1 (number)' - + Result of FEEL expression 'floor(--1)'? 1 (number) - + floor(--1) Tests FEEL expression: 'floor(1.5)' and expects result: '1 (number)' - + Result of FEEL expression 'floor(1.5)'? 1 (number) - + floor(1.5) Tests FEEL expression: 'floor(-1.5)' and expects result: '-2 (number)' - + Result of FEEL expression 'floor(-1.5)'? -2 (number) - + floor(-1.5) @@ -105,77 +164,105 @@ - - - - - - + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1102-feel-ceiling-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1102-feel-ceiling-function.dmn index 566d6a36265..601e3428bf2 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1102-feel-ceiling-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1102-feel-ceiling-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'ceiling(n)' in category numeric functions - - + + number - + number - + number - + number - + number - + number Tests FEEL expression: 'ceiling(n:-.33333)' and expects result: '0 (number)' - + Result of FEEL expression 'ceiling(n:-.33333)'? 0 (number) - + ceiling(n:-.33333) Tests FEEL expression: 'ceiling(1.5)' and expects result: '2 (number)' - + Result of FEEL expression 'ceiling(1.5)'? 2 (number) - + ceiling(1.5) - + Tests FEEL expression: 'ceiling(-1.5)' and expects result: '-1 (number)' - + Result of FEEL expression 'ceiling(-1.5)'? -1 (number) - + ceiling(-1.5) Tests FEEL expression: 'ceiling(n:5.777)' and expects result: '6 (number)' - + Result of FEEL expression 'ceiling(n:5.777)'? 6 (number) - + ceiling(n:5.777) Tests FEEL expression: 'ceiling(-5/2.3*5)' and expects result: '-10 (number)' - + Result of FEEL expression 'ceiling(-5/2.3*5)'? -10 (number) - + ceiling(-5/2.3*5) Tests FEEL expression: 'ceiling(--1)' and expects result: '1 (number)' - + Result of FEEL expression 'ceiling(--1)'? 1 (number) - + ceiling(--1) @@ -105,77 +164,105 @@ - - - - - - + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1103-feel-substring-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1103-feel-substring-function.dmn index 552c977a239..5f7c10799e1 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1103-feel-substring-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1103-feel-substring-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'substring(string, start, position, length?) in category string functions - - + + FEEL built-in function 'substring(string, start, position, length?) in category string functions + + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - Tests FEEL expression: 'substring("foob r",-2,1)' and expects result: '" " (string)' - + Tests FEEL expression: 'substring("foob r",-2,1)' and expects result: '" " (string)' + Result of FEEL expression 'substring("foob r",-2,1)'? " " (string) - + substring("foob r",-2,1) - Tests FEEL expression: 'substring("foobar",-6,6)' and expects result: '"foobar" (string)' - + Tests FEEL expression: 'substring("foobar",-6,6)' and expects result: '"foobar" (string)' + Result of FEEL expression 'substring("foobar",-6,6)'? "foobar" (string) - + substring("foobar",-6,6) Tests FEEL expression: 'substring("f",1)' and expects result: '"f" (string)' - + Result of FEEL expression 'substring("f",1)'? "f" (string) - + substring("f",1) - Tests FEEL expression: 'substring("foobar",-2,1)' and expects result: '"a" (string)' - + Tests FEEL expression: 'substring("foobar",-2,1)' and expects result: '"a" (string)' + Result of FEEL expression 'substring("foobar",-2,1)'? "a" (string) - + substring("foobar",-2,1) - Tests FEEL expression: 'substring("foobar",3,3.8)' and expects result: '"oba" (string)' - + Tests FEEL expression: 'substring("foobar",3,3.8)' and expects result: '"oba" (string)' + Result of FEEL expression 'substring("foobar",3,3.8)'? "oba" (string) - + substring("foobar",3,3.8) Tests FEEL expression: 'substring("foobar",6)' and expects result: '"r" (string)' - + Result of FEEL expression 'substring("foobar",6)'? "r" (string) - + substring("foobar",6) - Tests FEEL expression: 'substring("foobar",1,6)' and expects result: '"foobar" (string)' - + Tests FEEL expression: 'substring("foobar",1,6)' and expects result: '"foobar" (string)' + Result of FEEL expression 'substring("foobar",1,6)'? "foobar" (string) - + substring("foobar",1,6) - Tests FEEL expression: 'substring("foobar",3)' and expects result: '"obar" (string)' - + Tests FEEL expression: 'substring("foobar",3)' and expects result: '"obar" (string)' + Result of FEEL expression 'substring("foobar",3)'? "obar" (string) - + substring("foobar",3) - Tests FEEL expression: 'substring("foobar",3,3)' and expects result: '"oba" (string)' - + Tests FEEL expression: 'substring("foobar",3,3)' and expects result: '"oba" (string)' + Result of FEEL expression 'substring("foobar",3,3)'? "oba" (string) - + substring("foobar",3,3) Tests FEEL expression: 'substring("f",1,1)' and expects result: '"f" (string)' - + Result of FEEL expression 'substring("f",1,1)'? "f" (string) - + substring("f",1,1) - Tests FEEL expression: 'substring(string:"foobar",start position :3)' and expects result: '"obar" (string)' - + Tests FEEL expression: 'substring(string:"foobar",start position :3)' and expects result: '"obar" (string)' + Result of FEEL expression 'substring(string:"foobar",start position :3)'? "obar" (string) - + substring(string:"foobar",start position :3) - + - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1104-feel-string-length-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1104-feel-string-length-function.dmn index d35ea38b09e..7c6f7ecabb8 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1104-feel-string-length-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1104-feel-string-length-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'string length(string)' in category string functions - - + + number - + number - + number - + number - + number - + number - Tests FEEL expression: 'string length(string:"aaaaa dddd ")' and expects result: '11 (number)' - + Tests FEEL expression: 'string length(string:"aaaaa dddd ")' and expects result: '11 (number)' + Result of FEEL expression 'string length(string:"aaaaa dddd ")'? 11 (number) - + string length(string:"aaaaa dddd ") - Tests FEEL expression: 'string length(string:"aaaaa dddd")' and expects result: '10 (number)' - + Tests FEEL expression: 'string length(string:"aaaaa dddd")' and expects result: '10 (number)' + Result of FEEL expression 'string length(string:"aaaaa dddd")'? 10 (number) - + string length(string:"aaaaa dddd") Tests FEEL expression: 'string length("")' and expects result: '0 (number)' - + Result of FEEL expression 'string length("")'? 0 (number) - + string length("") - Tests FEEL expression: 'string length(string:"xyz123")' and expects result: '6 (number)' - + Tests FEEL expression: 'string length(string:"xyz123")' and expects result: '6 (number)' + Result of FEEL expression 'string length(string:"xyz123")'? 6 (number) - + string length(string:"xyz123") - + Tests FEEL expression: 'string length("a")' and expects result: '1 (number)' - + Result of FEEL expression 'string length("a")'? 1 (number) - + string length("a") Tests FEEL expression: 'string length("abc")' and expects result: '3 (number)' - + Result of FEEL expression 'string length("abc")'? 3 (number) - + string length("abc") @@ -105,77 +167,105 @@ - - - - - - + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1105-feel-upper-case-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1105-feel-upper-case-function.dmn index 6b0710cdcdc..fbe7b52e982 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1105-feel-upper-case-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1105-feel-upper-case-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'upper case(string) in category string functions - - + + string - + string - + string - + string - + string - + string - + string - + string Tests FEEL expression: 'upper case("1")' and expects result: '"1" (string)' - + Result of FEEL expression 'upper case("1")'? "1" (string) - + upper case("1") Tests FEEL expression: 'upper case("?@{")' and expects result: '"?@{" (string)' - + Result of FEEL expression 'upper case("?@{")'? "?@{" (string) - + upper case("?@{") - Tests FEEL expression: 'upper case(string:"AbDcF")' and expects result: '"ABDCF" (string)' - + Tests FEEL expression: 'upper case(string:"AbDcF")' and expects result: '"ABDCF" (string)' + Result of FEEL expression 'upper case(string:"AbDcF")'? "ABDCF" (string) - + upper case(string:"AbDcF") - Tests FEEL expression: 'upper case(string:"123ABC")' and expects result: '"123ABC" (string)' - + Tests FEEL expression: 'upper case(string:"123ABC")' and expects result: '"123ABC" (string)' + Result of FEEL expression 'upper case(string:"123ABC")'? "123ABC" (string) - + upper case(string:"123ABC") Tests FEEL expression: 'upper case("abc")' and expects result: '"ABC" (string)' - + Result of FEEL expression 'upper case("abc")'? "ABC" (string) - + upper case("abc") - Tests FEEL expression: 'upper case(string:"xyZ ")' and expects result: '"XYZ " (string)' - + Tests FEEL expression: 'upper case(string:"xyZ ")' and expects result: '"XYZ " (string)' + Result of FEEL expression 'upper case(string:"xyZ ")'? "XYZ " (string) - + upper case(string:"xyZ ") Tests FEEL expression: 'upper case("")' and expects result: '"" (string)' - + Result of FEEL expression 'upper case("")'? "" (string) - + upper case("") Tests FEEL expression: 'upper case("a")' and expects result: '"A" (string)' - + Result of FEEL expression 'upper case("a")'? "A" (string) - + upper case("a") - + - - - - - - - - + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1106-feel-lower-case-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1106-feel-lower-case-function.dmn index f06a2b8d9d1..ec918541685 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1106-feel-lower-case-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1106-feel-lower-case-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'lower case(string)' in category string functions - - + + string - + string - + string - + string - + string - + string - + string - + string - + string - Tests FEEL expression: 'lower case(string:"xyZ ")' and expects result: '"xyz " (string)' - + Tests FEEL expression: 'lower case(string:"xyZ ")' and expects result: '"xyz " (string)' + Result of FEEL expression 'lower case(string:"xyZ ")'? "xyz " (string) - + lower case(string:"xyZ ") - Tests FEEL expression: 'lower case(string:"AbDcF")' and expects result: '"abdcf" (string)' - + Tests FEEL expression: 'lower case(string:"AbDcF")' and expects result: '"abdcf" (string)' + Result of FEEL expression 'lower case(string:"AbDcF")'? "abdcf" (string) - + lower case(string:"AbDcF") - Tests FEEL expression: 'lower case(string:"123ABC")' and expects result: '"123abc" (string)' - + Tests FEEL expression: 'lower case(string:"123ABC")' and expects result: '"123abc" (string)' + Result of FEEL expression 'lower case(string:"123ABC")'? "123abc" (string) - + lower case(string:"123ABC") Tests FEEL expression: 'lower case("ABC")' and expects result: '"abc" (string)' - + Result of FEEL expression 'lower case("ABC")'? "abc" (string) - + lower case("ABC") Tests FEEL expression: 'lower case("")' and expects result: '"" (string)' - + Result of FEEL expression 'lower case("")'? "" (string) - + lower case("") Tests FEEL expression: 'lower case("abc")' and expects result: '"abc" (string)' - + Result of FEEL expression 'lower case("abc")'? "abc" (string) - + lower case("abc") Tests FEEL expression: 'lower case("?@{")' and expects result: '"?@{" (string)' - + Result of FEEL expression 'lower case("?@{")'? "?@{" (string) - + lower case("?@{") Tests FEEL expression: 'lower case("A")' and expects result: '"a" (string)' - + Result of FEEL expression 'lower case("A")'? "a" (string) - + lower case("A") Tests FEEL expression: 'lower case("aBc4")' and expects result: '"abc4" (string)' - + Result of FEEL expression 'lower case("aBc4")'? "abc4" (string) - + lower case("aBc4") - + - - - - - - - - - + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1107-feel-substring-before-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1107-feel-substring-before-function.dmn index 3ba93d1438a..08291fd5d71 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1107-feel-substring-before-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1107-feel-substring-before-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'substring before(string, match) in category string functions - - + + FEEL built-in function 'substring before(string, match) in category string functions + + string - + string - + string - + string - + string - + string - + string - + string - + string - Tests FEEL expression: 'substring before("foobar","x")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring before("foobar","x")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("foobar","x")'? "" (string) - + substring before("foobar","x") - Tests FEEL expression: 'substring before(string:"foobar",match:"bar")' and expects result: '"foo" (string)' - + Tests FEEL expression: 'substring before(string:"foobar",match:"bar")' and expects result: '"foo" (string)' + Result of FEEL expression 'substring before(string:"foobar",match:"bar")'? "foo" (string) - + substring before(string:"foobar",match:"bar") - Tests FEEL expression: 'substring before("","")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring before("","")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("","")'? "" (string) - + substring before("","") - + - Tests FEEL expression: 'substring before("foobar","o")' and expects result: '"f" (string)' - + Tests FEEL expression: 'substring before("foobar","o")' and expects result: '"f" (string)' + Result of FEEL expression 'substring before("foobar","o")'? "f" (string) - + substring before("foobar","o") - Tests FEEL expression: 'substring before("foobar","bar")' and expects result: '"foo" (string)' - + Tests FEEL expression: 'substring before("foobar","bar")' and expects result: '"foo" (string)' + Result of FEEL expression 'substring before("foobar","bar")'? "foo" (string) - + substring before("foobar","bar") - Tests FEEL expression: 'substring before("abc","a")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring before("abc","a")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("abc","a")'? "" (string) - + substring before("abc","a") - Tests FEEL expression: 'substring before("abc","")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring before("abc","")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("abc","")'? "" (string) - + substring before("abc","") - Tests FEEL expression: 'substring before("abc","c")' and expects result: '"ab" (string)' - + Tests FEEL expression: 'substring before("abc","c")' and expects result: '"ab" (string)' + Result of FEEL expression 'substring before("abc","c")'? "ab" (string) - + substring before("abc","c") - Tests FEEL expression: 'substring before(string:"foobar",match:"b")' and expects result: '"foo" (string)' - + Tests FEEL expression: 'substring before(string:"foobar",match:"b")' and expects result: '"foo" (string)' + Result of FEEL expression 'substring before(string:"foobar",match:"b")'? "foo" (string) - + substring before(string:"foobar",match:"b") @@ -144,107 +237,147 @@ - - - - - - - - - + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1108-feel-substring-after-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1108-feel-substring-after-function.dmn index e69bfd5fb25..163c9f79612 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1108-feel-substring-after-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1108-feel-substring-after-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'substring after(string, match) in category string functions - - + + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - Tests FEEL expression: 'substring after("","a")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring after("","a")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("","a")'? "" (string) - + substring after("","a") - Tests FEEL expression: 'substring after(string:"foobar",match:"b")' and expects result: '"ar" (string)' - + Tests FEEL expression: 'substring after(string:"foobar",match:"b")' and expects result: '"ar" (string)' + Result of FEEL expression 'substring after(string:"foobar",match:"b")'? "ar" (string) - + substring after(string:"foobar",match:"b") Tests FEEL expression: 'substring after("","")' and expects result: '"" (string)' - + Result of FEEL expression 'substring after("","")'? "" (string) - + substring after("","") - Tests FEEL expression: 'substring after("foobar","ob")' and expects result: '"ar" (string)' - + Tests FEEL expression: 'substring after("foobar","ob")' and expects result: '"ar" (string)' + Result of FEEL expression 'substring after("foobar","ob")'? "ar" (string) - + substring after("foobar","ob") - + - Tests FEEL expression: 'substring after("foobar","o")' and expects result: '"obar" (string)' - + Tests FEEL expression: 'substring after("foobar","o")' and expects result: '"obar" (string)' + Result of FEEL expression 'substring after("foobar","o")'? "obar" (string) - + substring after("foobar","o") - Tests FEEL expression: 'substring after("foobar","x")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring after("foobar","x")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("foobar","x")'? "" (string) - + substring after("foobar","x") - Tests FEEL expression: 'substring after("abc","")' and expects result: '"abc" (string)' - + Tests FEEL expression: 'substring after("abc","")' and expects result: '"abc" (string)' + Result of FEEL expression 'substring after("abc","")'? "abc" (string) - + substring after("abc","") - Tests FEEL expression: 'substring after(string:"foobar",match:"ob")' and expects result: '"ar" (string)' - + Tests FEEL expression: 'substring after(string:"foobar",match:"ob")' and expects result: '"ar" (string)' + Result of FEEL expression 'substring after(string:"foobar",match:"ob")'? "ar" (string) - + substring after(string:"foobar",match:"ob") - Tests FEEL expression: 'substring after("abc","c")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring after("abc","c")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("abc","c")'? "" (string) - + substring after("abc","c") - Tests FEEL expression: 'substring after("abc","a")' and expects result: '"bc" (string)' - + Tests FEEL expression: 'substring after("abc","a")' and expects result: '"bc" (string)' + Result of FEEL expression 'substring after("abc","a")'? "bc" (string) - + substring after("abc","a") @@ -157,117 +257,161 @@ - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1109-feel-replace-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1109-feel-replace-function.dmn index 1e5f74b7827..1f7a5ccf092 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1109-feel-replace-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1109-feel-replace-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'replace(input, pattern, replacement, flags?)' in category string functions - - + + FEEL built-in function 'replace(input, pattern, replacement, flags?)' in category string functions + + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - Tests FEEL expression: 'replace("abracadabra","a.*?a","*")' and expects result: '"*c*bra" (string)' - + Tests FEEL expression: 'replace("abracadabra","a.*?a","*")' and expects result: '"*c*bra" (string)' + Result of FEEL expression 'replace("abracadabra","a.*?a","*")'? "*c*bra" (string) - + replace("abracadabra","a.*?a","*") - Tests FEEL expression: 'replace("abc","e","#")' and expects result: '"abc" (string)' - + Tests FEEL expression: 'replace("abc","e","#")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc","e","#")'? "abc" (string) - + replace("abc","e","#") - Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")' and expects result: '"abc" (string)' - - Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")'? + Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")' and expects result: '"abc" (string)' + + Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")'? "abc" (string) - + replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"") - Tests FEEL expression: 'replace("abracadabra","a","")' and expects result: '"brcdbr" (string)' - + Tests FEEL expression: 'replace("abracadabra","a","")' and expects result: '"brcdbr" (string)' + Result of FEEL expression 'replace("abracadabra","a","")'? "brcdbr" (string) - + replace("abracadabra","a","") - Tests FEEL expression: 'replace("abc","[a-z]","#","s")' and expects result: '"###" (string)' - + Tests FEEL expression: 'replace("abc","[a-z]","#","s")' and expects result: '"###" (string)' + Result of FEEL expression 'replace("abc","[a-z]","#","s")'? "###" (string) - + replace("abc","[a-z]","#","s") - Tests FEEL expression: 'replace("darted","^(.*?)d(.*)$","$1c$2")' and expects result: '"carted" (string)' - + Tests FEEL expression: 'replace("darted","^(.*?)d(.*)$","$1c$2")' and expects result: '"carted" (string)' + Result of FEEL expression 'replace("darted","^(.*?)d(.*)$","$1c$2")'? "carted" (string) - + replace("darted","^(.*?)d(.*)$","$1c$2") - Tests FEEL expression: 'replace("a b c d ","[a-z]","#","x")' and expects result: '"# # # # " (string)' - + Tests FEEL expression: 'replace("a b c d ","[a-z]","#","x")' and expects result: '"# # # # " (string)' + Result of FEEL expression 'replace("a b c d ","[a-z]","#","x")'? "# # # # " (string) - + replace("a b c d ","[a-z]","#","x") - Tests FEEL expression: 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")' and expects result: '"abc" (string)' - - Result of FEEL expression 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")'? + Tests FEEL expression: 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")' and expects result: '"abc" (string)' + + Result of FEEL expression 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")'? "abc" (string) - + replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix") - Tests FEEL expression: 'replace("abc","def","#")' and expects result: '"abc" (string)' - + Tests FEEL expression: 'replace("abc","def","#")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc","def","#")'? "abc" (string) - + replace("abc","def","#") - Tests FEEL expression: 'replace("abc",".^[d-z]","#")' and expects result: '"abc" (string)' - + Tests FEEL expression: 'replace("abc",".^[d-z]","#")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc",".^[d-z]","#")'? "abc" (string) - + replace("abc",".^[d-z]","#") - Tests FEEL expression: 'replace("abracadabra","a(.)","a$1$1")' and expects result: '"abbraccaddabbra" (string)' - + Tests FEEL expression: 'replace("abracadabra","a(.)","a$1$1")' and expects result: '"abbraccaddabbra" (string)' + Result of FEEL expression 'replace("abracadabra","a(.)","a$1$1")'? "abbraccaddabbra" (string) - + replace("abracadabra","a(.)","a$1$1") - Tests FEEL expression: 'replace("reluctant","r.*?t","X")' and expects result: '"Xant" (string)' - + Tests FEEL expression: 'replace("reluctant","r.*?t","X")' and expects result: '"Xant" (string)' + Result of FEEL expression 'replace("reluctant","r.*?t","X")'? "Xant" (string) - + replace("reluctant","r.*?t","X") - Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")' and expects result: '"###" (string)' - - Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")'? + Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")' and expects result: '"###" (string)' + + Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")'? "###" (string) - + replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i") - Tests FEEL expression: 'replace("a","[a-z]","#")' and expects result: '"#" (string)' - + Tests FEEL expression: 'replace("a","[a-z]","#")' and expects result: '"#" (string)' + Result of FEEL expression 'replace("a","[a-z]","#")'? "#" (string) - + replace("a","[a-z]","#") - Tests FEEL expression: 'replace("abracadabra","bra","*")' and expects result: '"a*cada*" (string)' - + Tests FEEL expression: 'replace("abracadabra","bra","*")' and expects result: '"a*cada*" (string)' + Result of FEEL expression 'replace("abracadabra","bra","*")'? "a*cada*" (string) - + replace("abracadabra","bra","*") - Tests FEEL expression: 'replace("0123456789","(d{3})(d{3})(d{4})","($1) $2-$3")' and expects result: '"(012) 345-6789" (string)' - + Tests FEEL expression: 'replace("0123456789","(d{3})(d{3})(d{4})","($1) $2-$3")' and expects result: '"(012) 345-6789" (string)' + Result of FEEL expression 'replace("0123456789","(d{3})(d{3})(d{4})","($1) $2-$3")'? "(012) 345-6789" (string) - + replace("0123456789","(d{3})(d{3})(d{4})","($1) $2-$3") - Tests FEEL expression: 'replace("a.b.c.","[a-z]","#","s")' and expects result: '"#.#.#." (string)' - + Tests FEEL expression: 'replace("a.b.c.","[a-z]","#","s")' and expects result: '"#.#.#." (string)' + Result of FEEL expression 'replace("a.b.c.","[a-z]","#","s")'? "#.#.#." (string) - + replace("a.b.c.","[a-z]","#","s") - Tests FEEL expression: 'replace("AAAA","A+","b")' and expects result: '"b" (string)' - + Tests FEEL expression: 'replace("AAAA","A+","b")' and expects result: '"b" (string)' + Result of FEEL expression 'replace("AAAA","A+","b")'? "b" (string) - + replace("AAAA","A+","b") - Tests FEEL expression: 'replace("abc",".^[d-z]*","smix")' and expects result: '"abc" (string)' - + Tests FEEL expression: 'replace("abc",".^[d-z]*","smix")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc",".^[d-z]*","smix")'? "abc" (string) - + replace("abc",".^[d-z]*","smix") - Tests FEEL expression: 'replace("abracadabra","a.*a","*")' and expects result: '"*" (string)' - + Tests FEEL expression: 'replace("abracadabra","a.*a","*")' and expects result: '"*" (string)' + Result of FEEL expression 'replace("abracadabra","a.*a","*")'? "*" (string) - + replace("abracadabra","a.*a","*") - Tests FEEL expression: 'replace("abc","[a-z]","#","")' and expects result: '"###" (string)' - + Tests FEEL expression: 'replace("abc","[a-z]","#","")' and expects result: '"###" (string)' + Result of FEEL expression 'replace("abc","[a-z]","#","")'? "###" (string) - + replace("abc","[a-z]","#","") - Tests FEEL expression: 'replace("a","[b-z]","#")' and expects result: '"a" (string)' - + Tests FEEL expression: 'replace("a","[b-z]","#")' and expects result: '"a" (string)' + Result of FEEL expression 'replace("a","[b-z]","#")'? "a" (string) - + replace("a","[b-z]","#") - Tests FEEL expression: 'replace("foobar","^fo*b*","#")' and expects result: '"#ar" (string)' - + Tests FEEL expression: 'replace("foobar","^fo*b*","#")' and expects result: '"#ar" (string)' + Result of FEEL expression 'replace("foobar","^fo*b*","#")'? "#ar" (string) - + replace("foobar","^fo*b*","#") - + - Tests FEEL expression: 'replace("facetiously","[iouy]","[$0]")' and expects result: '"facet[i][o][u]sl[y]" (string)' - + Tests FEEL expression: 'replace("facetiously","[iouy]","[$0]")' and expects result: '"facet[i][o][u]sl[y]" (string)' + Result of FEEL expression 'replace("facetiously","[iouy]","[$0]")'? "facet[i][o][u]sl[y]" (string) - + replace("facetiously","[iouy]","[$0]") - Tests FEEL expression: 'replace("abc","[A-Z]","#","i")' and expects result: '"###" (string)' - + Tests FEEL expression: 'replace("abc","[A-Z]","#","i")' and expects result: '"###" (string)' + Result of FEEL expression 'replace("abc","[A-Z]","#","i")'? "###" (string) - + replace("abc","[A-Z]","#","i") - Tests FEEL expression: 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")' and expects result: '"[1=ab][2=]cd" (string)' - + Tests FEEL expression: 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")' and expects result: '"[1=ab][2=]cd" (string)' + Result of FEEL expression 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")'? "[1=ab][2=]cd" (string) - + replace("abcd","(ab)|(a)", "[1=$1][2=$2]") - Tests FEEL expression: 'replace("AAAA","A+?","b")' and expects result: '"bbbb" (string)' - + Tests FEEL expression: 'replace("AAAA","A+?","b")' and expects result: '"bbbb" (string)' + Result of FEEL expression 'replace("AAAA","A+?","b")'? "bbbb" (string) - + replace("AAAA","A+?","b") - Tests FEEL expression: 'replace(input:"abc",pattern:"[a-z]",replacement:"#")' and expects result: '"###" (string)' - + Tests FEEL expression: 'replace(input:"abc",pattern:"[a-z]",replacement:"#")' and expects result: '"###" (string)' + Result of FEEL expression 'replace(input:"abc",pattern:"[a-z]",replacement:"#")'? "###" (string) - + replace(input:"abc",pattern:"[a-z]",replacement:"#") @@ -391,297 +658,413 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1110-feel-contains-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1110-feel-contains-function.dmn index 4ca37b5b590..c04a374a08a 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1110-feel-contains-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1110-feel-contains-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'contains(string, match)' in category string functions - - + + boolean - + boolean - + boolean - + boolean - + boolean - + boolean - + boolean - + boolean - + boolean - + boolean Tests FEEL expression: 'contains(null,null)' and expects result: 'null (boolean)' - + Result of FEEL expression 'contains(null,null)'? null (boolean) - + contains(null,null) - + Tests FEEL expression: 'contains("","ab")' and expects result: 'false (boolean)' - + Result of FEEL expression 'contains("","ab")'? false (boolean) - + contains("","ab") Tests FEEL expression: 'contains("abc","")' and expects result: 'true (boolean)' - + Result of FEEL expression 'contains("abc","")'? true (boolean) - + contains("abc","") Tests FEEL expression: 'contains("","")' and expects result: 'true (boolean)' - + Result of FEEL expression 'contains("","")'? true (boolean) - + contains("","") - Tests FEEL expression: 'contains(string:"foobar",match:"b")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'contains(string:"foobar",match:"b")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains(string:"foobar",match:"b")'? true (boolean) - + contains(string:"foobar",match:"b") - Tests FEEL expression: 'contains(string:"foobar",match:"bar")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'contains(string:"foobar",match:"bar")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains(string:"foobar",match:"bar")'? true (boolean) - + contains(string:"foobar",match:"bar") - Tests FEEL expression: 'contains("bar",null)' and expects result: 'null (boolean)' - + Tests FEEL expression: 'contains("bar",null)' and expects result: 'null (boolean)' + Result of FEEL expression 'contains("bar",null)'? null (boolean) - + contains("bar",null) - Tests FEEL expression: 'contains("foobar","bar")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'contains("foobar","bar")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains("foobar","bar")'? true (boolean) - + contains("foobar","bar") - Tests FEEL expression: 'contains(null,"bar")' and expects result: 'null (boolean)' - + Tests FEEL expression: 'contains(null,"bar")' and expects result: 'null (boolean)' + Result of FEEL expression 'contains(null,"bar")'? null (boolean) - + contains(null,"bar") - Tests FEEL expression: 'contains("foobar","o")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'contains("foobar","o")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains("foobar","o")'? true (boolean) - + contains("foobar","o") @@ -157,117 +254,161 @@ - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1115-feel-date-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1115-feel-date-function.dmn index b787cc7af99..73eab68f40d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1115-feel-date-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1115-feel-date-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'date(from [string])', 'date(from [date and time])' and 'date(year,month,day)' in category conversion functions - - + + FEEL built-in function 'date(from [string])', 'date(from [date and time])' and 'date(year,month,day)' in category conversion functions + + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + string - + string - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + string - + string - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date Tests FEEL expression: 'date("998-12-31")' and expects result: 'null (date)' - + Result of FEEL expression 'date("998-12-31")'? null (date) - + date("998-12-31") Tests FEEL expression: 'date(2017,13,31)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,13,31)'? null (date) - + date(2017,13,31) - Tests FEEL expression: 'date("2017-01-01")' and expects result: '2017-01-01 (date)' - + Tests FEEL expression: 'date("2017-01-01")' and expects result: '2017-01-01 (date)' + Result of FEEL expression 'date("2017-01-01")'? 2017-01-01 (date) - + date("2017-01-01") Tests FEEL expression: 'date("01211-12-31")' and expects result: 'null (date)' - + Result of FEEL expression 'date("01211-12-31")'? null (date) - + date("01211-12-31") - Tests FEEL expression: 'date(date and time("2012-12-25T11:00:00Z"))' and expects result: '2012-12-25 (date)' - + Tests FEEL expression: 'date(date and time("2012-12-25T11:00:00Z"))' and expects result: '2012-12-25 (date)' + Result of FEEL expression 'date(date and time("2012-12-25T11:00:00Z"))'? 2012-12-25 (date) - + date(date and time("2012-12-25T11:00:00Z")) Tests FEEL expression: 'date("+2012-12-02")' and expects result: 'null (date)' - + Result of FEEL expression 'date("+2012-12-02")'? null (date) - + date("+2012-12-02") - Tests FEEL expression: 'date(-2017,01,01)' and expects result: '-2017-01-01 (date)' - + Tests FEEL expression: 'date(-2017,01,01)' and expects result: '-2017-01-01 (date)' + Result of FEEL expression 'date(-2017,01,01)'? -2017-01-01 (date) - + date(-2017,01,01) Tests FEEL expression: 'date(null,null,null)' and expects result: 'null (date)' - + Result of FEEL expression 'date(null,null,null)'? null (date) - + date(null,null,null) Tests FEEL expression: 'date(2017,12,32)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,12,32)'? null (date) - + date(2017,12,32) - Tests FEEL expression: 'date("-2017-12-31")' and expects result: '-2017-12-31 (date)' - + Tests FEEL expression: 'date("-2017-12-31")' and expects result: '-2017-12-31 (date)' + Result of FEEL expression 'date("-2017-12-31")'? -2017-12-31 (date) - + date("-2017-12-31") - + - Tests FEEL expression: 'date("2012T-12-2511:00:00Z")' and expects result: 'null (date)' - + Tests FEEL expression: 'date("2012T-12-2511:00:00Z")' and expects result: 'null (date)' + Result of FEEL expression 'date("2012T-12-2511:00:00Z")'? null (date) - + date("2012T-12-2511:00:00Z") - Tests FEEL expression: 'date(from:date and time("2017-08-30T10:25:00"))' and expects result: '2017-08-30 (date)' - + Tests FEEL expression: 'date(from:date and time("2017-08-30T10:25:00"))' and expects result: '2017-08-30 (date)' + Result of FEEL expression 'date(from:date and time("2017-08-30T10:25:00"))'? 2017-08-30 (date) - + date(from:date and time("2017-08-30T10:25:00")) Tests FEEL expression: 'date(null,null,1)' and expects result: 'null (date)' - + Result of FEEL expression 'date(null,null,1)'? null (date) - + date(null,null,1) - Tests FEEL expression: 'date(-2017,12,31)' and expects result: '-2017-12-31 (date)' - + Tests FEEL expression: 'date(-2017,12,31)' and expects result: '-2017-12-31 (date)' + Result of FEEL expression 'date(-2017,12,31)'? -2017-12-31 (date) - + date(-2017,12,31) - Tests FEEL expression: 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))' and expects result: '2017-09-06 (date)' - + Tests FEEL expression: 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))' and expects result: '2017-09-06 (date)' + Result of FEEL expression 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))'? 2017-09-06 (date) - + date(date and time("2017-09-06T09:45:30@Asia/Dhaka")) Tests FEEL expression: 'date("2012-12-25T")' and expects result: 'null (date)' - + Result of FEEL expression 'date("2012-12-25T")'? null (date) - + date("2012-12-25T") Tests FEEL expression: 'date(2017,-8,2)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,-8,2)'? null (date) - + date(2017,-8,2) Tests FEEL expression: 'date([])' and expects result: 'null (date)' - + Result of FEEL expression 'date([])'? null (date) - + date([]) Tests FEEL expression: 'date(2017,1,null)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,1,null)'? null (date) - + date(2017,1,null) - Tests FEEL expression: 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))' and expects result: '2017-09-03 (date)' - + Tests FEEL expression: 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))' and expects result: '2017-09-03 (date)' + Result of FEEL expression 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))'? 2017-09-03 (date) - + date(date and time("2017-09-03T09:45:30@Europe/Paris")) - Tests FEEL expression: 'date(year:2017,month:08,day:30)' and expects result: '2017-08-30 (date)' - + Tests FEEL expression: 'date(year:2017,month:08,day:30)' and expects result: '2017-08-30 (date)' + Result of FEEL expression 'date(year:2017,month:08,day:30)'? 2017-08-30 (date) - + date(year:2017,month:08,day:30) - Tests FEEL expression: 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))' and expects result: '2017-08-14 (date)' - - Result of FEEL expression 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))'? + Tests FEEL expression: 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))' and expects result: '2017-08-14 (date)' + + Result of FEEL expression 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))'? 2017-08-14 (date) - + date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00"))) - Tests FEEL expression: 'date(date and time("2017-08-03T10:15:30+01:00"))' and expects result: '2017-08-03 (date)' - + Tests FEEL expression: 'date(date and time("2017-08-03T10:15:30+01:00"))' and expects result: '2017-08-03 (date)' + Result of FEEL expression 'date(date and time("2017-08-03T10:15:30+01:00"))'? 2017-08-03 (date) - + date(date and time("2017-08-03T10:15:30+01:00")) Tests FEEL expression: 'date("2017-12-32")' and expects result: 'null (date)' - + Result of FEEL expression 'date("2017-12-32")'? null (date) - + date("2017-12-32") Tests FEEL expression: 'date("0000-12-25T")' and expects result: 'null (date)' - + Result of FEEL expression 'date("0000-12-25T")'? null (date) - + date("0000-12-25T") - Tests FEEL expression: 'string(date(999999999,12,31))' and expects result: '"999999999-12-31" (string)' - + Tests FEEL expression: 'string(date(999999999,12,31))' and expects result: '"999999999-12-31" (string)' + Result of FEEL expression 'string(date(999999999,12,31))'? "999999999-12-31" (string) - + string(date(999999999,12,31)) Tests FEEL expression: 'date()' and expects result: 'null (date)' - + Result of FEEL expression 'date()'? null (date) - + date() - Tests FEEL expression: 'string(date("999999999-12-31"))' and expects result: '"999999999-12-31" (string)' - + Tests FEEL expression: 'string(date("999999999-12-31"))' and expects result: '"999999999-12-31" (string)' + Result of FEEL expression 'string(date("999999999-12-31"))'? "999999999-12-31" (string) - + string(date("999999999-12-31")) Tests FEEL expression: 'date(2017,null,null)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,null,null)'? null (date) - + date(2017,null,null) - Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00"))' and expects result: '2017-08-14 (date)' - + Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00"))' and expects result: '2017-08-14 (date)' + Result of FEEL expression 'date(date and time("2017-08-14T14:25:00"))'? 2017-08-14 (date) - + date(date and time("2017-08-14T14:25:00")) Tests FEEL expression: 'date(null,2,1)' and expects result: 'null (date)' - + Result of FEEL expression 'date(null,2,1)'? null (date) - + date(null,2,1) Tests FEEL expression: 'date("2012/12/25")' and expects result: 'null (date)' - + Result of FEEL expression 'date("2012/12/25")'? null (date) - + date("2012/12/25") Tests FEEL expression: 'date(1000999999,12,32)' and expects result: 'null (date)' - + Result of FEEL expression 'date(1000999999,12,32)'? null (date) - + date(1000999999,12,32) - Tests FEEL expression: 'string(date("-999999999-12-31"))' and expects result: '"-999999999-12-31" (string)' - + Tests FEEL expression: 'string(date("-999999999-12-31"))' and expects result: '"-999999999-12-31" (string)' + Result of FEEL expression 'string(date("-999999999-12-31"))'? "-999999999-12-31" (string) - + string(date("-999999999-12-31")) Tests FEEL expression: 'date(2017,01,01)' and expects result: '2017-01-01 (date)' - + Result of FEEL expression 'date(2017,01,01)'? 2017-01-01 (date) - + date(2017,01,01) Tests FEEL expression: 'date(null,null)' and expects result: 'null (date)' - + Result of FEEL expression 'date(null,null)'? null (date) - + date(null,null) Tests FEEL expression: 'date("")' and expects result: 'null (date)' - + Result of FEEL expression 'date("")'? null (date) - + date("") - Tests FEEL expression: 'date(-1000999999,12,01)' and expects result: 'null (date)' - + Tests FEEL expression: 'date(-1000999999,12,01)' and expects result: 'null (date)' + Result of FEEL expression 'date(-1000999999,12,01)'? null (date) - + date(-1000999999,12,01) - Tests FEEL expression: 'date("9999999999-12-25")' and expects result: 'null (date)' - + Tests FEEL expression: 'date("9999999999-12-25")' and expects result: 'null (date)' + Result of FEEL expression 'date("9999999999-12-25")'? null (date) - + date("9999999999-12-25") Tests FEEL expression: 'date(2017,12,31)' and expects result: '2017-12-31 (date)' - + Result of FEEL expression 'date(2017,12,31)'? 2017-12-31 (date) - + date(2017,12,31) - Tests FEEL expression: 'date(date("2017-10-11"))' and expects result: '2017-10-11 (date)' - + Tests FEEL expression: 'date(date("2017-10-11"))' and expects result: '2017-10-11 (date)' + Result of FEEL expression 'date(date("2017-10-11"))'? 2017-10-11 (date) - + date(date("2017-10-11")) Tests FEEL expression: 'date("2017-13-10")' and expects result: 'null (date)' - + Result of FEEL expression 'date("2017-13-10")'? null (date) - + date("2017-13-10") - Tests FEEL expression: 'date("-2017-01-01")' and expects result: '-2017-01-01 (date)' - + Tests FEEL expression: 'date("-2017-01-01")' and expects result: '-2017-01-01 (date)' + Result of FEEL expression 'date("-2017-01-01")'? -2017-01-01 (date) - + date("-2017-01-01") Tests FEEL expression: 'date(null)' and expects result: 'null (date)' - + Result of FEEL expression 'date(null)'? null (date) - + date(null) Tests FEEL expression: 'date(2017,8,-2)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,8,-2)'? null (date) - + date(2017,8,-2) - Tests FEEL expression: 'date(from:"2012-12-25")' and expects result: '2012-12-25 (date)' - + Tests FEEL expression: 'date(from:"2012-12-25")' and expects result: '2012-12-25 (date)' + Result of FEEL expression 'date(from:"2012-12-25")'? 2012-12-25 (date) - + date(from:"2012-12-25") - Tests FEEL expression: 'string(date(-999999999,12,31))' and expects result: '"-999999999-12-31" (string)' - + Tests FEEL expression: 'string(date(-999999999,12,31))' and expects result: '"-999999999-12-31" (string)' + Result of FEEL expression 'string(date(-999999999,12,31))'? "-999999999-12-31" (string) - + string(date(-999999999,12,31)) Tests FEEL expression: 'date(1)' and expects result: 'null (date)' - + Result of FEEL expression 'date(1)'? null (date) - + date(1) Tests FEEL expression: 'date(null,02,null)' and expects result: 'null (date)' - + Result of FEEL expression 'date(null,02,null)'? null (date) - + date(null,02,null) - Tests FEEL expression: 'date("2017-12-31")' and expects result: '2017-12-31 (date)' - + Tests FEEL expression: 'date("2017-12-31")' and expects result: '2017-12-31 (date)' + Result of FEEL expression 'date("2017-12-31")'? 2017-12-31 (date) - + date("2017-12-31") Tests FEEL expression: 'date(2017,null,1)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,null,1)'? null (date) - + date(2017,null,1) - Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00.123456789"))' and expects result: '2017-08-14 (date)' - + Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00.123456789"))' and expects result: '2017-08-14 (date)' + Result of FEEL expression 'date(date and time("2017-08-14T14:25:00.123456789"))'? 2017-08-14 (date) - + date(date and time("2017-08-14T14:25:00.123456789")) @@ -703,537 +1156,749 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1116-feel-time-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1116-feel-time-function.dmn index b36d7b4b3bd..2eb468f7985 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1116-feel-time-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1116-feel-time-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'time(from [string])', 'time(from [time, date and time])' and 'time(hour,minute,second,offset)' in category conversion functions - - + + FEEL built-in function 'time(from [string])', 'time(from [time, date and time])' and 'time(hour,minute,second,offset)' in category conversion functions + + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + string - + string - + time - + time - + time - + time - + time - + time - + string - + string - + time - + time - + time - + time - + time - + time - + time - + time - + string - + string - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+01:00"))' and expects result: '10:20:00+01:00 (time)' - + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+01:00"))' and expects result: '10:20:00+01:00 (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00+01:00"))'? 10:20:00+01:00 (time) - + time(date and time("2017-08-10T10:20:00+01:00")) Tests FEEL expression: 'time("11:30:00T")' and expects result: 'null (time)' - + Result of FEEL expression 'time("11:30:00T")'? null (time) - + time("11:30:00T") - Tests FEEL expression: 'time(12,null,null,null)' and expects result: 'null (time)' - + Tests FEEL expression: 'time(12,null,null,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(12,null,null,null)'? null (time) - + time(12,null,null,null) - Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M"))' and expects result: '11:59:00-02:01 (time)' - + Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M"))' and expects result: '11:59:00-02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("-PT2H1M"))'? 11:59:00-02:01 (time) - + time(11, 59, 00, duration("-PT2H1M")) Tests FEEL expression: 'time("00:00:00Z")' and expects result: '00:00:00Z (time)' - + Result of FEEL expression 'time("00:00:00Z")'? 00:00:00Z (time) - + time("00:00:00Z") - Tests FEEL expression: 'time("11:22:33.123456789")' and expects result: '11:22:33.123456789 (time)' - + Tests FEEL expression: 'time("11:22:33.123456789")' and expects result: '11:22:33.123456789 (time)' + Result of FEEL expression 'time("11:22:33.123456789")'? 11:22:33.123456789 (time) - + time("11:22:33.123456789") - Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M"))' and expects result: '11:59:00+02:01 (time)' - + Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M"))' and expects result: '11:59:00+02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("PT2H1M"))'? 11:59:00+02:01 (time) - + time(11, 59, 00, duration("PT2H1M")) Tests FEEL expression: 'time("07:1:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("07:1:00")'? null (time) - + time("07:1:00") - Tests FEEL expression: 'time("2012T-12-2511:00:00Z")' and expects result: 'null (time)' - + Tests FEEL expression: 'time("2012T-12-2511:00:00Z")' and expects result: 'null (time)' + Result of FEEL expression 'time("2012T-12-2511:00:00Z")'? null (time) - + time("2012T-12-2511:00:00Z") - Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))' and expects result: '23:59:01 (time)' - - Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))'? + Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))' and expects result: '23:59:01 (time)' + + Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))'? 23:59:01 (time) - + time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))) - + Tests FEEL expression: 'time(null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(null)'? null (time) - + time(null) Tests FEEL expression: 'time("07:2")' and expects result: 'null (time)' - + Result of FEEL expression 'time("07:2")'? null (time) - + time("07:2") - Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' - + Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("PT2H1M0S"))'? 11:59:00+02:01 (time) - + time(11, 59, 00, duration("PT2H1M0S")) - Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))' and expects result: '11:59:00-02:00 (time)' - - Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))'? + Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))' and expects result: '11:59:00-02:00 (time)' + + Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))'? 11:59:00-02:00 (time) - + time(hour:11, minute:59, second:0, offset: duration("-PT2H")) - Tests FEEL expression: 'time("13:20:00@xyz/abc")' and expects result: 'null (time)' - + Tests FEEL expression: 'time("13:20:00@xyz/abc")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00@xyz/abc")'? null (time) - + time("13:20:00@xyz/abc") - Tests FEEL expression: 'time(12,null,null,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(12,null,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(12,null,null,duration("P0D"))'? null (time) - + time(12,null,null,duration("P0D")) Tests FEEL expression: 'time(12,11,null,null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(12,11,null,null)'? null (time) - + time(12,11,null,null) - Tests FEEL expression: 'time(11, 59, 45, duration("-PT2H"))' and expects result: '11:59:45-02:00 (time)' - + Tests FEEL expression: 'time(11, 59, 45, duration("-PT2H"))' and expects result: '11:59:45-02:00 (time)' + Result of FEEL expression 'time(11, 59, 45, duration("-PT2H"))'? 11:59:45-02:00 (time) - + time(11, 59, 45, duration("-PT2H")) - Tests FEEL expression: 'time("13:20:00+02:00")' and expects result: '13:20:00+02:00 (time)' - + Tests FEEL expression: 'time("13:20:00+02:00")' and expects result: '13:20:00+02:00 (time)' + Result of FEEL expression 'time("13:20:00+02:00")'? 13:20:00+02:00 (time) - + time("13:20:00+02:00") - Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' - - Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))'? + Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' + + Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))'? 11:59:00+02:01 (time) - + time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S")) Tests FEEL expression: 'time("07:01:2")' and expects result: 'null (time)' - + Result of FEEL expression 'time("07:01:2")'? null (time) - + time("07:01:2") Tests FEEL expression: 'time("23:59:00Z")' and expects result: '23:59:00Z (time)' - + Result of FEEL expression 'time("23:59:00Z")'? 23:59:00Z (time) - + time("23:59:00Z") - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-00:00"))' and expects result: '10:20:00Z (time)' - + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-00:00"))' and expects result: '10:20:00Z (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00-00:00"))'? 10:20:00Z (time) - + time(date and time("2017-08-10T10:20:00-00:00")) - Tests FEEL expression: 'time(null,null,15,null)' and expects result: 'null (time)' - + Tests FEEL expression: 'time(null,null,15,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,15,null)'? null (time) - + time(null,null,15,null) - Tests FEEL expression: 'time(11, 59, 45, duration("PT2H"))' and expects result: '11:59:45+02:00 (time)' - + Tests FEEL expression: 'time(11, 59, 45, duration("PT2H"))' and expects result: '11:59:45+02:00 (time)' + Result of FEEL expression 'time(11, 59, 45, duration("PT2H"))'? 11:59:45+02:00 (time) - + time(11, 59, 45, duration("PT2H")) Tests FEEL expression: 'time(null,11,45,null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(null,11,45,null)'? null (time) - + time(null,11,45,null) - Tests FEEL expression: 'time("13:20:00-05:00")' and expects result: '13:20:00-05:00 (time)' - + Tests FEEL expression: 'time("13:20:00-05:00")' and expects result: '13:20:00-05:00 (time)' + Result of FEEL expression 'time("13:20:00-05:00")'? 13:20:00-05:00 (time) - + time("13:20:00-05:00") - Tests FEEL expression: 'time(from: "12:45:00")' and expects result: '12:45:00 (time)' - + Tests FEEL expression: 'time(from: "12:45:00")' and expects result: '12:45:00 (time)' + Result of FEEL expression 'time(from: "12:45:00")'? 12:45:00 (time) - + time(from: "12:45:00") - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00Z"))' and expects result: '10:20:00Z (time)' - + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00Z"))' and expects result: '10:20:00Z (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00Z"))'? 10:20:00Z (time) - + time(date and time("2017-08-10T10:20:00Z")) - Tests FEEL expression: 'string(time(11, 59, 45, duration("PT2H45M55S")))' and expects result: '"11:59:45+02:45:55" (string)' - + Tests FEEL expression: 'string(time(11, 59, 45, duration("PT2H45M55S")))' and expects result: '"11:59:45+02:45:55" (string)' + Result of FEEL expression 'string(time(11, 59, 45, duration("PT2H45M55S")))'? "11:59:45+02:45:55" (string) - + string(time(11, 59, 45, duration("PT2H45M55S"))) Tests FEEL expression: 'time("00:00:00")' and expects result: '00:00:00 (time)' - + Result of FEEL expression 'time("00:00:00")'? 00:00:00 (time) - + time("00:00:00") Tests FEEL expression: 'time("24:00:01")' and expects result: 'null (time)' - + Result of FEEL expression 'time("24:00:01")'? null (time) - + time("24:00:01") Tests FEEL expression: 'time("13:20:00-19:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("13:20:00-19:00")'? null (time) - + time("13:20:00-19:00") - Tests FEEL expression: 'time("13:20:00+02:00@Europe/Paris")' and expects result: 'null (time)' - + Tests FEEL expression: 'time("13:20:00+02:00@Europe/Paris")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00+02:00@Europe/Paris")'? null (time) - + time("13:20:00+02:00@Europe/Paris") - Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))' and expects result: '23:59:01.987654321 (time)' - - Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))'? + Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))' and expects result: '23:59:01.987654321 (time)' + + Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))'? 23:59:01.987654321 (time) - + time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))) Tests FEEL expression: 'time(24, 59, 45, null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(24, 59, 45, null)'? null (time) - + time(24, 59, 45, null) - Tests FEEL expression: 'time(12,00,00,null)' and expects result: '12:00:00 (time)' - + Tests FEEL expression: 'time(12,00,00,null)' and expects result: '12:00:00 (time)' + Result of FEEL expression 'time(12,00,00,null)'? 12:00:00 (time) - + time(12,00,00,null) - Tests FEEL expression: 'time(null,11,45,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(null,11,45,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,11,45,duration("P0D"))'? null (time) - + time(null,11,45,duration("P0D")) Tests FEEL expression: 'time("7:00:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("7:00:00")'? null (time) - + time("7:00:00") - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00"))' and expects result: '10:20:00 (time)' - + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00"))' and expects result: '10:20:00 (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00"))'? 10:20:00 (time) - + time(date and time("2017-08-10T10:20:00")) - Tests FEEL expression: 'string(time("00:01:00@Etc/UTC"))' and expects result: '"00:01:00@Etc/UTC" (string)' - + Tests FEEL expression: 'string(time("00:01:00@Etc/UTC"))' and expects result: '"00:01:00@Etc/UTC" (string)' + Result of FEEL expression 'string(time("00:01:00@Etc/UTC"))'? "00:01:00@Etc/UTC" (string) - + string(time("00:01:00@Etc/UTC")) - Tests FEEL expression: 'time(null,null,45,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(null,null,45,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,45,duration("P0D"))'? null (time) - + time(null,null,45,duration("P0D")) Tests FEEL expression: 'time("13:20:00+5:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("13:20:00+5:00")'? null (time) - + time("13:20:00+5:00") - Tests FEEL expression: 'time(11, 59, 45, null)' and expects result: '11:59:45 (time)' - + Tests FEEL expression: 'time(11, 59, 45, null)' and expects result: '11:59:45 (time)' + Result of FEEL expression 'time(11, 59, 45, null)'? 11:59:45 (time) - + time(11, 59, 45, null) - Tests FEEL expression: 'time(null,null,null,null)' and expects result: 'null (time)' - + Tests FEEL expression: 'time(null,null,null,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,null,null)'? null (time) - + time(null,null,null,null) Tests FEEL expression: 'time([])' and expects result: 'null (time)' - + Result of FEEL expression 'time([])'? null (time) - + time([]) - Tests FEEL expression: 'string(time("00:01:00@Europe/Paris"))' and expects result: '"00:01:00@Europe/Paris" (string)' - + Tests FEEL expression: 'string(time("00:01:00@Europe/Paris"))' and expects result: '"00:01:00@Europe/Paris" (string)' + Result of FEEL expression 'string(time("00:01:00@Europe/Paris"))'? "00:01:00@Europe/Paris" (string) - + string(time("00:01:00@Europe/Paris")) Tests FEEL expression: 'time("25:00:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("25:00:00")'? null (time) - + time("25:00:00") - Tests FEEL expression: 'time(11, 59, 45, duration("-PT0H"))' and expects result: '11:59:45Z (time)' - + Tests FEEL expression: 'time(11, 59, 45, duration("-PT0H"))' and expects result: '11:59:45Z (time)' + Result of FEEL expression 'time(11, 59, 45, duration("-PT0H"))'? 11:59:45Z (time) - + time(11, 59, 45, duration("-PT0H")) Tests FEEL expression: 'time(23, 59, 60, null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(23, 59, 60, null)'? null (time) - + time(23, 59, 60, null) - Tests FEEL expression: 'time(date("2017-08-10"))' and expects result: '00:00:00Z (time)' - + Tests FEEL expression: 'time(date("2017-08-10"))' and expects result: '00:00:00Z (time)' + Result of FEEL expression 'time(date("2017-08-10"))'? 00:00:00Z (time) - + time(date("2017-08-10")) - Tests FEEL expression: 'time("11:22:33+00:00")' and expects result: '11:22:33Z (time)' - + Tests FEEL expression: 'time("11:22:33+00:00")' and expects result: '11:22:33Z (time)' + Result of FEEL expression 'time("11:22:33+00:00")'? 11:22:33Z (time) - + time("11:22:33+00:00") - Tests FEEL expression: 'time(null,null,null,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(null,null,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,null,duration("P0D"))'? null (time) - + time(null,null,null,duration("P0D")) - Tests FEEL expression: 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))' and expects result: '"11:20:00@Asia/Dhaka" (string)' - - Result of FEEL expression 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))'? + Tests FEEL expression: 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))' and expects result: '"11:20:00@Asia/Dhaka" (string)' + + Result of FEEL expression 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))'? "11:20:00@Asia/Dhaka" (string) - + string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka"))) Tests FEEL expression: 'time("13:20:00+5")' and expects result: 'null (time)' - + Result of FEEL expression 'time("13:20:00+5")'? null (time) - + time("13:20:00+5") - Tests FEEL expression: 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))' and expects result: '"10:20:00@Europe/Paris" (string)' - - Result of FEEL expression 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))'? + Tests FEEL expression: 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))' and expects result: '"10:20:00@Europe/Paris" (string)' + + Result of FEEL expression 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))'? "10:20:00@Europe/Paris" (string) - + string(time(date and time("2017-08-10T10:20:00@Europe/Paris"))) Tests FEEL expression: 'time("")' and expects result: 'null (time)' - + Result of FEEL expression 'time("")'? null (time) - + time("") - Tests FEEL expression: 'time(12,0,null,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(12,0,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(12,0,null,duration("P0D"))'? null (time) - + time(12,0,null,duration("P0D")) - Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))' and expects result: '09:15:30Z (time)' - - Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))'? + Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))' and expects result: '09:15:30Z (time)' + + Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))'? 09:15:30Z (time) - + time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))) Tests FEEL expression: 'time(23, 60, 45, null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(23, 60, 45, null)'? null (time) - + time(23, 60, 45, null) Tests FEEL expression: 'time("00:60:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("00:60:00")'? null (time) - + time("00:60:00") Tests FEEL expression: 'time("01:02:03")' and expects result: '01:02:03 (time)' - + Result of FEEL expression 'time("01:02:03")'? 01:02:03 (time) - + time("01:02:03") Tests FEEL expression: 'time("00:00:61")' and expects result: 'null (time)' - + Result of FEEL expression 'time("00:00:61")'? null (time) - + time("00:00:61") Tests FEEL expression: 'time("11:00:00Z")' and expects result: '11:00:00Z (time)' - + Result of FEEL expression 'time("11:00:00Z")'? 11:00:00Z (time) - + time("11:00:00Z") - Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M0S"))' and expects result: '11:59:00-02:01 (time)' - + Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M0S"))' and expects result: '11:59:00-02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("-PT2H1M0S"))'? 11:59:00-02:01 (time) - + time(11, 59, 00, duration("-PT2H1M0S")) Tests FEEL expression: 'time("13:20:00+19:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("13:20:00+19:00")'? null (time) - + time("13:20:00+19:00") Tests FEEL expression: 'time("23:59:60")' and expects result: 'null (time)' - + Result of FEEL expression 'time("23:59:60")'? null (time) - + time("23:59:60") Tests FEEL expression: 'time("7:20")' and expects result: 'null (time)' - + Result of FEEL expression 'time("7:20")'? null (time) - + time("7:20") - Tests FEEL expression: 'time(12,null,45,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(12,null,45,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(12,null,45,duration("P0D"))'? null (time) - + time(12,null,45,duration("P0D")) Tests FEEL expression: 'time()' and expects result: 'null (time)' - + Result of FEEL expression 'time()'? null (time) - + time() - Tests FEEL expression: 'time(-24, 59, 45, null)' and expects result: 'null (time)' - + Tests FEEL expression: 'time(-24, 59, 45, null)' and expects result: 'null (time)' + Result of FEEL expression 'time(-24, 59, 45, null)'? null (time) - + time(-24, 59, 45, null) - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+00:00"))' and expects result: '10:20:00Z (time)' - + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+00:00"))' and expects result: '10:20:00Z (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00+00:00"))'? 10:20:00Z (time) - + time(date and time("2017-08-10T10:20:00+00:00")) - Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))' and expects result: '09:15:30+02:00 (time)' - - Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))'? + Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))' and expects result: '09:15:30+02:00 (time)' + + Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))'? 09:15:30+02:00 (time) - + time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))) - Tests FEEL expression: 'time(null,11,null,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(null,11,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,11,null,duration("P0D"))'? null (time) - + time(null,11,null,duration("P0D")) Tests FEEL expression: 'time(null,0,null,null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(null,0,null,null)'? null (time) - + time(null,0,null,null) - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-01:00"))' and expects result: '10:20:00-01:00 (time)' - + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-01:00"))' and expects result: '10:20:00-01:00 (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00-01:00"))'? 10:20:00-01:00 (time) - + time(date and time("2017-08-10T10:20:00-01:00")) - Tests FEEL expression: 'time(11, 59, 45, duration("PT0H"))' and expects result: '11:59:45Z (time)' - + Tests FEEL expression: 'time(11, 59, 45, duration("PT0H"))' and expects result: '11:59:45Z (time)' + Result of FEEL expression 'time(11, 59, 45, duration("PT0H"))'? 11:59:45Z (time) - + time(11, 59, 45, duration("PT0H")) - Tests FEEL expression: 'string(time(11, 59, 45, duration("-PT2H45M55S")))' and expects result: '"11:59:45-02:45:55" (string)' - + Tests FEEL expression: 'string(time(11, 59, 45, duration("-PT2H45M55S")))' and expects result: '"11:59:45-02:45:55" (string)' + Result of FEEL expression 'string(time(11, 59, 45, duration("-PT2H45M55S")))'? "11:59:45-02:45:55" (string) - + string(time(11, 59, 45, duration("-PT2H45M55S"))) Tests FEEL expression: 'time("24:01:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("24:01:00")'? null (time) - + time("24:01:00") - Tests FEEL expression: 'time("11:22:33-00:00")' and expects result: '11:22:33Z (time)' - + Tests FEEL expression: 'time("11:22:33-00:00")' and expects result: '11:22:33Z (time)' + Result of FEEL expression 'time("11:22:33-00:00")'? 11:22:33Z (time) - + time("11:22:33-00:00") Tests FEEL expression: 'time(2017)' and expects result: 'null (time)' - + Result of FEEL expression 'time(2017)'? null (time) - + time(2017) - Tests FEEL expression: 'time(from:date and time("2012-12-24T23:59:00"))' and expects result: '23:59:00 (time)' - + Tests FEEL expression: 'time(from:date and time("2012-12-24T23:59:00"))' and expects result: '23:59:00 (time)' + Result of FEEL expression 'time(from:date and time("2012-12-24T23:59:00"))'? 23:59:00 (time) - + time(from:date and time("2012-12-24T23:59:00")) - Tests FEEL expression: 'time("11:22:33.444")' and expects result: '11:22:33.444 (time)' - + Tests FEEL expression: 'time("11:22:33.444")' and expects result: '11:22:33.444 (time)' + Result of FEEL expression 'time("11:22:33.444")'? 11:22:33.444 (time) - + time("11:22:33.444") @@ -1106,847 +1841,1183 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1117-feel-date-and-time-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1117-feel-date-and-time-function.dmn index d1221304813..1bcdd6f4b87 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1117-feel-date-and-time-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1117-feel-date-and-time-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'date and time(from [string])' and 'date and time(date, time)' in category conversion functions - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - + + FEEL built-in function 'date and time(from [string])' and 'date and time(date, time)' in category conversion functions + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + string - + string - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + string - + string - + string - + string - + string - + string - + dateTime - + dateTime - + dateTime - + string - + string - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + string - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + string - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + string - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - Tests FEEL expression: 'date and time("11:00:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("11:00:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("11:00:00")'? null (date and time) - + date and time("11:00:00") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.123456789")' and expects result: '2017-12-31T11:22:33.123456789 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.123456789")' and expects result: '2017-12-31T11:22:33.123456789 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.123456789")'? 2017-12-31T11:22:33.123456789 (date and time) - + date and time("2017-12-31T11:22:33.123456789") - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))' and expects result: '"2011-12-31T10:15:30@Etc/UTC" (string)' - + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))' and expects result: '"2011-12-31T10:15:30@Etc/UTC" (string)' + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))'? "2011-12-31T10:15:30@Etc/UTC" (string) - + string(date and time("2011-12-31T10:15:30@Etc/UTC")) - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))'? + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))'? 2017-08-10T23:59:01.987654321 (date and time) - + date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321")) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))'? 2017-09-05T09:15:30.987654321+02:00 (date and time) - + date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00")) - Tests FEEL expression: 'date and time(null)' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time(null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(null)'? null (date and time) - + date and time(null) - Tests FEEL expression: 'date and time(from:"2012-12-24T23:59:00")' and expects result: '2012-12-24T23:59:00 (date and time)' - + Tests FEEL expression: 'date and time(from:"2012-12-24T23:59:00")' and expects result: '2012-12-24T23:59:00 (date and time)' + Result of FEEL expression 'date and time(from:"2012-12-24T23:59:00")'? 2012-12-24T23:59:00 (date and time) - + date and time(from:"2012-12-24T23:59:00") - Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01.123456789@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))'? + Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01.123456789@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))'? "2017-01-01T23:59:01.123456789@Europe/Paris" (string) - + string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris"))) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))'? 2017-09-05T09:15:30.987654321+02:00 (date and time) - + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00")) - Tests FEEL expression: 'date and time("+99999-12-01T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("+99999-12-01T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("+99999-12-01T11:22:33")'? null (date and time) - + date and time("+99999-12-01T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+5:00")'? null (date and time) - + date and time("2017-12-31T13:20:00+5:00") - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))'? + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))'? 2017-08-10T23:59:01.987654321 (date and time) - + date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321")) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))'? 2017-09-05T09:15:30.123456Z (date and time) - + date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z")) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))'? 2017-09-05T09:15:30+02:00 (date and time) - + date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00")) - Tests FEEL expression: 'date and time("2017-12-31T00:00:61")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T00:00:61")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T00:00:61")'? null (date and time) - + date and time("2017-12-31T00:00:61") - Tests FEEL expression: 'date and time(date:date("2017-01-01"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' - - Result of FEEL expression 'date and time(date:date("2017-01-01"),time:time("23:59:01"))'? + Tests FEEL expression: 'date and time(date:date("2017-01-01"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' + + Result of FEEL expression 'date and time(date:date("2017-01-01"),time:time("23:59:01"))'? 2017-01-01T23:59:01 (date and time) - + date and time(date:date("2017-01-01"),time:time("23:59:01")) - + - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30@Europe/Paris" (string)' - + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))'? "2011-12-31T10:15:30@Europe/Paris" (string) - + string(date and time("2011-12-31T10:15:30@Europe/Paris")) - Tests FEEL expression: 'date and time("2011-12-0310:15:30")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2011-12-0310:15:30")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2011-12-0310:15:30")'? null (date and time) - + date and time("2011-12-0310:15:30") - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))'? 2017-09-05T09:15:30+02:00 (date and time) - + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00")) - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+5")'? null (date and time) - + date and time("2017-12-31T13:20:00+5") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33Z")' and expects result: '2017-12-31T11:22:33Z (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33Z")' and expects result: '2017-12-31T11:22:33Z (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33Z")'? 2017-12-31T11:22:33Z (date and time) - + date and time("2017-12-31T11:22:33Z") - Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))'? + Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))'? "2017-01-01T23:59:01@Europe/Paris" (string) - + string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris"))) - Tests FEEL expression: 'date and time("01211-12-31T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("01211-12-31T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("01211-12-31T11:22:33")'? null (date and time) - + date and time("01211-12-31T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T24:01:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T24:01:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T24:01:00")'? null (date and time) - + date and time("2017-12-31T24:01:00") - Tests FEEL expression: 'date and time(date("2017-08-10"),null)' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time(date("2017-08-10"),null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(date("2017-08-10"),null)'? null (date and time) - + date and time(date("2017-08-10"),null) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))'? 2017-09-05T09:15:30.123456Z (date and time) - + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z")) - Tests FEEL expression: 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")'? null (date and time) - + date and time("2011-12-03T10:15:30+01:00@Europe/Paris") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.456+01:35")' and expects result: '2017-12-31T11:22:33.456+01:35 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.456+01:35")' and expects result: '2017-12-31T11:22:33.456+01:35 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.456+01:35")'? 2017-12-31T11:22:33.456+01:35 (date and time) - + date and time("2017-12-31T11:22:33.456+01:35") - Tests FEEL expression: 'date and time(2017)' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time(2017)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(2017)'? null (date and time) - + date and time(2017) - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.567Z")' and expects result: '2017-12-31T11:22:33.567Z (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.567Z")' and expects result: '2017-12-31T11:22:33.567Z (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.567Z")'? 2017-12-31T11:22:33.567Z (date and time) - + date and time("2017-12-31T11:22:33.567Z") - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")'? null (date and time) - + date and time("2017-12-31T13:20:00+02:00@Europe/Paris") - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))'? 2017-09-05T09:15:30Z (date and time) - + date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z")) - Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01+02:00"))' and expects result: '2017-01-01T23:59:01+02:00 (date and time)' - + Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01+02:00"))' and expects result: '2017-01-01T23:59:01+02:00 (date and time)' + Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01+02:00"))'? 2017-01-01T23:59:01+02:00 (date and time) - + date and time(date("2017-01-01"),time("23:59:01+02:00")) - Tests FEEL expression: 'date and time("2017-12-31T00:00:00")' and expects result: '2017-12-31T00:00:00 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T00:00:00")' and expects result: '2017-12-31T00:00:00 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T00:00:00")'? 2017-12-31T00:00:00 (date and time) - + date and time("2017-12-31T00:00:00") - Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))'? + Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))'? "2017-09-05T09:15:30.987654321@Europe/Paris" (string) - + - string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris"))) + string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris"))) - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+05:0")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+05:0")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+05:0")'? null (date and time) - + date and time("2017-12-31T13:20:00+05:0") - Tests FEEL expression: 'date and time("2017-12-31T07:2")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T07:2")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T07:2")'? null (date and time) - + date and time("2017-12-31T07:2") - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))'? 2017-09-05T09:15:30+02:00 (date and time) - + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))'? 2017-09-05T09:15:30.987654321+02:00 (date and time) - + - date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00")) + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00")) - Tests FEEL expression: 'date and time("2017-12-31T07:1:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T07:1:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T07:1:00")'? null (date and time) - + date and time("2017-12-31T07:1:00") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33-02:00")' and expects result: '2017-12-31T11:22:33-02:00 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33-02:00")' and expects result: '2017-12-31T11:22:33-02:00 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33-02:00")'? 2017-12-31T11:22:33-02:00 (date and time) - + date and time("2017-12-31T11:22:33-02:00") - Tests FEEL expression: 'date and time(null,null)' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time(null,null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(null,null)'? null (date and time) - + date and time(null,null) - Tests FEEL expression: 'date and time("")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("")'? null (date and time) - + date and time("") - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))'? + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))'? 2017-08-10T23:59:01 (date and time) - + date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01")) - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.123456789@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))'? + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.123456789@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))'? "2011-12-31T10:15:30.123456789@Europe/Paris" (string) - + string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris")) - Tests FEEL expression: 'date and time("2017-13-0T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-13-0T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-13-0T11:22:33")'? null (date and time) - + date and time("2017-13-0T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.345")' and expects result: '2017-12-31T11:22:33.345 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.345")' and expects result: '2017-12-31T11:22:33.345 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.345")'? 2017-12-31T11:22:33.345 (date and time) - + date and time("2017-12-31T11:22:33.345") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:35")' and expects result: '2017-12-31T11:22:33+01:35 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:35")' and expects result: '2017-12-31T11:22:33+01:35 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33+01:35")'? 2017-12-31T11:22:33+01:35 (date and time) - + date and time("2017-12-31T11:22:33+01:35") - Tests FEEL expression: 'date and time("2017-00-10T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-00-10T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-00-10T11:22:33")'? null (date and time) - + date and time("2017-00-10T11:22:33") - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))'? 2017-09-05T09:15:30.123456Z (date and time) - + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z")) - Tests FEEL expression: 'date and time("2017-12-31T00:60:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T00:60:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T00:60:00")'? null (date and time) - + date and time("2017-12-31T00:60:00") - Tests FEEL expression: 'date and time("2017-12-31T13:20:00@xyz/abc")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00@xyz/abc")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00@xyz/abc")'? null (date and time) - + date and time("2017-12-31T13:20:00@xyz/abc") - Tests FEEL expression: 'date and time("2017-13-10T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-13-10T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-13-10T11:22:33")'? null (date and time) - + date and time("2017-13-10T11:22:33") - Tests FEEL expression: 'date and time("-2017-12-31T11:22:33")' and expects result: '-2017-12-31T11:22:33 (date and time)' - + Tests FEEL expression: 'date and time("-2017-12-31T11:22:33")' and expects result: '-2017-12-31T11:22:33 (date and time)' + Result of FEEL expression 'date and time("-2017-12-31T11:22:33")'? -2017-12-31T11:22:33 (date and time) - + date and time("-2017-12-31T11:22:33") - Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' - + Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01"))'? 2017-01-01T23:59:01 (date and time) - + date and time(date("2017-01-01"),time("23:59:01")) - Tests FEEL expression: 'date and time(null,time("23:59:01"))' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time(null,time("23:59:01"))' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(null,time("23:59:01"))'? null (date and time) - + date and time(null,time("23:59:01")) - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))'? + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))'? 2017-08-10T23:59:01 (date and time) - + date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")) - Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))'? + Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))'? "2017-09-05T09:15:30.987654321@Europe/Paris" (string) - + - string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris"))) + string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris"))) - Tests FEEL expression: 'date and time("2017-12-31T11:22:33-01:35")' and expects result: '2017-12-31T11:22:33-01:35 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33-01:35")' and expects result: '2017-12-31T11:22:33-01:35 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33-01:35")'? 2017-12-31T11:22:33-01:35 (date and time) - + date and time("2017-12-31T11:22:33-01:35") - Tests FEEL expression: 'date and time("2017-12-31T25:00:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T25:00:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T25:00:00")'? null (date and time) - + date and time("2017-12-31T25:00:00") - Tests FEEL expression: 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))' and expects result: '"-999999999-12-31T23:59:59.999999999+02:00" (string)' - - Result of FEEL expression 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))'? + Tests FEEL expression: 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))' and expects result: '"-999999999-12-31T23:59:59.999999999+02:00" (string)' + + Result of FEEL expression 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))'? "-999999999-12-31T23:59:59.999999999+02:00" (string) - + string(date and time("-999999999-12-31T23:59:59.999999999+02:00")) - Tests FEEL expression: 'string(date and time("99999-12-31T11:22:33"))' and expects result: '"99999-12-31T11:22:33" (string)' - + Tests FEEL expression: 'string(date and time("99999-12-31T11:22:33"))' and expects result: '"99999-12-31T11:22:33" (string)' + Result of FEEL expression 'string(date and time("99999-12-31T11:22:33"))'? "99999-12-31T11:22:33" (string) - + string(date and time("99999-12-31T11:22:33")) - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+19:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+19:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+19:00")'? null (date and time) - + date and time("2017-12-31T13:20:00+19:00") - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))'? + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))'? 2017-08-10T23:59:01.987654321 (date and time) - + date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")) - Tests FEEL expression: 'date and time("2012-12-24")' and expects result: '2012-12-24T00:00:00 (date and time)' - + Tests FEEL expression: 'date and time("2012-12-24")' and expects result: '2012-12-24T00:00:00 (date and time)' + Result of FEEL expression 'date and time("2012-12-24")'? 2012-12-24T00:00:00 (date and time) - + date and time("2012-12-24") - Tests FEEL expression: 'date and time("2017-12-31T7:00:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T7:00:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T7:00:00")'? null (date and time) - + date and time("2017-12-31T7:00:00") - Tests FEEL expression: 'date and time("2017-12-31T7:20")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T7:20")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T7:20")'? null (date and time) - + date and time("2017-12-31T7:20") - Tests FEEL expression: 'date and time([])' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time([])' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time([])'? null (date and time) - + date and time([]) - Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))'? + Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))'? "2017-09-05T09:15:30.987654321@Europe/Paris" (string) - + - string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris"))) + string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris"))) - Tests FEEL expression: 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))' and expects result: '"999999999-12-31T23:59:59.999999999@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))'? + Tests FEEL expression: 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))' and expects result: '"999999999-12-31T23:59:59.999999999@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))'? "999999999-12-31T23:59:59.999999999@Europe/Paris" (string) - + string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris")) - Tests FEEL expression: 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' - - Result of FEEL expression 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))'? + Tests FEEL expression: 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' + + Result of FEEL expression 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))'? 2017-01-01T23:59:01 (date and time) - + date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01")) - Tests FEEL expression: 'string(date and time("-99999-12-31T11:22:33"))' and expects result: '"-99999-12-31T11:22:33" (string)' - + Tests FEEL expression: 'string(date and time("-99999-12-31T11:22:33"))' and expects result: '"-99999-12-31T11:22:33" (string)' + Result of FEEL expression 'string(date and time("-99999-12-31T11:22:33"))'? "-99999-12-31T11:22:33" (string) - + string(date and time("-99999-12-31T11:22:33")) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))'? 2017-09-05T09:15:30Z (date and time) - + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z")) - Tests FEEL expression: 'date and time()' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time()' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time()'? null (date and time) - + date and time() - Tests FEEL expression: 'date and time("998-12-31T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("998-12-31T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("998-12-31T11:22:33")'? null (date and time) - + date and time("998-12-31T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T13:20:00-19:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00-19:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00-19:00")'? null (date and time) - + date and time("2017-12-31T13:20:00-19:00") - Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01Z"))' and expects result: '2017-01-01T23:59:01Z (date and time)' - + Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01Z"))' and expects result: '2017-01-01T23:59:01Z (date and time)' + Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01Z"))'? 2017-01-01T23:59:01Z (date and time) - + date and time(date("2017-01-01"),time("23:59:01Z")) - Tests FEEL expression: 'date and time("2017-13-32T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-13-32T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-13-32T11:22:33")'? null (date and time) - + date and time("2017-13-32T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T24:00:01")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T24:00:01")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T24:00:01")'? null (date and time) - + date and time("2017-12-31T24:00:01") - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.987@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))'? + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.987@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))'? "2011-12-31T10:15:30.987@Europe/Paris" (string) - + string(date and time("2011-12-31T10:15:30.987@Europe/Paris")) - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),null)' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),null)'? null (date and time) - + date and time(date and time("2017-08-10T10:20:00"),null) - Tests FEEL expression: 'date and time("-2017-12-31T11:22:33.456+01:35")' and expects result: '-2017-12-31T11:22:33.456+01:35 (date and time)' - + Tests FEEL expression: 'date and time("-2017-12-31T11:22:33.456+01:35")' and expects result: '-2017-12-31T11:22:33.456+01:35 (date and time)' + Result of FEEL expression 'date and time("-2017-12-31T11:22:33.456+01:35")'? -2017-12-31T11:22:33.456+01:35 (date and time) - + date and time("-2017-12-31T11:22:33.456+01:35") - Tests FEEL expression: 'date and time("9999999999-12-27T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("9999999999-12-27T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("9999999999-12-27T11:22:33")'? null (date and time) - + date and time("9999999999-12-27T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:00")' and expects result: '2017-12-31T11:22:33+01:00 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:00")' and expects result: '2017-12-31T11:22:33+01:00 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33+01:00")'? 2017-12-31T11:22:33+01:00 (date and time) - + date and time("2017-12-31T11:22:33+01:00") - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))'? 2017-09-05T09:15:30Z (date and time) - + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")) - Tests FEEL expression: 'date and time("2017-12-31T11:22:33")' and expects result: '2017-12-31T11:22:33 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33")' and expects result: '2017-12-31T11:22:33 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33")'? 2017-12-31T11:22:33 (date and time) - + date and time("2017-12-31T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T07:01:2")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T07:01:2")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T07:01:2")'? null (date and time) - + date and time("2017-12-31T07:01:2") - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))'? + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))'? 2017-08-10T23:59:01 (date and time) - + date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01")) @@ -1171,897 +2008,1253 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1120-feel-duration-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1120-feel-duration-function.dmn index 3f2d4d38936..a31aadfb385 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1120-feel-duration-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1120-feel-duration-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'duration(from [String])' in category conversion functions - - - - + + + + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + dayTimeDuration - + yearMonthDuration - - - - - - - - - - + + + + + + + + + + Tests FEEL expression: 'duration("1Y")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("1Y")'? null (null) - + duration("1Y") - Tests FEEL expression: 'duration("PT24H")' and expects result: 'P1D (days and time duration)' - + Tests FEEL expression: 'duration("PT24H")' and expects result: 'P1D (days and time duration)' + Result of FEEL expression 'duration("PT24H")'? P1D (days and time duration) - + duration("PT24H") - Tests FEEL expression: 'duration("PT240H")' and expects result: 'P10D (days and time duration)' - + Tests FEEL expression: 'duration("PT240H")' and expects result: 'P10D (days and time duration)' + Result of FEEL expression 'duration("PT240H")'? P10D (days and time duration) - + duration("PT240H") - Tests FEEL expression: 'duration("-P999999999M")' and expects result: '-P83333333Y3M (years and months duration)' - + Tests FEEL expression: 'duration("-P999999999M")' and expects result: '-P83333333Y3M (years and months duration)' + Result of FEEL expression 'duration("-P999999999M")'? -P83333333Y3M (years and months duration) - + duration("-P999999999M") Tests FEEL expression: 'duration()' and expects result: 'null (null)' - + Result of FEEL expression 'duration()'? null (null) - + duration() Tests FEEL expression: 'duration("P0")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("P0")'? null (null) - + duration("P0") - Tests FEEL expression: 'duration("PT61M")' and expects result: 'PT1H1M (days and time duration)' - + Tests FEEL expression: 'duration("PT61M")' and expects result: 'PT1H1M (days and time duration)' + Result of FEEL expression 'duration("PT61M")'? PT1H1M (days and time duration) - + duration("PT61M") Tests FEEL expression: 'duration(2017)' and expects result: 'null (null)' - + Result of FEEL expression 'duration(2017)'? null (null) - + duration(2017) - Tests FEEL expression: 'duration("P999999999M")' and expects result: 'P83333333Y3M (years and months duration)' - + Tests FEEL expression: 'duration("P999999999M")' and expects result: 'P83333333Y3M (years and months duration)' + Result of FEEL expression 'duration("P999999999M")'? P83333333Y3M (years and months duration) - + duration("P999999999M") Tests FEEL expression: 'duration("P1S")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("P1S")'? null (null) - + duration("P1S") - Tests FEEL expression: 'duration("PT0.000S")' and expects result: 'PT0S (days and time duration)' - + Tests FEEL expression: 'duration("PT0.000S")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0.000S")'? PT0S (days and time duration) - + duration("PT0.000S") - Tests FEEL expression: 'duration("P1Y27M")' and expects result: 'P3Y3M (years and months duration)' - + Tests FEEL expression: 'duration("P1Y27M")' and expects result: 'P3Y3M (years and months duration)' + Result of FEEL expression 'duration("P1Y27M")'? P3Y3M (years and months duration) - + duration("P1Y27M") Tests FEEL expression: 'duration("")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("")'? null (null) - + duration("") - Tests FEEL expression: 'duration("P0Y")' and expects result: 'P0M (years and months duration)' - + Tests FEEL expression: 'duration("P0Y")' and expects result: 'P0M (years and months duration)' + Result of FEEL expression 'duration("P0Y")'? P0M (years and months duration) - + duration("P0Y") - Tests FEEL expression: 'duration("-P100M")' and expects result: '-P8Y4M (years and months duration)' - + Tests FEEL expression: 'duration("-P100M")' and expects result: '-P8Y4M (years and months duration)' + Result of FEEL expression 'duration("-P100M")'? -P8Y4M (years and months duration) - + duration("-P100M") - Tests FEEL expression: 'duration("P99999999Y")' and expects result: 'P99999999Y (years and months duration)' - + Tests FEEL expression: 'duration("P99999999Y")' and expects result: 'P99999999Y (years and months duration)' + Result of FEEL expression 'duration("P99999999Y")'? P99999999Y (years and months duration) - + duration("P99999999Y") - Tests FEEL expression: 'duration("PT0S")' and expects result: 'PT0S (days and time duration)' - + Tests FEEL expression: 'duration("PT0S")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0S")'? PT0S (days and time duration) - + duration("PT0S") - Tests FEEL expression: 'duration("PT1000M0.999999999S")' and expects result: 'PT16H40M0.999999999S (days and time duration)' - + Tests FEEL expression: 'duration("PT1000M0.999999999S")' and expects result: 'PT16H40M0.999999999S (days and time duration)' + Result of FEEL expression 'duration("PT1000M0.999999999S")'? PT16H40M0.999999999S (days and time duration) - + duration("PT1000M0.999999999S") - Tests FEEL expression: 'duration("PT3600S")' and expects result: 'PT1H (days and time duration)' - + Tests FEEL expression: 'duration("PT3600S")' and expects result: 'PT1H (days and time duration)' + Result of FEEL expression 'duration("PT3600S")'? PT1H (days and time duration) - + duration("PT3600S") - Tests FEEL expression: 'duration("PT2H")' and expects result: 'PT2H (days and time duration)' - + Tests FEEL expression: 'duration("PT2H")' and expects result: 'PT2H (days and time duration)' + Result of FEEL expression 'duration("PT2H")'? PT2H (days and time duration) - + duration("PT2H") Tests FEEL expression: 'duration([])' and expects result: 'null (null)' - + Result of FEEL expression 'duration([])'? null (null) - + duration([]) Tests FEEL expression: 'duration("1D")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("1D")'? null (null) - + duration("1D") - Tests FEEL expression: 'duration("-PT1H2M")' and expects result: '-PT1H2M (days and time duration)' - + Tests FEEL expression: 'duration("-PT1H2M")' and expects result: '-PT1H2M (days and time duration)' + Result of FEEL expression 'duration("-PT1H2M")'? -PT1H2M (days and time duration) - + duration("-PT1H2M") - Tests FEEL expression: 'duration("PT4S")' and expects result: 'PT4S (days and time duration)' - + Tests FEEL expression: 'duration("PT4S")' and expects result: 'PT4S (days and time duration)' + Result of FEEL expression 'duration("PT4S")'? PT4S (days and time duration) - + duration("PT4S") - Tests FEEL expression: 'duration(from:"PT24H")' and expects result: 'P1D (days and time duration)' - + Tests FEEL expression: 'duration(from:"PT24H")' and expects result: 'P1D (days and time duration)' + Result of FEEL expression 'duration(from:"PT24H")'? P1D (days and time duration) - + duration(from:"PT24H") - Tests FEEL expression: 'duration("P100M")' and expects result: 'P8Y4M (years and months duration)' - + Tests FEEL expression: 'duration("P100M")' and expects result: 'P8Y4M (years and months duration)' + Result of FEEL expression 'duration("P100M")'? P8Y4M (years and months duration) - + duration("P100M") - Tests FEEL expression: 'duration("PT1000M")' and expects result: 'PT16H40M (days and time duration)' - + Tests FEEL expression: 'duration("PT1000M")' and expects result: 'PT16H40M (days and time duration)' + Result of FEEL expression 'duration("PT1000M")'? PT16H40M (days and time duration) - + duration("PT1000M") - Tests FEEL expression: 'duration("2012T-12-2511:00:00Z")' and expects result: 'null (null)' - + Tests FEEL expression: 'duration("2012T-12-2511:00:00Z")' and expects result: 'null (null)' + Result of FEEL expression 'duration("2012T-12-2511:00:00Z")'? null (null) - + duration("2012T-12-2511:00:00Z") - Tests FEEL expression: 'duration("P0D")' and expects result: 'PT0S (days and time duration)' - + Tests FEEL expression: 'duration("P0D")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("P0D")'? PT0S (days and time duration) - + duration("P0D") - Tests FEEL expression: 'duration("P1Y2M")' and expects result: 'P1Y2M (years and months duration)' - + Tests FEEL expression: 'duration("P1Y2M")' and expects result: 'P1Y2M (years and months duration)' + Result of FEEL expression 'duration("P1Y2M")'? P1Y2M (years and months duration) - + duration("P1Y2M") - Tests FEEL expression: 'duration("PT0.999S")' and expects result: 'PT0.999S (days and time duration)' - + Tests FEEL expression: 'duration("PT0.999S")' and expects result: 'PT0.999S (days and time duration)' + Result of FEEL expression 'duration("PT0.999S")'? PT0.999S (days and time duration) - + duration("PT0.999S") Tests FEEL expression: 'duration(null)' and expects result: 'null (null)' - + Result of FEEL expression 'duration(null)'? null (null) - + duration(null) - Tests FEEL expression: 'duration("-P1Y")' and expects result: '-P1Y (years and months duration)' - + Tests FEEL expression: 'duration("-P1Y")' and expects result: '-P1Y (years and months duration)' + Result of FEEL expression 'duration("-P1Y")'? -P1Y (years and months duration) - + duration("-P1Y") - Tests FEEL expression: 'duration(from:"P1Y")' and expects result: 'P1Y (years and months duration)' - + Tests FEEL expression: 'duration(from:"P1Y")' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'duration(from:"P1Y")'? P1Y (years and months duration) - + duration(from:"P1Y") - Tests FEEL expression: 'duration("PT0H")' and expects result: 'PT0S (days and time duration)' - + Tests FEEL expression: 'duration("PT0H")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0H")'? PT0S (days and time duration) - + duration("PT0H") - + - Tests FEEL expression: 'duration("PT555M")' and expects result: 'PT9H15M (days and time duration)' - + Tests FEEL expression: 'duration("PT555M")' and expects result: 'PT9H15M (days and time duration)' + Result of FEEL expression 'duration("PT555M")'? PT9H15M (days and time duration) - + duration("PT555M") - Tests FEEL expression: 'duration("P0M")' and expects result: 'P0M (years and months duration)' - + Tests FEEL expression: 'duration("P0M")' and expects result: 'P0M (years and months duration)' + Result of FEEL expression 'duration("P0M")'? P0M (years and months duration) - + duration("P0M") - Tests FEEL expression: 'duration("P2DT274M")' and expects result: 'P2DT4H34M (days and time duration)' - + Tests FEEL expression: 'duration("P2DT274M")' and expects result: 'P2DT4H34M (days and time duration)' + Result of FEEL expression 'duration("P2DT274M")'? P2DT4H34M (days and time duration) - + duration("P2DT274M") - Tests FEEL expression: 'duration("P26M")' and expects result: 'P2Y2M (years and months duration)' - + Tests FEEL expression: 'duration("P26M")' and expects result: 'P2Y2M (years and months duration)' + Result of FEEL expression 'duration("P26M")'? P2Y2M (years and months duration) - + duration("P26M") Tests FEEL expression: 'duration("P1H")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("P1H")'? null (null) - + duration("P1H") - Tests FEEL expression: 'duration("P1D")' and expects result: 'P1D (days and time duration)' - + Tests FEEL expression: 'duration("P1D")' and expects result: 'P1D (days and time duration)' + Result of FEEL expression 'duration("P1D")'? P1D (days and time duration) - + duration("P1D") - Tests FEEL expression: 'duration("PT0.S")' and expects result: 'PT0S (days and time duration)' - + Tests FEEL expression: 'duration("PT0.S")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0.S")'? PT0S (days and time duration) - + duration("PT0.S") Tests FEEL expression: 'duration("P")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("P")'? null (null) - + duration("P") - Tests FEEL expression: 'duration("-P99999999Y")' and expects result: '-P99999999Y (years and months duration)' - + Tests FEEL expression: 'duration("-P99999999Y")' and expects result: '-P99999999Y (years and months duration)' + Result of FEEL expression 'duration("-P99999999Y")'? -P99999999Y (years and months duration) - + duration("-P99999999Y") - Tests FEEL expression: 'duration("PT0M")' and expects result: 'PT0S (days and time duration)' - + Tests FEEL expression: 'duration("PT0M")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0M")'? PT0S (days and time duration) - + duration("PT0M") - Tests FEEL expression: 'duration(from:"P26M")' and expects result: 'P2Y2M (years and months duration)' - + Tests FEEL expression: 'duration(from:"P26M")' and expects result: 'P2Y2M (years and months duration)' + Result of FEEL expression 'duration(from:"P26M")'? P2Y2M (years and months duration) - + duration(from:"P26M") - Tests FEEL expression: 'duration("PT3M")' and expects result: 'PT3M (days and time duration)' - + Tests FEEL expression: 'duration("PT3M")' and expects result: 'PT3M (days and time duration)' + Result of FEEL expression 'duration("PT3M")'? PT3M (days and time duration) - + duration("PT3M") - Tests FEEL expression: 'duration("P2DT100M")' and expects result: 'P2DT1H40M (days and time duration)' - + Tests FEEL expression: 'duration("P2DT100M")' and expects result: 'P2DT1H40M (days and time duration)' + Result of FEEL expression 'duration("P2DT100M")'? P2DT1H40M (days and time duration) - + duration("P2DT100M") - Tests FEEL expression: 'duration("P1Y")' and expects result: 'P1Y (years and months duration)' - + Tests FEEL expression: 'duration("P1Y")' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'duration("P1Y")'? P1Y (years and months duration) - + duration("P1Y") - Tests FEEL expression: 'duration("P1DT2H3M4.123456789S")' and expects result: 'P1DT2H3M4.123456789S (days and time duration)' - + Tests FEEL expression: 'duration("P1DT2H3M4.123456789S")' and expects result: 'P1DT2H3M4.123456789S (days and time duration)' + Result of FEEL expression 'duration("P1DT2H3M4.123456789S")'? P1DT2H3M4.123456789S (days and time duration) - + duration("P1DT2H3M4.123456789S") @@ -653,517 +1103,721 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1121-feel-years-and-months-duration-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1121-feel-years-and-months-duration-function.dmn index 93d13ab6711..c859524271f 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1121-feel-years-and-months-duration-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12-expected/1121-feel-years-and-months-duration-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'years and months duration(from [date and time], to [date and time])' in category conversion functions - - + + FEEL built-in function 'years and months duration(from [date and time], to [date and time])' in category conversion functions + + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - Tests FEEL expression: 'years and months duration(date("2016-01-21"),date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' - - Result of FEEL expression 'years and months duration(date("2016-01-21"),date("2015-01-21"))'? + Tests FEEL expression: 'years and months duration(date("2016-01-21"),date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' + + Result of FEEL expression 'years and months duration(date("2016-01-21"),date("2015-01-21"))'? -P1Y (years and months duration) - + years and months duration(date("2016-01-21"),date("2015-01-21")) - Tests FEEL expression: 'years and months duration(null,date and time("2019-10-01T12:32:59"))' and expects result: 'null (years and months duration)' - - Result of FEEL expression 'years and months duration(null,date and time("2019-10-01T12:32:59"))'? + Tests FEEL expression: 'years and months duration(null,date and time("2019-10-01T12:32:59"))' and expects result: 'null (years and months duration)' + + Result of FEEL expression 'years and months duration(null,date and time("2019-10-01T12:32:59"))'? null (years and months duration) - + years and months duration(null,date and time("2019-10-01T12:32:59")) - Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))' and expects result: 'P0M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))'? + Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))' and expects result: 'P0M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))'? P0M (years and months duration) - + - years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00")) + years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00")) - Tests FEEL expression: 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))' and expects result: 'P4Y3M (years and months duration)' - - Result of FEEL expression 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))'? + Tests FEEL expression: 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))' and expects result: 'P4Y3M (years and months duration)' + + Result of FEEL expression 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))'? P4Y3M (years and months duration) - + years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59")) - Tests FEEL expression: 'years and months duration([],[])' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration([],[])' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration([],[])'? null (years and months duration) - + years and months duration([],[]) - Tests FEEL expression: 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))' and expects result: 'P2Y9M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))'? + Tests FEEL expression: 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))' and expects result: 'P2Y9M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))'? P2Y9M (years and months duration) - + - years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111")) + years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111")) - Tests FEEL expression: 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' - - Result of FEEL expression 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))'? + Tests FEEL expression: 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' + + Result of FEEL expression 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))'? -P1Y (years and months duration) - + years and months duration(from:date("2016-01-21"),to:date("2015-01-21")) - Tests FEEL expression: 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))' and expects result: '-P11M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))'? + Tests FEEL expression: 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))' and expects result: '-P11M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))'? -P11M (years and months duration) - + - years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02")) + years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02")) - Tests FEEL expression: 'years and months duration(null)' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration(null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null)'? null (years and months duration) - + years and months duration(null) - Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))' and expects result: '-P4035Y11M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))'? + Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))' and expects result: '-P4035Y11M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))'? -P4035Y11M (years and months duration) - + - years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00")) + years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00")) - Tests FEEL expression: 'years and months duration(date(""),date(""))' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration(date(""),date(""))' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(date(""),date(""))'? null (years and months duration) - + years and months duration(date(""),date("")) - Tests FEEL expression: 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))' and expects result: 'P2Y (years and months duration)' - - Result of FEEL expression 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))'? + Tests FEEL expression: 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))' and expects result: 'P2Y (years and months duration)' + + Result of FEEL expression 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))'? P2Y (years and months duration) - + - years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01")) + years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01")) - Tests FEEL expression: 'years and months duration(null,date("2017-08-11"))' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration(null,date("2017-08-11"))' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null,date("2017-08-11"))'? null (years and months duration) - + years and months duration(null,date("2017-08-11")) - Tests FEEL expression: 'years and months duration(date("2016-01-01"),date("2016-01-01"))' and expects result: 'P0M (years and months duration)' - - Result of FEEL expression 'years and months duration(date("2016-01-01"),date("2016-01-01"))'? + Tests FEEL expression: 'years and months duration(date("2016-01-01"),date("2016-01-01"))' and expects result: 'P0M (years and months duration)' + + Result of FEEL expression 'years and months duration(date("2016-01-01"),date("2016-01-01"))'? P0M (years and months duration) - + years and months duration(date("2016-01-01"),date("2016-01-01")) - Tests FEEL expression: 'years and months duration(date("2011-12-22"),date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' - - Result of FEEL expression 'years and months duration(date("2011-12-22"),date("2013-08-24"))'? + Tests FEEL expression: 'years and months duration(date("2011-12-22"),date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' + + Result of FEEL expression 'years and months duration(date("2011-12-22"),date("2013-08-24"))'? P1Y8M (years and months duration) - + years and months duration(date("2011-12-22"),date("2013-08-24")) - Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))' and expects result: 'P4Y9M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))'? + Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))' and expects result: 'P4Y9M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))'? P4Y9M (years and months duration) - + - years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59")) + years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59")) - Tests FEEL expression: 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))' and expects result: 'P3Y (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))'? + Tests FEEL expression: 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))' and expects result: 'P3Y (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))'? P3Y (years and months duration) - + - years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645")) + years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645")) - Tests FEEL expression: 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' - - Result of FEEL expression 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))'? + Tests FEEL expression: 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' + + Result of FEEL expression 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))'? P1Y8M (years and months duration) - + years and months duration(from:date("2011-12-22"),to:date("2013-08-24")) - Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"),null)' and expects result: 'null (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"),null)'? + Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"),null)' and expects result: 'null (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"),null)'? null (years and months duration) - + years and months duration(date and time("2017-12-31T13:00:00"),null) - Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))' and expects result: 'P2Y (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))'? + Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))' and expects result: 'P2Y (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))'? P2Y (years and months duration) - + - years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59")) + years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59")) - Tests FEEL expression: 'years and months duration(2017)' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration(2017)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(2017)'? null (years and months duration) - + years and months duration(2017) - Tests FEEL expression: 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))' and expects result: 'P1Y (years and months duration)' - - Result of FEEL expression 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))'? + Tests FEEL expression: 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))' and expects result: 'P1Y (years and months duration)' + + Result of FEEL expression 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))'? P1Y (years and months duration) - + - years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59")) + years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59")) - Tests FEEL expression: 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))' and expects result: 'P7Y6M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))'? + Tests FEEL expression: 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))' and expects result: 'P7Y6M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))'? P7Y6M (years and months duration) - + - years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59")) + years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59")) - Tests FEEL expression: 'years and months duration(date("2013-08-24"),date("2011-12-22"))' and expects result: '-P1Y8M (years and months duration)' - - Result of FEEL expression 'years and months duration(date("2013-08-24"),date("2011-12-22"))'? + Tests FEEL expression: 'years and months duration(date("2013-08-24"),date("2011-12-22"))' and expects result: '-P1Y8M (years and months duration)' + + Result of FEEL expression 'years and months duration(date("2013-08-24"),date("2011-12-22"))'? -P1Y8M (years and months duration) - + years and months duration(date("2013-08-24"),date("2011-12-22")) - Tests FEEL expression: 'years and months duration(date("2017-08-11"),null)' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration(date("2017-08-11"),null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(date("2017-08-11"),null)'? null (years and months duration) - + years and months duration(date("2017-08-11"),null) - + - Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))' and expects result: 'P1Y (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))'? + Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))' and expects result: 'P1Y (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))'? P1Y (years and months duration) - + - years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59")) + years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59")) - Tests FEEL expression: 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P11M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? + Tests FEEL expression: 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P11M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? P11M (years and months duration) - + - years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris")) + years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris")) - Tests FEEL expression: 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))' and expects result: 'P1Y2M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))'? + Tests FEEL expression: 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))' and expects result: 'P1Y2M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))'? P1Y2M (years and months duration) - + - years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12")) + years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12")) - Tests FEEL expression: 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P5Y7M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? + Tests FEEL expression: 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P5Y7M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? P5Y7M (years and months duration) - + - years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris")) + years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris")) - Tests FEEL expression: 'years and months duration("2012T-12-2511:00:00Z")' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration("2012T-12-2511:00:00Z")' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration("2012T-12-2511:00:00Z")'? null (years and months duration) - + years and months duration("2012T-12-2511:00:00Z") - Tests FEEL expression: 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )' and expects result: 'P2Y4M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )'? + Tests FEEL expression: 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )' and expects result: 'P2Y4M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )'? P2Y4M (years and months duration) - + years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") ) - Tests FEEL expression: 'years and months duration()' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration()' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration()'? null (years and months duration) - + years and months duration() - Tests FEEL expression: 'years and months duration(date("2015-01-21"),date("2016-01-21"))' and expects result: 'P1Y (years and months duration)' - - Result of FEEL expression 'years and months duration(date("2015-01-21"),date("2016-01-21"))'? + Tests FEEL expression: 'years and months duration(date("2015-01-21"),date("2016-01-21"))' and expects result: 'P1Y (years and months duration)' + + Result of FEEL expression 'years and months duration(date("2015-01-21"),date("2016-01-21"))'? P1Y (years and months duration) - + years and months duration(date("2015-01-21"),date("2016-01-21")) - Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))' and expects result: '-P4033Y2M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))'? + Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))' and expects result: '-P4033Y2M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))'? -P4033Y2M (years and months duration) - + - years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59")) + years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59")) - Tests FEEL expression: 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))' and expects result: 'P4Y (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))'? + Tests FEEL expression: 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))' and expects result: 'P4Y (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))'? P4Y (years and months duration) - + - years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00")) + years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00")) - Tests FEEL expression: 'years and months duration(null,null)' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration(null,null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null,null)'? null (years and months duration) - + years and months duration(null,null) @@ -495,377 +874,525 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0001-filter.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0001-filter.dmn index a2f35a345ed..708af99eecc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0001-filter.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0001-filter.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - number - - - string - - - - string - - - - - - - - Employees[dept=20].name - - - - - - - - - - - - - - - - - - - - + + + + number + + + number + + + string + + + + string + + + + + + + + Employees[dept=20].name + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0001-input-data-string.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0001-input-data-string.dmn index 2aed60ac7d4..f022b053d6e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0001-input-data-string.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0001-input-data-string.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - "Hello " + Full Name - - - - - - - - - - - - - - - - - - - - + + + + + + + + "Hello " + Full Name + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0002-input-data-number.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0002-input-data-number.dmn index bffd98dd66d..131c4d9931c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0002-input-data-number.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0002-input-data-number.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - 12 * Monthly Salary - - - - - - - - - - - - - - - - - - - - + + + + + + + + 12 * Monthly Salary + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0002-string-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0002-string-functions.dmn index 64a422a934d..68d0a6b0989 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0002-string-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0002-string-functions.dmn @@ -1,4 +1,4 @@ - + - - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - string - - - number - - - string - - - string - - - string - - - string - - - - - string - - - string - - - string - - - - - - - - - - - - - - - - - - - - - - - - - - - starts with(A,"x") - - - - - - starts with(A,B) - - - - - - ends with(A,"x") - - - - - - ends with(A,B) - - - - - - contains(A,"x") - - - - - - contains(A,B) - - - - - - substring(A,NumC,1) - - - - - - string length(A) - - - - - - upper case(A) - - - - - - lower case(B) - - - - - - substring before(A,B) - - - - - - substring after(A,B) - - - - - - - - - + + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + string + + + number + + + string + + + string + + + string + + + string + + + + + string + + + string + + + string + + + + + + + + + + + + + + + + + + + + + + + + + - matches(A,"[a-z]{3}") + starts with(A,"x") - - - - - - - - - - - replace(A,"a","o") - - - - - - replace(A,"(an)+", "**") - - - - - - replace(A,"[aeiouy]","[$0]") - - - - - - - - - + + + - string(NumC) + starts with(A,B) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + ends with(A,"x") + + + + + + ends with(A,B) + + + + + + contains(A,"x") + + + + + + contains(A,B) + + + + + + substring(A,NumC,1) + + + + + + string length(A) + + + + + + upper case(A) + + + + + + lower case(B) + + + + + + substring before(A,B) + + + + + + substring after(A,B) + + + + + + + + + + + matches(A,"[a-z]{3}") + + + + + + + + + + + + replace(A,"a","o") + + + + + + replace(A,"(an)+", "**") + + + + + + replace(A,"[aeiouy]","[$0]") + + + + + + + + + + + string(NumC) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0003-input-data-string-allowed-values.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0003-input-data-string-allowed-values.dmn index 614047c2321..86b54e7e7a7 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0003-input-data-string-allowed-values.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0003-input-data-string-allowed-values.dmn @@ -1,4 +1,4 @@ - + - - - string - - "UNEMPLOYED","EMPLOYED","SELF-EMPLOYED","STUDENT" - - - - - - - - - "You are " + Employment Status - - - - - - - - - - - - - - - - - - - - + + + string + + "UNEMPLOYED","EMPLOYED","SELF-EMPLOYED","STUDENT" + + + + + + + + + "You are " + Employment Status + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0003-iteration.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0003-iteration.dmn index 14331fbbac2..14a96297233 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0003-iteration.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0003-iteration.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - number - - - number - - - - tLoan - - - number - - - - - - - - - - - for i in Loans return PMT2(i) - - - - - - - - (loan.amount * loan.rate/12)/(1-(1+loan.rate/12)**-loan.term) - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + number + + + number + + + number + + + + tLoan + + + number + + + + + + + + + + + for i in Loans return PMT2(i) + + + + + + + + (loan.amount * loan.rate/12)/(1-(1+loan.rate/12)**-loan.term) + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0004-lending.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0004-lending.dmn index 44df56c8e99..14dfeea9b78 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0004-lending.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0004-lending.dmn @@ -1,4 +1,4 @@ - + - - - string - - "INELIGIBLE", "ELIGIBLE" - - - - string - - "FULL", "MINI", "NONE" - - - - string - - "DECLINE", "BUREAU", "THROUGH" - - - - string - - "DECLINE", "HIGH", "MEDIUM", "LOW", "VERY LOW" - - - - string - - "DECLINE", "REFER", "ACCEPT" - - - - - number - - [0..999], null - - - - boolean - - - - string - - "DECLINE", "ACCEPT" - - - - - - number - - - number - - - number - - - - number - - - boolean - - - string - - "S","M" - - - - string - - "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" - - - - - - string - - "STANDARD LOAN", "SPECIAL LOAN" - - - - number - - - number - - - number - - - - - - - - - - - - - BureauCallTypeTable - - - - - Pre-bureauRiskCategory - - - - - - Is credit bureau call required? - Yes (BUREAU) or No (DECLINE, THROUGH) - - - - - - - - - - - Eligibility - - - "ELIGIBLE", "INELIGIBLE" - - - - - BureauCallType - - - "FULL", "MINI", "NONE" - - - - - "DECLINE", "THROUGH", "BUREAU" - - - - - "INELIGIBLE" - - - - - - - "DECLINE" - - - - - "ELIGIBLE" - - - "FULL","MINI" - - - "BUREAU" - - - - - "ELIGIBLE" - - - "NONE" - - - "THROUGH" - - - - - - - - - - - - - - - - - - - - - EligibilityRules - - - - - Pre-bureauAffordability - - - - - - Pre-bureauRiskCategory - - - - - - ApplicantData.Age - - - - - - - - - - - - - - - - - - Pre-bureauRiskCategoryTable - - - - - ApplicantData.ExistingCustomer - - - - - - ApplicationRiskScore - - - - - - - - - - - - - - - - - - - - - Post-bureauRiskCategoryTable - - - - - ApplicantData.ExistingCustomer - - - - - - BureauData.CreditScore - - - - - - ApplicationRiskScore - - - - - - - - - - - - - - - ApplicationRiskScoreModel - - - - - ApplicantData.Age - - - - - - ApplicantData.MaritalStatus - - - - - - ApplicantData.EmploymentStatus - - - - - - - - - - - - - - - - - - - - - AffordabilityCalculation - - - - - ApplicantData.Monthly.Income - - - - - - ApplicantData.Monthly.Repayments - - - - - - ApplicantData.Monthly.Expenses - - - - - - Pre-bureauRiskCategory - - - - - - RequiredMonthlyInstallment - - - - - - - - - - - - - - - - - - - - - AffordabilityCalculation - - - - - ApplicantData.Monthly.Income - - - - - - ApplicantData.Monthly.Repayments - - - - - - ApplicantData.Monthly.Expenses - - - - - - Post-bureauRiskCategory - - - - - - RequiredMonthlyInstallment - - - - - - - - - - - - - - - InstallmentCalculation - - - - - RequestedProduct.ProductType - - - - - - RequestedProduct.Rate - - - - - - RequestedProduct.Term - - - - - - RequestedProduct.Amount - - - - - - - - - - - - - - - - - - - + + + string + + "INELIGIBLE", "ELIGIBLE" + + + + string + + "FULL", "MINI", "NONE" + + + + string + + "DECLINE", "BUREAU", "THROUGH" + + + + string + + "DECLINE", "HIGH", "MEDIUM", "LOW", "VERY LOW" + + + + string + + "DECLINE", "REFER", "ACCEPT" + + + + + number + + [0..999], null + + + + boolean + + + + string + + "DECLINE", "ACCEPT" + + + + + + number + + + number + + + number + + + + number + + + boolean + + + string + + "S","M" + + + + string + + "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" + + + + + + string + + "STANDARD LOAN", "SPECIAL LOAN" + + + + number + + + number + + + number + + + + + + + + + + + + + BureauCallTypeTable + + + + + Pre-bureauRiskCategory + + + + + + Is credit bureau call required? + Yes (BUREAU) or No (DECLINE, THROUGH) + + + + + + + + + + + Eligibility + + + "ELIGIBLE", "INELIGIBLE" + + + + + BureauCallType + + + "FULL", "MINI", "NONE" + + + + + "DECLINE", "THROUGH", "BUREAU" + + + + + "INELIGIBLE" + + + - + + + "DECLINE" + + + + + "ELIGIBLE" + + + "FULL","MINI" + + + "BUREAU" + + + + + "ELIGIBLE" + + + "NONE" + + + "THROUGH" + + + + + + + + + + + + + + + + + + + + + EligibilityRules + + + + + Pre-bureauAffordability + + + + + + Pre-bureauRiskCategory + + + + + + ApplicantData.Age + + + + + + + + + + + + + + + + + + Pre-bureauRiskCategoryTable + + + + + ApplicantData.ExistingCustomer + + + + + + ApplicationRiskScore + + + + + + + + + + + + + + + + + + + + + Post-bureauRiskCategoryTable + + + + + ApplicantData.ExistingCustomer + + + + + + BureauData.CreditScore + + + + + + ApplicationRiskScore + + + + + + + + + + + + + + + ApplicationRiskScoreModel + + + + + ApplicantData.Age + + + + + + ApplicantData.MaritalStatus + + + + + + ApplicantData.EmploymentStatus + + + + + + + + + + + + + + + + + + + + + AffordabilityCalculation + + + + + ApplicantData.Monthly.Income + + + + + + ApplicantData.Monthly.Repayments + + + + + + ApplicantData.Monthly.Expenses + + + + + + Pre-bureauRiskCategory + + + + + + RequiredMonthlyInstallment + + + + + + + + + + + + + + + + + + + + + AffordabilityCalculation + + + + + ApplicantData.Monthly.Income + + + + + + ApplicantData.Monthly.Repayments + + + + + + ApplicantData.Monthly.Expenses + + + + + + Post-bureauRiskCategory + + + + + + RequiredMonthlyInstallment + + + + + + + + + + + + + + + InstallmentCalculation + + + + + RequestedProduct.ProductType + + + + + + RequestedProduct.Rate + + + + + + RequestedProduct.Term + + + + + + RequestedProduct.Amount + + + + + + + + + + + + + + + + + + + + + RoutingRules + + + + + BureauData.Bankrupt + + + + + + BureauData.CreditScore + + + + + + Post-bureauRiskCategory + + + + + + Post-bureauAffordability + + + + + + + + + + + + + + + + + "ACCEPT" + + + + + + + + + + + + + + + MonthlyIncome - (MonthlyExpenses + MonthlyRepayments) + + + + + - RoutingRules + CreditContingencyFactorTable - - - BureauData.Bankrupt - - - - - - BureauData.CreditScore - + + + RiskCategory + - - - - Post-bureauRiskCategory - - - - - - Post-bureauAffordability - - - - - - - - - - - - - - - - + + + + + + if DisposableIncome * CreditContingencyFactor > RequiredMonthlyInstallment then true else false + + + + + Affordability + + + + + + + + + + + + + + + + RiskCategory + + + "DECLINE", "HIGH", "LOW", "MEDIUM", "VERY LOW" + + + + + + "HIGH", "DECLINE" + + + 0.6 + + + + + "MEDIUM" + + + 0.7 + + + + + "LOW", "VERY LOW" + + + 0.8 + + + + + + + + + + + + + + + Pre-bureauRiskCategory + + + + + Pre-bureauAffordability + + + + + Age + + + + + "INELIGIBLE", "ELIGIBLE" + + + + + "DECLINE" + + + - + + + - + + + "INELIGIBLE" + + + + + - + + + false + + + - + + + "INELIGIBLE" + + + + + - + + + - + + + <18 + + + "INELIGIBLE" + + + + + - + + + - + + + - + + + "ELIGIBLE" + + + + + + + + + + + + + Pre-bureauRiskCategory + + + + + + "HIGH","MEDIUM" + + + "FULL" + + + + + "LOW" + + + "MINI" + + + + + "VERY LOW","DECLINE" + + + "NONE" + + + + + + + + + + + + + + ExistingCustomer + + + + + ApplicationRiskScore + + + + + + false + + + <100 + + + "HIGH" + + + + + false + + + [100..120) + + + "MEDIUM" + + + + + false + + + [120..130) + + + "LOW" + + + + + false + + + >130 + + + "VERY LOW" + + + + + true + + + <80 + + + "DECLINE" + + + + + true + + + [80..90) + + + "HIGH" + + + + + true + + + [90..110] + + + "MEDIUM" + + + + + true + + + >110 + + + "LOW" + + + + + + + + + + + + + + + ExistingCustomer + + + + + ApplicationRiskScore + + + + + CreditScore + + + + + + false + + + <120 + + + <590 + + + "HIGH" + + + + + false + + + <120 + + + [590..610] + + + "MEDIUM" + + + + + false + + + <120 + + + >610 + + + "LOW" + + + + + false + + + [120..130] + + + <600 + + + "HIGH" + + + + + false + + + [120..130] + + + [600..625] + + + "MEDIUM" + + + + + false + + + [120..130] + + + >625 + + + "LOW" + + + + + false + + + >130 + + + - + + + "VERY LOW" + + + + + true + + + <=100 + + + <580 + + + "HIGH" + + + + + true + + + <=100 + + + [580..600] + + + "MEDIUM" + + + + + true + + + <=100 + + + >600 + + + "LOW" + + + + + true + + + >100 + + + <590 + + + "HIGH" + + + + + true + + + >100 + + + [590..615] + + + "MEDIUM" + + + + + true + + + >100 + + + >615 + + + "LOW" + + + + + + + + + + + + + + + Age + + + [18..120] + + + + + MaritalStatus + + + "S", "M" + + + + + EmploymentStatus + + + "UNEMPLOYED", "EMPLOYED", "SELF-EMPLOYED", "STUDENT" + + + + + + [18..21] + + + - + + + - + + + 32 + + + + + [22..25] + + + - + + + - + + + 35 + + + + + [26..35] + + + - + + + - + + + 40 + + + + + [36..49] + + + - + + + - + + + 43 + + + + + >=50 + + + - + + + - + + + 48 + + + + + - + + + "S" + + + - + + + 25 + + + + + - + + + "M" + + + - + + + 45 + + + + + - + + + - + + + "UNEMPLOYED" + + + 15 + + + + + - + + + - + + + "EMPLOYED" + + + 45 + + + + + - + + + - + + + "SELF-EMPLOYED" + + + 36 + + + + + - + + + - + + + "STUDENT" + + + 18 + + + + + + + + + + + + + + + + + if ProductType ="STANDARD LOAN" then 20.00 else if ProductType ="SPECIAL LOAN" then 25.00 else null + + + + + + (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) + + + + + MonthlyRepayment+MonthlyFee + + + + + + + + + + + + + + + + Post-bureauRiskCategory + + + + + Post-bureauAffordability + + + + + Bankrupt + + + + + CreditScore + + + + + "DECLINE", "REFER", "ACCEPT" + + + + + - + + + false + + + - + + + - + + + "DECLINE" + + + + + - + + + - + + + true + + + - + + + "DECLINE" + + + + + "HIGH" + + + - + + + - + + + - + + + "REFER" + + + + + - + + + - + + + - + + + <580 + + + "REFER" + + + + + - + + + - + + + - + + + - + + "ACCEPT" - - - - - - - - - - - - - - - MonthlyIncome - (MonthlyExpenses + MonthlyRepayments) - - - - - - - CreditContingencyFactorTable - - - - - RiskCategory - - - - - - - - if DisposableIncome * CreditContingencyFactor > RequiredMonthlyInstallment then true else false - - - - - Affordability - - - - - - - - - - - - - - - - RiskCategory - - - "DECLINE", "HIGH", "LOW", "MEDIUM", "VERY LOW" - - - - - - "HIGH", "DECLINE" - - - 0.6 - - - - - "MEDIUM" - - - 0.7 - - - - - "LOW", "VERY LOW" - - - 0.8 - - - - - - - - - - - - - - - Pre-bureauRiskCategory - - - - - Pre-bureauAffordability - - - - - Age - - - - - "INELIGIBLE", "ELIGIBLE" - - - - - "DECLINE" - - - - - - - - - - - "INELIGIBLE" - - - - - - - - - false - - - - - - - "INELIGIBLE" - - - - - - - - - - - - - <18 - - - "INELIGIBLE" - - - - - - - - - - - - - - - - - "ELIGIBLE" - - - - - - - - - - - - - Pre-bureauRiskCategory - - - - - - "HIGH","MEDIUM" - - - "FULL" - - - - - "LOW" - - - "MINI" - - - - - "VERY LOW","DECLINE" - - - "NONE" - - - - - - - - - - - - - - ExistingCustomer - - - - - ApplicationRiskScore - - - - - - false - - - <100 - - - "HIGH" - - - - - false - - - [100..120) - - - "MEDIUM" - - - - - false - - - [120..130) - - - "LOW" - - - - - false - - - >130 - - - "VERY LOW" - - - - - true - - - <80 - - - "DECLINE" - - - - - true - - - [80..90) - - - "HIGH" - - - - - true - - - [90..110] - - - "MEDIUM" - - - - - true - - - >110 - - - "LOW" - - - - - - - - - - - - - - - ExistingCustomer - - - - - ApplicationRiskScore - - - - - CreditScore - - - - - - false - - - <120 - - - <590 - - - "HIGH" - - - - - false - - - <120 - - - [590..610] - - - "MEDIUM" - - - - - false - - - <120 - - - >610 - - - "LOW" - - - - - false - - - [120..130] - - - <600 - - - "HIGH" - - - - - false - - - [120..130] - - - [600..625] - - - "MEDIUM" - - - - - false - - - [120..130] - - - >625 - - - "LOW" - - - - - false - - - >130 - - - - - - - "VERY LOW" - - - - - true - - - <=100 - - - <580 - - - "HIGH" - - - - - true - - - <=100 - - - [580..600] - - - "MEDIUM" - - - - - true - - - <=100 - - - >600 - - - "LOW" - - - - - true - - - >100 - - - <590 - - - "HIGH" - - - - - true - - - >100 - - - [590..615] - - - "MEDIUM" - - - - - true - - - >100 - - - >615 - - - "LOW" - - - - - - - - - - - - - - - Age - - - [18..120] - - - - - MaritalStatus - - - "S", "M" - - - - - EmploymentStatus - - - "UNEMPLOYED", "EMPLOYED", "SELF-EMPLOYED", "STUDENT" - - - - - - [18..21] - - - - - - - - - - - 32 - - - - - [22..25] - - - - - - - - - - - 35 - - - - - [26..35] - - - - - - - - - - - 40 - - - - - [36..49] - - - - - - - - - - - 43 - - - - - >=50 - - - - - - - - - - - 48 - - - - - - - - - "S" - - - - - - - 25 - - - - - - - - - "M" - - - - - - - 45 - - - - - - - - - - - - - "UNEMPLOYED" - - - 15 - - - - - - - - - - - - - "EMPLOYED" - - - 45 - - - - - - - - - - - - - "SELF-EMPLOYED" - - - 36 - - - - - - - - - - - - - "STUDENT" - - - 18 - - - - - - - - - - - - - - - - - if ProductType ="STANDARD LOAN" then 20.00 else if ProductType ="SPECIAL LOAN" then 25.00 else null - - - - - - (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) - - - - - MonthlyRepayment+MonthlyFee - - - - - - - - - - - - - - - - Post-bureauRiskCategory - - - - - Post-bureauAffordability - - - - - Bankrupt - - - - - CreditScore - - - - - "DECLINE", "REFER", "ACCEPT" - - - - - - - - - false - - - - - - - - - - - "DECLINE" - - - - - - - - - - - - - true - - - - - - - "DECLINE" - - - - - "HIGH" - - - - - - - - - - - - - - - "REFER" - - - - - - - - - - - - - - - - - <580 - - - "REFER" - - - - - - - - - - - - - - - - - - - - - "ACCEPT" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0004-simpletable-U.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0004-simpletable-U.dmn index 9df6e9db7f7..d036f543274 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0004-simpletable-U.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0004-simpletable-U.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - - - <18 - - - "Medium","Low" - - - true - - - "Declined" - - - - - - - - - "High" - - - true - - - "Declined" - - - - - - - - - - - - - false - - - "Declined" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + + + <18 + + + "Medium","Low" + + + true + + + "Declined" + + + + + - + + + "High" + + + true + + + "Declined" + + + + + - + + + - + + + false + + + "Declined" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0005-literal-invocation.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0005-literal-invocation.dmn index 753fefd9b16..dedc512b5ab 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0005-literal-invocation.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0005-literal-invocation.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - number - - - number - - - - - - - - - - - - - - - PMT(Loan.amount, Loan.rate, Loan.term)+fee - - - - - - - - - - (p*r/12)/(1-(1+r/12)**-n) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + number + + + number + + + number + + + + + + + + + + + + + + + PMT(Loan.amount, Loan.rate, Loan.term)+fee + + + + + + + + + + (p*r/12)/(1-(1+r/12)**-n) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0005-simpletable-A.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0005-simpletable-A.dmn index 527a7cc9e89..01c4670dfcc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0005-simpletable-A.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0005-simpletable-A.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - - - <18 - - - - - - - - - - - "Declined" - - - - - - - - - "High" - - - - - - - "Declined" - - - - - - - - - - - - - false - - - "Declined" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + + + <18 + + + - + + + - + + + "Declined" + + + + + - + + + "High" + + + - + + + "Declined" + + + + + - + + + - + + + false + + + "Declined" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0006-join.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0006-join.dmn index c0554dc4d37..561b0c0a682 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0006-join.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0006-join.dmn @@ -1,4 +1,4 @@ - + - - - - string - - - string - - - number - - - - - number - - - string - - - string - - - - - - - - - - - - - - - DeptTable[number = EmployeeTable[name=LastName].deptNum[1]].manager[1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + string + + + string + + + number + + + + + number + + + string + + + string + + + + + + + + + + + + + + + DeptTable[number = EmployeeTable[name=LastName].deptNum[1]].manager[1] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0006-simpletable-P1.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0006-simpletable-P1.dmn index 8d23c3609a8..bc2c82f7fb2 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0006-simpletable-P1.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0006-simpletable-P1.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - - - <18 - - - - - - - - - - - "Declined" - - - - - - - - - "High" - - - - - - - "Declined" - - - - - - - - - - - - - false - - - "Declined" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + + + <18 + + + - + + + - + + + "Declined" + + + + + - + + + "High" + + + - + + + "Declined" + + + + + - + + + - + + + false + + + "Declined" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0007-date-time.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0007-date-time.dmn index 45390630d07..52af50b0e3c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0007-date-time.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0007-date-time.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - number - - - number - - - number - - - number - - - number - - - - - date - - - date - - - date - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - date(dateString) - - - - - - date(Date-Time) - - - - - - date(Year,Month,Day) - - - - - - - - - + + + + number + + + number + + + number + + + number + + + number + + + number + + + + + date + + + date + + + date + + + + + + + + + + + + + + + + + + + + + + + + + + + + - date and time(dateTimeString) + date(dateString) - - - - - - + + + - time(timeString) + date(Date-Time) - - - - - - - - - - - - - - - - - - + + + - date and time(Date.fromString,Time) + date(Year,Month,Day) - - - - - - - - time(Date-Time2) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - time(Hours,Minutes,Seconds,Timezone) - - - - - - - - - - - - duration(durationString) - - - - - - - - - - - - Date-Time - Date-Time2 - - - - - - - - - - - - - - - dtDuration1 + dtDuration2 - - - - - - - - - - - - years and months duration(Date-Time2,Date-Time) - - - - - - - - - Date.fromString.day - - - - - - - - - Date.fromString.year - - - - - - - - - Date.fromString.month - - - - - - - - - Date-Time2.hour - - - - - - - - - Date-Time2.minute - - - - - - - - - Date-Time2.second - - - - - - - - - Date-Time2.time offset - - - - - - - - - ymDuration2.years - - - - - - - - - dtDuration1.seconds - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + date and time(dateTimeString) + + + + + + + + + time(timeString) + + + + + + + + + + + + + + + + + + + + + date and time(Date.fromString,Time) + + + + + + + + + time(Date-Time2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + time(Hours,Minutes,Seconds,Timezone) + + + + + + + + + + + + duration(durationString) + + + + + + + + + + + + Date-Time - Date-Time2 + + + + + + + + + + + + + + + dtDuration1 + dtDuration2 + + + + + + + + + + + + years and months duration(Date-Time2,Date-Time) + + + + + + + + + Date.fromString.day + + + + + + + + + Date.fromString.year + + + + + + + + + Date.fromString.month + + + + + + + + + Date-Time2.hour + + + + + + + + + Date-Time2.minute + + + + + + + + + Date-Time2.second + + + + + + + + + Date-Time2.time offset + + + + + + + + + ymDuration2.years + + + + + + + + + dtDuration1.seconds + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0007-simpletable-P2.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0007-simpletable-P2.dmn index 2d8eb4bb973..a8e147fb0ff 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0007-simpletable-P2.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0007-simpletable-P2.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - - - - - - - - - - - - - - - "Declined" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + + + - + + + - + + + - + + + "Declined" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0008-LX-arithmetic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0008-LX-arithmetic.dmn index 69b77c16c1a..4f5b83f3366 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0008-LX-arithmetic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0008-LX-arithmetic.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - number - - - number - - - - - - - - - (loan.principal*loan.rate/12)/(1-(1+loan.rate/12)**-loan.termMonths) - - - - - - - - - - - - - - - - - - - - + + + + number + + + number + + + number + + + + + + + + + (loan.principal*loan.rate/12)/(1-(1+loan.rate/12)**-loan.termMonths) + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0008-listGen.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0008-listGen.dmn index ce060dcb3bb..c080a939090 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0008-listGen.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0008-listGen.dmn @@ -1,4 +1,4 @@ - + - - - string - - - - - ["a","b","c"] - - - - - - - - - - - - - - - - - - - - - - - - [a,b,c] - - - - - - - - - - - - ["a",b,c] - - - - - - - - - - - c - - - - - - - - - - "a" - - - - - - - - - "b" - - - - - - - - - "c" - - - - - - - - - - - - - - - - - - - a - - - - - b - - - - - c - - - - - - - - - - - - - - - - - - a - - - - - - - - - - - - - - - - - b - - - - - - - - - - - - - - - - - c - - - - - - - - - - - flatten([["w","x"],"y","z"]) - - - - - - - - - flatten([wx,"y","z"]) - - - - - - - - - - - - - - - flatten([a,b,listGen6]) - - - - - - - - - - - - - - - flatten([a,b,listGen7]) - - - - - - - - - - - - flatten([listGen4,listGen7]) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + string + + + + + ["a","b","c"] + + + + + + + + + + + + + + + + + + + + + + + + [a,b,c] + + + + + + + + + + + + ["a",b,c] + + + + + + + + + + + c + + + + + + - + + + "a" + + + + + - + + + "b" + + + + + - + + + "c" + + + + + + + + + + + + + + + + + + + a + + + + + b + + + + + c + + + + + + - + + + - + + + - + + + a + + + + + - + + + - + + + - + + + b + + + + + - + + + - + + + - + + + c + + + + + + + + + + + flatten([["w","x"],"y","z"]) + + + + + + + + + flatten([wx,"y","z"]) + + + + + + + + + + + + + + + flatten([a,b,listGen6]) + + + + + + + + + + + + + + + flatten([a,b,listGen7]) + + + + + + + + + + + + flatten([listGen4,listGen7]) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0009-append-flatten.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0009-append-flatten.dmn index 1c039d01c29..3bd770deb4c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0009-append-flatten.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0009-append-flatten.dmn @@ -1,4 +1,4 @@ - + - - - string - - - tStringList - - - - - - - - - - - ["a","b","c"] - - - - - - [["w","x"],["y"],["z"]] - - - - - - - - - append(literalNestedList,["t"]) - - - - - - - - - - - - append(nestedList,simpleList) - - - - - - - - - - - - append(nestedList,literalSimpleList) - - - - - - - - - - - - append(literalNestedList,literalSimpleList) - - - - - - - - - flatten(append1) - - - - - - - - - flatten(append2) - - - - - - - - - flatten(append3) - - - - - - - - - flatten(append4) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + string + + + tStringList + + + + + + + + + + + ["a","b","c"] + + + + + + [["w","x"],["y"],["z"]] + + + + + + + + + append(literalNestedList,["t"]) + + + + + + + + + + + + append(nestedList,simpleList) + + + + + + + + + + + + append(nestedList,literalSimpleList) + + + + + + + + + + + + append(literalNestedList,literalSimpleList) + + + + + + + + + flatten(append1) + + + + + + + + + flatten(append2) + + + + + + + + + flatten(append3) + + + + + + + + + flatten(append4) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0009-invocation-arithmetic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0009-invocation-arithmetic.dmn index 46303eff312..58328caf999 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0009-invocation-arithmetic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0009-invocation-arithmetic.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - number - - - number - - - - - - - - - - - - - - - PMT(Loan.amount, Loan.rate, Loan.term)+fee - - - - - - - - - - (p*r/12)/(1-(1+r/12)**-n) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + number + + + number + + + number + + + + + + + + + + + + + + + PMT(Loan.amount, Loan.rate, Loan.term)+fee + + + + + + + + + + (p*r/12)/(1-(1+r/12)**-n) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0010-concatenate.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0010-concatenate.dmn index 4a9c3c5f02a..d7e4f7e5cf2 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0010-concatenate.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0010-concatenate.dmn @@ -1,4 +1,4 @@ - + - - - string - - - tStringList - - - - - - - - - - - ["a","b","c"] - - - - - - [["w","x"],["y"],["z"]] - - - - - - - - - - - - concatenate(simpleList,literalSimpleList) - - - - - - - - - - - - concatenate(simpleList,flatten(nestedList)) - - - - - - - - - - - - concatenate(literalSimpleList,flatten(nestedList)) - - - - - - - - - - - - concatenate([literalSimpleList],literalNestedList) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + string + + + tStringList + + + + + + + + + + + ["a","b","c"] + + + + + + [["w","x"],["y"],["z"]] + + + + + + + + + + + + concatenate(simpleList,literalSimpleList) + + + + + + + + + + + + concatenate(simpleList,flatten(nestedList)) + + + + + + + + + + + + concatenate(literalSimpleList,flatten(nestedList)) + + + + + + + + + + + + concatenate([literalSimpleList],literalNestedList) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0010-multi-output-U.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0010-multi-output-U.dmn index 32a7bb4bdcb..2799215b63b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0010-multi-output-U.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0010-multi-output-U.dmn @@ -1,4 +1,4 @@ - + - - - - string - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - "Declined" - - - - - "Best", "Standard" - - - "Standard" - - - - - >=18 - - - "Low" - - - true - - - "Approved" - - - "Best" - - - - - >=18 - - - "Medium" - - - true - - - "Approved" - - - "Standard" - - - - - <18 - - - "Medium","Low" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - "High" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - - - - - false - - - "Declined" - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + string + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + "Declined" + + + + + "Best", "Standard" + + + "Standard" + + + + + >=18 + + + "Low" + + + true + + + "Approved" + + + "Best" + + + + + >=18 + + + "Medium" + + + true + + + "Approved" + + + "Standard" + + + + + <18 + + + "Medium","Low" + + + true + + + "Declined" + + + "Standard" + + + + + - + + + "High" + + + true + + + "Declined" + + + "Standard" + + + + + - + + + - + + + false + + + "Declined" + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0011-insert-remove.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0011-insert-remove.dmn index aecde12606e..5f77cd6147b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0011-insert-remove.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0011-insert-remove.dmn @@ -1,4 +1,4 @@ - + - - - string - - - tStringList - - - - - - - - - - - - - - [["a","b"],["b","c"]] - - - - - - - - - - - - remove(simpleList,position) - - - - - - - - - - - - - - - insert before(literalNestedList,position,simpleList) - - - - - - - - - - - - remove(literalNestedList,position) - - - - - - - - - - - - insert before(simpleList,position,"x") - - - - - - - - - - - - - - - insert before(nestedList,position,simpleList) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + string + + + tStringList + + + + + + + + + + + + + + [["a","b"],["b","c"]] + + + + + + + + + + + + remove(simpleList,position) + + + + + + + + + + + + + + + insert before(literalNestedList,position,simpleList) + + + + + + + + + + + + remove(literalNestedList,position) + + + + + + + + + + + + insert before(simpleList,position,"x") + + + + + + + + + + + + + + + insert before(nestedList,position,simpleList) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0012-list-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0012-list-functions.dmn index 3c1504926d6..ff2106d18e3 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0012-list-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0012-list-functions.dmn @@ -1,4 +1,4 @@ - + - - - string - - - number - - - tStringList - - - - - - - - - - - - - - - - - - - - list contains(list1,list2) - - - - - - - - - - - - list contains(list2,string1) - - - - - - - - - count(list1) - - - - - - - - - min(numList) - - - - - - - - - - - - sum(numList) - - - - - - - - - mean(numList) - - - - - - - - - - - - - - - - - - - - - - - - mean(num1,num2,num3) - - - - - - - - - sublist(list1,1,2) - - - - - - - - - sublist(list1,-1,1) - - - - - - - - - - - - - - - append(numList,num1,num2) - - - - - - - - - - - - concatenate(list1,list2) - - - - - - - - - - - - insert before(list2,2,string1) - - - - - - - - - remove(list2,2) - - - - - - - - - reverse(concatenate1) - - - - - - - - - - - - append(list1,list2) - - - - - - - - - - - - index of(list2,string1) - - - - - - - - - - - - union(insertBefore1,concatenate1) - - - - - - - - - distinct values(insertBefore1) - - - - - - - - - flatten(appendListItem) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + string + + + number + + + tStringList + + + + + + + + + + + + + + + + + + + + list contains(list1,list2) + + + + + + + + + + + + list contains(list2,string1) + + + + + + + + + count(list1) + + + + + + + + + min(numList) + + + + + + + + + + + + sum(numList) + + + + + + + + + mean(numList) + + + + + + + + + + + + + + + + + + + + + + + + mean(num1,num2,num3) + + + + + + + + + sublist(list1,1,2) + + + + + + + + + sublist(list1,-1,1) + + + + + + + + + + + + + + + append(numList,num1,num2) + + + + + + + + + + + + concatenate(list1,list2) + + + + + + + + + + + + insert before(list2,2,string1) + + + + + + + + + remove(list2,2) + + + + + + + + + reverse(concatenate1) + + + + + + + + + + + + append(list1,list2) + + + + + + + + + + + + index of(list2,string1) + + + + + + + + + + + + union(insertBefore1,concatenate1) + + + + + + + + + distinct values(insertBefore1) + + + + + + + + + flatten(appendListItem) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0013-sort.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0013-sort.dmn index 58f906f6df2..018f1876f49 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0013-sort.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0013-sort.dmn @@ -1,4 +1,4 @@ - + - - - number - - - - number - - - number - - - number - - - number - - - - tns:tRow - - - string - - - - - - - - - - - - - - sort(listA, function(x,y) x>y) - - - - - - - - - sort(tableB, function(x,y) x.col2<y.col2) - - - - - - - - - - - - sort(stringList, function(x,y) x<y) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + number + + + + number + + + number + + + number + + + number + + + + tns:tRow + + + string + + + + + + + + + + + + + + sort(listA, function(x,y) x>y) + + + + + + + + + sort(tableB, function(x,y) x.col2<y.col2) + + + + + + + + + + + + sort(stringList, function(x,y) x<y) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0014-loan-comparison.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0014-loan-comparison.dmn index 93431de4bc4..8d23272739e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0014-loan-comparison.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0014-loan-comparison.dmn @@ -1,4 +1,4 @@ - + - - - - string - - - number - - - number - - - number - - - - tLoanProduct - - - - string - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - - tMetric - - - - tMetrics - - - tMetrics - - - tMetrics - - - tMetrics - - - tMetrics - - - - - - - - - - - - "Oceans Capital" - - - .03500 - - - 0 - - - 0 - - - - - "eClick Lending" - - - .03200 - - - 1.1 - - - 2700 - - - - - "eClickLending" - - - .03375 - - - 0.1 - - - 1200 - - - - - "AimLoan" - - - .03000 - - - 1.1 - - - 3966 - - - - - "Home Loans Today" - - - .03125 - - - 1.1 - - - 285 - - - - - "Sebonic" - - - .03125 - - - 0.1 - - - 4028 - - - - - "AimLoan" - - - .03125 - - - 0.1 - - - 4317 - - - - - "eRates Mortgage" - - - .03125 - - - 1.1 - - - 2518 - - - - - "Home Loans Today" - - - .03250 - - - 0.1 - - - 822 - - - - - "AimLoan" - - - .03250 - - - 0 - - - 1995 - - - - - - - - - - - - - - - - - - - - - - - for i in Bankrates return FinancialMetrics(i,RequestedAmt) - - - - - - sort(metricsTable, function(x,y) x.rate<y.rate) - - - - - - sort(metricsTable, function(x,y) x.downPmtAmt<y.downPmtAmt) - - - - - - sort(metricsTable, function(x,y) x.paymentAmt<y.paymentAmt) - - - - - - sort(metricsTable, function(x,y) x.equity36moPct>y.equity36moPct) - - - - - - - - - - - - - - product.lenderName - - - - - - product.rate - - - - - - product.points - - - - - - product.fee - - - - - - requestedAmt*(1+points/100)+fee - - - - - - 0.2*loanAmt - - - - - - monthlyPayment(loanAmt,rate,360) - - - - - - 1 - equity36Mo(loanAmt,rate,36,paymentAmt)/requestedAmt*0.8 - - - - - - - - - - - - - - - - - - - p*r/12/(1-(1+r/12)**-n) - - - - - - - - - - - - p*(1+r/12)**n - pmt*(-1+(1+r/12)**n)/r - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + string + + + number + + + number + + + number + + + + tLoanProduct + + + + string + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + + tMetric + + + + tMetrics + + + tMetrics + + + tMetrics + + + tMetrics + + + tMetrics + + + + + + + + + + + + "Oceans Capital" + + + .03500 + + + 0 + + + 0 + + + + + "eClick Lending" + + + .03200 + + + 1.1 + + + 2700 + + + + + "eClickLending" + + + .03375 + + + 0.1 + + + 1200 + + + + + "AimLoan" + + + .03000 + + + 1.1 + + + 3966 + + + + + "Home Loans Today" + + + .03125 + + + 1.1 + + + 285 + + + + + "Sebonic" + + + .03125 + + + 0.1 + + + 4028 + + + + + "AimLoan" + + + .03125 + + + 0.1 + + + 4317 + + + + + "eRates Mortgage" + + + .03125 + + + 1.1 + + + 2518 + + + + + "Home Loans Today" + + + .03250 + + + 0.1 + + + 822 + + + + + "AimLoan" + + + .03250 + + + 0 + + + 1995 + + + + + + + + + + + + + + + + + + + + + + + for i in Bankrates return FinancialMetrics(i,RequestedAmt) + + + + + + sort(metricsTable, function(x,y) x.rate<y.rate) + + + + + + sort(metricsTable, function(x,y) x.downPmtAmt<y.downPmtAmt) + + + + + + sort(metricsTable, function(x,y) x.paymentAmt<y.paymentAmt) + + + + + + sort(metricsTable, function(x,y) x.equity36moPct>y.equity36moPct) + + + + + + + + + + + + + + product.lenderName + + + + + + product.rate + + + + + + product.points + + + + + + product.fee + + + + + + requestedAmt*(1+points/100)+fee + + + + + + 0.2*loanAmt + + + + + + monthlyPayment(loanAmt,rate,360) + + + + + + 1 - equity36Mo(loanAmt,rate,36,paymentAmt)/requestedAmt*0.8 + + + + + + + + + + + + + + + + + + + p*r/12/(1-(1+r/12)**-n) + + + + + + + + + + + + p*(1+r/12)**n - pmt*(-1+(1+r/12)**n)/r + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0016-some-every.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0016-some-every.dmn index b27b754c644..3038deecef0 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0016-some-every.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0016-some-every.dmn @@ -1,4 +1,4 @@ - + - - - - string - - - number - - - - tItemPrice - - - - - - - - - - - - "widget" - - - 25 - - - - - "sprocket" - - - 15 - - - - - "trinket" - - - 1.5 - - - - - - - - - + + + + string + + + number + + + + tItemPrice + + + + + + + + + + - every i in priceTable1 satisfies i.price > 10 + "widget" - - - - - - - every i in priceTable2 satisfies i.price > 10 + 25 - - - - - - + + - some i in priceTable1 satisfies i.price > 10 + "sprocket" - - - - - - - some i in priceTable2 satisfies i.price > 10 + 15 - - - - - - - - - + + - every i in priceTable1 satisfies gtTen(i.price)=true + "trinket" - - - - - - - theNumber > 10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 1.5 + + + + + + + + + + + every i in priceTable1 satisfies i.price > 10 + + + + + + + + + every i in priceTable2 satisfies i.price > 10 + + + + + + + + + some i in priceTable1 satisfies i.price > 10 + + + + + + + + + some i in priceTable2 satisfies i.price > 10 + + + + + + + + + + + + every i in priceTable1 satisfies gtTen(i.price)=true + + + + + + + + theNumber > 10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0017-tableTests.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0017-tableTests.dmn index 58be2f107a1..a1cddad1c57 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0017-tableTests.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0017-tableTests.dmn @@ -1,4 +1,4 @@ - + - - - number - - - - string - - - number - - - - string - - - - - - - - - - - - - - - - - - - - - - - - - structA.price - - - - - - >10 - - - true - - - - - <=10 - - - false - - - - - - - - - - - - - - - - - - - structA.price - - - - - "In range", "Not in range" - - - - - [numB..numC] - - - "In range" - - - - - - - - - "Not in range" - - - - - - - - - - - - - dateD - - - - - - >date("2016-10-01") - - - true - - - - - <=date("2016-10-01") - - - false - - - - - - - - - - - - - - - - dateD - - - - - - >dateE - - - true - - - - - <=dateE - - - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + number + + + + string + + + number + + + + string + + + + + + + + + + + + + + + + + + + + + + + + + structA.price + + + + + + >10 + + + true + + + + + <=10 + + + false + + + + + + + + + + + + + + + + + + + structA.price + + + + + "In range", "Not in range" + + + + + [numB..numC] + + + "In range" + + + + + - + + + "Not in range" + + + + + + + + + + + + + dateD + + + + + + >date("2016-10-01") + + + true + + + + + <=date("2016-10-01") + + + false + + + + + + + + + + + + + + + + dateD + + + + + + >dateE + + + true + + + + + <=dateE + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0020-vacation-days.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0020-vacation-days.dmn index bc5b7a6df5a..caea95fb736 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0020-vacation-days.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0020-vacation-days.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - - - - - - - Base Vacation Days + + + + + + + + + + + + + + + + + + + + + + + + Base Vacation Days + max( Extra days case 1, Extra days case 3 ) + Extra days case 2 - - - - - - - - - - - - - - Age - - - - - Years of Service - - - - - 0 - - - - - <18,>=60 - - - - - - - 5 - - - - - - - - - >=30 - - - 5 - - - - - - - - - - - - - - - - Age - - - - - Years of Service - - - - - 0 - - - - - - - - - >=30 - - - 3 - - - - - >=60 - - - - - - - 3 - - - - - - - - - - - - - - - - Age - - - - - Years of Service - - - - - 0 - - - - - - - - - [15..30) - - - 2 - - - - - >=45 - - - - - - - 2 - - - - - - - - 22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + Age + + + + + Years of Service + + + + + 0 + + + + + <18,>=60 + + + - + + + 5 + + + + + - + + + >=30 + + + 5 + + + + + + + + + + + + + + + + Age + + + + + Years of Service + + + + + 0 + + + + + - + + + >=30 + + + 3 + + + + + >=60 + + + - + + + 3 + + + + + + + + + + + + + + + + Age + + + + + Years of Service + + + + + 0 + + + + + - + + + [15..30) + + + 2 + + + + + >=45 + + + - + + + 2 + + + + + + + + 22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0021-singleton-list.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0021-singleton-list.dmn index 51ae6e52342..71f5462838a 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0021-singleton-list.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0021-singleton-list.dmn @@ -1,4 +1,4 @@ - + - - - string - - - - - - - - - - - sublist(Employees, 2, 1) - - - - - - - - - sublist(Employees, 2, 1) - - - - - - - - - Employees[item = "Bob"] - - - - - - - - - Employees[item = "Bob"] - - - - - - - - - upper case( Employees[item = "Bob"] ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + string + + + + + + + + + + + sublist(Employees, 2, 1) + + + + + + + + + sublist(Employees, 2, 1) + + + + + + + + + Employees[item = "Bob"] + + + + + + + + + Employees[item = "Bob"] + + + + + + + + + upper case( Employees[item = "Bob"] ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0030-user-defined-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0030-user-defined-functions.dmn index 5bef565d5b3..d833b103035 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0030-user-defined-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0030-user-defined-functions.dmn @@ -1,4 +1,4 @@ - + - - Tests definition of functions in a boxed expression and invocation of those. - - - - - - - - - - - - - - - - a+b - - - - - - - function(a,b) a + b - - - - - boxedFnDefinition(stringInputA, stringInputB) + literalFnDefinition(stringInputA, stringInputB) - - - - - - - - - - - - - - - - - - - - a+b - - - - - - - function(a,b) a + b - - - - - boxedFnDefinition(b:stringInputA, a:stringInputB) + literalFnDefinition(b:stringInputA, a:stringInputB) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Tests definition of functions in a boxed expression and invocation of those. + + + + + + + + + + + + + + + + a+b + + + + + + + function(a,b) a + b + + + + + boxedFnDefinition(stringInputA, stringInputB) + literalFnDefinition(stringInputA, stringInputB) + + + + + + + + + + + + + + + + + + + + a+b + + + + + + + function(a,b) a + b + + + + + boxedFnDefinition(b:stringInputA, a:stringInputB) + literalFnDefinition(b:stringInputA, a:stringInputB) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0031-user-defined-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0031-user-defined-functions.dmn index 4070bed92d4..06bc418a715 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0031-user-defined-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0031-user-defined-functions.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - number - - - number - - - number - - - - - number - - - number - - - number - - - number - - - - - number - - - number - - - number - - - - - - - - - function(a,b) a+b - - - - - - function(a,b) a-b - - - - - - - - - a*b - - - - - - - function(a,b) if b = 0 then null else a/b - - - - - - - - - - - - - - - - - - - - fn library.sumFn(inputA,inputB) - - - - - - fn library.multiplyFn(inputA,inputB) - - - - - - fn library.divideFn(inputA, inputB) - - - - - - - - - - - - - - - - - - - - fn library.subFn(a:inputA,b:inputB) - - - - - - fn library.multiplyFn(a:inputA,b:inputB) - - - - - - fn library.subFn(a:inputB, b:inputA) - - - - - - fn library.divideFn(a:inputA, b:inputB) - - - - - - - - - - - - - - - - - - - - - - - fn library.multiplyFn(fn library.sumFn(inputA,inputA), fn library.sumFn(a:inputB, b:inputB)) - - - - - - fn library.multiplyFn(inputA * inputA, if fn library.subFn(inputA,inputB) in [0..10] then 5 else 10 ) - - - - - - Circumference(inputA+inputB) - - - - - - - - - - (2*3.141592) * radius - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + number + + + number + + + number + + + + + number + + + number + + + number + + + number + + + + + number + + + number + + + number + + + + + + + + + function(a,b) a+b + + + + + + function(a,b) a-b + + + + + + + + + a*b + + + + + + + function(a,b) if b = 0 then null else a/b + + + + + + + + + + + + + + + + + + + + fn library.sumFn(inputA,inputB) + + + + + + fn library.multiplyFn(inputA,inputB) + + + + + + fn library.divideFn(inputA, inputB) + + + + + + + + + + + + + + + + + + + + fn library.subFn(a:inputA,b:inputB) + + + + + + fn library.multiplyFn(a:inputA,b:inputB) + + + + + + fn library.subFn(a:inputB, b:inputA) + + + + + + fn library.divideFn(a:inputA, b:inputB) + + + + + + + + + + + + + + + + + + + + + + + fn library.multiplyFn(fn library.sumFn(inputA,inputA), fn library.sumFn(a:inputB, b:inputB)) + + + + + + fn library.multiplyFn(inputA * inputA, if fn library.subFn(inputA,inputB) in [0..10] then 5 else 10 ) + + + + + + Circumference(inputA+inputB) + + + + + + + + + + (2*3.141592) * radius + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0032-conditionals.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0032-conditionals.dmn index 5a1d2ae0dd1..6fde12d2e9e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0032-conditionals.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0032-conditionals.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - if bool then num+10 else num-10 - - - - - - - - - - - - if aDate > date("2017-01-01") then substring before(aString, " ") else substring after(aString, " ") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + if bool then num+10 else num-10 + + + + + + + + + + + + if aDate > date("2017-01-01") then substring before(aString, " ") else substring after(aString, " ") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0033-for-loops.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0033-for-loops.dmn index 44d4309554f..26611eca0dc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0033-for-loops.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0033-for-loops.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - boolean - - - - - - - - - - - for h in heights, w in widths return h * w - - - - - - - - - - - - - - - for h in heights return h + 1 - - - - - - - - - - - - - - - - - - for f in factors return is factor( value, f ) - - - - - - - - - - - - value / factor = decimal( value / factor, 0 ) - - - - - - - - - - for x in [2, 3, 4, 5] return x * value - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + number + + + boolean + + + + + + + + + + + for h in heights, w in widths return h * w + + + + + + + + + + + + + + + for h in heights return h + 1 + + + + + + + + + + + + + + + + + + for f in factors return is factor( value, f ) + + + + + + + + + + + + value / factor = decimal( value / factor, 0 ) + + + + + + + + + + for x in [2, 3, 4, 5] return x * value + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0034-drg-scopes.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0034-drg-scopes.dmn index fe6b4212165..6dcf94473f1 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0034-drg-scopes.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0034-drg-scopes.dmn @@ -1,4 +1,4 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + string + + + + + TypeDecisionA1 + + + + + TypeDecisionA2.x + + + TypeDecisionA2.x + + + + + string + + + string + + + + + TypeDecisionB1 + + + + + TypeDecisionB2.x + + + TypeDecisionB2.x + + + TypeDecisionA3 + + + + + string + + + TypeDecisionA3 + + + TypeDecisionB3 + + + + + string + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - string - - - - - TypeDecisionA1 - - - - - TypeDecisionA2.x - - - TypeDecisionA2.x - - - - - string - - - string - - - - - TypeDecisionB1 - - - - - TypeDecisionB2.x - - - TypeDecisionB2.x - - - TypeDecisionA3 - - - - - string - - - TypeDecisionA3 - - - TypeDecisionB3 - - - - - string - - - - - - - - - - - - - - - A - - - - - - - - - - - - - - - - - - - - B - - - - - - A - - - - - - - - - - - - - - - - - decision A 1 - - - - - - - - - - - - - - - - - decision A 1 - - - - - - - - - - - - - - - - - decision B 1 - - - - - - - - - - - - - - - - - decision B 1 - - - - - - - - - - - - - - - - - - - - decision A 2.1 - - - - - - decision A 2.2 - - - - - - - - - - - - - - - - - - - - - - - decision B 2.1 - - - - - - decision B 2.2 - - - - - - decision A 3 - - - - - - - - - - - - - - - - - - - - - - - C - - - - - - decision A 3 - - - - - - decision B 3 - - - - - - - - - - - - - - - - - - BKM II - - - - - "decision C 3" - - - - - - - - - - - - - - - - - - BKM I - - - - - "decision C 2" - - - - - - - - - - - - - - - - - decision C 3 - - - - - - - - - - - - - "BKM I" + " # " + BKM II(param) - - - - - - - - - - - - - - - "BKM II" + " # " + BKM III(param) + " # " + BKM IV(param) - - - - - - - - - - - - - - - - - - "BKM IV" + " # " + BKM III(param) - - - - - - - - - - - - - - - "BKM III" + " # " + param - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + A + + + + + + + + + + + + + + + + + + + + B + + + + + + A + + + + + + + + + + + + + + + + + decision A 1 + + + + + + + + + + + + + + + + + decision A 1 + + + + + + + + + + + + + + + + + decision B 1 + + + + + + + + + + + + + + + + + decision B 1 + + + + + + + + + + + + + + + + + + + + decision A 2.1 + + + + + + decision A 2.2 + + + + + + + + + + + + + + + + + + + + + + + decision B 2.1 + + + + + + decision B 2.2 + + + + + + decision A 3 + + + + + + + + + + + + + + + + + + + + + + + C + + + + + + decision A 3 + + + + + + decision B 3 + + + + + + + + + + + + + + + + + + BKM II + + + + + "decision C 3" + + + + + + + + + + + + + + + + + + BKM I + + + + + "decision C 2" + + + + + + + + + + + + + + + + + decision C 3 + + + + + + + + + + + + + "BKM I" + " # " + BKM II(param) + + + + + + + + + + + + + + + "BKM II" + " # " + BKM III(param) + " # " + BKM IV(param) + + + + + + + + + + + + + + + + + + "BKM IV" + " # " + BKM III(param) + + + + + + + + + + + + + + + "BKM III" + " # " + param + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0035-test-structure-output.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0035-test-structure-output.dmn index 71b064990c5..c00f2aa9d2f 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0035-test-structure-output.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0035-test-structure-output.dmn @@ -1,4 +1,4 @@ - + - - - - number - - [0..255] - - - - number - - [0..15] - - - - - number - - - number - - - number - - - number - - - - - tValue - - [0..255] - - - - tValue - - [0..255] - - - - tValue - - [0..255] - - - - - - tRGB - - - string - - - tCMYK - - - - - - - - - num-(floor(num/divisor)*divisor) - - - - - - - - - - - - - - digit - - - [0..15] - - - - - - [0..9] - - - string(digit) - - - - - 10 - - - "A" - - - - - 11 - - - "B" - - - - - 12 - - - "C" - - - - - 13 - - - "D" - - - - - 14 - - - "E" - - - - - 15 - - - "F" - - - - - - - mapping - - - - - - - - - - - if num < 16 + + + + number + + [0..255] + + + + number + + [0..15] + + + + + number + + + number + + + number + + + number + + + + + tValue + + [0..255] + + + + tValue + + [0..255] + + + + tValue + + [0..255] + + + + + + tRGB + + + string + + + tCMYK + + + + + + + + + num-(floor(num/divisor)*divisor) + + + + + + + + + + + + + + digit + + + [0..15] + + + + + + [0..9] + + + string(digit) + + + + + 10 + + + "A" + + + + + 11 + + + "B" + + + + + 12 + + + "C" + + + + + 13 + + + "D" + + + + + 14 + + + "E" + + + + + 15 + + + "F" + + + + + + + mapping + + + + + + + + + + + if num < 16 then "0" + single encode to hex(num) else single encode to hex(floor(num/16)) + single encode to hex(remainder(num, 16)) + + + + + + + + + + + + + + + + + + + + + + + + + "#" + to hex(R Value) + to hex(G Value) + to hex(B Value) + + + + + + + + + + + + + + + + + + + + + + + + + + + R Value / 255 + + + + + + G Value / 255 + + + + + + B Value / 255 + + + + + + 1-max(Rn, Gn, Bn) + + + + + + if Kn=1 then 0 else (1-Rn-Kn) / (1-Kn) + + + + + + if Kn=1 then 0 else (1-Gn-Kn) / (1-Kn) + + + + + + if Kn=1 then 0 else (1-Bn-Kn) / (1-Kn) + + + + + + + + + decimal(Cn*100, 0) + + + + + + decimal(Mn*100, 0) + + + + + + decimal(Yn*100, 0) + + + + + + decimal(Kn*100, 0) - - - - - - - - - - - - - - - - - - - - - - - - "#" + to hex(R Value) + to hex(G Value) + to hex(B Value) + + + + + + cmyk - - - - - - - - - - - - - - - - - - - - - - - - - - R Value / 255 - - - - - - G Value / 255 - - - - - - B Value / 255 - - - - - - 1-max(Rn, Gn, Bn) - - - - - - if Kn=1 then 0 else (1-Rn-Kn) / (1-Kn) - - - - - - if Kn=1 then 0 else (1-Gn-Kn) / (1-Kn) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R Value - - - - - if Kn=1 then 0 else (1-Bn-Kn) / (1-Kn) + + + + + G Value - - - - - - - - decimal(Cn*100, 0) - - - - - - decimal(Mn*100, 0) - - - - - - decimal(Yn*100, 0) - - - - - - decimal(Kn*100, 0) - - - - - - - cmyk + + + + + B Value - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - R Value - - - - - - G Value - - - - - - B Value - - - - - - - - hex Value - - - - - - cmyk Value - - - - - - - Profile of Color - - + + + + + + + hex Value + + + + + + cmyk Value + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Profile of Color + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0036-dt-variable-input.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0036-dt-variable-input.dmn index 8b5016cf288..f2ca448b43d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0036-dt-variable-input.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0036-dt-variable-input.dmn @@ -1,4 +1,4 @@ - + - - - - - boolean - - - number - - - string - - - date - - - time - - - dateTime - - - dayTimeDuration - - - yearMonthDuration - - - - - - - - - - - - - - Another boolean - - - - - - Complex.aBoolean - - - "Same boolean" - - - - - not(Complex.aBoolean) - - - "Not same boolean" - - - - - - - - - - - - - - - - - - - - - - - - - - - - Another String - - - - - - Complex.aString - - - "Same String" - - - - - not(Complex.aString) - - - "Different String" - - - - - - - - - - - - - - - - Another number - - - - - - Complex.aNumber - - - "Equals" - - - - - >Complex.aNumber - - - "Bigger" - - - - - < Complex.aNumber - - - "Smaller" - - - - - - - - - - - - - - - - Another Date - - - - - - Complex.aDate - - - "Same Date" - - - - - > Complex.aDate - - - "Future Date" - - - - - < Complex.aDate - - - "Past Date" - - - - - - - - - - - - - - - - Another Time - - - - - - Complex.aTime - - - "Same Time" - - - - - > Complex.aTime - - - "Future Time" - - - - - < Complex.aTime - - - "Past Time" - - - - - - - - - - - - - - - - Another Date and Time - - - - - - Complex.aDateTime - - - "Same date time" - - - - - > Complex.aDateTime - - - "Future date time" - - - - - < Complex.aDateTime - - - "Past date time" - - - - - - - - - - - - - - - - Another Days and Time Duration - - - - - - Complex.aDaysAndTimeDuration - - - "Same duration" - - - - - > Complex.aDaysAndTimeDuration - - - "Longer duration" - - - - - < Complex.aDaysAndTimeDuration - - - "Shorter duration" - - - - - - - - - - - - - - - - Another Years and Months Duration - - - - - - Complex.aYearsAndMonthsDuration - - - "Same duration" - - - - - > Complex.aYearsAndMonthsDuration - - - "Longer duration" - - - - - < Complex.aYearsAndMonthsDuration - - - "Shorter duration" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + boolean + + + number + + + string + + + date + + + time + + + dateTime + + + dayTimeDuration + + + yearMonthDuration + + + + + + + + + + + + + + Another boolean + + + + + + Complex.aBoolean + + + "Same boolean" + + + + + not(Complex.aBoolean) + + + "Not same boolean" + + + + + + + + + + + + + + + + + + + + + + + + + + + + Another String + + + + + + Complex.aString + + + "Same String" + + + + + not(Complex.aString) + + + "Different String" + + + + + + + + + + + + + + + + Another number + + + + + + Complex.aNumber + + + "Equals" + + + + + >Complex.aNumber + + + "Bigger" + + + + + < Complex.aNumber + + + "Smaller" + + + + + + + + + + + + + + + + Another Date + + + + + + Complex.aDate + + + "Same Date" + + + + + > Complex.aDate + + + "Future Date" + + + + + < Complex.aDate + + + "Past Date" + + + + + + + + + + + + + + + + Another Time + + + + + + Complex.aTime + + + "Same Time" + + + + + > Complex.aTime + + + "Future Time" + + + + + < Complex.aTime + + + "Past Time" + + + + + + + + + + + + + + + + Another Date and Time + + + + + + Complex.aDateTime + + + "Same date time" + + + + + > Complex.aDateTime + + + "Future date time" + + + + + < Complex.aDateTime + + + "Past date time" + + + + + + + + + + + + + + + + Another Days and Time Duration + + + + + + Complex.aDaysAndTimeDuration + + + "Same duration" + + + + + > Complex.aDaysAndTimeDuration + + + "Longer duration" + + + + + < Complex.aDaysAndTimeDuration + + + "Shorter duration" + + + + + + + + + + + + + + + + Another Years and Months Duration + + + + + + Complex.aYearsAndMonthsDuration + + + "Same duration" + + + + + > Complex.aYearsAndMonthsDuration + + + "Longer duration" + + + + + < Complex.aYearsAndMonthsDuration + + + "Shorter duration" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0037-dt-on-bkm-implicit-params.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0037-dt-on-bkm-implicit-params.dmn index fc17eba1adf..d2ee656269c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0037-dt-on-bkm-implicit-params.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0037-dt-on-bkm-implicit-params.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - - "Male","Female" - - - - number - - - - - - - - - - - - - - - - Description - - - - - Person.Gender - - - - - - Person.Name - - - - - - Person.Children - - - - - - - - - - - - - - Person.Gender - - - "Male","Female" - - - - - Person.Name - - - - - Person.Children - - - - - - "Male" - - - - - - - - - - - Person.Name + " is a dad of " + string(decimal(Person.Children,0)) + " children." - - - - - "Female" - - - - - - - - - - - Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + + string + + "Male","Female" + + + + number + + + + + + + + + + + + + + + + Description + + + + + Person.Gender + + + + + + Person.Name + + + + + + Person.Children + + + + + + + + + + + + + + Person.Gender + + + "Male","Female" + + + + + Person.Name + + + + + Person.Children + + + + + + "Male" + + + - + + + - + + + Person.Name + " is a dad of " + string(decimal(Person.Children,0)) + " children." + + + + + "Female" + + + - + + + - + + + Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0038-dt-on-bkm-explicit-params.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0038-dt-on-bkm-explicit-params.dmn index 13da2980906..2c9f7b3fc9d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0038-dt-on-bkm-explicit-params.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0038-dt-on-bkm-explicit-params.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - + + + + + string + + + string + + "Male","Female" + + + + number + + + + + + + + + + + + + + + + Description + + + + + Person + + + + + + + + + + + + + + + Person.Gender + + "Male","Female" - - - - number - - - - - - - - - - - - - - - - Description - - - - - Person - - - - - - - - - - - - - - - Person.Gender - - - "Male","Female" - - - - - - "Male" - - - Person.Name + " is a dad of " + string(decimal(Person.Children,0)) + " children." - - - - - "Female" - - - Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." - - - - - - - the description - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + "Male" + + + Person.Name + " is a dad of " + string(decimal(Person.Children,0)) + " children." + + + + + "Female" + + + Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." + + + + + + + the description + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0039-dt-list-semantics.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0039-dt-list-semantics.dmn index 64f72f844fc..6d5fff1fe20 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0039-dt-list-semantics.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0039-dt-list-semantics.dmn @@ -1,4 +1,4 @@ - + - - - - string - - - - - - - - - - - - - - - - - - - Symptom - - - - - - "cough", "sore throat", "stuffy nose" - - - Symptom + " is in the list of Cold symptoms" - - - - - Flu Symtoms - - - Symptom + " is in the list of Flu symptoms" - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + string + + + + + + + + + + + + + + + + + + + Symptom + + + + + + "cough", "sore throat", "stuffy nose" + + + Symptom + " is in the list of Cold symptoms" + + + + + Flu Symtoms + + + Symptom + " is in the list of Flu symptoms" + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0040-singlenestedcontext.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0040-singlenestedcontext.dmn index 4f3f69dfaa4..8615fb4d47a 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0040-singlenestedcontext.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0040-singlenestedcontext.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - 0.0375 - - - - - - - - - 100 - - - - - - - - Principal - - - - - Term - - - - - Rate - - - - - Fees - - - - - - 600000 - - - 360 - - - 0.0375 - - - 100 - - - (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees - - - - - 30000 - - - 60 - - - 0.0375 - - - 100 - - - (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees - - - - - 600000 - - - 365 - - - 0.0375 - - - 100 - - - (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees - - - - - - - MonthlyPayment - - - - - - - Boxed Context - - + + + + + + + + + + + + + + + 0.0375 + + + + + + + + + 100 + + + + + + + + Principal + + + + + Term + + + + + Rate + + + + + Fees + + + + + + 600000 + + + 360 + + + 0.0375 + + + 100 + + + (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees + + + + + 30000 + + + 60 + + + 0.0375 + + + 100 + + + (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees + + + + + 600000 + + + 365 + + + 0.0375 + + + 100 + + + (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees + + + + + + + MonthlyPayment + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Boxed Context + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0041-multiple-nestedcontext.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0041-multiple-nestedcontext.dmn index 5518663d61d..2e25d9242b2 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0041-multiple-nestedcontext.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0041-multiple-nestedcontext.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - 0.0375 + + + + + + + + + + + + + + + 0.0375 + + + + + + + + + + + + + + Principal + + + + + Term + + + + + Rate + + + + + + 600000 + + + 360 + + + 0.0375 + + + (Principal*Rate/12)/(1-(1+Rate/12)**-Term) + + + + + 30000 + + + 60 + + + 0.0375 + + + (Principal*Rate/12)/(1-(1+Rate/12)**-Term) + + + + + 600000 + + + 365 + + + 0.0375 + + + (Principal*Rate/12)/(1-(1+Rate/12)**-Term) + + + + + + + MonthlyPayment - - - - - - - - - - - - - Principal - - - - - Term - - - - - Rate - - - - - - 600000 - - - 360 - - - 0.0375 - - - (Principal*Rate/12)/(1-(1+Rate/12)**-Term) - - - - - 30000 - - - 60 - - - 0.0375 - - - (Principal*Rate/12)/(1-(1+Rate/12)**-Term) - - - - - 600000 - - - 365 - - - 0.0375 - - - (Principal*Rate/12)/(1-(1+Rate/12)**-Term) - - - - - - - MonthlyPayment - - - - - - - BoxedContextOutput - - - - - - - Boxed Context - - + + + + + + BoxedContextOutput + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Boxed Context + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0100-feel-constants.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0100-feel-constants.dmn index 730610d5860..714a26ad844 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0100-feel-constants.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0100-feel-constants.dmn @@ -1,4 +1,4 @@ - + - - - - - true - - - - - - false - - - - - - - - - - - - + + + + + true + + + + + + false + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0101-feel-constants.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0101-feel-constants.dmn index f1422fa1148..d112aac2cf1 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0101-feel-constants.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0101-feel-constants.dmn @@ -1,4 +1,4 @@ - + - - - - - .872 - - - - - - -.872 - - - - - - 50 - - - - - - -50 - - - - - - 125.4321987654 - - - - - - -125.4321987654 - - - - - - - - - - - - - - - - - - - - - - - - + + + + + .872 + + + + + + -.872 + + + + + + 50 + + + + + + -50 + + + + + + 125.4321987654 + + + + + + -125.4321987654 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0102-feel-constants.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0102-feel-constants.dmn index f5bfea7bc6f..9f38cdad526 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0102-feel-constants.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0102-feel-constants.dmn @@ -1,4 +1,4 @@ - + - - - - - "foo bar" - - - - - - "šomeÚnicodeŠtriňg" - - - - - - "横綱" - - - - - - "thisIsSomeLongStringThatMustBeProcessedSoHopefullyThisTestPassWithItAndIMustWriteSomethingMoreSoItIsLongerAndLongerAndLongerAndLongerAndLongerTillItIsReallyLong" - - - - - - - - - - - - - - - - - - + + + + + "foo bar" + + + + + + "šomeÚnicodeŠtriňg" + + + + + + "横綱" + + + + + + "thisIsSomeLongStringThatMustBeProcessedSoHopefullyThisTestPassWithItAndIMustWriteSomethingMoreSoItIsLongerAndLongerAndLongerAndLongerAndLongerTillItIsReallyLong" + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0105-feel-math.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0105-feel-math.dmn index 1c233f0ecac..180bbc60aa1 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0105-feel-math.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0105-feel-math.dmn @@ -1,4 +1,4 @@ - + - - - - - 10+5 - - - - - - -10+-5 - - - - - - (-10)+(-5) - - - - - - 10-5 - - - - - - -10--5 - - - - - - (-10)-(-5) - - - - - - (10+20)-(-5+3) - - - - - - 10*5 - - - - - - -10*-5 - - - - - - (-10)*(-5) - - - - - - (10+5)*(-5*3) - - - - - - 10/5 - - - - - - -10/-5 - - - - - - (-10)/(-5) - - - - - - (10+20)/(-5*3) - - - - - - (10+20)/0 - - - - - - 10**5 - - - - - - 10**-5 - - - - - - (5+2)**5 - - - - - - 5+2**5 - - - - - - 5+2**5+3 - - - - - - 5+2**(5+3) - - - - - - 10+null - - - - - - null + 10 - - - - - - 10 - null - - - - - - null - 10 - - - - - - 10 * null - - - - - - null * 10 - - - - - - 10 / null - - - - - - null / 10 - - - - - - 10 + 20 / -5 - 3 - - - - - - 10 + 20 / (-5 - 3) - - - - - - 1.2*10**3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + 10+5 + + + + + + -10+-5 + + + + + + (-10)+(-5) + + + + + + 10-5 + + + + + + -10--5 + + + + + + (-10)-(-5) + + + + + + (10+20)-(-5+3) + + + + + + 10*5 + + + + + + -10*-5 + + + + + + (-10)*(-5) + + + + + + (10+5)*(-5*3) + + + + + + 10/5 + + + + + + -10/-5 + + + + + + (-10)/(-5) + + + + + + (10+20)/(-5*3) + + + + + + (10+20)/0 + + + + + + 10**5 + + + + + + 10**-5 + + + + + + (5+2)**5 + + + + + + 5+2**5 + + + + + + 5+2**5+3 + + + + + + 5+2**(5+3) + + + + + + 10+null + + + + + + null + 10 + + + + + + 10 - null + + + + + + null - 10 + + + + + + 10 * null + + + + + + null * 10 + + + + + + 10 / null + + + + + + null / 10 + + + + + + 10 + 20 / -5 - 3 + + + + + + 10 + 20 / (-5 - 3) + + + + + + 1.2*10**3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0106-feel-ternary-logic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0106-feel-ternary-logic.dmn index 8e2e25eace3..3928c11de5f 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0106-feel-ternary-logic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0106-feel-ternary-logic.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - A and B - - - - - - - - - - - - A or B - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + A and B + + + + + + + + + + + + A or B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0107-feel-ternary-logic-not.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0107-feel-ternary-logic-not.dmn index 44d4bcbc2b7..dae0ad186ca 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0107-feel-ternary-logic-not.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0107-feel-ternary-logic-not.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - not(A) - - - - - - - - - - - - - - - - - + + + + + + + + + + + not(A) + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0108-first-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0108-first-hitpolicy.dmn index 3c8efc0e52c..8f953f745fe 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0108-first-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0108-first-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - "Declined" - - - - - "Best", "Standard" - - - "Standard" - - - - - >=18 - - - "Medium" - - - true - - - "Approved" - - - "Best" - - - - - >=12 - - - "Medium" - - - true - - - "Approved" - - - "Standard" - - - - - <12 - - - "Low" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + "Declined" + + + + + "Best", "Standard" + + + "Standard" + + + + + >=18 + + + "Medium" + + + true + + + "Approved" + + + "Best" + + + + + >=12 + + + "Medium" + + + true + + + "Approved" + + + "Standard" + + + + + <12 + + + "Low" + + + true + + + "Declined" + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0109-ruleOrder-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0109-ruleOrder-hitpolicy.dmn index 14ea7fd0d58..4ce8ce3d17d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0109-ruleOrder-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0109-ruleOrder-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - - - - - string - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Declined" - - - - - "Standard" - - - - - >=18 - - - "Medium" - - - true - - - "Approved" - - - "Best" - - - - - >=12 - - - "Medium" - - - true - - - "Approved" - - - "Standard" - - - - - <12 - - - "Low" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + + string + + + + + string + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Declined" + + + + + "Standard" + + + + + >=18 + + + "Medium" + + + true + + + "Approved" + + + "Best" + + + + + >=12 + + + "Medium" + + + true + + + "Approved" + + + "Standard" + + + + + <12 + + + "Low" + + + true + + + "Declined" + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0110-outputOrder-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0110-outputOrder-hitpolicy.dmn index bab6f45b47e..f6dcf19f0d4 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0110-outputOrder-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0110-outputOrder-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - "Approved", "Declined" - - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - "Basic" - - - - - <18 - - - - - - - - - - - "Declined" - - - "Standard" - - - - - - - - - "High" - - - - - - - "Approved" - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + "Approved", "Declined" + + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + "Basic" + + + + + <18 + + + - + + + - + + + "Declined" + + + "Standard" + + + + + - + + + "High" + + + - + + + "Approved" + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0111-first-hitpolicy-singleoutputcol.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0111-first-hitpolicy-singleoutputcol.dmn index 9b6262d90c8..068afb0a8e8 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0111-first-hitpolicy-singleoutputcol.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0111-first-hitpolicy-singleoutputcol.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0112-ruleOrder-hitpolicy-singleinoutcol.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0112-ruleOrder-hitpolicy-singleinoutcol.dmn index 3fbc1d2c930..fde82421613 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0112-ruleOrder-hitpolicy-singleinoutcol.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0112-ruleOrder-hitpolicy-singleinoutcol.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - - - - string - - - - - - - - - - Age - - - - - - >=18 - - - "Best" - - - - - >=12 - - - "Standard" - - - - - <12 - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + + string + + + + string + + + + + + + + + + Age + + + + + + >=18 + + + "Best" + + + + + >=12 + + + "Standard" + + + + + <12 + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0113-outputOrder-hitpolicy-singleinoutcol.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0113-outputOrder-hitpolicy-singleinoutcol.dmn index cca7f3bdfbe..c93c5b56b76 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0113-outputOrder-hitpolicy-singleinoutcol.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0113-outputOrder-hitpolicy-singleinoutcol.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - "Approved", "Declined" - - - - string - - - - string - - "Approved","Declined" - - - - - - - - - - - Age - - - - - "Approved","Declined" - - - - - >=18 - - - "Approved" - - - - - <18 - - - "Declined" - - - - - >=0 - - - "Approved" - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + "Approved", "Declined" + + + + string + + + + string + + "Approved","Declined" + + + + + + + + + + + Age + + + + + "Approved","Declined" + + + + + >=18 + + + "Approved" + + + + + <18 + + + "Declined" + + + + + >=0 + + + "Approved" + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0114-min-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0114-min-collect-hitpolicy.dmn index 249f53ae218..4f7199bcf00 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0114-min-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0114-min-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - NumOfYears - - - - - - >1 - - - 98.83 - - - - - >2 - - - 150.21 - - - - - >3 - - - 205.43 - - - - - >4 - - - 64.32 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + NumOfYears + + + + + + >1 + + + 98.83 + + + + + >2 + + + 150.21 + + + + + >3 + + + 205.43 + + + + + >4 + + + 64.32 + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0115-sum-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0115-sum-collect-hitpolicy.dmn index 6c1d61a928b..ac73fc03f85 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0115-sum-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0115-sum-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - NumOfYears - - - - - - >1 - - - 100 - - - - - >2 - - - 200 - - - - - >3 - - - 300 - - - - - >5 - - - 500 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + NumOfYears + + + + + + >1 + + + 100 + + + + + >2 + + + 200 + + + + + >3 + + + 300 + + + + + >5 + + + 500 + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0116-count-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0116-count-collect-hitpolicy.dmn index 6865112a498..5e8954f86f4 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0116-count-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0116-count-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - NumOfYears - - - - - - >1 - - - 100 - - - - - >2 - - - 200 - - - - - >3 - - - 300 - - - - - >5 - - - 500 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + NumOfYears + + + + + + >1 + + + 100 + + + + + >2 + + + 200 + + + + + >3 + + + 300 + + + + + >5 + + + 500 + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0117-multi-any-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0117-multi-any-hitpolicy.dmn index 0b8b9bc66ec..5c7ed09755c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0117-multi-any-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0117-multi-any-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - "Declined" - - - - - "Best", "Standard" - - - "Standard" - - - - - >=18 - - - "Low" - - - true - - - "Approved" - - - "Best" - - - - - >=18 - - - "Medium" - - - true - - - "Approved" - - - "Standard" - - - - - <18 - - - "Medium","Low" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - "High" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - - - - - false - - - "Declined" - - - "Standard" - - - - - >=19 - - - "Low" - - - true - - - "Approved" - - - "Best" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + "Declined" + + + + + "Best", "Standard" + + + "Standard" + + + + + >=18 + + + "Low" + + + true + + + "Approved" + + + "Best" + + + + + >=18 + + + "Medium" + + + true + + + "Approved" + + + "Standard" + + + + + <18 + + + "Medium","Low" + + + true + + + "Declined" + + + "Standard" + + + + + - + + + "High" + + + true + + + "Declined" + + + "Standard" + + + + + - + + + - + + + false + + + "Declined" + + + "Standard" + + + + + >=19 + + + "Low" + + + true + + + "Approved" + + + "Best" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0118-multi-priority-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0118-multi-priority-hitpolicy.dmn index 75d05642e1b..8579a0cf767 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0118-multi-priority-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0118-multi-priority-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - "Approved", "Declined" - - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - "Basic" - - - - - <18 - - - - - - - - - - - "Declined" - - - "Standard" - - - - - - - - - "High" - - - - - - - "Approved" - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + "Approved", "Declined" + + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + "Basic" + + + + + <18 + + + - + + + - + + + "Declined" + + + "Standard" + + + + + - + + + "High" + + + - + + + "Approved" + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0119-multi-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0119-multi-collect-hitpolicy.dmn index c60e092b4ae..e7ced9a0ba0 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0119-multi-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/0119-multi-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - "Approved", "Declined" - - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - "Basic" - - - - - <18 - - - - - - - - - - - "Declined" - - - "Standard" - - - - - - - - - "High" - - - - - - - "Approved" - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + "Approved", "Declined" + + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + "Basic" + + + + + <18 + + + - + + + - + + + "Declined" + + + "Standard" + + + + + - + + + "High" + + + - + + + "Approved" + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1100-feel-decimal-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1100-feel-decimal-function.dmn index 811ec8b5c41..c0ee366525a 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1100-feel-decimal-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1100-feel-decimal-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'decimal(n, scale)' in category numeric functions - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - Tests FEEL expression: 'decimal(1/3, 2)' and expects result: '0.33 (number)' - Result of FEEL expression 'decimal(1/3, 2)'? - 0.33 (number) - - - decimal(1/3, 2) - - - - Tests FEEL expression: 'decimal(1/3, 2.5)' and expects result: '0.33 (number)' - Result of FEEL expression 'decimal(1/3, 2.5)'? - 0.33 (number) - - - decimal(1/3, 2.5) - - - - Tests FEEL expression: 'decimal(1.5, 0)' and expects result: '2 (number)' - Result of FEEL expression 'decimal(1.5, 0)'? - 2 (number) - - - decimal(1.5, 0) - - - - Tests FEEL expression: 'decimal(2.5, 0)' and expects result: '2 (number)' - Result of FEEL expression 'decimal(2.5, 0)'? - 2 (number) - - - decimal(2.5, 0) - - - - Tests FEEL expression: 'decimal(0, 0)' and expects result: '0 (number)' - Result of FEEL expression 'decimal(0, 0)'? - 0 (number) - - - decimal(0, 0) - - - - Tests FEEL expression: 'decimal(0.0, 1)' and expects result: '0.0 (number)' - Result of FEEL expression 'decimal(0.0, 1)'? - 0.0 (number) - - - decimal(0.0, 1) - - - - Tests FEEL expression: 'decimal(0.515, 2)' and expects result: '0.52 (number)' - Result of FEEL expression 'decimal(0.515, 2)'? - 0.52 (number) - - - decimal(0.515, 2) - - - - Tests FEEL expression: 'decimal(65.123456, 6)' and expects result: '65.123456 (number)' - Result of FEEL expression 'decimal(65.123456, 6)'? - 65.123456 (number) - - - decimal(65.123456, 6) - - - - Tests FEEL expression: 'decimal(n:15/7,scale:3)' and expects result: '2.143 (number)' - Result of FEEL expression 'decimal(n:15/7,scale:3)'? - 2.143 (number) - - - decimal(n:15/7,scale:3) - - - - Tests FEEL expression: 'decimal(n:15/78*2,scale:3)' and expects result: '0.385 (number)' - Result of FEEL expression 'decimal(n:15/78*2,scale:3)'? - 0.385 (number) - - - decimal(n:15/78*2,scale:3) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'decimal(n, scale)' in category numeric functions + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + Tests FEEL expression: 'decimal(1/3, 2)' and expects result: '0.33 (number)' + Result of FEEL expression 'decimal(1/3, 2)'? + 0.33 (number) + + + decimal(1/3, 2) + + + + Tests FEEL expression: 'decimal(1/3, 2.5)' and expects result: '0.33 (number)' + Result of FEEL expression 'decimal(1/3, 2.5)'? + 0.33 (number) + + + decimal(1/3, 2.5) + + + + Tests FEEL expression: 'decimal(1.5, 0)' and expects result: '2 (number)' + Result of FEEL expression 'decimal(1.5, 0)'? + 2 (number) + + + decimal(1.5, 0) + + + + Tests FEEL expression: 'decimal(2.5, 0)' and expects result: '2 (number)' + Result of FEEL expression 'decimal(2.5, 0)'? + 2 (number) + + + decimal(2.5, 0) + + + + Tests FEEL expression: 'decimal(0, 0)' and expects result: '0 (number)' + Result of FEEL expression 'decimal(0, 0)'? + 0 (number) + + + decimal(0, 0) + + + + Tests FEEL expression: 'decimal(0.0, 1)' and expects result: '0.0 (number)' + Result of FEEL expression 'decimal(0.0, 1)'? + 0.0 (number) + + + decimal(0.0, 1) + + + + Tests FEEL expression: 'decimal(0.515, 2)' and expects result: '0.52 (number)' + Result of FEEL expression 'decimal(0.515, 2)'? + 0.52 (number) + + + decimal(0.515, 2) + + + + Tests FEEL expression: 'decimal(65.123456, 6)' and expects result: '65.123456 (number)' + Result of FEEL expression 'decimal(65.123456, 6)'? + 65.123456 (number) + + + decimal(65.123456, 6) + + + + Tests FEEL expression: 'decimal(n:15/7,scale:3)' and expects result: '2.143 (number)' + Result of FEEL expression 'decimal(n:15/7,scale:3)'? + 2.143 (number) + + + decimal(n:15/7,scale:3) + + + + Tests FEEL expression: 'decimal(n:15/78*2,scale:3)' and expects result: '0.385 (number)' + Result of FEEL expression 'decimal(n:15/78*2,scale:3)'? + 0.385 (number) + + + decimal(n:15/78*2,scale:3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1101-feel-floor-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1101-feel-floor-function.dmn index 4ad6870a7fb..d4facdf9689 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1101-feel-floor-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1101-feel-floor-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'floor(n)' in category numeric functions - - number - - - number - - - number - - - number - - - number - - - number - - - Tests FEEL expression: 'floor(1.5)' and expects result: '1 (number)' - Result of FEEL expression 'floor(1.5)'? - 1 (number) - - - floor(1.5) - - - - Tests FEEL expression: 'floor(-1.5)' and expects result: '-2 (number)' - Result of FEEL expression 'floor(-1.5)'? - -2 (number) - - - floor(-1.5) - - - - Tests FEEL expression: 'floor(--1)' and expects result: '1 (number)' - Result of FEEL expression 'floor(--1)'? - 1 (number) - - - floor(--1) - - - - Tests FEEL expression: 'floor(-5/2.3*5)' and expects result: '-11 (number)' - Result of FEEL expression 'floor(-5/2.3*5)'? - -11 (number) - - - floor(-5/2.3*5) - - - - Tests FEEL expression: 'floor(n:5.777)' and expects result: '5 (number)' - Result of FEEL expression 'floor(n:5.777)'? - 5 (number) - - - floor(n:5.777) - - - - Tests FEEL expression: 'floor(n:-.33333)' and expects result: '-1 (number)' - Result of FEEL expression 'floor(n:-.33333)'? - -1 (number) - - - floor(n:-.33333) - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'floor(n)' in category numeric functions + + number + + + number + + + number + + + number + + + number + + + number + + + Tests FEEL expression: 'floor(1.5)' and expects result: '1 (number)' + Result of FEEL expression 'floor(1.5)'? + 1 (number) + + + floor(1.5) + + + + Tests FEEL expression: 'floor(-1.5)' and expects result: '-2 (number)' + Result of FEEL expression 'floor(-1.5)'? + -2 (number) + + + floor(-1.5) + + + + Tests FEEL expression: 'floor(--1)' and expects result: '1 (number)' + Result of FEEL expression 'floor(--1)'? + 1 (number) + + + floor(--1) + + + + Tests FEEL expression: 'floor(-5/2.3*5)' and expects result: '-11 (number)' + Result of FEEL expression 'floor(-5/2.3*5)'? + -11 (number) + + + floor(-5/2.3*5) + + + + Tests FEEL expression: 'floor(n:5.777)' and expects result: '5 (number)' + Result of FEEL expression 'floor(n:5.777)'? + 5 (number) + + + floor(n:5.777) + + + + Tests FEEL expression: 'floor(n:-.33333)' and expects result: '-1 (number)' + Result of FEEL expression 'floor(n:-.33333)'? + -1 (number) + + + floor(n:-.33333) + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1102-feel-ceiling-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1102-feel-ceiling-function.dmn index dd7f1256cfa..8ba70cc9632 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1102-feel-ceiling-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1102-feel-ceiling-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'ceiling(n)' in category numeric functions - - number - - - number - - - number - - - number - - - number - - - number - - - Tests FEEL expression: 'ceiling(1.5)' and expects result: '2 (number)' - Result of FEEL expression 'ceiling(1.5)'? - 2 (number) - - - ceiling(1.5) - - - - Tests FEEL expression: 'ceiling(-1.5)' and expects result: '-1 (number)' - Result of FEEL expression 'ceiling(-1.5)'? - -1 (number) - - - ceiling(-1.5) - - - - Tests FEEL expression: 'ceiling(--1)' and expects result: '1 (number)' - Result of FEEL expression 'ceiling(--1)'? - 1 (number) - - - ceiling(--1) - - - - Tests FEEL expression: 'ceiling(-5/2.3*5)' and expects result: '-10 (number)' - Result of FEEL expression 'ceiling(-5/2.3*5)'? - -10 (number) - - - ceiling(-5/2.3*5) - - - - Tests FEEL expression: 'ceiling(n:5.777)' and expects result: '6 (number)' - Result of FEEL expression 'ceiling(n:5.777)'? - 6 (number) - - - ceiling(n:5.777) - - - - Tests FEEL expression: 'ceiling(n:-.33333)' and expects result: '0 (number)' - Result of FEEL expression 'ceiling(n:-.33333)'? - 0 (number) - - - ceiling(n:-.33333) - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'ceiling(n)' in category numeric functions + + number + + + number + + + number + + + number + + + number + + + number + + + Tests FEEL expression: 'ceiling(1.5)' and expects result: '2 (number)' + Result of FEEL expression 'ceiling(1.5)'? + 2 (number) + + + ceiling(1.5) + + + + Tests FEEL expression: 'ceiling(-1.5)' and expects result: '-1 (number)' + Result of FEEL expression 'ceiling(-1.5)'? + -1 (number) + + + ceiling(-1.5) + + + + Tests FEEL expression: 'ceiling(--1)' and expects result: '1 (number)' + Result of FEEL expression 'ceiling(--1)'? + 1 (number) + + + ceiling(--1) + + + + Tests FEEL expression: 'ceiling(-5/2.3*5)' and expects result: '-10 (number)' + Result of FEEL expression 'ceiling(-5/2.3*5)'? + -10 (number) + + + ceiling(-5/2.3*5) + + + + Tests FEEL expression: 'ceiling(n:5.777)' and expects result: '6 (number)' + Result of FEEL expression 'ceiling(n:5.777)'? + 6 (number) + + + ceiling(n:5.777) + + + + Tests FEEL expression: 'ceiling(n:-.33333)' and expects result: '0 (number)' + Result of FEEL expression 'ceiling(n:-.33333)'? + 0 (number) + + + ceiling(n:-.33333) + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1103-feel-substring-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1103-feel-substring-function.dmn index c803d19108f..729ed487733 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1103-feel-substring-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1103-feel-substring-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'substring(string, start, position, length?) in category string functions - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - Tests FEEL expression: 'substring("f",1)' and expects result: '"f" (string)' - Result of FEEL expression 'substring("f",1)'? - "f" (string) - - - substring("f",1) - - - - Tests FEEL expression: 'substring("f",1,1)' and expects result: '"f" (string)' - Result of FEEL expression 'substring("f",1,1)'? - "f" (string) - - - substring("f",1,1) - - - - Tests FEEL expression: 'substring("foobar",6)' and expects result: '"r" (string)' - Result of FEEL expression 'substring("foobar",6)'? - "r" (string) - - - substring("foobar",6) - - - - Tests FEEL expression: 'substring("foobar",1,6)' and expects result: '"foobar" (string)' - Result of FEEL expression 'substring("foobar",1,6)'? - "foobar" (string) - - - substring("foobar",1,6) - - - - Tests FEEL expression: 'substring("foobar",3)' and expects result: '"obar" (string)' - Result of FEEL expression 'substring("foobar",3)'? - "obar" (string) - - - substring("foobar",3) - - - - Tests FEEL expression: 'substring("foobar",3,3)' and expects result: '"oba" (string)' - Result of FEEL expression 'substring("foobar",3,3)'? - "oba" (string) - - - substring("foobar",3,3) - - - - Tests FEEL expression: 'substring("foobar",-2,1)' and expects result: '"a" (string)' - Result of FEEL expression 'substring("foobar",-2,1)'? - "a" (string) - - - substring("foobar",-2,1) - - - - Tests FEEL expression: 'substring("foob r",-2,1)' and expects result: '" " (string)' - Result of FEEL expression 'substring("foob r",-2,1)'? - " " (string) - - - substring("foob r",-2,1) - - - - Tests FEEL expression: 'substring("foobar",-6,6)' and expects result: '"foobar" (string)' - Result of FEEL expression 'substring("foobar",-6,6)'? - "foobar" (string) - - - substring("foobar",-6,6) - - - - Tests FEEL expression: 'substring("foobar",3,3.8)' and expects result: '"oba" (string)' - Result of FEEL expression 'substring("foobar",3,3.8)'? - "oba" (string) - - - substring("foobar",3,3.8) - - - - Tests FEEL expression: 'substring(string:"foobar",start position :3)' and expects result: '"obar" (string)' - Result of FEEL expression 'substring(string:"foobar",start position :3)'? - "obar" (string) - - - substring(string:"foobar",start position :3) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'substring(string, start, position, length?) in category string functions + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + Tests FEEL expression: 'substring("f",1)' and expects result: '"f" (string)' + Result of FEEL expression 'substring("f",1)'? + "f" (string) + + + substring("f",1) + + + + Tests FEEL expression: 'substring("f",1,1)' and expects result: '"f" (string)' + Result of FEEL expression 'substring("f",1,1)'? + "f" (string) + + + substring("f",1,1) + + + + Tests FEEL expression: 'substring("foobar",6)' and expects result: '"r" (string)' + Result of FEEL expression 'substring("foobar",6)'? + "r" (string) + + + substring("foobar",6) + + + + Tests FEEL expression: 'substring("foobar",1,6)' and expects result: '"foobar" (string)' + Result of FEEL expression 'substring("foobar",1,6)'? + "foobar" (string) + + + substring("foobar",1,6) + + + + Tests FEEL expression: 'substring("foobar",3)' and expects result: '"obar" (string)' + Result of FEEL expression 'substring("foobar",3)'? + "obar" (string) + + + substring("foobar",3) + + + + Tests FEEL expression: 'substring("foobar",3,3)' and expects result: '"oba" (string)' + Result of FEEL expression 'substring("foobar",3,3)'? + "oba" (string) + + + substring("foobar",3,3) + + + + Tests FEEL expression: 'substring("foobar",-2,1)' and expects result: '"a" (string)' + Result of FEEL expression 'substring("foobar",-2,1)'? + "a" (string) + + + substring("foobar",-2,1) + + + + Tests FEEL expression: 'substring("foob r",-2,1)' and expects result: '" " (string)' + Result of FEEL expression 'substring("foob r",-2,1)'? + " " (string) + + + substring("foob r",-2,1) + + + + Tests FEEL expression: 'substring("foobar",-6,6)' and expects result: '"foobar" (string)' + Result of FEEL expression 'substring("foobar",-6,6)'? + "foobar" (string) + + + substring("foobar",-6,6) + + + + Tests FEEL expression: 'substring("foobar",3,3.8)' and expects result: '"oba" (string)' + Result of FEEL expression 'substring("foobar",3,3.8)'? + "oba" (string) + + + substring("foobar",3,3.8) + + + + Tests FEEL expression: 'substring(string:"foobar",start position :3)' and expects result: '"obar" (string)' + Result of FEEL expression 'substring(string:"foobar",start position :3)'? + "obar" (string) + + + substring(string:"foobar",start position :3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1104-feel-string-length-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1104-feel-string-length-function.dmn index a9c94083637..fadb982be3d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1104-feel-string-length-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1104-feel-string-length-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'string length(string)' in category string functions - - number - - - number - - - number - - - number - - - number - - - number - - - Tests FEEL expression: 'string length("")' and expects result: '0 (number)' - Result of FEEL expression 'string length("")'? - 0 (number) - - - string length("") - - - - Tests FEEL expression: 'string length("a")' and expects result: '1 (number)' - Result of FEEL expression 'string length("a")'? - 1 (number) - - - string length("a") - - - - Tests FEEL expression: 'string length("abc")' and expects result: '3 (number)' - Result of FEEL expression 'string length("abc")'? - 3 (number) - - - string length("abc") - - - - Tests FEEL expression: 'string length(string:"xyz123")' and expects result: '6 (number)' - Result of FEEL expression 'string length(string:"xyz123")'? - 6 (number) - - - string length(string:"xyz123") - - - - Tests FEEL expression: 'string length(string:"aaaaa dddd")' and expects result: '10 (number)' - Result of FEEL expression 'string length(string:"aaaaa dddd")'? - 10 (number) - - - string length(string:"aaaaa dddd") - - - - Tests FEEL expression: 'string length(string:"aaaaa dddd ")' and expects result: '11 (number)' - Result of FEEL expression 'string length(string:"aaaaa dddd ")'? - 11 (number) - - - string length(string:"aaaaa dddd ") - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'string length(string)' in category string functions + + number + + + number + + + number + + + number + + + number + + + number + + + Tests FEEL expression: 'string length("")' and expects result: '0 (number)' + Result of FEEL expression 'string length("")'? + 0 (number) + + + string length("") + + + + Tests FEEL expression: 'string length("a")' and expects result: '1 (number)' + Result of FEEL expression 'string length("a")'? + 1 (number) + + + string length("a") + + + + Tests FEEL expression: 'string length("abc")' and expects result: '3 (number)' + Result of FEEL expression 'string length("abc")'? + 3 (number) + + + string length("abc") + + + + Tests FEEL expression: 'string length(string:"xyz123")' and expects result: '6 (number)' + Result of FEEL expression 'string length(string:"xyz123")'? + 6 (number) + + + string length(string:"xyz123") + + + + Tests FEEL expression: 'string length(string:"aaaaa dddd")' and expects result: '10 (number)' + Result of FEEL expression 'string length(string:"aaaaa dddd")'? + 10 (number) + + + string length(string:"aaaaa dddd") + + + + Tests FEEL expression: 'string length(string:"aaaaa dddd ")' and expects result: '11 (number)' + Result of FEEL expression 'string length(string:"aaaaa dddd ")'? + 11 (number) + + + string length(string:"aaaaa dddd ") + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1105-feel-upper-case-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1105-feel-upper-case-function.dmn index 54bdbfee094..7814527571c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1105-feel-upper-case-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1105-feel-upper-case-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'upper case(string) in category string functions - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - Tests FEEL expression: 'upper case("a")' and expects result: '"A" (string)' - Result of FEEL expression 'upper case("a")'? - "A" (string) - - - upper case("a") - - - - Tests FEEL expression: 'upper case("abc")' and expects result: '"ABC" (string)' - Result of FEEL expression 'upper case("abc")'? - "ABC" (string) - - - upper case("abc") - - - - Tests FEEL expression: 'upper case("")' and expects result: '"" (string)' - Result of FEEL expression 'upper case("")'? - "" (string) - - - upper case("") - - - - Tests FEEL expression: 'upper case("1")' and expects result: '"1" (string)' - Result of FEEL expression 'upper case("1")'? - "1" (string) - - - upper case("1") - - - - Tests FEEL expression: 'upper case("?@{")' and expects result: '"?@{" (string)' - Result of FEEL expression 'upper case("?@{")'? - "?@{" (string) - - - upper case("?@{") - - - - Tests FEEL expression: 'upper case(string:"AbDcF")' and expects result: '"ABDCF" (string)' - Result of FEEL expression 'upper case(string:"AbDcF")'? - "ABDCF" (string) - - - upper case(string:"AbDcF") - - - - Tests FEEL expression: 'upper case(string:"xyZ ")' and expects result: '"XYZ " (string)' - Result of FEEL expression 'upper case(string:"xyZ ")'? - "XYZ " (string) - - - upper case(string:"xyZ ") - - - - Tests FEEL expression: 'upper case(string:"123ABC")' and expects result: '"123ABC" (string)' - Result of FEEL expression 'upper case(string:"123ABC")'? - "123ABC" (string) - - - upper case(string:"123ABC") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'upper case(string) in category string functions + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + Tests FEEL expression: 'upper case("a")' and expects result: '"A" (string)' + Result of FEEL expression 'upper case("a")'? + "A" (string) + + + upper case("a") + + + + Tests FEEL expression: 'upper case("abc")' and expects result: '"ABC" (string)' + Result of FEEL expression 'upper case("abc")'? + "ABC" (string) + + + upper case("abc") + + + + Tests FEEL expression: 'upper case("")' and expects result: '"" (string)' + Result of FEEL expression 'upper case("")'? + "" (string) + + + upper case("") + + + + Tests FEEL expression: 'upper case("1")' and expects result: '"1" (string)' + Result of FEEL expression 'upper case("1")'? + "1" (string) + + + upper case("1") + + + + Tests FEEL expression: 'upper case("?@{")' and expects result: '"?@{" (string)' + Result of FEEL expression 'upper case("?@{")'? + "?@{" (string) + + + upper case("?@{") + + + + Tests FEEL expression: 'upper case(string:"AbDcF")' and expects result: '"ABDCF" (string)' + Result of FEEL expression 'upper case(string:"AbDcF")'? + "ABDCF" (string) + + + upper case(string:"AbDcF") + + + + Tests FEEL expression: 'upper case(string:"xyZ ")' and expects result: '"XYZ " (string)' + Result of FEEL expression 'upper case(string:"xyZ ")'? + "XYZ " (string) + + + upper case(string:"xyZ ") + + + + Tests FEEL expression: 'upper case(string:"123ABC")' and expects result: '"123ABC" (string)' + Result of FEEL expression 'upper case(string:"123ABC")'? + "123ABC" (string) + + + upper case(string:"123ABC") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1106-feel-lower-case-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1106-feel-lower-case-function.dmn index f82ff9b434e..9a86ebd9f5f 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1106-feel-lower-case-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1106-feel-lower-case-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'lower case(string)' in category string functions - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - Tests FEEL expression: 'lower case("A")' and expects result: '"a" (string)' - Result of FEEL expression 'lower case("A")'? - "a" (string) - - - lower case("A") - - - - Tests FEEL expression: 'lower case("ABC")' and expects result: '"abc" (string)' - Result of FEEL expression 'lower case("ABC")'? - "abc" (string) - - - lower case("ABC") - - - - Tests FEEL expression: 'lower case("abc")' and expects result: '"abc" (string)' - Result of FEEL expression 'lower case("abc")'? - "abc" (string) - - - lower case("abc") - - - - Tests FEEL expression: 'lower case("aBc4")' and expects result: '"abc4" (string)' - Result of FEEL expression 'lower case("aBc4")'? - "abc4" (string) - - - lower case("aBc4") - - - - Tests FEEL expression: 'lower case("")' and expects result: '"" (string)' - Result of FEEL expression 'lower case("")'? - "" (string) - - - lower case("") - - - - Tests FEEL expression: 'lower case("?@{")' and expects result: '"?@{" (string)' - Result of FEEL expression 'lower case("?@{")'? - "?@{" (string) - - - lower case("?@{") - - - - Tests FEEL expression: 'lower case(string:"AbDcF")' and expects result: '"abdcf" (string)' - Result of FEEL expression 'lower case(string:"AbDcF")'? - "abdcf" (string) - - - lower case(string:"AbDcF") - - - - Tests FEEL expression: 'lower case(string:"xyZ ")' and expects result: '"xyz " (string)' - Result of FEEL expression 'lower case(string:"xyZ ")'? - "xyz " (string) - - - lower case(string:"xyZ ") - - - - Tests FEEL expression: 'lower case(string:"123ABC")' and expects result: '"123abc" (string)' - Result of FEEL expression 'lower case(string:"123ABC")'? - "123abc" (string) - - - lower case(string:"123ABC") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'lower case(string)' in category string functions + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + Tests FEEL expression: 'lower case("A")' and expects result: '"a" (string)' + Result of FEEL expression 'lower case("A")'? + "a" (string) + + + lower case("A") + + + + Tests FEEL expression: 'lower case("ABC")' and expects result: '"abc" (string)' + Result of FEEL expression 'lower case("ABC")'? + "abc" (string) + + + lower case("ABC") + + + + Tests FEEL expression: 'lower case("abc")' and expects result: '"abc" (string)' + Result of FEEL expression 'lower case("abc")'? + "abc" (string) + + + lower case("abc") + + + + Tests FEEL expression: 'lower case("aBc4")' and expects result: '"abc4" (string)' + Result of FEEL expression 'lower case("aBc4")'? + "abc4" (string) + + + lower case("aBc4") + + + + Tests FEEL expression: 'lower case("")' and expects result: '"" (string)' + Result of FEEL expression 'lower case("")'? + "" (string) + + + lower case("") + + + + Tests FEEL expression: 'lower case("?@{")' and expects result: '"?@{" (string)' + Result of FEEL expression 'lower case("?@{")'? + "?@{" (string) + + + lower case("?@{") + + + + Tests FEEL expression: 'lower case(string:"AbDcF")' and expects result: '"abdcf" (string)' + Result of FEEL expression 'lower case(string:"AbDcF")'? + "abdcf" (string) + + + lower case(string:"AbDcF") + + + + Tests FEEL expression: 'lower case(string:"xyZ ")' and expects result: '"xyz " (string)' + Result of FEEL expression 'lower case(string:"xyZ ")'? + "xyz " (string) + + + lower case(string:"xyZ ") + + + + Tests FEEL expression: 'lower case(string:"123ABC")' and expects result: '"123abc" (string)' + Result of FEEL expression 'lower case(string:"123ABC")'? + "123abc" (string) + + + lower case(string:"123ABC") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1107-feel-substring-before-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1107-feel-substring-before-function.dmn index 6864220d684..d03eca68cd5 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1107-feel-substring-before-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1107-feel-substring-before-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'substring before(string, match) in category string functions - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - Tests FEEL expression: 'substring before("foobar","bar")' and expects result: '"foo" (string)' - Result of FEEL expression 'substring before("foobar","bar")'? - "foo" (string) - - - substring before("foobar","bar") - - - - Tests FEEL expression: 'substring before("foobar","o")' and expects result: '"f" (string)' - Result of FEEL expression 'substring before("foobar","o")'? - "f" (string) - - - substring before("foobar","o") - - - - Tests FEEL expression: 'substring before("foobar","x")' and expects result: '"" (string)' - Result of FEEL expression 'substring before("foobar","x")'? - "" (string) - - - substring before("foobar","x") - - - - Tests FEEL expression: 'substring before("","")' and expects result: '"" (string)' - Result of FEEL expression 'substring before("","")'? - "" (string) - - - substring before("","") - - - - Tests FEEL expression: 'substring before("abc","")' and expects result: '"" (string)' - Result of FEEL expression 'substring before("abc","")'? - "" (string) - - - substring before("abc","") - - - - Tests FEEL expression: 'substring before("abc","a")' and expects result: '"" (string)' - Result of FEEL expression 'substring before("abc","a")'? - "" (string) - - - substring before("abc","a") - - - - Tests FEEL expression: 'substring before("abc","c")' and expects result: '"ab" (string)' - Result of FEEL expression 'substring before("abc","c")'? - "ab" (string) - - - substring before("abc","c") - - - - Tests FEEL expression: 'substring before(string:"foobar",match:"bar")' and expects result: '"foo" (string)' - Result of FEEL expression 'substring before(string:"foobar",match:"bar")'? - "foo" (string) - - - substring before(string:"foobar",match:"bar") - - - - Tests FEEL expression: 'substring before(string:"foobar",match:"b")' and expects result: '"foo" (string)' - Result of FEEL expression 'substring before(string:"foobar",match:"b")'? - "foo" (string) - - - substring before(string:"foobar",match:"b") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'substring before(string, match) in category string functions + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + Tests FEEL expression: 'substring before("foobar","bar")' and expects result: '"foo" (string)' + Result of FEEL expression 'substring before("foobar","bar")'? + "foo" (string) + + + substring before("foobar","bar") + + + + Tests FEEL expression: 'substring before("foobar","o")' and expects result: '"f" (string)' + Result of FEEL expression 'substring before("foobar","o")'? + "f" (string) + + + substring before("foobar","o") + + + + Tests FEEL expression: 'substring before("foobar","x")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("foobar","x")'? + "" (string) + + + substring before("foobar","x") + + + + Tests FEEL expression: 'substring before("","")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("","")'? + "" (string) + + + substring before("","") + + + + Tests FEEL expression: 'substring before("abc","")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("abc","")'? + "" (string) + + + substring before("abc","") + + + + Tests FEEL expression: 'substring before("abc","a")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("abc","a")'? + "" (string) + + + substring before("abc","a") + + + + Tests FEEL expression: 'substring before("abc","c")' and expects result: '"ab" (string)' + Result of FEEL expression 'substring before("abc","c")'? + "ab" (string) + + + substring before("abc","c") + + + + Tests FEEL expression: 'substring before(string:"foobar",match:"bar")' and expects result: '"foo" (string)' + Result of FEEL expression 'substring before(string:"foobar",match:"bar")'? + "foo" (string) + + + substring before(string:"foobar",match:"bar") + + + + Tests FEEL expression: 'substring before(string:"foobar",match:"b")' and expects result: '"foo" (string)' + Result of FEEL expression 'substring before(string:"foobar",match:"b")'? + "foo" (string) + + + substring before(string:"foobar",match:"b") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1108-feel-substring-after-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1108-feel-substring-after-function.dmn index 15b57191896..092d1ddf87b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1108-feel-substring-after-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1108-feel-substring-after-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'substring after(string, match) in category string functions - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - Tests FEEL expression: 'substring after("foobar","ob")' and expects result: '"ar" (string)' - Result of FEEL expression 'substring after("foobar","ob")'? - "ar" (string) - - - substring after("foobar","ob") - - - - Tests FEEL expression: 'substring after("foobar","o")' and expects result: '"obar" (string)' - Result of FEEL expression 'substring after("foobar","o")'? - "obar" (string) - - - substring after("foobar","o") - - - - Tests FEEL expression: 'substring after("foobar","x")' and expects result: '"" (string)' - Result of FEEL expression 'substring after("foobar","x")'? - "" (string) - - - substring after("foobar","x") - - - - Tests FEEL expression: 'substring after("","")' and expects result: '"" (string)' - Result of FEEL expression 'substring after("","")'? - "" (string) - - - substring after("","") - - - - Tests FEEL expression: 'substring after("","a")' and expects result: '"" (string)' - Result of FEEL expression 'substring after("","a")'? - "" (string) - - - substring after("","a") - - - - Tests FEEL expression: 'substring after("abc","")' and expects result: '"abc" (string)' - Result of FEEL expression 'substring after("abc","")'? - "abc" (string) - - - substring after("abc","") - - - - Tests FEEL expression: 'substring after("abc","c")' and expects result: '"" (string)' - Result of FEEL expression 'substring after("abc","c")'? - "" (string) - - - substring after("abc","c") - - - - Tests FEEL expression: 'substring after("abc","a")' and expects result: '"bc" (string)' - Result of FEEL expression 'substring after("abc","a")'? - "bc" (string) - - - substring after("abc","a") - - - - Tests FEEL expression: 'substring after(string:"foobar",match:"ob")' and expects result: '"ar" (string)' - Result of FEEL expression 'substring after(string:"foobar",match:"ob")'? - "ar" (string) - - - substring after(string:"foobar",match:"ob") - - - - Tests FEEL expression: 'substring after(string:"foobar",match:"b")' and expects result: '"ar" (string)' - Result of FEEL expression 'substring after(string:"foobar",match:"b")'? - "ar" (string) - - - substring after(string:"foobar",match:"b") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'substring after(string, match) in category string functions + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + Tests FEEL expression: 'substring after("foobar","ob")' and expects result: '"ar" (string)' + Result of FEEL expression 'substring after("foobar","ob")'? + "ar" (string) + + + substring after("foobar","ob") + + + + Tests FEEL expression: 'substring after("foobar","o")' and expects result: '"obar" (string)' + Result of FEEL expression 'substring after("foobar","o")'? + "obar" (string) + + + substring after("foobar","o") + + + + Tests FEEL expression: 'substring after("foobar","x")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("foobar","x")'? + "" (string) + + + substring after("foobar","x") + + + + Tests FEEL expression: 'substring after("","")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("","")'? + "" (string) + + + substring after("","") + + + + Tests FEEL expression: 'substring after("","a")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("","a")'? + "" (string) + + + substring after("","a") + + + + Tests FEEL expression: 'substring after("abc","")' and expects result: '"abc" (string)' + Result of FEEL expression 'substring after("abc","")'? + "abc" (string) + + + substring after("abc","") + + + + Tests FEEL expression: 'substring after("abc","c")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("abc","c")'? + "" (string) + + + substring after("abc","c") + + + + Tests FEEL expression: 'substring after("abc","a")' and expects result: '"bc" (string)' + Result of FEEL expression 'substring after("abc","a")'? + "bc" (string) + + + substring after("abc","a") + + + + Tests FEEL expression: 'substring after(string:"foobar",match:"ob")' and expects result: '"ar" (string)' + Result of FEEL expression 'substring after(string:"foobar",match:"ob")'? + "ar" (string) + + + substring after(string:"foobar",match:"ob") + + + + Tests FEEL expression: 'substring after(string:"foobar",match:"b")' and expects result: '"ar" (string)' + Result of FEEL expression 'substring after(string:"foobar",match:"b")'? + "ar" (string) + + + substring after(string:"foobar",match:"b") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1109-feel-replace-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1109-feel-replace-function.dmn index b4c79594bac..01b6c648779 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1109-feel-replace-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1109-feel-replace-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'replace(input, pattern, replacement, flags?)' in category string functions - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - Tests FEEL expression: 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")' and expects result: '"[1=ab][2=]cd" (string)' - Result of FEEL expression 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")'? - "[1=ab][2=]cd" (string) - - - replace("abcd","(ab)|(a)", "[1=$1][2=$2]") - - - - Tests FEEL expression: 'replace("a","[b-z]","#")' and expects result: '"a" (string)' - Result of FEEL expression 'replace("a","[b-z]","#")'? - "a" (string) - - - replace("a","[b-z]","#") - - - - Tests FEEL expression: 'replace("a","[a-z]","#")' and expects result: '"#" (string)' - Result of FEEL expression 'replace("a","[a-z]","#")'? - "#" (string) - - - replace("a","[a-z]","#") - - - - Tests FEEL expression: 'replace("abc","def","#")' and expects result: '"abc" (string)' - Result of FEEL expression 'replace("abc","def","#")'? - "abc" (string) - - - replace("abc","def","#") - - - - Tests FEEL expression: 'replace("abc","e","#")' and expects result: '"abc" (string)' - Result of FEEL expression 'replace("abc","e","#")'? - "abc" (string) - - - replace("abc","e","#") - - - - Tests FEEL expression: 'replace("foobar","^fo*b*","#")' and expects result: '"#ar" (string)' - Result of FEEL expression 'replace("foobar","^fo*b*","#")'? - "#ar" (string) - - - replace("foobar","^fo*b*","#") - - - - Tests FEEL expression: 'replace("abc",".^[d-z]","#")' and expects result: '"abc" (string)' - Result of FEEL expression 'replace("abc",".^[d-z]","#")'? - "abc" (string) - - - replace("abc",".^[d-z]","#") - - - - Tests FEEL expression: 'replace("abracadabra","bra","*")' and expects result: '"a*cada*" (string)' - Result of FEEL expression 'replace("abracadabra","bra","*")'? - "a*cada*" (string) - - - replace("abracadabra","bra","*") - - - - Tests FEEL expression: 'replace("abracadabra","a.*a","*")' and expects result: '"*" (string)' - Result of FEEL expression 'replace("abracadabra","a.*a","*")'? - "*" (string) - - - replace("abracadabra","a.*a","*") - - - - Tests FEEL expression: 'replace("abracadabra","a.*?a","*")' and expects result: '"*c*bra" (string)' - Result of FEEL expression 'replace("abracadabra","a.*?a","*")'? - "*c*bra" (string) - - - replace("abracadabra","a.*?a","*") - - - - Tests FEEL expression: 'replace("abracadabra","a","")' and expects result: '"brcdbr" (string)' - Result of FEEL expression 'replace("abracadabra","a","")'? - "brcdbr" (string) - - - replace("abracadabra","a","") - - - - Tests FEEL expression: 'replace("abracadabra","a(.)","a$1$1")' and expects result: '"abbraccaddabbra" (string)' - Result of FEEL expression 'replace("abracadabra","a(.)","a$1$1")'? - "abbraccaddabbra" (string) - - - replace("abracadabra","a(.)","a$1$1") - - - - Tests FEEL expression: 'replace("AAAA","A+","b")' and expects result: '"b" (string)' - Result of FEEL expression 'replace("AAAA","A+","b")'? - "b" (string) - - - replace("AAAA","A+","b") - - - - Tests FEEL expression: 'replace("AAAA","A+?","b")' and expects result: '"bbbb" (string)' - Result of FEEL expression 'replace("AAAA","A+?","b")'? - "bbbb" (string) - - - replace("AAAA","A+?","b") - - - - Tests FEEL expression: 'replace("darted","^(.*?)d(.*)$","$1c$2")' and expects result: '"carted" (string)' - Result of FEEL expression 'replace("darted","^(.*?)d(.*)$","$1c$2")'? - "carted" (string) - - - replace("darted","^(.*?)d(.*)$","$1c$2") - - - - Tests FEEL expression: 'replace("reluctant","r.*?t","X")' and expects result: '"Xant" (string)' - Result of FEEL expression 'replace("reluctant","r.*?t","X")'? - "Xant" (string) - - - replace("reluctant","r.*?t","X") - - - - Tests FEEL expression: 'replace("0123456789","(\d{3})(\d{3})(\d{4})","($1) $2-$3")' and expects result: '"(012) 345-6789" (string)' - Result of FEEL expression 'replace("0123456789","(\d{3})(\d{3})(\d{4})","($1) $2-$3")'? - "(012) 345-6789" (string) - - - replace("0123456789","(\d{3})(\d{3})(\d{4})","($1) $2-$3") - - - - Tests FEEL expression: 'replace("facetiously","[iouy]","[$0]")' and expects result: '"facet[i][o][u]sl[y]" (string)' - Result of FEEL expression 'replace("facetiously","[iouy]","[$0]")'? - "facet[i][o][u]sl[y]" (string) - - - replace("facetiously","[iouy]","[$0]") - - - - Tests FEEL expression: 'replace("abc","[a-z]","#","")' and expects result: '"###" (string)' - Result of FEEL expression 'replace("abc","[a-z]","#","")'? - "###" (string) - - - replace("abc","[a-z]","#","") - - - - Tests FEEL expression: 'replace("a.b.c.","[a-z]","#","s")' and expects result: '"#.#.#." (string)' - Result of FEEL expression 'replace("a.b.c.","[a-z]","#","s")'? - "#.#.#." (string) - - - replace("a.b.c.","[a-z]","#","s") - - - - Tests FEEL expression: 'replace("abc","[A-Z]","#","i")' and expects result: '"###" (string)' - Result of FEEL expression 'replace("abc","[A-Z]","#","i")'? - "###" (string) - - - replace("abc","[A-Z]","#","i") - - - - Tests FEEL expression: 'replace("abc","[a-z]","#","s")' and expects result: '"###" (string)' - Result of FEEL expression 'replace("abc","[a-z]","#","s")'? - "###" (string) - - - replace("abc","[a-z]","#","s") - - - - Tests FEEL expression: 'replace("a b c d ","[a-z]","#","x")' and expects result: '"# # # # " (string)' - Result of FEEL expression 'replace("a b c d ","[a-z]","#","x")'? - "# # # # " (string) - - - replace("a b c d ","[a-z]","#","x") - - - - Tests FEEL expression: 'replace("abc",".^[d-z]*","smix")' and expects result: '"abc" (string)' - Result of FEEL expression 'replace("abc",".^[d-z]*","smix")'? - "abc" (string) - - - replace("abc",".^[d-z]*","smix") - - - - Tests FEEL expression: 'replace(input:"abc",pattern:"[a-z]",replacement:"#")' and expects result: '"###" (string)' - Result of FEEL expression 'replace(input:"abc",pattern:"[a-z]",replacement:"#")'? - "###" (string) - - - replace(input:"abc",pattern:"[a-z]",replacement:"#") - - - - Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")' and expects result: '"abc" (string)' - Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")'? - "abc" (string) - - - replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"") - - - - Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")' and expects result: '"###" (string)' - Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")'? - "###" (string) - - - replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i") - - - - Tests FEEL expression: 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")' and expects result: '"abc" (string)' - Result of FEEL expression 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")'? - "abc" (string) - - - replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'replace(input, pattern, replacement, flags?)' in category string functions + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + Tests FEEL expression: 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")' and expects result: '"[1=ab][2=]cd" (string)' + Result of FEEL expression 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")'? + "[1=ab][2=]cd" (string) + + + replace("abcd","(ab)|(a)", "[1=$1][2=$2]") + + + + Tests FEEL expression: 'replace("a","[b-z]","#")' and expects result: '"a" (string)' + Result of FEEL expression 'replace("a","[b-z]","#")'? + "a" (string) + + + replace("a","[b-z]","#") + + + + Tests FEEL expression: 'replace("a","[a-z]","#")' and expects result: '"#" (string)' + Result of FEEL expression 'replace("a","[a-z]","#")'? + "#" (string) + + + replace("a","[a-z]","#") + + + + Tests FEEL expression: 'replace("abc","def","#")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc","def","#")'? + "abc" (string) + + + replace("abc","def","#") + + + + Tests FEEL expression: 'replace("abc","e","#")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc","e","#")'? + "abc" (string) + + + replace("abc","e","#") + + + + Tests FEEL expression: 'replace("foobar","^fo*b*","#")' and expects result: '"#ar" (string)' + Result of FEEL expression 'replace("foobar","^fo*b*","#")'? + "#ar" (string) + + + replace("foobar","^fo*b*","#") + + + + Tests FEEL expression: 'replace("abc",".^[d-z]","#")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc",".^[d-z]","#")'? + "abc" (string) + + + replace("abc",".^[d-z]","#") + + + + Tests FEEL expression: 'replace("abracadabra","bra","*")' and expects result: '"a*cada*" (string)' + Result of FEEL expression 'replace("abracadabra","bra","*")'? + "a*cada*" (string) + + + replace("abracadabra","bra","*") + + + + Tests FEEL expression: 'replace("abracadabra","a.*a","*")' and expects result: '"*" (string)' + Result of FEEL expression 'replace("abracadabra","a.*a","*")'? + "*" (string) + + + replace("abracadabra","a.*a","*") + + + + Tests FEEL expression: 'replace("abracadabra","a.*?a","*")' and expects result: '"*c*bra" (string)' + Result of FEEL expression 'replace("abracadabra","a.*?a","*")'? + "*c*bra" (string) + + + replace("abracadabra","a.*?a","*") + + + + Tests FEEL expression: 'replace("abracadabra","a","")' and expects result: '"brcdbr" (string)' + Result of FEEL expression 'replace("abracadabra","a","")'? + "brcdbr" (string) + + + replace("abracadabra","a","") + + + + Tests FEEL expression: 'replace("abracadabra","a(.)","a$1$1")' and expects result: '"abbraccaddabbra" (string)' + Result of FEEL expression 'replace("abracadabra","a(.)","a$1$1")'? + "abbraccaddabbra" (string) + + + replace("abracadabra","a(.)","a$1$1") + + + + Tests FEEL expression: 'replace("AAAA","A+","b")' and expects result: '"b" (string)' + Result of FEEL expression 'replace("AAAA","A+","b")'? + "b" (string) + + + replace("AAAA","A+","b") + + + + Tests FEEL expression: 'replace("AAAA","A+?","b")' and expects result: '"bbbb" (string)' + Result of FEEL expression 'replace("AAAA","A+?","b")'? + "bbbb" (string) + + + replace("AAAA","A+?","b") + + + + Tests FEEL expression: 'replace("darted","^(.*?)d(.*)$","$1c$2")' and expects result: '"carted" (string)' + Result of FEEL expression 'replace("darted","^(.*?)d(.*)$","$1c$2")'? + "carted" (string) + + + replace("darted","^(.*?)d(.*)$","$1c$2") + + + + Tests FEEL expression: 'replace("reluctant","r.*?t","X")' and expects result: '"Xant" (string)' + Result of FEEL expression 'replace("reluctant","r.*?t","X")'? + "Xant" (string) + + + replace("reluctant","r.*?t","X") + + + + Tests FEEL expression: 'replace("0123456789","(\d{3})(\d{3})(\d{4})","($1) $2-$3")' and expects result: '"(012) 345-6789" (string)' + Result of FEEL expression 'replace("0123456789","(\d{3})(\d{3})(\d{4})","($1) $2-$3")'? + "(012) 345-6789" (string) + + + replace("0123456789","(\d{3})(\d{3})(\d{4})","($1) $2-$3") + + + + Tests FEEL expression: 'replace("facetiously","[iouy]","[$0]")' and expects result: '"facet[i][o][u]sl[y]" (string)' + Result of FEEL expression 'replace("facetiously","[iouy]","[$0]")'? + "facet[i][o][u]sl[y]" (string) + + + replace("facetiously","[iouy]","[$0]") + + + + Tests FEEL expression: 'replace("abc","[a-z]","#","")' and expects result: '"###" (string)' + Result of FEEL expression 'replace("abc","[a-z]","#","")'? + "###" (string) + + + replace("abc","[a-z]","#","") + + + + Tests FEEL expression: 'replace("a.b.c.","[a-z]","#","s")' and expects result: '"#.#.#." (string)' + Result of FEEL expression 'replace("a.b.c.","[a-z]","#","s")'? + "#.#.#." (string) + + + replace("a.b.c.","[a-z]","#","s") + + + + Tests FEEL expression: 'replace("abc","[A-Z]","#","i")' and expects result: '"###" (string)' + Result of FEEL expression 'replace("abc","[A-Z]","#","i")'? + "###" (string) + + + replace("abc","[A-Z]","#","i") + + + + Tests FEEL expression: 'replace("abc","[a-z]","#","s")' and expects result: '"###" (string)' + Result of FEEL expression 'replace("abc","[a-z]","#","s")'? + "###" (string) + + + replace("abc","[a-z]","#","s") + + + + Tests FEEL expression: 'replace("a b c d ","[a-z]","#","x")' and expects result: '"# # # # " (string)' + Result of FEEL expression 'replace("a b c d ","[a-z]","#","x")'? + "# # # # " (string) + + + replace("a b c d ","[a-z]","#","x") + + + + Tests FEEL expression: 'replace("abc",".^[d-z]*","smix")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc",".^[d-z]*","smix")'? + "abc" (string) + + + replace("abc",".^[d-z]*","smix") + + + + Tests FEEL expression: 'replace(input:"abc",pattern:"[a-z]",replacement:"#")' and expects result: '"###" (string)' + Result of FEEL expression 'replace(input:"abc",pattern:"[a-z]",replacement:"#")'? + "###" (string) + + + replace(input:"abc",pattern:"[a-z]",replacement:"#") + + + + Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")'? + "abc" (string) + + + replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"") + + + + Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")' and expects result: '"###" (string)' + Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")'? + "###" (string) + + + replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i") + + + + Tests FEEL expression: 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")'? + "abc" (string) + + + replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1110-feel-contains-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1110-feel-contains-function.dmn index 373538843c2..252e2839924 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1110-feel-contains-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1110-feel-contains-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'contains(string, match)' in category string functions - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - Tests FEEL expression: 'contains(null,null)' and expects result: 'null (boolean)' - Result of FEEL expression 'contains(null,null)'? - null (boolean) - - - contains(null,null) - - - - Tests FEEL expression: 'contains(null,"bar")' and expects result: 'null (boolean)' - Result of FEEL expression 'contains(null,"bar")'? - null (boolean) - - - contains(null,"bar") - - - - Tests FEEL expression: 'contains("bar",null)' and expects result: 'null (boolean)' - Result of FEEL expression 'contains("bar",null)'? - null (boolean) - - - contains("bar",null) - - - - Tests FEEL expression: 'contains("foobar","bar")' and expects result: 'true (boolean)' - Result of FEEL expression 'contains("foobar","bar")'? - true (boolean) - - - contains("foobar","bar") - - - - Tests FEEL expression: 'contains("foobar","o")' and expects result: 'true (boolean)' - Result of FEEL expression 'contains("foobar","o")'? - true (boolean) - - - contains("foobar","o") - - - - Tests FEEL expression: 'contains("abc","")' and expects result: 'true (boolean)' - Result of FEEL expression 'contains("abc","")'? - true (boolean) - - - contains("abc","") - - - - Tests FEEL expression: 'contains("","ab")' and expects result: 'false (boolean)' - Result of FEEL expression 'contains("","ab")'? - false (boolean) - - - contains("","ab") - - - - Tests FEEL expression: 'contains("","")' and expects result: 'true (boolean)' - Result of FEEL expression 'contains("","")'? - true (boolean) - - - contains("","") - - - - Tests FEEL expression: 'contains(string:"foobar",match:"bar")' and expects result: 'true (boolean)' - Result of FEEL expression 'contains(string:"foobar",match:"bar")'? - true (boolean) - - - contains(string:"foobar",match:"bar") - - - - Tests FEEL expression: 'contains(string:"foobar",match:"b")' and expects result: 'true (boolean)' - Result of FEEL expression 'contains(string:"foobar",match:"b")'? - true (boolean) - - - contains(string:"foobar",match:"b") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'contains(string, match)' in category string functions + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + Tests FEEL expression: 'contains(null,null)' and expects result: 'null (boolean)' + Result of FEEL expression 'contains(null,null)'? + null (boolean) + + + contains(null,null) + + + + Tests FEEL expression: 'contains(null,"bar")' and expects result: 'null (boolean)' + Result of FEEL expression 'contains(null,"bar")'? + null (boolean) + + + contains(null,"bar") + + + + Tests FEEL expression: 'contains("bar",null)' and expects result: 'null (boolean)' + Result of FEEL expression 'contains("bar",null)'? + null (boolean) + + + contains("bar",null) + + + + Tests FEEL expression: 'contains("foobar","bar")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains("foobar","bar")'? + true (boolean) + + + contains("foobar","bar") + + + + Tests FEEL expression: 'contains("foobar","o")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains("foobar","o")'? + true (boolean) + + + contains("foobar","o") + + + + Tests FEEL expression: 'contains("abc","")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains("abc","")'? + true (boolean) + + + contains("abc","") + + + + Tests FEEL expression: 'contains("","ab")' and expects result: 'false (boolean)' + Result of FEEL expression 'contains("","ab")'? + false (boolean) + + + contains("","ab") + + + + Tests FEEL expression: 'contains("","")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains("","")'? + true (boolean) + + + contains("","") + + + + Tests FEEL expression: 'contains(string:"foobar",match:"bar")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains(string:"foobar",match:"bar")'? + true (boolean) + + + contains(string:"foobar",match:"bar") + + + + Tests FEEL expression: 'contains(string:"foobar",match:"b")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains(string:"foobar",match:"b")'? + true (boolean) + + + contains(string:"foobar",match:"b") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1115-feel-date-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1115-feel-date-function.dmn index 6103d73ce54..a3d761371a1 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1115-feel-date-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1115-feel-date-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'date(from [string])', 'date(from [date and time])' and 'date(year,month,day)' in category conversion functions - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - string - - - string - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - string - - - string - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - Tests FEEL expression: 'date(null)' and expects result: 'null (date)' - Result of FEEL expression 'date(null)'? - null (date) - - - date(null) - - - - Tests FEEL expression: 'date(null,null)' and expects result: 'null (date)' - Result of FEEL expression 'date(null,null)'? - null (date) - - - date(null,null) - - - - Tests FEEL expression: 'date(null,2,1)' and expects result: 'null (date)' - Result of FEEL expression 'date(null,2,1)'? - null (date) - - - date(null,2,1) - - - - Tests FEEL expression: 'date(2017,null,1)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,null,1)'? - null (date) - - - date(2017,null,1) - - - - Tests FEEL expression: 'date(2017,1,null)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,1,null)'? - null (date) - - - date(2017,1,null) - - - - Tests FEEL expression: 'date(null,null,1)' and expects result: 'null (date)' - Result of FEEL expression 'date(null,null,1)'? - null (date) - - - date(null,null,1) - - - - Tests FEEL expression: 'date(null,02,null)' and expects result: 'null (date)' - Result of FEEL expression 'date(null,02,null)'? - null (date) - - - date(null,02,null) - - - - Tests FEEL expression: 'date(2017,null,null)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,null,null)'? - null (date) - - - date(2017,null,null) - - - - Tests FEEL expression: 'date(null,null,null)' and expects result: 'null (date)' - Result of FEEL expression 'date(null,null,null)'? - null (date) - - - date(null,null,null) - - - - Tests FEEL expression: 'date()' and expects result: 'null (date)' - Result of FEEL expression 'date()'? - null (date) - - - date() - - - - Tests FEEL expression: 'date("2017-12-31")' and expects result: '2017-12-31 (date)' - Result of FEEL expression 'date("2017-12-31")'? - 2017-12-31 (date) - - - date("2017-12-31") - - - - Tests FEEL expression: 'date("2017-01-01")' and expects result: '2017-01-01 (date)' - Result of FEEL expression 'date("2017-01-01")'? - 2017-01-01 (date) - - - date("2017-01-01") - - - - Tests FEEL expression: 'date("-2017-12-31")' and expects result: '-2017-12-31 (date)' - Result of FEEL expression 'date("-2017-12-31")'? - -2017-12-31 (date) - - - date("-2017-12-31") - - - - Tests FEEL expression: 'date("-2017-01-01")' and expects result: '-2017-01-01 (date)' - Result of FEEL expression 'date("-2017-01-01")'? - -2017-01-01 (date) - - - date("-2017-01-01") - - - - Tests FEEL expression: 'string(date("999999999-12-31"))' and expects result: '"999999999-12-31" (string)' - Result of FEEL expression 'string(date("999999999-12-31"))'? - "999999999-12-31" (string) - - - string(date("999999999-12-31")) - - - - Tests FEEL expression: 'string(date("-999999999-12-31"))' and expects result: '"-999999999-12-31" (string)' - Result of FEEL expression 'string(date("-999999999-12-31"))'? - "-999999999-12-31" (string) - - - string(date("-999999999-12-31")) - - - - Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00"))' and expects result: '2017-08-14 (date)' - Result of FEEL expression 'date(date and time("2017-08-14T14:25:00"))'? - 2017-08-14 (date) - - - date(date and time("2017-08-14T14:25:00")) - - - - Tests FEEL expression: 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))' and expects result: '2017-08-14 (date)' - Result of FEEL expression 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))'? - 2017-08-14 (date) - - - date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00"))) - - - - Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00.123456789"))' and expects result: '2017-08-14 (date)' - Result of FEEL expression 'date(date and time("2017-08-14T14:25:00.123456789"))'? - 2017-08-14 (date) - - - date(date and time("2017-08-14T14:25:00.123456789")) - - - - Tests FEEL expression: 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))' and expects result: '2017-09-03 (date)' - Result of FEEL expression 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))'? - 2017-09-03 (date) - - - date(date and time("2017-09-03T09:45:30@Europe/Paris")) - - - - Tests FEEL expression: 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))' and expects result: '2017-09-06 (date)' - Result of FEEL expression 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))'? - 2017-09-06 (date) - - - date(date and time("2017-09-06T09:45:30@Asia/Dhaka")) - - - - Tests FEEL expression: 'date(date and time("2012-12-25T11:00:00Z"))' and expects result: '2012-12-25 (date)' - Result of FEEL expression 'date(date and time("2012-12-25T11:00:00Z"))'? - 2012-12-25 (date) - - - date(date and time("2012-12-25T11:00:00Z")) - - - - Tests FEEL expression: 'date(date and time("2017-08-03T10:15:30+01:00"))' and expects result: '2017-08-03 (date)' - Result of FEEL expression 'date(date and time("2017-08-03T10:15:30+01:00"))'? - 2017-08-03 (date) - - - date(date and time("2017-08-03T10:15:30+01:00")) - - - - Tests FEEL expression: 'date(date("2017-10-11"))' and expects result: '2017-10-11 (date)' - Result of FEEL expression 'date(date("2017-10-11"))'? - 2017-10-11 (date) - - - date(date("2017-10-11")) - - - - Tests FEEL expression: 'date(2017,12,31)' and expects result: '2017-12-31 (date)' - Result of FEEL expression 'date(2017,12,31)'? - 2017-12-31 (date) - - - date(2017,12,31) - - - - Tests FEEL expression: 'date(2017,01,01)' and expects result: '2017-01-01 (date)' - Result of FEEL expression 'date(2017,01,01)'? - 2017-01-01 (date) - - - date(2017,01,01) - - - - Tests FEEL expression: 'date(-2017,12,31)' and expects result: '-2017-12-31 (date)' - Result of FEEL expression 'date(-2017,12,31)'? - -2017-12-31 (date) - - - date(-2017,12,31) - - - - Tests FEEL expression: 'date(-2017,01,01)' and expects result: '-2017-01-01 (date)' - Result of FEEL expression 'date(-2017,01,01)'? - -2017-01-01 (date) - - - date(-2017,01,01) - - - - Tests FEEL expression: 'string(date(999999999,12,31))' and expects result: '"999999999-12-31" (string)' - Result of FEEL expression 'string(date(999999999,12,31))'? - "999999999-12-31" (string) - - - string(date(999999999,12,31)) - - - - Tests FEEL expression: 'string(date(-999999999,12,31))' and expects result: '"-999999999-12-31" (string)' - Result of FEEL expression 'string(date(-999999999,12,31))'? - "-999999999-12-31" (string) - - - string(date(-999999999,12,31)) - - - - Tests FEEL expression: 'date("2012-12-25T")' and expects result: 'null (date)' - Result of FEEL expression 'date("2012-12-25T")'? - null (date) - - - date("2012-12-25T") - - - - Tests FEEL expression: 'date("")' and expects result: 'null (date)' - Result of FEEL expression 'date("")'? - null (date) - - - date("") - - - - Tests FEEL expression: 'date("2012/12/25")' and expects result: 'null (date)' - Result of FEEL expression 'date("2012/12/25")'? - null (date) - - - date("2012/12/25") - - - - Tests FEEL expression: 'date("0000-12-25T")' and expects result: 'null (date)' - Result of FEEL expression 'date("0000-12-25T")'? - null (date) - - - date("0000-12-25T") - - - - Tests FEEL expression: 'date("9999999999-12-25")' and expects result: 'null (date)' - Result of FEEL expression 'date("9999999999-12-25")'? - null (date) - - - date("9999999999-12-25") - - - - Tests FEEL expression: 'date("2017-13-10")' and expects result: 'null (date)' - Result of FEEL expression 'date("2017-13-10")'? - null (date) - - - date("2017-13-10") - - - - Tests FEEL expression: 'date("2017-12-32")' and expects result: 'null (date)' - Result of FEEL expression 'date("2017-12-32")'? - null (date) - - - date("2017-12-32") - - - - Tests FEEL expression: 'date("998-12-31")' and expects result: 'null (date)' - Result of FEEL expression 'date("998-12-31")'? - null (date) - - - date("998-12-31") - - - - Tests FEEL expression: 'date("01211-12-31")' and expects result: 'null (date)' - Result of FEEL expression 'date("01211-12-31")'? - null (date) - - - date("01211-12-31") - - - - Tests FEEL expression: 'date("2012T-12-2511:00:00Z")' and expects result: 'null (date)' - Result of FEEL expression 'date("2012T-12-2511:00:00Z")'? - null (date) - - - date("2012T-12-2511:00:00Z") - - - - Tests FEEL expression: 'date("+2012-12-02")' and expects result: 'null (date)' - Result of FEEL expression 'date("+2012-12-02")'? - null (date) - - - date("+2012-12-02") - - - - Tests FEEL expression: 'date(2017,13,31)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,13,31)'? - null (date) - - - date(2017,13,31) - - - - Tests FEEL expression: 'date(2017,12,32)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,12,32)'? - null (date) - - - date(2017,12,32) - - - - Tests FEEL expression: 'date(2017,-8,2)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,-8,2)'? - null (date) - - - date(2017,-8,2) - - - - Tests FEEL expression: 'date(2017,8,-2)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,8,-2)'? - null (date) - - - date(2017,8,-2) - - - - Tests FEEL expression: 'date(-1000999999,12,01)' and expects result: 'null (date)' - Result of FEEL expression 'date(-1000999999,12,01)'? - null (date) - - - date(-1000999999,12,01) - - - - Tests FEEL expression: 'date(1000999999,12,32)' and expects result: 'null (date)' - Result of FEEL expression 'date(1000999999,12,32)'? - null (date) - - - date(1000999999,12,32) - - - - Tests FEEL expression: 'date(1)' and expects result: 'null (date)' - Result of FEEL expression 'date(1)'? - null (date) - - - date(1) - - - - Tests FEEL expression: 'date([])' and expects result: 'null (date)' - Result of FEEL expression 'date([])'? - null (date) - - - date([]) - - - - Tests FEEL expression: 'date(from:"2012-12-25")' and expects result: '2012-12-25 (date)' - Result of FEEL expression 'date(from:"2012-12-25")'? - 2012-12-25 (date) - - - date(from:"2012-12-25") - - - - Tests FEEL expression: 'date(from:date and time("2017-08-30T10:25:00"))' and expects result: '2017-08-30 (date)' - Result of FEEL expression 'date(from:date and time("2017-08-30T10:25:00"))'? - 2017-08-30 (date) - - - date(from:date and time("2017-08-30T10:25:00")) - - - - Tests FEEL expression: 'date(year:2017,month:08,day:30)' and expects result: '2017-08-30 (date)' - Result of FEEL expression 'date(year:2017,month:08,day:30)'? - 2017-08-30 (date) - - - date(year:2017,month:08,day:30) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'date(from [string])', 'date(from [date and time])' and 'date(year,month,day)' in category conversion functions + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + string + + + string + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + string + + + string + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + Tests FEEL expression: 'date(null)' and expects result: 'null (date)' + Result of FEEL expression 'date(null)'? + null (date) + + + date(null) + + + + Tests FEEL expression: 'date(null,null)' and expects result: 'null (date)' + Result of FEEL expression 'date(null,null)'? + null (date) + + + date(null,null) + + + + Tests FEEL expression: 'date(null,2,1)' and expects result: 'null (date)' + Result of FEEL expression 'date(null,2,1)'? + null (date) + + + date(null,2,1) + + + + Tests FEEL expression: 'date(2017,null,1)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,null,1)'? + null (date) + + + date(2017,null,1) + + + + Tests FEEL expression: 'date(2017,1,null)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,1,null)'? + null (date) + + + date(2017,1,null) + + + + Tests FEEL expression: 'date(null,null,1)' and expects result: 'null (date)' + Result of FEEL expression 'date(null,null,1)'? + null (date) + + + date(null,null,1) + + + + Tests FEEL expression: 'date(null,02,null)' and expects result: 'null (date)' + Result of FEEL expression 'date(null,02,null)'? + null (date) + + + date(null,02,null) + + + + Tests FEEL expression: 'date(2017,null,null)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,null,null)'? + null (date) + + + date(2017,null,null) + + + + Tests FEEL expression: 'date(null,null,null)' and expects result: 'null (date)' + Result of FEEL expression 'date(null,null,null)'? + null (date) + + + date(null,null,null) + + + + Tests FEEL expression: 'date()' and expects result: 'null (date)' + Result of FEEL expression 'date()'? + null (date) + + + date() + + + + Tests FEEL expression: 'date("2017-12-31")' and expects result: '2017-12-31 (date)' + Result of FEEL expression 'date("2017-12-31")'? + 2017-12-31 (date) + + + date("2017-12-31") + + + + Tests FEEL expression: 'date("2017-01-01")' and expects result: '2017-01-01 (date)' + Result of FEEL expression 'date("2017-01-01")'? + 2017-01-01 (date) + + + date("2017-01-01") + + + + Tests FEEL expression: 'date("-2017-12-31")' and expects result: '-2017-12-31 (date)' + Result of FEEL expression 'date("-2017-12-31")'? + -2017-12-31 (date) + + + date("-2017-12-31") + + + + Tests FEEL expression: 'date("-2017-01-01")' and expects result: '-2017-01-01 (date)' + Result of FEEL expression 'date("-2017-01-01")'? + -2017-01-01 (date) + + + date("-2017-01-01") + + + + Tests FEEL expression: 'string(date("999999999-12-31"))' and expects result: '"999999999-12-31" (string)' + Result of FEEL expression 'string(date("999999999-12-31"))'? + "999999999-12-31" (string) + + + string(date("999999999-12-31")) + + + + Tests FEEL expression: 'string(date("-999999999-12-31"))' and expects result: '"-999999999-12-31" (string)' + Result of FEEL expression 'string(date("-999999999-12-31"))'? + "-999999999-12-31" (string) + + + string(date("-999999999-12-31")) + + + + Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00"))' and expects result: '2017-08-14 (date)' + Result of FEEL expression 'date(date and time("2017-08-14T14:25:00"))'? + 2017-08-14 (date) + + + date(date and time("2017-08-14T14:25:00")) + + + + Tests FEEL expression: 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))' and expects result: '2017-08-14 (date)' + Result of FEEL expression 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))'? + 2017-08-14 (date) + + + date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00"))) + + + + Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00.123456789"))' and expects result: '2017-08-14 (date)' + Result of FEEL expression 'date(date and time("2017-08-14T14:25:00.123456789"))'? + 2017-08-14 (date) + + + date(date and time("2017-08-14T14:25:00.123456789")) + + + + Tests FEEL expression: 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))' and expects result: '2017-09-03 (date)' + Result of FEEL expression 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))'? + 2017-09-03 (date) + + + date(date and time("2017-09-03T09:45:30@Europe/Paris")) + + + + Tests FEEL expression: 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))' and expects result: '2017-09-06 (date)' + Result of FEEL expression 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))'? + 2017-09-06 (date) + + + date(date and time("2017-09-06T09:45:30@Asia/Dhaka")) + + + + Tests FEEL expression: 'date(date and time("2012-12-25T11:00:00Z"))' and expects result: '2012-12-25 (date)' + Result of FEEL expression 'date(date and time("2012-12-25T11:00:00Z"))'? + 2012-12-25 (date) + + + date(date and time("2012-12-25T11:00:00Z")) + + + + Tests FEEL expression: 'date(date and time("2017-08-03T10:15:30+01:00"))' and expects result: '2017-08-03 (date)' + Result of FEEL expression 'date(date and time("2017-08-03T10:15:30+01:00"))'? + 2017-08-03 (date) + + + date(date and time("2017-08-03T10:15:30+01:00")) + + + + Tests FEEL expression: 'date(date("2017-10-11"))' and expects result: '2017-10-11 (date)' + Result of FEEL expression 'date(date("2017-10-11"))'? + 2017-10-11 (date) + + + date(date("2017-10-11")) + + + + Tests FEEL expression: 'date(2017,12,31)' and expects result: '2017-12-31 (date)' + Result of FEEL expression 'date(2017,12,31)'? + 2017-12-31 (date) + + + date(2017,12,31) + + + + Tests FEEL expression: 'date(2017,01,01)' and expects result: '2017-01-01 (date)' + Result of FEEL expression 'date(2017,01,01)'? + 2017-01-01 (date) + + + date(2017,01,01) + + + + Tests FEEL expression: 'date(-2017,12,31)' and expects result: '-2017-12-31 (date)' + Result of FEEL expression 'date(-2017,12,31)'? + -2017-12-31 (date) + + + date(-2017,12,31) + + + + Tests FEEL expression: 'date(-2017,01,01)' and expects result: '-2017-01-01 (date)' + Result of FEEL expression 'date(-2017,01,01)'? + -2017-01-01 (date) + + + date(-2017,01,01) + + + + Tests FEEL expression: 'string(date(999999999,12,31))' and expects result: '"999999999-12-31" (string)' + Result of FEEL expression 'string(date(999999999,12,31))'? + "999999999-12-31" (string) + + + string(date(999999999,12,31)) + + + + Tests FEEL expression: 'string(date(-999999999,12,31))' and expects result: '"-999999999-12-31" (string)' + Result of FEEL expression 'string(date(-999999999,12,31))'? + "-999999999-12-31" (string) + + + string(date(-999999999,12,31)) + + + + Tests FEEL expression: 'date("2012-12-25T")' and expects result: 'null (date)' + Result of FEEL expression 'date("2012-12-25T")'? + null (date) + + + date("2012-12-25T") + + + + Tests FEEL expression: 'date("")' and expects result: 'null (date)' + Result of FEEL expression 'date("")'? + null (date) + + + date("") + + + + Tests FEEL expression: 'date("2012/12/25")' and expects result: 'null (date)' + Result of FEEL expression 'date("2012/12/25")'? + null (date) + + + date("2012/12/25") + + + + Tests FEEL expression: 'date("0000-12-25T")' and expects result: 'null (date)' + Result of FEEL expression 'date("0000-12-25T")'? + null (date) + + + date("0000-12-25T") + + + + Tests FEEL expression: 'date("9999999999-12-25")' and expects result: 'null (date)' + Result of FEEL expression 'date("9999999999-12-25")'? + null (date) + + + date("9999999999-12-25") + + + + Tests FEEL expression: 'date("2017-13-10")' and expects result: 'null (date)' + Result of FEEL expression 'date("2017-13-10")'? + null (date) + + + date("2017-13-10") + + + + Tests FEEL expression: 'date("2017-12-32")' and expects result: 'null (date)' + Result of FEEL expression 'date("2017-12-32")'? + null (date) + + + date("2017-12-32") + + + + Tests FEEL expression: 'date("998-12-31")' and expects result: 'null (date)' + Result of FEEL expression 'date("998-12-31")'? + null (date) + + + date("998-12-31") + + + + Tests FEEL expression: 'date("01211-12-31")' and expects result: 'null (date)' + Result of FEEL expression 'date("01211-12-31")'? + null (date) + + + date("01211-12-31") + + + + Tests FEEL expression: 'date("2012T-12-2511:00:00Z")' and expects result: 'null (date)' + Result of FEEL expression 'date("2012T-12-2511:00:00Z")'? + null (date) + + + date("2012T-12-2511:00:00Z") + + + + Tests FEEL expression: 'date("+2012-12-02")' and expects result: 'null (date)' + Result of FEEL expression 'date("+2012-12-02")'? + null (date) + + + date("+2012-12-02") + + + + Tests FEEL expression: 'date(2017,13,31)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,13,31)'? + null (date) + + + date(2017,13,31) + + + + Tests FEEL expression: 'date(2017,12,32)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,12,32)'? + null (date) + + + date(2017,12,32) + + + + Tests FEEL expression: 'date(2017,-8,2)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,-8,2)'? + null (date) + + + date(2017,-8,2) + + + + Tests FEEL expression: 'date(2017,8,-2)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,8,-2)'? + null (date) + + + date(2017,8,-2) + + + + Tests FEEL expression: 'date(-1000999999,12,01)' and expects result: 'null (date)' + Result of FEEL expression 'date(-1000999999,12,01)'? + null (date) + + + date(-1000999999,12,01) + + + + Tests FEEL expression: 'date(1000999999,12,32)' and expects result: 'null (date)' + Result of FEEL expression 'date(1000999999,12,32)'? + null (date) + + + date(1000999999,12,32) + + + + Tests FEEL expression: 'date(1)' and expects result: 'null (date)' + Result of FEEL expression 'date(1)'? + null (date) + + + date(1) + + + + Tests FEEL expression: 'date([])' and expects result: 'null (date)' + Result of FEEL expression 'date([])'? + null (date) + + + date([]) + + + + Tests FEEL expression: 'date(from:"2012-12-25")' and expects result: '2012-12-25 (date)' + Result of FEEL expression 'date(from:"2012-12-25")'? + 2012-12-25 (date) + + + date(from:"2012-12-25") + + + + Tests FEEL expression: 'date(from:date and time("2017-08-30T10:25:00"))' and expects result: '2017-08-30 (date)' + Result of FEEL expression 'date(from:date and time("2017-08-30T10:25:00"))'? + 2017-08-30 (date) + + + date(from:date and time("2017-08-30T10:25:00")) + + + + Tests FEEL expression: 'date(year:2017,month:08,day:30)' and expects result: '2017-08-30 (date)' + Result of FEEL expression 'date(year:2017,month:08,day:30)'? + 2017-08-30 (date) + + + date(year:2017,month:08,day:30) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1116-feel-time-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1116-feel-time-function.dmn index af74205c1bc..a0e662acb29 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1116-feel-time-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1116-feel-time-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'time(from [string])', 'time(from [time, date and time])' and 'time(hour,minute,second,offset)' in category conversion functions - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - string - - - string - - - time - - - time - - - time - - - time - - - time - - - time - - - string - - - string - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - string - - - string - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - Tests FEEL expression: 'time(null)' and expects result: 'null (time)' - Result of FEEL expression 'time(null)'? - null (time) - - - time(null) - - - - Tests FEEL expression: 'time(null,11,45,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(null,11,45,duration("P0D"))'? - null (time) - - - time(null,11,45,duration("P0D")) - - - - Tests FEEL expression: 'time(12,null,45,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(12,null,45,duration("P0D"))'? - null (time) - - - time(12,null,45,duration("P0D")) - - - - Tests FEEL expression: 'time(12,0,null,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(12,0,null,duration("P0D"))'? - null (time) - - - time(12,0,null,duration("P0D")) - - - - Tests FEEL expression: 'time(null,null,45,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(null,null,45,duration("P0D"))'? - null (time) - - - time(null,null,45,duration("P0D")) - - - - Tests FEEL expression: 'time(null,11,null,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(null,11,null,duration("P0D"))'? - null (time) - - - time(null,11,null,duration("P0D")) - - - - Tests FEEL expression: 'time(null,11,45,null)' and expects result: 'null (time)' - Result of FEEL expression 'time(null,11,45,null)'? - null (time) - - - time(null,11,45,null) - - - - Tests FEEL expression: 'time(12,null,null,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(12,null,null,duration("P0D"))'? - null (time) - - - time(12,null,null,duration("P0D")) - - - - Tests FEEL expression: 'time(12,11,null,null)' and expects result: 'null (time)' - Result of FEEL expression 'time(12,11,null,null)'? - null (time) - - - time(12,11,null,null) - - - - Tests FEEL expression: 'time(12,null,null,null)' and expects result: 'null (time)' - Result of FEEL expression 'time(12,null,null,null)'? - null (time) - - - time(12,null,null,null) - - - - Tests FEEL expression: 'time(null,0,null,null)' and expects result: 'null (time)' - Result of FEEL expression 'time(null,0,null,null)'? - null (time) - - - time(null,0,null,null) - - - - Tests FEEL expression: 'time(null,null,15,null)' and expects result: 'null (time)' - Result of FEEL expression 'time(null,null,15,null)'? - null (time) - - - time(null,null,15,null) - - - - Tests FEEL expression: 'time(null,null,null,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(null,null,null,duration("P0D"))'? - null (time) - - - time(null,null,null,duration("P0D")) - - - - Tests FEEL expression: 'time(null,null,null,null)' and expects result: 'null (time)' - Result of FEEL expression 'time(null,null,null,null)'? - null (time) - - - time(null,null,null,null) - - - - Tests FEEL expression: 'time(12,00,00,null)' and expects result: '12:00:00 (time)' - Result of FEEL expression 'time(12,00,00,null)'? - 12:00:00 (time) - - - time(12,00,00,null) - - - - Tests FEEL expression: 'time()' and expects result: 'null (time)' - Result of FEEL expression 'time()'? - null (time) - - - time() - - - - Tests FEEL expression: 'time("01:02:03")' and expects result: '01:02:03 (time)' - Result of FEEL expression 'time("01:02:03")'? - 01:02:03 (time) - - - time("01:02:03") - - - - Tests FEEL expression: 'time("00:00:00")' and expects result: '00:00:00 (time)' - Result of FEEL expression 'time("00:00:00")'? - 00:00:00 (time) - - - time("00:00:00") - - - - Tests FEEL expression: 'time("11:22:33.444")' and expects result: '11:22:33.444 (time)' - Result of FEEL expression 'time("11:22:33.444")'? - 11:22:33.444 (time) - - - time("11:22:33.444") - - - - Tests FEEL expression: 'time("11:22:33.123456789")' and expects result: '11:22:33.123456789 (time)' - Result of FEEL expression 'time("11:22:33.123456789")'? - 11:22:33.123456789 (time) - - - time("11:22:33.123456789") - - - - Tests FEEL expression: 'time("23:59:00Z")' and expects result: '23:59:00Z (time)' - Result of FEEL expression 'time("23:59:00Z")'? - 23:59:00Z (time) - - - time("23:59:00Z") - - - - Tests FEEL expression: 'time("11:00:00Z")' and expects result: '11:00:00Z (time)' - Result of FEEL expression 'time("11:00:00Z")'? - 11:00:00Z (time) - - - time("11:00:00Z") - - - - Tests FEEL expression: 'time("00:00:00Z")' and expects result: '00:00:00Z (time)' - Result of FEEL expression 'time("00:00:00Z")'? - 00:00:00Z (time) - - - time("00:00:00Z") - - - - Tests FEEL expression: 'time("13:20:00+02:00")' and expects result: '13:20:00+02:00 (time)' - Result of FEEL expression 'time("13:20:00+02:00")'? - 13:20:00+02:00 (time) - - - time("13:20:00+02:00") - - - - Tests FEEL expression: 'time("13:20:00-05:00")' and expects result: '13:20:00-05:00 (time)' - Result of FEEL expression 'time("13:20:00-05:00")'? - 13:20:00-05:00 (time) - - - time("13:20:00-05:00") - - - - Tests FEEL expression: 'time("11:22:33-00:00")' and expects result: '11:22:33Z (time)' - Result of FEEL expression 'time("11:22:33-00:00")'? - 11:22:33Z (time) - - - time("11:22:33-00:00") - - - - Tests FEEL expression: 'time("11:22:33+00:00")' and expects result: '11:22:33Z (time)' - Result of FEEL expression 'time("11:22:33+00:00")'? - 11:22:33Z (time) - - - time("11:22:33+00:00") - - - - Tests FEEL expression: 'string(time("00:01:00@Etc/UTC"))' and expects result: '"00:01:00@Etc/UTC" (string)' - Result of FEEL expression 'string(time("00:01:00@Etc/UTC"))'? - "00:01:00@Etc/UTC" (string) - - - string(time("00:01:00@Etc/UTC")) - - - - Tests FEEL expression: 'string(time("00:01:00@Europe/Paris"))' and expects result: '"00:01:00@Europe/Paris" (string)' - Result of FEEL expression 'string(time("00:01:00@Europe/Paris"))'? - "00:01:00@Europe/Paris" (string) - - - string(time("00:01:00@Europe/Paris")) - - - - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00"))' and expects result: '10:20:00 (time)' - Result of FEEL expression 'time(date and time("2017-08-10T10:20:00"))'? - 10:20:00 (time) - - - time(date and time("2017-08-10T10:20:00")) - - - - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+00:00"))' and expects result: '10:20:00Z (time)' - Result of FEEL expression 'time(date and time("2017-08-10T10:20:00+00:00"))'? - 10:20:00Z (time) - - - time(date and time("2017-08-10T10:20:00+00:00")) - - - - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-00:00"))' and expects result: '10:20:00Z (time)' - Result of FEEL expression 'time(date and time("2017-08-10T10:20:00-00:00"))'? - 10:20:00Z (time) - - - time(date and time("2017-08-10T10:20:00-00:00")) - - - - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+01:00"))' and expects result: '10:20:00+01:00 (time)' - Result of FEEL expression 'time(date and time("2017-08-10T10:20:00+01:00"))'? - 10:20:00+01:00 (time) - - - time(date and time("2017-08-10T10:20:00+01:00")) - - - - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-01:00"))' and expects result: '10:20:00-01:00 (time)' - Result of FEEL expression 'time(date and time("2017-08-10T10:20:00-01:00"))'? - 10:20:00-01:00 (time) - - - time(date and time("2017-08-10T10:20:00-01:00")) - - - - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00Z"))' and expects result: '10:20:00Z (time)' - Result of FEEL expression 'time(date and time("2017-08-10T10:20:00Z"))'? - 10:20:00Z (time) - - - time(date and time("2017-08-10T10:20:00Z")) - - - - Tests FEEL expression: 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))' and expects result: '"10:20:00@Europe/Paris" (string)' - Result of FEEL expression 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))'? - "10:20:00@Europe/Paris" (string) - - - string(time(date and time("2017-08-10T10:20:00@Europe/Paris"))) - - - - Tests FEEL expression: 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))' and expects result: '"11:20:00@Asia/Dhaka" (string)' - Result of FEEL expression 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))'? - "11:20:00@Asia/Dhaka" (string) - - - string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka"))) - - - - Tests FEEL expression: 'time(11, 59, 45, null)' and expects result: '11:59:45 (time)' - Result of FEEL expression 'time(11, 59, 45, null)'? - 11:59:45 (time) - - - time(11, 59, 45, null) - - - - Tests FEEL expression: 'time(11, 59, 45, duration("PT0H"))' and expects result: '11:59:45Z (time)' - Result of FEEL expression 'time(11, 59, 45, duration("PT0H"))'? - 11:59:45Z (time) - - - time(11, 59, 45, duration("PT0H")) - - - - Tests FEEL expression: 'time(11, 59, 45, duration("PT2H"))' and expects result: '11:59:45+02:00 (time)' - Result of FEEL expression 'time(11, 59, 45, duration("PT2H"))'? - 11:59:45+02:00 (time) - - - time(11, 59, 45, duration("PT2H")) - - - - Tests FEEL expression: 'time(11, 59, 45, duration("-PT2H"))' and expects result: '11:59:45-02:00 (time)' - Result of FEEL expression 'time(11, 59, 45, duration("-PT2H"))'? - 11:59:45-02:00 (time) - - - time(11, 59, 45, duration("-PT2H")) - - - - Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M"))' and expects result: '11:59:00+02:01 (time)' - Result of FEEL expression 'time(11, 59, 00, duration("PT2H1M"))'? - 11:59:00+02:01 (time) - - - time(11, 59, 00, duration("PT2H1M")) - - - - Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M"))' and expects result: '11:59:00-02:01 (time)' - Result of FEEL expression 'time(11, 59, 00, duration("-PT2H1M"))'? - 11:59:00-02:01 (time) - - - time(11, 59, 00, duration("-PT2H1M")) - - - - Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' - Result of FEEL expression 'time(11, 59, 00, duration("PT2H1M0S"))'? - 11:59:00+02:01 (time) - - - time(11, 59, 00, duration("PT2H1M0S")) - - - - Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M0S"))' and expects result: '11:59:00-02:01 (time)' - Result of FEEL expression 'time(11, 59, 00, duration("-PT2H1M0S"))'? - 11:59:00-02:01 (time) - - - time(11, 59, 00, duration("-PT2H1M0S")) - - - - Tests FEEL expression: 'string(time(11, 59, 45, duration("PT2H45M55S")))' and expects result: '"11:59:45+02:45:55" (string)' - Result of FEEL expression 'string(time(11, 59, 45, duration("PT2H45M55S")))'? - "11:59:45+02:45:55" (string) - - - string(time(11, 59, 45, duration("PT2H45M55S"))) - - - - Tests FEEL expression: 'string(time(11, 59, 45, duration("-PT2H45M55S")))' and expects result: '"11:59:45-02:45:55" (string)' - Result of FEEL expression 'string(time(11, 59, 45, duration("-PT2H45M55S")))'? - "11:59:45-02:45:55" (string) - - - string(time(11, 59, 45, duration("-PT2H45M55S"))) - - - - Tests FEEL expression: 'time(11, 59, 45, duration("-PT0H"))' and expects result: '11:59:45Z (time)' - Result of FEEL expression 'time(11, 59, 45, duration("-PT0H"))'? - 11:59:45Z (time) - - - time(11, 59, 45, duration("-PT0H")) - - - - Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))' and expects result: '23:59:01 (time)' - Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))'? - 23:59:01 (time) - - - time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))) - - - - Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))' and expects result: '23:59:01.987654321 (time)' - Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))'? - 23:59:01.987654321 (time) - - - time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))) - - - - Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))' and expects result: '09:15:30+02:00 (time)' - Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))'? - 09:15:30+02:00 (time) - - - time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))) - - - - Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))' and expects result: '09:15:30Z (time)' - Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))'? - 09:15:30Z (time) - - - time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))) - - - - Tests FEEL expression: 'time(date("2017-08-10"))' and expects result: '00:00:00Z (time)' - Result of FEEL expression 'time(date("2017-08-10"))'? - 00:00:00Z (time) - - - time(date("2017-08-10")) - - - - Tests FEEL expression: 'time(2017)' and expects result: 'null (time)' - Result of FEEL expression 'time(2017)'? - null (time) - - - time(2017) - - - - Tests FEEL expression: 'time([])' and expects result: 'null (time)' - Result of FEEL expression 'time([])'? - null (time) - - - time([]) - - - - Tests FEEL expression: 'time("")' and expects result: 'null (time)' - Result of FEEL expression 'time("")'? - null (time) - - - time("") - - - - Tests FEEL expression: 'time("23:59:60")' and expects result: 'null (time)' - Result of FEEL expression 'time("23:59:60")'? - null (time) - - - time("23:59:60") - - - - Tests FEEL expression: 'time("24:00:01")' and expects result: 'null (time)' - Result of FEEL expression 'time("24:00:01")'? - null (time) - - - time("24:00:01") - - - - Tests FEEL expression: 'time("24:01:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("24:01:00")'? - null (time) - - - time("24:01:00") - - - - Tests FEEL expression: 'time("25:00:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("25:00:00")'? - null (time) - - - time("25:00:00") - - - - Tests FEEL expression: 'time("00:60:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("00:60:00")'? - null (time) - - - time("00:60:00") - - - - Tests FEEL expression: 'time("00:00:61")' and expects result: 'null (time)' - Result of FEEL expression 'time("00:00:61")'? - null (time) - - - time("00:00:61") - - - - Tests FEEL expression: 'time("7:00:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("7:00:00")'? - null (time) - - - time("7:00:00") - - - - Tests FEEL expression: 'time("07:1:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("07:1:00")'? - null (time) - - - time("07:1:00") - - - - Tests FEEL expression: 'time("07:01:2")' and expects result: 'null (time)' - Result of FEEL expression 'time("07:01:2")'? - null (time) - - - time("07:01:2") - - - - Tests FEEL expression: 'time("13:20:00@xyz/abc")' and expects result: 'null (time)' - Result of FEEL expression 'time("13:20:00@xyz/abc")'? - null (time) - - - time("13:20:00@xyz/abc") - - - - Tests FEEL expression: 'time("13:20:00+19:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("13:20:00+19:00")'? - null (time) - - - time("13:20:00+19:00") - - - - Tests FEEL expression: 'time("13:20:00-19:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("13:20:00-19:00")'? - null (time) - - - time("13:20:00-19:00") - - - - Tests FEEL expression: 'time("13:20:00+5:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("13:20:00+5:00")'? - null (time) - - - time("13:20:00+5:00") - - - - Tests FEEL expression: 'time("13:20:00+5")' and expects result: 'null (time)' - Result of FEEL expression 'time("13:20:00+5")'? - null (time) - - - time("13:20:00+5") - - - - Tests FEEL expression: 'time("13:20:00+02:00@Europe/Paris")' and expects result: 'null (time)' - Result of FEEL expression 'time("13:20:00+02:00@Europe/Paris")'? - null (time) - - - time("13:20:00+02:00@Europe/Paris") - - - - Tests FEEL expression: 'time("7:20")' and expects result: 'null (time)' - Result of FEEL expression 'time("7:20")'? - null (time) - - - time("7:20") - - - - Tests FEEL expression: 'time("07:2")' and expects result: 'null (time)' - Result of FEEL expression 'time("07:2")'? - null (time) - - - time("07:2") - - - - Tests FEEL expression: 'time("11:30:00T")' and expects result: 'null (time)' - Result of FEEL expression 'time("11:30:00T")'? - null (time) - - - time("11:30:00T") - - - - Tests FEEL expression: 'time("2012T-12-2511:00:00Z")' and expects result: 'null (time)' - Result of FEEL expression 'time("2012T-12-2511:00:00Z")'? - null (time) - - - time("2012T-12-2511:00:00Z") - - - - Tests FEEL expression: 'time(24, 59, 45, null)' and expects result: 'null (time)' - Result of FEEL expression 'time(24, 59, 45, null)'? - null (time) - - - time(24, 59, 45, null) - - - - Tests FEEL expression: 'time(-24, 59, 45, null)' and expects result: 'null (time)' - Result of FEEL expression 'time(-24, 59, 45, null)'? - null (time) - - - time(-24, 59, 45, null) - - - - Tests FEEL expression: 'time(23, 60, 45, null)' and expects result: 'null (time)' - Result of FEEL expression 'time(23, 60, 45, null)'? - null (time) - - - time(23, 60, 45, null) - - - - Tests FEEL expression: 'time(23, 59, 60, null)' and expects result: 'null (time)' - Result of FEEL expression 'time(23, 59, 60, null)'? - null (time) - - - time(23, 59, 60, null) - - - - Tests FEEL expression: 'time(from:date and time("2012-12-24T23:59:00"))' and expects result: '23:59:00 (time)' - Result of FEEL expression 'time(from:date and time("2012-12-24T23:59:00"))'? - 23:59:00 (time) - - - time(from:date and time("2012-12-24T23:59:00")) - - - - Tests FEEL expression: 'time(from: "12:45:00")' and expects result: '12:45:00 (time)' - Result of FEEL expression 'time(from: "12:45:00")'? - 12:45:00 (time) - - - time(from: "12:45:00") - - - - Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' - Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))'? - 11:59:00+02:01 (time) - - - time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S")) - - - - Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))' and expects result: '11:59:00-02:00 (time)' - Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))'? - 11:59:00-02:00 (time) - - - time(hour:11, minute:59, second:0, offset: duration("-PT2H")) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'time(from [string])', 'time(from [time, date and time])' and 'time(hour,minute,second,offset)' in category conversion functions + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + string + + + string + + + time + + + time + + + time + + + time + + + time + + + time + + + string + + + string + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + string + + + string + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + Tests FEEL expression: 'time(null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null)'? + null (time) + + + time(null) + + + + Tests FEEL expression: 'time(null,11,45,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,11,45,duration("P0D"))'? + null (time) + + + time(null,11,45,duration("P0D")) + + + + Tests FEEL expression: 'time(12,null,45,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(12,null,45,duration("P0D"))'? + null (time) + + + time(12,null,45,duration("P0D")) + + + + Tests FEEL expression: 'time(12,0,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(12,0,null,duration("P0D"))'? + null (time) + + + time(12,0,null,duration("P0D")) + + + + Tests FEEL expression: 'time(null,null,45,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,45,duration("P0D"))'? + null (time) + + + time(null,null,45,duration("P0D")) + + + + Tests FEEL expression: 'time(null,11,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,11,null,duration("P0D"))'? + null (time) + + + time(null,11,null,duration("P0D")) + + + + Tests FEEL expression: 'time(null,11,45,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null,11,45,null)'? + null (time) + + + time(null,11,45,null) + + + + Tests FEEL expression: 'time(12,null,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(12,null,null,duration("P0D"))'? + null (time) + + + time(12,null,null,duration("P0D")) + + + + Tests FEEL expression: 'time(12,11,null,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(12,11,null,null)'? + null (time) + + + time(12,11,null,null) + + + + Tests FEEL expression: 'time(12,null,null,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(12,null,null,null)'? + null (time) + + + time(12,null,null,null) + + + + Tests FEEL expression: 'time(null,0,null,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null,0,null,null)'? + null (time) + + + time(null,0,null,null) + + + + Tests FEEL expression: 'time(null,null,15,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,15,null)'? + null (time) + + + time(null,null,15,null) + + + + Tests FEEL expression: 'time(null,null,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,null,duration("P0D"))'? + null (time) + + + time(null,null,null,duration("P0D")) + + + + Tests FEEL expression: 'time(null,null,null,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,null,null)'? + null (time) + + + time(null,null,null,null) + + + + Tests FEEL expression: 'time(12,00,00,null)' and expects result: '12:00:00 (time)' + Result of FEEL expression 'time(12,00,00,null)'? + 12:00:00 (time) + + + time(12,00,00,null) + + + + Tests FEEL expression: 'time()' and expects result: 'null (time)' + Result of FEEL expression 'time()'? + null (time) + + + time() + + + + Tests FEEL expression: 'time("01:02:03")' and expects result: '01:02:03 (time)' + Result of FEEL expression 'time("01:02:03")'? + 01:02:03 (time) + + + time("01:02:03") + + + + Tests FEEL expression: 'time("00:00:00")' and expects result: '00:00:00 (time)' + Result of FEEL expression 'time("00:00:00")'? + 00:00:00 (time) + + + time("00:00:00") + + + + Tests FEEL expression: 'time("11:22:33.444")' and expects result: '11:22:33.444 (time)' + Result of FEEL expression 'time("11:22:33.444")'? + 11:22:33.444 (time) + + + time("11:22:33.444") + + + + Tests FEEL expression: 'time("11:22:33.123456789")' and expects result: '11:22:33.123456789 (time)' + Result of FEEL expression 'time("11:22:33.123456789")'? + 11:22:33.123456789 (time) + + + time("11:22:33.123456789") + + + + Tests FEEL expression: 'time("23:59:00Z")' and expects result: '23:59:00Z (time)' + Result of FEEL expression 'time("23:59:00Z")'? + 23:59:00Z (time) + + + time("23:59:00Z") + + + + Tests FEEL expression: 'time("11:00:00Z")' and expects result: '11:00:00Z (time)' + Result of FEEL expression 'time("11:00:00Z")'? + 11:00:00Z (time) + + + time("11:00:00Z") + + + + Tests FEEL expression: 'time("00:00:00Z")' and expects result: '00:00:00Z (time)' + Result of FEEL expression 'time("00:00:00Z")'? + 00:00:00Z (time) + + + time("00:00:00Z") + + + + Tests FEEL expression: 'time("13:20:00+02:00")' and expects result: '13:20:00+02:00 (time)' + Result of FEEL expression 'time("13:20:00+02:00")'? + 13:20:00+02:00 (time) + + + time("13:20:00+02:00") + + + + Tests FEEL expression: 'time("13:20:00-05:00")' and expects result: '13:20:00-05:00 (time)' + Result of FEEL expression 'time("13:20:00-05:00")'? + 13:20:00-05:00 (time) + + + time("13:20:00-05:00") + + + + Tests FEEL expression: 'time("11:22:33-00:00")' and expects result: '11:22:33Z (time)' + Result of FEEL expression 'time("11:22:33-00:00")'? + 11:22:33Z (time) + + + time("11:22:33-00:00") + + + + Tests FEEL expression: 'time("11:22:33+00:00")' and expects result: '11:22:33Z (time)' + Result of FEEL expression 'time("11:22:33+00:00")'? + 11:22:33Z (time) + + + time("11:22:33+00:00") + + + + Tests FEEL expression: 'string(time("00:01:00@Etc/UTC"))' and expects result: '"00:01:00@Etc/UTC" (string)' + Result of FEEL expression 'string(time("00:01:00@Etc/UTC"))'? + "00:01:00@Etc/UTC" (string) + + + string(time("00:01:00@Etc/UTC")) + + + + Tests FEEL expression: 'string(time("00:01:00@Europe/Paris"))' and expects result: '"00:01:00@Europe/Paris" (string)' + Result of FEEL expression 'string(time("00:01:00@Europe/Paris"))'? + "00:01:00@Europe/Paris" (string) + + + string(time("00:01:00@Europe/Paris")) + + + + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00"))' and expects result: '10:20:00 (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00"))'? + 10:20:00 (time) + + + time(date and time("2017-08-10T10:20:00")) + + + + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+00:00"))' and expects result: '10:20:00Z (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00+00:00"))'? + 10:20:00Z (time) + + + time(date and time("2017-08-10T10:20:00+00:00")) + + + + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-00:00"))' and expects result: '10:20:00Z (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00-00:00"))'? + 10:20:00Z (time) + + + time(date and time("2017-08-10T10:20:00-00:00")) + + + + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+01:00"))' and expects result: '10:20:00+01:00 (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00+01:00"))'? + 10:20:00+01:00 (time) + + + time(date and time("2017-08-10T10:20:00+01:00")) + + + + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-01:00"))' and expects result: '10:20:00-01:00 (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00-01:00"))'? + 10:20:00-01:00 (time) + + + time(date and time("2017-08-10T10:20:00-01:00")) + + + + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00Z"))' and expects result: '10:20:00Z (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00Z"))'? + 10:20:00Z (time) + + + time(date and time("2017-08-10T10:20:00Z")) + + + + Tests FEEL expression: 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))' and expects result: '"10:20:00@Europe/Paris" (string)' + Result of FEEL expression 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))'? + "10:20:00@Europe/Paris" (string) + + + string(time(date and time("2017-08-10T10:20:00@Europe/Paris"))) + + + + Tests FEEL expression: 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))' and expects result: '"11:20:00@Asia/Dhaka" (string)' + Result of FEEL expression 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))'? + "11:20:00@Asia/Dhaka" (string) + + + string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka"))) + + + + Tests FEEL expression: 'time(11, 59, 45, null)' and expects result: '11:59:45 (time)' + Result of FEEL expression 'time(11, 59, 45, null)'? + 11:59:45 (time) + + + time(11, 59, 45, null) + + + + Tests FEEL expression: 'time(11, 59, 45, duration("PT0H"))' and expects result: '11:59:45Z (time)' + Result of FEEL expression 'time(11, 59, 45, duration("PT0H"))'? + 11:59:45Z (time) + + + time(11, 59, 45, duration("PT0H")) + + + + Tests FEEL expression: 'time(11, 59, 45, duration("PT2H"))' and expects result: '11:59:45+02:00 (time)' + Result of FEEL expression 'time(11, 59, 45, duration("PT2H"))'? + 11:59:45+02:00 (time) + + + time(11, 59, 45, duration("PT2H")) + + + + Tests FEEL expression: 'time(11, 59, 45, duration("-PT2H"))' and expects result: '11:59:45-02:00 (time)' + Result of FEEL expression 'time(11, 59, 45, duration("-PT2H"))'? + 11:59:45-02:00 (time) + + + time(11, 59, 45, duration("-PT2H")) + + + + Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M"))' and expects result: '11:59:00+02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("PT2H1M"))'? + 11:59:00+02:01 (time) + + + time(11, 59, 00, duration("PT2H1M")) + + + + Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M"))' and expects result: '11:59:00-02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("-PT2H1M"))'? + 11:59:00-02:01 (time) + + + time(11, 59, 00, duration("-PT2H1M")) + + + + Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("PT2H1M0S"))'? + 11:59:00+02:01 (time) + + + time(11, 59, 00, duration("PT2H1M0S")) + + + + Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M0S"))' and expects result: '11:59:00-02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("-PT2H1M0S"))'? + 11:59:00-02:01 (time) + + + time(11, 59, 00, duration("-PT2H1M0S")) + + + + Tests FEEL expression: 'string(time(11, 59, 45, duration("PT2H45M55S")))' and expects result: '"11:59:45+02:45:55" (string)' + Result of FEEL expression 'string(time(11, 59, 45, duration("PT2H45M55S")))'? + "11:59:45+02:45:55" (string) + + + string(time(11, 59, 45, duration("PT2H45M55S"))) + + + + Tests FEEL expression: 'string(time(11, 59, 45, duration("-PT2H45M55S")))' and expects result: '"11:59:45-02:45:55" (string)' + Result of FEEL expression 'string(time(11, 59, 45, duration("-PT2H45M55S")))'? + "11:59:45-02:45:55" (string) + + + string(time(11, 59, 45, duration("-PT2H45M55S"))) + + + + Tests FEEL expression: 'time(11, 59, 45, duration("-PT0H"))' and expects result: '11:59:45Z (time)' + Result of FEEL expression 'time(11, 59, 45, duration("-PT0H"))'? + 11:59:45Z (time) + + + time(11, 59, 45, duration("-PT0H")) + + + + Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))' and expects result: '23:59:01 (time)' + Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))'? + 23:59:01 (time) + + + time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))) + + + + Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))' and expects result: '23:59:01.987654321 (time)' + Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))'? + 23:59:01.987654321 (time) + + + time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))) + + + + Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))' and expects result: '09:15:30+02:00 (time)' + Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))'? + 09:15:30+02:00 (time) + + + time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))) + + + + Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))' and expects result: '09:15:30Z (time)' + Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))'? + 09:15:30Z (time) + + + time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))) + + + + Tests FEEL expression: 'time(date("2017-08-10"))' and expects result: '00:00:00Z (time)' + Result of FEEL expression 'time(date("2017-08-10"))'? + 00:00:00Z (time) + + + time(date("2017-08-10")) + + + + Tests FEEL expression: 'time(2017)' and expects result: 'null (time)' + Result of FEEL expression 'time(2017)'? + null (time) + + + time(2017) + + + + Tests FEEL expression: 'time([])' and expects result: 'null (time)' + Result of FEEL expression 'time([])'? + null (time) + + + time([]) + + + + Tests FEEL expression: 'time("")' and expects result: 'null (time)' + Result of FEEL expression 'time("")'? + null (time) + + + time("") + + + + Tests FEEL expression: 'time("23:59:60")' and expects result: 'null (time)' + Result of FEEL expression 'time("23:59:60")'? + null (time) + + + time("23:59:60") + + + + Tests FEEL expression: 'time("24:00:01")' and expects result: 'null (time)' + Result of FEEL expression 'time("24:00:01")'? + null (time) + + + time("24:00:01") + + + + Tests FEEL expression: 'time("24:01:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("24:01:00")'? + null (time) + + + time("24:01:00") + + + + Tests FEEL expression: 'time("25:00:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("25:00:00")'? + null (time) + + + time("25:00:00") + + + + Tests FEEL expression: 'time("00:60:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("00:60:00")'? + null (time) + + + time("00:60:00") + + + + Tests FEEL expression: 'time("00:00:61")' and expects result: 'null (time)' + Result of FEEL expression 'time("00:00:61")'? + null (time) + + + time("00:00:61") + + + + Tests FEEL expression: 'time("7:00:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("7:00:00")'? + null (time) + + + time("7:00:00") + + + + Tests FEEL expression: 'time("07:1:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("07:1:00")'? + null (time) + + + time("07:1:00") + + + + Tests FEEL expression: 'time("07:01:2")' and expects result: 'null (time)' + Result of FEEL expression 'time("07:01:2")'? + null (time) + + + time("07:01:2") + + + + Tests FEEL expression: 'time("13:20:00@xyz/abc")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00@xyz/abc")'? + null (time) + + + time("13:20:00@xyz/abc") + + + + Tests FEEL expression: 'time("13:20:00+19:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00+19:00")'? + null (time) + + + time("13:20:00+19:00") + + + + Tests FEEL expression: 'time("13:20:00-19:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00-19:00")'? + null (time) + + + time("13:20:00-19:00") + + + + Tests FEEL expression: 'time("13:20:00+5:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00+5:00")'? + null (time) + + + time("13:20:00+5:00") + + + + Tests FEEL expression: 'time("13:20:00+5")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00+5")'? + null (time) + + + time("13:20:00+5") + + + + Tests FEEL expression: 'time("13:20:00+02:00@Europe/Paris")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00+02:00@Europe/Paris")'? + null (time) + + + time("13:20:00+02:00@Europe/Paris") + + + + Tests FEEL expression: 'time("7:20")' and expects result: 'null (time)' + Result of FEEL expression 'time("7:20")'? + null (time) + + + time("7:20") + + + + Tests FEEL expression: 'time("07:2")' and expects result: 'null (time)' + Result of FEEL expression 'time("07:2")'? + null (time) + + + time("07:2") + + + + Tests FEEL expression: 'time("11:30:00T")' and expects result: 'null (time)' + Result of FEEL expression 'time("11:30:00T")'? + null (time) + + + time("11:30:00T") + + + + Tests FEEL expression: 'time("2012T-12-2511:00:00Z")' and expects result: 'null (time)' + Result of FEEL expression 'time("2012T-12-2511:00:00Z")'? + null (time) + + + time("2012T-12-2511:00:00Z") + + + + Tests FEEL expression: 'time(24, 59, 45, null)' and expects result: 'null (time)' + Result of FEEL expression 'time(24, 59, 45, null)'? + null (time) + + + time(24, 59, 45, null) + + + + Tests FEEL expression: 'time(-24, 59, 45, null)' and expects result: 'null (time)' + Result of FEEL expression 'time(-24, 59, 45, null)'? + null (time) + + + time(-24, 59, 45, null) + + + + Tests FEEL expression: 'time(23, 60, 45, null)' and expects result: 'null (time)' + Result of FEEL expression 'time(23, 60, 45, null)'? + null (time) + + + time(23, 60, 45, null) + + + + Tests FEEL expression: 'time(23, 59, 60, null)' and expects result: 'null (time)' + Result of FEEL expression 'time(23, 59, 60, null)'? + null (time) + + + time(23, 59, 60, null) + + + + Tests FEEL expression: 'time(from:date and time("2012-12-24T23:59:00"))' and expects result: '23:59:00 (time)' + Result of FEEL expression 'time(from:date and time("2012-12-24T23:59:00"))'? + 23:59:00 (time) + + + time(from:date and time("2012-12-24T23:59:00")) + + + + Tests FEEL expression: 'time(from: "12:45:00")' and expects result: '12:45:00 (time)' + Result of FEEL expression 'time(from: "12:45:00")'? + 12:45:00 (time) + + + time(from: "12:45:00") + + + + Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' + Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))'? + 11:59:00+02:01 (time) + + + time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S")) + + + + Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))' and expects result: '11:59:00-02:00 (time)' + Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))'? + 11:59:00-02:00 (time) + + + time(hour:11, minute:59, second:0, offset: duration("-PT2H")) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1117-feel-date-and-time-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1117-feel-date-and-time-function.dmn index 5011ad72ab1..1b0587a9f7f 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1117-feel-date-and-time-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1117-feel-date-and-time-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'date and time(from [string])' and 'date and time(date, time)' in category conversion functions - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - string - - - string - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - string - - - string - - - string - - - string - - - string - - - string - - - dateTime - - - dateTime - - - dateTime - - - string - - - string - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - string - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - string - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - string - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - Tests FEEL expression: 'date and time(null)' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time(null)'? - null (date and time) - - - date and time(null) - - - - Tests FEEL expression: 'date and time(null,null)' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time(null,null)'? - null (date and time) - - - date and time(null,null) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),null)' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),null)'? - null (date and time) - - - date and time(date and time("2017-08-10T10:20:00"),null) - - - - Tests FEEL expression: 'date and time(date("2017-08-10"),null)' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time(date("2017-08-10"),null)'? - null (date and time) - - - date and time(date("2017-08-10"),null) - - - - Tests FEEL expression: 'date and time(null,time("23:59:01"))' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time(null,time("23:59:01"))'? - null (date and time) - - - date and time(null,time("23:59:01")) - - - - Tests FEEL expression: 'date and time()' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time()'? - null (date and time) - - - date and time() - - - - Tests FEEL expression: 'date and time("2012-12-24")' and expects result: '2012-12-24T00:00:00 (date and time)' - Result of FEEL expression 'date and time("2012-12-24")'? - 2012-12-24T00:00:00 (date and time) - - - date and time("2012-12-24") - - - - Tests FEEL expression: 'date and time("2017-12-31T00:00:00")' and expects result: '2017-12-31T00:00:00 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T00:00:00")'? - 2017-12-31T00:00:00 (date and time) - - - date and time("2017-12-31T00:00:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33")' and expects result: '2017-12-31T11:22:33 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33")'? - 2017-12-31T11:22:33 (date and time) - - - date and time("2017-12-31T11:22:33") - - - - Tests FEEL expression: 'date and time("-2017-12-31T11:22:33")' and expects result: '-2017-12-31T11:22:33 (date and time)' - Result of FEEL expression 'date and time("-2017-12-31T11:22:33")'? - -2017-12-31T11:22:33 (date and time) - - - date and time("-2017-12-31T11:22:33") - - - - Tests FEEL expression: 'string(date and time("99999-12-31T11:22:33"))' and expects result: '"99999-12-31T11:22:33" (string)' - Result of FEEL expression 'string(date and time("99999-12-31T11:22:33"))'? - "99999-12-31T11:22:33" (string) - - - string(date and time("99999-12-31T11:22:33")) - - - - Tests FEEL expression: 'string(date and time("-99999-12-31T11:22:33"))' and expects result: '"-99999-12-31T11:22:33" (string)' - Result of FEEL expression 'string(date and time("-99999-12-31T11:22:33"))'? - "-99999-12-31T11:22:33" (string) - - - string(date and time("-99999-12-31T11:22:33")) - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.345")' and expects result: '2017-12-31T11:22:33.345 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33.345")'? - 2017-12-31T11:22:33.345 (date and time) - - - date and time("2017-12-31T11:22:33.345") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.123456789")' and expects result: '2017-12-31T11:22:33.123456789 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33.123456789")'? - 2017-12-31T11:22:33.123456789 (date and time) - - - date and time("2017-12-31T11:22:33.123456789") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33Z")' and expects result: '2017-12-31T11:22:33Z (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33Z")'? - 2017-12-31T11:22:33Z (date and time) - - - date and time("2017-12-31T11:22:33Z") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.567Z")' and expects result: '2017-12-31T11:22:33.567Z (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33.567Z")'? - 2017-12-31T11:22:33.567Z (date and time) - - - date and time("2017-12-31T11:22:33.567Z") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:00")' and expects result: '2017-12-31T11:22:33+01:00 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33+01:00")'? - 2017-12-31T11:22:33+01:00 (date and time) - - - date and time("2017-12-31T11:22:33+01:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33-02:00")' and expects result: '2017-12-31T11:22:33-02:00 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33-02:00")'? - 2017-12-31T11:22:33-02:00 (date and time) - - - date and time("2017-12-31T11:22:33-02:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:35")' and expects result: '2017-12-31T11:22:33+01:35 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33+01:35")'? - 2017-12-31T11:22:33+01:35 (date and time) - - - date and time("2017-12-31T11:22:33+01:35") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33-01:35")' and expects result: '2017-12-31T11:22:33-01:35 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33-01:35")'? - 2017-12-31T11:22:33-01:35 (date and time) - - - date and time("2017-12-31T11:22:33-01:35") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.456+01:35")' and expects result: '2017-12-31T11:22:33.456+01:35 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33.456+01:35")'? - 2017-12-31T11:22:33.456+01:35 (date and time) - - - date and time("2017-12-31T11:22:33.456+01:35") - - - - Tests FEEL expression: 'date and time("-2017-12-31T11:22:33.456+01:35")' and expects result: '-2017-12-31T11:22:33.456+01:35 (date and time)' - Result of FEEL expression 'date and time("-2017-12-31T11:22:33.456+01:35")'? - -2017-12-31T11:22:33.456+01:35 (date and time) - - - date and time("-2017-12-31T11:22:33.456+01:35") - - - - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))'? - "2011-12-31T10:15:30@Europe/Paris" (string) - - - string(date and time("2011-12-31T10:15:30@Europe/Paris")) - - - - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))' and expects result: '"2011-12-31T10:15:30@Etc/UTC" (string)' - Result of FEEL expression 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))'? - "2011-12-31T10:15:30@Etc/UTC" (string) - - - string(date and time("2011-12-31T10:15:30@Etc/UTC")) - - - - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.987@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))'? - "2011-12-31T10:15:30.987@Europe/Paris" (string) - - - string(date and time("2011-12-31T10:15:30.987@Europe/Paris")) - - - - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.123456789@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))'? - "2011-12-31T10:15:30.123456789@Europe/Paris" (string) - - - string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris")) - - - - Tests FEEL expression: 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))' and expects result: '"999999999-12-31T23:59:59.999999999@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))'? - "999999999-12-31T23:59:59.999999999@Europe/Paris" (string) - - - string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris")) - - - - Tests FEEL expression: 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))' and expects result: '"-999999999-12-31T23:59:59.999999999+02:00" (string)' - Result of FEEL expression 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))'? - "-999999999-12-31T23:59:59.999999999+02:00" (string) - - - string(date and time("-999999999-12-31T23:59:59.999999999+02:00")) - - - - Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' - Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01"))'? - 2017-01-01T23:59:01 (date and time) - - - date and time(date("2017-01-01"),time("23:59:01")) - - - - Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01Z"))' and expects result: '2017-01-01T23:59:01Z (date and time)' - Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01Z"))'? - 2017-01-01T23:59:01Z (date and time) - - - date and time(date("2017-01-01"),time("23:59:01Z")) - - - - Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01+02:00"))' and expects result: '2017-01-01T23:59:01+02:00 (date and time)' - Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01+02:00"))'? - 2017-01-01T23:59:01+02:00 (date and time) - - - date and time(date("2017-01-01"),time("23:59:01+02:00")) - - - - Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))'? - "2017-01-01T23:59:01@Europe/Paris" (string) - - - string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris"))) - - - - Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01.123456789@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))'? - "2017-01-01T23:59:01.123456789@Europe/Paris" (string) - - - string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris"))) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))'? - 2017-08-10T23:59:01 (date and time) - - - date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))'? - 2017-08-10T23:59:01.987654321 (date and time) - - - date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))'? - 2017-09-05T09:15:30+02:00 (date and time) - - - date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))'? - 2017-09-05T09:15:30Z (date and time) - - - date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))'? - 2017-09-05T09:15:30.987654321+02:00 (date and time) - - - date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))'? - 2017-09-05T09:15:30.123456Z (date and time) - - - date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z")) - - - - Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))'? - "2017-09-05T09:15:30.987654321@Europe/Paris" (string) - - - string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris"))) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))'? - 2017-08-10T23:59:01 (date and time) - - - date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01")) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))'? - 2017-08-10T23:59:01.987654321 (date and time) - - - date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))'? - 2017-09-05T09:15:30+02:00 (date and time) - - - date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))'? - 2017-09-05T09:15:30Z (date and time) - - - date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))'? - 2017-09-05T09:15:30.987654321+02:00 (date and time) - - - date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))'? - 2017-09-05T09:15:30.123456Z (date and time) - - - date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z")) - - - - Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))'? - "2017-09-05T09:15:30.987654321@Europe/Paris" (string) - - - string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris"))) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))'? - 2017-08-10T23:59:01 (date and time) - - - date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01")) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))'? - 2017-08-10T23:59:01.987654321 (date and time) - - - date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))'? - 2017-09-05T09:15:30+02:00 (date and time) - - - date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))'? - 2017-09-05T09:15:30Z (date and time) - - - date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))'? - 2017-09-05T09:15:30.987654321+02:00 (date and time) - - - date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))'? - 2017-09-05T09:15:30.123456Z (date and time) - - - date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z")) - - - - Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))'? - "2017-09-05T09:15:30.987654321@Europe/Paris" (string) - - - string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris"))) - - - - Tests FEEL expression: 'date and time(2017)' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time(2017)'? - null (date and time) - - - date and time(2017) - - - - Tests FEEL expression: 'date and time([])' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time([])'? - null (date and time) - - - date and time([]) - - - - Tests FEEL expression: 'date and time("")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("")'? - null (date and time) - - - date and time("") - - - - Tests FEEL expression: 'date and time("11:00:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("11:00:00")'? - null (date and time) - - - date and time("11:00:00") - - - - Tests FEEL expression: 'date and time("2011-12-0310:15:30")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2011-12-0310:15:30")'? - null (date and time) - - - date and time("2011-12-0310:15:30") - - - - Tests FEEL expression: 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")'? - null (date and time) - - - date and time("2011-12-03T10:15:30+01:00@Europe/Paris") - - - - Tests FEEL expression: 'date and time("9999999999-12-27T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("9999999999-12-27T11:22:33")'? - null (date and time) - - - date and time("9999999999-12-27T11:22:33") - - - - Tests FEEL expression: 'date and time("2017-13-10T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-13-10T11:22:33")'? - null (date and time) - - - date and time("2017-13-10T11:22:33") - - - - Tests FEEL expression: 'date and time("2017-00-10T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-00-10T11:22:33")'? - null (date and time) - - - date and time("2017-00-10T11:22:33") - - - - Tests FEEL expression: 'date and time("2017-13-32T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-13-32T11:22:33")'? - null (date and time) - - - date and time("2017-13-32T11:22:33") - - - - Tests FEEL expression: 'date and time("2017-13-0T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-13-0T11:22:33")'? - null (date and time) - - - date and time("2017-13-0T11:22:33") - - - - Tests FEEL expression: 'date and time("998-12-31T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("998-12-31T11:22:33")'? - null (date and time) - - - date and time("998-12-31T11:22:33") - - - - Tests FEEL expression: 'date and time("01211-12-31T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("01211-12-31T11:22:33")'? - null (date and time) - - - date and time("01211-12-31T11:22:33") - - - - Tests FEEL expression: 'date and time("+99999-12-01T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("+99999-12-01T11:22:33")'? - null (date and time) - - - date and time("+99999-12-01T11:22:33") - - - - Tests FEEL expression: 'date and time("2017-12-31T24:00:01")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T24:00:01")'? - null (date and time) - - - date and time("2017-12-31T24:00:01") - - - - Tests FEEL expression: 'date and time("2017-12-31T24:01:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T24:01:00")'? - null (date and time) - - - date and time("2017-12-31T24:01:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T25:00:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T25:00:00")'? - null (date and time) - - - date and time("2017-12-31T25:00:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T00:60:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T00:60:00")'? - null (date and time) - - - date and time("2017-12-31T00:60:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T00:00:61")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T00:00:61")'? - null (date and time) - - - date and time("2017-12-31T00:00:61") - - - - Tests FEEL expression: 'date and time("2017-12-31T7:00:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T7:00:00")'? - null (date and time) - - - date and time("2017-12-31T7:00:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T07:1:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T07:1:00")'? - null (date and time) - - - date and time("2017-12-31T07:1:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T07:01:2")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T07:01:2")'? - null (date and time) - - - date and time("2017-12-31T07:01:2") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00@xyz/abc")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00@xyz/abc")'? - null (date and time) - - - date and time("2017-12-31T13:20:00@xyz/abc") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+19:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00+19:00")'? - null (date and time) - - - date and time("2017-12-31T13:20:00+19:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00-19:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00-19:00")'? - null (date and time) - - - date and time("2017-12-31T13:20:00-19:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+05:0")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00+05:0")'? - null (date and time) - - - date and time("2017-12-31T13:20:00+05:0") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00+5:00")'? - null (date and time) - - - date and time("2017-12-31T13:20:00+5:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00+5")'? - null (date and time) - - - date and time("2017-12-31T13:20:00+5") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")'? - null (date and time) - - - date and time("2017-12-31T13:20:00+02:00@Europe/Paris") - - - - Tests FEEL expression: 'date and time("2017-12-31T7:20")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T7:20")'? - null (date and time) - - - date and time("2017-12-31T7:20") - - - - Tests FEEL expression: 'date and time("2017-12-31T07:2")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T07:2")'? - null (date and time) - - - date and time("2017-12-31T07:2") - - - - Tests FEEL expression: 'date and time(from:"2012-12-24T23:59:00")' and expects result: '2012-12-24T23:59:00 (date and time)' - Result of FEEL expression 'date and time(from:"2012-12-24T23:59:00")'? - 2012-12-24T23:59:00 (date and time) - - - date and time(from:"2012-12-24T23:59:00") - - - - Tests FEEL expression: 'date and time(date:date("2017-01-01"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' - Result of FEEL expression 'date and time(date:date("2017-01-01"),time:time("23:59:01"))'? - 2017-01-01T23:59:01 (date and time) - - - date and time(date:date("2017-01-01"),time:time("23:59:01")) - - - - Tests FEEL expression: 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' - Result of FEEL expression 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))'? - 2017-01-01T23:59:01 (date and time) - - - date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01")) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'date and time(from [string])' and 'date and time(date, time)' in category conversion functions + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + string + + + string + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + string + + + string + + + string + + + string + + + string + + + string + + + dateTime + + + dateTime + + + dateTime + + + string + + + string + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + string + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + string + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + string + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + Tests FEEL expression: 'date and time(null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(null)'? + null (date and time) + + + date and time(null) + + + + Tests FEEL expression: 'date and time(null,null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(null,null)'? + null (date and time) + + + date and time(null,null) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),null)'? + null (date and time) + + + date and time(date and time("2017-08-10T10:20:00"),null) + + + + Tests FEEL expression: 'date and time(date("2017-08-10"),null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(date("2017-08-10"),null)'? + null (date and time) + + + date and time(date("2017-08-10"),null) + + + + Tests FEEL expression: 'date and time(null,time("23:59:01"))' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(null,time("23:59:01"))'? + null (date and time) + + + date and time(null,time("23:59:01")) + + + + Tests FEEL expression: 'date and time()' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time()'? + null (date and time) + + + date and time() + + + + Tests FEEL expression: 'date and time("2012-12-24")' and expects result: '2012-12-24T00:00:00 (date and time)' + Result of FEEL expression 'date and time("2012-12-24")'? + 2012-12-24T00:00:00 (date and time) + + + date and time("2012-12-24") + + + + Tests FEEL expression: 'date and time("2017-12-31T00:00:00")' and expects result: '2017-12-31T00:00:00 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T00:00:00")'? + 2017-12-31T00:00:00 (date and time) + + + date and time("2017-12-31T00:00:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33")' and expects result: '2017-12-31T11:22:33 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33")'? + 2017-12-31T11:22:33 (date and time) + + + date and time("2017-12-31T11:22:33") + + + + Tests FEEL expression: 'date and time("-2017-12-31T11:22:33")' and expects result: '-2017-12-31T11:22:33 (date and time)' + Result of FEEL expression 'date and time("-2017-12-31T11:22:33")'? + -2017-12-31T11:22:33 (date and time) + + + date and time("-2017-12-31T11:22:33") + + + + Tests FEEL expression: 'string(date and time("99999-12-31T11:22:33"))' and expects result: '"99999-12-31T11:22:33" (string)' + Result of FEEL expression 'string(date and time("99999-12-31T11:22:33"))'? + "99999-12-31T11:22:33" (string) + + + string(date and time("99999-12-31T11:22:33")) + + + + Tests FEEL expression: 'string(date and time("-99999-12-31T11:22:33"))' and expects result: '"-99999-12-31T11:22:33" (string)' + Result of FEEL expression 'string(date and time("-99999-12-31T11:22:33"))'? + "-99999-12-31T11:22:33" (string) + + + string(date and time("-99999-12-31T11:22:33")) + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.345")' and expects result: '2017-12-31T11:22:33.345 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.345")'? + 2017-12-31T11:22:33.345 (date and time) + + + date and time("2017-12-31T11:22:33.345") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.123456789")' and expects result: '2017-12-31T11:22:33.123456789 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.123456789")'? + 2017-12-31T11:22:33.123456789 (date and time) + + + date and time("2017-12-31T11:22:33.123456789") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33Z")' and expects result: '2017-12-31T11:22:33Z (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33Z")'? + 2017-12-31T11:22:33Z (date and time) + + + date and time("2017-12-31T11:22:33Z") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.567Z")' and expects result: '2017-12-31T11:22:33.567Z (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.567Z")'? + 2017-12-31T11:22:33.567Z (date and time) + + + date and time("2017-12-31T11:22:33.567Z") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:00")' and expects result: '2017-12-31T11:22:33+01:00 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33+01:00")'? + 2017-12-31T11:22:33+01:00 (date and time) + + + date and time("2017-12-31T11:22:33+01:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33-02:00")' and expects result: '2017-12-31T11:22:33-02:00 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33-02:00")'? + 2017-12-31T11:22:33-02:00 (date and time) + + + date and time("2017-12-31T11:22:33-02:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:35")' and expects result: '2017-12-31T11:22:33+01:35 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33+01:35")'? + 2017-12-31T11:22:33+01:35 (date and time) + + + date and time("2017-12-31T11:22:33+01:35") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33-01:35")' and expects result: '2017-12-31T11:22:33-01:35 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33-01:35")'? + 2017-12-31T11:22:33-01:35 (date and time) + + + date and time("2017-12-31T11:22:33-01:35") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.456+01:35")' and expects result: '2017-12-31T11:22:33.456+01:35 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.456+01:35")'? + 2017-12-31T11:22:33.456+01:35 (date and time) + + + date and time("2017-12-31T11:22:33.456+01:35") + + + + Tests FEEL expression: 'date and time("-2017-12-31T11:22:33.456+01:35")' and expects result: '-2017-12-31T11:22:33.456+01:35 (date and time)' + Result of FEEL expression 'date and time("-2017-12-31T11:22:33.456+01:35")'? + -2017-12-31T11:22:33.456+01:35 (date and time) + + + date and time("-2017-12-31T11:22:33.456+01:35") + + + + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))'? + "2011-12-31T10:15:30@Europe/Paris" (string) + + + string(date and time("2011-12-31T10:15:30@Europe/Paris")) + + + + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))' and expects result: '"2011-12-31T10:15:30@Etc/UTC" (string)' + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))'? + "2011-12-31T10:15:30@Etc/UTC" (string) + + + string(date and time("2011-12-31T10:15:30@Etc/UTC")) + + + + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.987@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))'? + "2011-12-31T10:15:30.987@Europe/Paris" (string) + + + string(date and time("2011-12-31T10:15:30.987@Europe/Paris")) + + + + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.123456789@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))'? + "2011-12-31T10:15:30.123456789@Europe/Paris" (string) + + + string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris")) + + + + Tests FEEL expression: 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))' and expects result: '"999999999-12-31T23:59:59.999999999@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))'? + "999999999-12-31T23:59:59.999999999@Europe/Paris" (string) + + + string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris")) + + + + Tests FEEL expression: 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))' and expects result: '"-999999999-12-31T23:59:59.999999999+02:00" (string)' + Result of FEEL expression 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))'? + "-999999999-12-31T23:59:59.999999999+02:00" (string) + + + string(date and time("-999999999-12-31T23:59:59.999999999+02:00")) + + + + Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01"))'? + 2017-01-01T23:59:01 (date and time) + + + date and time(date("2017-01-01"),time("23:59:01")) + + + + Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01Z"))' and expects result: '2017-01-01T23:59:01Z (date and time)' + Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01Z"))'? + 2017-01-01T23:59:01Z (date and time) + + + date and time(date("2017-01-01"),time("23:59:01Z")) + + + + Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01+02:00"))' and expects result: '2017-01-01T23:59:01+02:00 (date and time)' + Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01+02:00"))'? + 2017-01-01T23:59:01+02:00 (date and time) + + + date and time(date("2017-01-01"),time("23:59:01+02:00")) + + + + Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))'? + "2017-01-01T23:59:01@Europe/Paris" (string) + + + string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris"))) + + + + Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01.123456789@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))'? + "2017-01-01T23:59:01.123456789@Europe/Paris" (string) + + + string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris"))) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))'? + 2017-08-10T23:59:01 (date and time) + + + date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))'? + 2017-08-10T23:59:01.987654321 (date and time) + + + date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))'? + 2017-09-05T09:15:30+02:00 (date and time) + + + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))'? + 2017-09-05T09:15:30Z (date and time) + + + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))'? + 2017-09-05T09:15:30.987654321+02:00 (date and time) + + + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))'? + 2017-09-05T09:15:30.123456Z (date and time) + + + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z")) + + + + Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))'? + "2017-09-05T09:15:30.987654321@Europe/Paris" (string) + + + string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris"))) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))'? + 2017-08-10T23:59:01 (date and time) + + + date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01")) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))'? + 2017-08-10T23:59:01.987654321 (date and time) + + + date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))'? + 2017-09-05T09:15:30+02:00 (date and time) + + + date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))'? + 2017-09-05T09:15:30Z (date and time) + + + date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))'? + 2017-09-05T09:15:30.987654321+02:00 (date and time) + + + date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))'? + 2017-09-05T09:15:30.123456Z (date and time) + + + date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z")) + + + + Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))'? + "2017-09-05T09:15:30.987654321@Europe/Paris" (string) + + + string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris"))) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))'? + 2017-08-10T23:59:01 (date and time) + + + date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01")) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))'? + 2017-08-10T23:59:01.987654321 (date and time) + + + date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))'? + 2017-09-05T09:15:30+02:00 (date and time) + + + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))'? + 2017-09-05T09:15:30Z (date and time) + + + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))'? + 2017-09-05T09:15:30.987654321+02:00 (date and time) + + + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))'? + 2017-09-05T09:15:30.123456Z (date and time) + + + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z")) + + + + Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))'? + "2017-09-05T09:15:30.987654321@Europe/Paris" (string) + + + string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris"))) + + + + Tests FEEL expression: 'date and time(2017)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(2017)'? + null (date and time) + + + date and time(2017) + + + + Tests FEEL expression: 'date and time([])' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time([])'? + null (date and time) + + + date and time([]) + + + + Tests FEEL expression: 'date and time("")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("")'? + null (date and time) + + + date and time("") + + + + Tests FEEL expression: 'date and time("11:00:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("11:00:00")'? + null (date and time) + + + date and time("11:00:00") + + + + Tests FEEL expression: 'date and time("2011-12-0310:15:30")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2011-12-0310:15:30")'? + null (date and time) + + + date and time("2011-12-0310:15:30") + + + + Tests FEEL expression: 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")'? + null (date and time) + + + date and time("2011-12-03T10:15:30+01:00@Europe/Paris") + + + + Tests FEEL expression: 'date and time("9999999999-12-27T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("9999999999-12-27T11:22:33")'? + null (date and time) + + + date and time("9999999999-12-27T11:22:33") + + + + Tests FEEL expression: 'date and time("2017-13-10T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-13-10T11:22:33")'? + null (date and time) + + + date and time("2017-13-10T11:22:33") + + + + Tests FEEL expression: 'date and time("2017-00-10T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-00-10T11:22:33")'? + null (date and time) + + + date and time("2017-00-10T11:22:33") + + + + Tests FEEL expression: 'date and time("2017-13-32T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-13-32T11:22:33")'? + null (date and time) + + + date and time("2017-13-32T11:22:33") + + + + Tests FEEL expression: 'date and time("2017-13-0T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-13-0T11:22:33")'? + null (date and time) + + + date and time("2017-13-0T11:22:33") + + + + Tests FEEL expression: 'date and time("998-12-31T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("998-12-31T11:22:33")'? + null (date and time) + + + date and time("998-12-31T11:22:33") + + + + Tests FEEL expression: 'date and time("01211-12-31T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("01211-12-31T11:22:33")'? + null (date and time) + + + date and time("01211-12-31T11:22:33") + + + + Tests FEEL expression: 'date and time("+99999-12-01T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("+99999-12-01T11:22:33")'? + null (date and time) + + + date and time("+99999-12-01T11:22:33") + + + + Tests FEEL expression: 'date and time("2017-12-31T24:00:01")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T24:00:01")'? + null (date and time) + + + date and time("2017-12-31T24:00:01") + + + + Tests FEEL expression: 'date and time("2017-12-31T24:01:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T24:01:00")'? + null (date and time) + + + date and time("2017-12-31T24:01:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T25:00:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T25:00:00")'? + null (date and time) + + + date and time("2017-12-31T25:00:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T00:60:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T00:60:00")'? + null (date and time) + + + date and time("2017-12-31T00:60:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T00:00:61")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T00:00:61")'? + null (date and time) + + + date and time("2017-12-31T00:00:61") + + + + Tests FEEL expression: 'date and time("2017-12-31T7:00:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T7:00:00")'? + null (date and time) + + + date and time("2017-12-31T7:00:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T07:1:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T07:1:00")'? + null (date and time) + + + date and time("2017-12-31T07:1:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T07:01:2")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T07:01:2")'? + null (date and time) + + + date and time("2017-12-31T07:01:2") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00@xyz/abc")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00@xyz/abc")'? + null (date and time) + + + date and time("2017-12-31T13:20:00@xyz/abc") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+19:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+19:00")'? + null (date and time) + + + date and time("2017-12-31T13:20:00+19:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00-19:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00-19:00")'? + null (date and time) + + + date and time("2017-12-31T13:20:00-19:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+05:0")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+05:0")'? + null (date and time) + + + date and time("2017-12-31T13:20:00+05:0") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+5:00")'? + null (date and time) + + + date and time("2017-12-31T13:20:00+5:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+5")'? + null (date and time) + + + date and time("2017-12-31T13:20:00+5") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")'? + null (date and time) + + + date and time("2017-12-31T13:20:00+02:00@Europe/Paris") + + + + Tests FEEL expression: 'date and time("2017-12-31T7:20")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T7:20")'? + null (date and time) + + + date and time("2017-12-31T7:20") + + + + Tests FEEL expression: 'date and time("2017-12-31T07:2")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T07:2")'? + null (date and time) + + + date and time("2017-12-31T07:2") + + + + Tests FEEL expression: 'date and time(from:"2012-12-24T23:59:00")' and expects result: '2012-12-24T23:59:00 (date and time)' + Result of FEEL expression 'date and time(from:"2012-12-24T23:59:00")'? + 2012-12-24T23:59:00 (date and time) + + + date and time(from:"2012-12-24T23:59:00") + + + + Tests FEEL expression: 'date and time(date:date("2017-01-01"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date:date("2017-01-01"),time:time("23:59:01"))'? + 2017-01-01T23:59:01 (date and time) + + + date and time(date:date("2017-01-01"),time:time("23:59:01")) + + + + Tests FEEL expression: 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))'? + 2017-01-01T23:59:01 (date and time) + + + date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01")) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1120-feel-duration-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1120-feel-duration-function.dmn index 4d204de5163..b4df5b3d826 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1120-feel-duration-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1120-feel-duration-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'duration(from [String])' in category conversion functions - - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - dayTimeDuration - - - yearMonthDuration - - - - - - - - - - - - - Tests FEEL expression: 'duration(null)' and expects result: 'null (null)' - Result of FEEL expression 'duration(null)'? - null (null) - - - duration(null) - - - - Tests FEEL expression: 'duration()' and expects result: 'null (null)' - Result of FEEL expression 'duration()'? - null (null) - - - duration() - - - - Tests FEEL expression: 'duration("P1D")' and expects result: 'P1D (days and time duration)' - Result of FEEL expression 'duration("P1D")'? - P1D (days and time duration) - - - duration("P1D") - - - - Tests FEEL expression: 'duration("PT2H")' and expects result: 'PT2H (days and time duration)' - Result of FEEL expression 'duration("PT2H")'? - PT2H (days and time duration) - - - duration("PT2H") - - - - Tests FEEL expression: 'duration("PT3M")' and expects result: 'PT3M (days and time duration)' - Result of FEEL expression 'duration("PT3M")'? - PT3M (days and time duration) - - - duration("PT3M") - - - - Tests FEEL expression: 'duration("PT4S")' and expects result: 'PT4S (days and time duration)' - Result of FEEL expression 'duration("PT4S")'? - PT4S (days and time duration) - - - duration("PT4S") - - - - Tests FEEL expression: 'duration("PT0.999S")' and expects result: 'PT0.999S (days and time duration)' - Result of FEEL expression 'duration("PT0.999S")'? - PT0.999S (days and time duration) - - - duration("PT0.999S") - - - - Tests FEEL expression: 'duration("P1DT2H3M4.123456789S")' and expects result: 'P1DT2H3M4.123456789S (days and time duration)' - Result of FEEL expression 'duration("P1DT2H3M4.123456789S")'? - P1DT2H3M4.123456789S (days and time duration) - - - duration("P1DT2H3M4.123456789S") - - - - Tests FEEL expression: 'duration("PT0S")' and expects result: 'PT0S (days and time duration)' - Result of FEEL expression 'duration("PT0S")'? - PT0S (days and time duration) - - - duration("PT0S") - - - - Tests FEEL expression: 'duration("PT0.000S")' and expects result: 'PT0S (days and time duration)' - Result of FEEL expression 'duration("PT0.000S")'? - PT0S (days and time duration) - - - duration("PT0.000S") - - - - Tests FEEL expression: 'duration("PT0.S")' and expects result: 'PT0S (days and time duration)' - Result of FEEL expression 'duration("PT0.S")'? - PT0S (days and time duration) - - - duration("PT0.S") - - - - Tests FEEL expression: 'duration("PT0M")' and expects result: 'PT0S (days and time duration)' - Result of FEEL expression 'duration("PT0M")'? - PT0S (days and time duration) - - - duration("PT0M") - - - - Tests FEEL expression: 'duration("PT0H")' and expects result: 'PT0S (days and time duration)' - Result of FEEL expression 'duration("PT0H")'? - PT0S (days and time duration) - - - duration("PT0H") - - - - Tests FEEL expression: 'duration("P0D")' and expects result: 'PT0S (days and time duration)' - Result of FEEL expression 'duration("P0D")'? - PT0S (days and time duration) - - - duration("P0D") - - - - Tests FEEL expression: 'duration("-PT1H2M")' and expects result: '-PT1H2M (days and time duration)' - Result of FEEL expression 'duration("-PT1H2M")'? - -PT1H2M (days and time duration) - - - duration("-PT1H2M") - - - - Tests FEEL expression: 'duration("PT1000M")' and expects result: 'PT16H40M (days and time duration)' - Result of FEEL expression 'duration("PT1000M")'? - PT16H40M (days and time duration) - - - duration("PT1000M") - - - - Tests FEEL expression: 'duration("PT1000M0.999999999S")' and expects result: 'PT16H40M0.999999999S (days and time duration)' - Result of FEEL expression 'duration("PT1000M0.999999999S")'? - PT16H40M0.999999999S (days and time duration) - - - duration("PT1000M0.999999999S") - - - - Tests FEEL expression: 'duration("PT555M")' and expects result: 'PT9H15M (days and time duration)' - Result of FEEL expression 'duration("PT555M")'? - PT9H15M (days and time duration) - - - duration("PT555M") - - - - Tests FEEL expression: 'duration("PT61M")' and expects result: 'PT1H1M (days and time duration)' - Result of FEEL expression 'duration("PT61M")'? - PT1H1M (days and time duration) - - - duration("PT61M") - - - - Tests FEEL expression: 'duration("PT24H")' and expects result: 'P1D (days and time duration)' - Result of FEEL expression 'duration("PT24H")'? - P1D (days and time duration) - - - duration("PT24H") - - - - Tests FEEL expression: 'duration("PT240H")' and expects result: 'P10D (days and time duration)' - Result of FEEL expression 'duration("PT240H")'? - P10D (days and time duration) - - - duration("PT240H") - - - - Tests FEEL expression: 'duration("P2DT100M")' and expects result: 'P2DT1H40M (days and time duration)' - Result of FEEL expression 'duration("P2DT100M")'? - P2DT1H40M (days and time duration) - - - duration("P2DT100M") - - - - Tests FEEL expression: 'duration("PT3600S")' and expects result: 'PT1H (days and time duration)' - Result of FEEL expression 'duration("PT3600S")'? - PT1H (days and time duration) - - - duration("PT3600S") - - - - Tests FEEL expression: 'duration("P2DT274M")' and expects result: 'P2DT4H34M (days and time duration)' - Result of FEEL expression 'duration("P2DT274M")'? - P2DT4H34M (days and time duration) - - - duration("P2DT274M") - - - - Tests FEEL expression: 'duration("P1Y2M")' and expects result: 'P1Y2M (years and months duration)' - Result of FEEL expression 'duration("P1Y2M")'? - P1Y2M (years and months duration) - - - duration("P1Y2M") - - - - Tests FEEL expression: 'duration("P1Y")' and expects result: 'P1Y (years and months duration)' - Result of FEEL expression 'duration("P1Y")'? - P1Y (years and months duration) - - - duration("P1Y") - - - - Tests FEEL expression: 'duration("P0Y")' and expects result: 'P0M (years and months duration)' - Result of FEEL expression 'duration("P0Y")'? - P0M (years and months duration) - - - duration("P0Y") - - - - Tests FEEL expression: 'duration("P0M")' and expects result: 'P0M (years and months duration)' - Result of FEEL expression 'duration("P0M")'? - P0M (years and months duration) - - - duration("P0M") - - - - Tests FEEL expression: 'duration("-P1Y")' and expects result: '-P1Y (years and months duration)' - Result of FEEL expression 'duration("-P1Y")'? - -P1Y (years and months duration) - - - duration("-P1Y") - - - - Tests FEEL expression: 'duration("P26M")' and expects result: 'P2Y2M (years and months duration)' - Result of FEEL expression 'duration("P26M")'? - P2Y2M (years and months duration) - - - duration("P26M") - - - - Tests FEEL expression: 'duration("P1Y27M")' and expects result: 'P3Y3M (years and months duration)' - Result of FEEL expression 'duration("P1Y27M")'? - P3Y3M (years and months duration) - - - duration("P1Y27M") - - - - Tests FEEL expression: 'duration("P100M")' and expects result: 'P8Y4M (years and months duration)' - Result of FEEL expression 'duration("P100M")'? - P8Y4M (years and months duration) - - - duration("P100M") - - - - Tests FEEL expression: 'duration("-P100M")' and expects result: '-P8Y4M (years and months duration)' - Result of FEEL expression 'duration("-P100M")'? - -P8Y4M (years and months duration) - - - duration("-P100M") - - - - Tests FEEL expression: 'duration("P999999999M")' and expects result: 'P83333333Y3M (years and months duration)' - Result of FEEL expression 'duration("P999999999M")'? - P83333333Y3M (years and months duration) - - - duration("P999999999M") - - - - Tests FEEL expression: 'duration("-P999999999M")' and expects result: '-P83333333Y3M (years and months duration)' - Result of FEEL expression 'duration("-P999999999M")'? - -P83333333Y3M (years and months duration) - - - duration("-P999999999M") - - - - Tests FEEL expression: 'duration("P99999999Y")' and expects result: 'P99999999Y (years and months duration)' - Result of FEEL expression 'duration("P99999999Y")'? - P99999999Y (years and months duration) - - - duration("P99999999Y") - - - - Tests FEEL expression: 'duration("-P99999999Y")' and expects result: '-P99999999Y (years and months duration)' - Result of FEEL expression 'duration("-P99999999Y")'? - -P99999999Y (years and months duration) - - - duration("-P99999999Y") - - - - Tests FEEL expression: 'duration(from:"P1Y")' and expects result: 'P1Y (years and months duration)' - Result of FEEL expression 'duration(from:"P1Y")'? - P1Y (years and months duration) - - - duration(from:"P1Y") - - - - Tests FEEL expression: 'duration(from:"PT24H")' and expects result: 'P1D (days and time duration)' - Result of FEEL expression 'duration(from:"PT24H")'? - P1D (days and time duration) - - - duration(from:"PT24H") - - - - Tests FEEL expression: 'duration(from:"P26M")' and expects result: 'P2Y2M (years and months duration)' - Result of FEEL expression 'duration(from:"P26M")'? - P2Y2M (years and months duration) - - - duration(from:"P26M") - - - - Tests FEEL expression: 'duration("")' and expects result: 'null (null)' - Result of FEEL expression 'duration("")'? - null (null) - - - duration("") - - - - Tests FEEL expression: 'duration(2017)' and expects result: 'null (null)' - Result of FEEL expression 'duration(2017)'? - null (null) - - - duration(2017) - - - - Tests FEEL expression: 'duration("2012T-12-2511:00:00Z")' and expects result: 'null (null)' - Result of FEEL expression 'duration("2012T-12-2511:00:00Z")'? - null (null) - - - duration("2012T-12-2511:00:00Z") - - - - Tests FEEL expression: 'duration([])' and expects result: 'null (null)' - Result of FEEL expression 'duration([])'? - null (null) - - - duration([]) - - - - Tests FEEL expression: 'duration("P")' and expects result: 'null (null)' - Result of FEEL expression 'duration("P")'? - null (null) - - - duration("P") - - - - Tests FEEL expression: 'duration("P0")' and expects result: 'null (null)' - Result of FEEL expression 'duration("P0")'? - null (null) - - - duration("P0") - - - - Tests FEEL expression: 'duration("1Y")' and expects result: 'null (null)' - Result of FEEL expression 'duration("1Y")'? - null (null) - - - duration("1Y") - - - - Tests FEEL expression: 'duration("1D")' and expects result: 'null (null)' - Result of FEEL expression 'duration("1D")'? - null (null) - - - duration("1D") - - - - Tests FEEL expression: 'duration("P1H")' and expects result: 'null (null)' - Result of FEEL expression 'duration("P1H")'? - null (null) - - - duration("P1H") - - - - Tests FEEL expression: 'duration("P1S")' and expects result: 'null (null)' - Result of FEEL expression 'duration("P1S")'? - null (null) - - - duration("P1S") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'duration(from [String])' in category conversion functions + + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + dayTimeDuration + + + yearMonthDuration + + + + + + + + + + + + + Tests FEEL expression: 'duration(null)' and expects result: 'null (null)' + Result of FEEL expression 'duration(null)'? + null (null) + + + duration(null) + + + + Tests FEEL expression: 'duration()' and expects result: 'null (null)' + Result of FEEL expression 'duration()'? + null (null) + + + duration() + + + + Tests FEEL expression: 'duration("P1D")' and expects result: 'P1D (days and time duration)' + Result of FEEL expression 'duration("P1D")'? + P1D (days and time duration) + + + duration("P1D") + + + + Tests FEEL expression: 'duration("PT2H")' and expects result: 'PT2H (days and time duration)' + Result of FEEL expression 'duration("PT2H")'? + PT2H (days and time duration) + + + duration("PT2H") + + + + Tests FEEL expression: 'duration("PT3M")' and expects result: 'PT3M (days and time duration)' + Result of FEEL expression 'duration("PT3M")'? + PT3M (days and time duration) + + + duration("PT3M") + + + + Tests FEEL expression: 'duration("PT4S")' and expects result: 'PT4S (days and time duration)' + Result of FEEL expression 'duration("PT4S")'? + PT4S (days and time duration) + + + duration("PT4S") + + + + Tests FEEL expression: 'duration("PT0.999S")' and expects result: 'PT0.999S (days and time duration)' + Result of FEEL expression 'duration("PT0.999S")'? + PT0.999S (days and time duration) + + + duration("PT0.999S") + + + + Tests FEEL expression: 'duration("P1DT2H3M4.123456789S")' and expects result: 'P1DT2H3M4.123456789S (days and time duration)' + Result of FEEL expression 'duration("P1DT2H3M4.123456789S")'? + P1DT2H3M4.123456789S (days and time duration) + + + duration("P1DT2H3M4.123456789S") + + + + Tests FEEL expression: 'duration("PT0S")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0S")'? + PT0S (days and time duration) + + + duration("PT0S") + + + + Tests FEEL expression: 'duration("PT0.000S")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0.000S")'? + PT0S (days and time duration) + + + duration("PT0.000S") + + + + Tests FEEL expression: 'duration("PT0.S")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0.S")'? + PT0S (days and time duration) + + + duration("PT0.S") + + + + Tests FEEL expression: 'duration("PT0M")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0M")'? + PT0S (days and time duration) + + + duration("PT0M") + + + + Tests FEEL expression: 'duration("PT0H")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0H")'? + PT0S (days and time duration) + + + duration("PT0H") + + + + Tests FEEL expression: 'duration("P0D")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("P0D")'? + PT0S (days and time duration) + + + duration("P0D") + + + + Tests FEEL expression: 'duration("-PT1H2M")' and expects result: '-PT1H2M (days and time duration)' + Result of FEEL expression 'duration("-PT1H2M")'? + -PT1H2M (days and time duration) + + + duration("-PT1H2M") + + + + Tests FEEL expression: 'duration("PT1000M")' and expects result: 'PT16H40M (days and time duration)' + Result of FEEL expression 'duration("PT1000M")'? + PT16H40M (days and time duration) + + + duration("PT1000M") + + + + Tests FEEL expression: 'duration("PT1000M0.999999999S")' and expects result: 'PT16H40M0.999999999S (days and time duration)' + Result of FEEL expression 'duration("PT1000M0.999999999S")'? + PT16H40M0.999999999S (days and time duration) + + + duration("PT1000M0.999999999S") + + + + Tests FEEL expression: 'duration("PT555M")' and expects result: 'PT9H15M (days and time duration)' + Result of FEEL expression 'duration("PT555M")'? + PT9H15M (days and time duration) + + + duration("PT555M") + + + + Tests FEEL expression: 'duration("PT61M")' and expects result: 'PT1H1M (days and time duration)' + Result of FEEL expression 'duration("PT61M")'? + PT1H1M (days and time duration) + + + duration("PT61M") + + + + Tests FEEL expression: 'duration("PT24H")' and expects result: 'P1D (days and time duration)' + Result of FEEL expression 'duration("PT24H")'? + P1D (days and time duration) + + + duration("PT24H") + + + + Tests FEEL expression: 'duration("PT240H")' and expects result: 'P10D (days and time duration)' + Result of FEEL expression 'duration("PT240H")'? + P10D (days and time duration) + + + duration("PT240H") + + + + Tests FEEL expression: 'duration("P2DT100M")' and expects result: 'P2DT1H40M (days and time duration)' + Result of FEEL expression 'duration("P2DT100M")'? + P2DT1H40M (days and time duration) + + + duration("P2DT100M") + + + + Tests FEEL expression: 'duration("PT3600S")' and expects result: 'PT1H (days and time duration)' + Result of FEEL expression 'duration("PT3600S")'? + PT1H (days and time duration) + + + duration("PT3600S") + + + + Tests FEEL expression: 'duration("P2DT274M")' and expects result: 'P2DT4H34M (days and time duration)' + Result of FEEL expression 'duration("P2DT274M")'? + P2DT4H34M (days and time duration) + + + duration("P2DT274M") + + + + Tests FEEL expression: 'duration("P1Y2M")' and expects result: 'P1Y2M (years and months duration)' + Result of FEEL expression 'duration("P1Y2M")'? + P1Y2M (years and months duration) + + + duration("P1Y2M") + + + + Tests FEEL expression: 'duration("P1Y")' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'duration("P1Y")'? + P1Y (years and months duration) + + + duration("P1Y") + + + + Tests FEEL expression: 'duration("P0Y")' and expects result: 'P0M (years and months duration)' + Result of FEEL expression 'duration("P0Y")'? + P0M (years and months duration) + + + duration("P0Y") + + + + Tests FEEL expression: 'duration("P0M")' and expects result: 'P0M (years and months duration)' + Result of FEEL expression 'duration("P0M")'? + P0M (years and months duration) + + + duration("P0M") + + + + Tests FEEL expression: 'duration("-P1Y")' and expects result: '-P1Y (years and months duration)' + Result of FEEL expression 'duration("-P1Y")'? + -P1Y (years and months duration) + + + duration("-P1Y") + + + + Tests FEEL expression: 'duration("P26M")' and expects result: 'P2Y2M (years and months duration)' + Result of FEEL expression 'duration("P26M")'? + P2Y2M (years and months duration) + + + duration("P26M") + + + + Tests FEEL expression: 'duration("P1Y27M")' and expects result: 'P3Y3M (years and months duration)' + Result of FEEL expression 'duration("P1Y27M")'? + P3Y3M (years and months duration) + + + duration("P1Y27M") + + + + Tests FEEL expression: 'duration("P100M")' and expects result: 'P8Y4M (years and months duration)' + Result of FEEL expression 'duration("P100M")'? + P8Y4M (years and months duration) + + + duration("P100M") + + + + Tests FEEL expression: 'duration("-P100M")' and expects result: '-P8Y4M (years and months duration)' + Result of FEEL expression 'duration("-P100M")'? + -P8Y4M (years and months duration) + + + duration("-P100M") + + + + Tests FEEL expression: 'duration("P999999999M")' and expects result: 'P83333333Y3M (years and months duration)' + Result of FEEL expression 'duration("P999999999M")'? + P83333333Y3M (years and months duration) + + + duration("P999999999M") + + + + Tests FEEL expression: 'duration("-P999999999M")' and expects result: '-P83333333Y3M (years and months duration)' + Result of FEEL expression 'duration("-P999999999M")'? + -P83333333Y3M (years and months duration) + + + duration("-P999999999M") + + + + Tests FEEL expression: 'duration("P99999999Y")' and expects result: 'P99999999Y (years and months duration)' + Result of FEEL expression 'duration("P99999999Y")'? + P99999999Y (years and months duration) + + + duration("P99999999Y") + + + + Tests FEEL expression: 'duration("-P99999999Y")' and expects result: '-P99999999Y (years and months duration)' + Result of FEEL expression 'duration("-P99999999Y")'? + -P99999999Y (years and months duration) + + + duration("-P99999999Y") + + + + Tests FEEL expression: 'duration(from:"P1Y")' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'duration(from:"P1Y")'? + P1Y (years and months duration) + + + duration(from:"P1Y") + + + + Tests FEEL expression: 'duration(from:"PT24H")' and expects result: 'P1D (days and time duration)' + Result of FEEL expression 'duration(from:"PT24H")'? + P1D (days and time duration) + + + duration(from:"PT24H") + + + + Tests FEEL expression: 'duration(from:"P26M")' and expects result: 'P2Y2M (years and months duration)' + Result of FEEL expression 'duration(from:"P26M")'? + P2Y2M (years and months duration) + + + duration(from:"P26M") + + + + Tests FEEL expression: 'duration("")' and expects result: 'null (null)' + Result of FEEL expression 'duration("")'? + null (null) + + + duration("") + + + + Tests FEEL expression: 'duration(2017)' and expects result: 'null (null)' + Result of FEEL expression 'duration(2017)'? + null (null) + + + duration(2017) + + + + Tests FEEL expression: 'duration("2012T-12-2511:00:00Z")' and expects result: 'null (null)' + Result of FEEL expression 'duration("2012T-12-2511:00:00Z")'? + null (null) + + + duration("2012T-12-2511:00:00Z") + + + + Tests FEEL expression: 'duration([])' and expects result: 'null (null)' + Result of FEEL expression 'duration([])'? + null (null) + + + duration([]) + + + + Tests FEEL expression: 'duration("P")' and expects result: 'null (null)' + Result of FEEL expression 'duration("P")'? + null (null) + + + duration("P") + + + + Tests FEEL expression: 'duration("P0")' and expects result: 'null (null)' + Result of FEEL expression 'duration("P0")'? + null (null) + + + duration("P0") + + + + Tests FEEL expression: 'duration("1Y")' and expects result: 'null (null)' + Result of FEEL expression 'duration("1Y")'? + null (null) + + + duration("1Y") + + + + Tests FEEL expression: 'duration("1D")' and expects result: 'null (null)' + Result of FEEL expression 'duration("1D")'? + null (null) + + + duration("1D") + + + + Tests FEEL expression: 'duration("P1H")' and expects result: 'null (null)' + Result of FEEL expression 'duration("P1H")'? + null (null) + + + duration("P1H") + + + + Tests FEEL expression: 'duration("P1S")' and expects result: 'null (null)' + Result of FEEL expression 'duration("P1S")'? + null (null) + + + duration("P1S") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1121-feel-years-and-months-duration-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1121-feel-years-and-months-duration-function.dmn index 579bd203be8..d133ce634c8 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1121-feel-years-and-months-duration-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn12/1121-feel-years-and-months-duration-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'years and months duration(from [date and time], to [date and time])' in category conversion functions - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - Tests FEEL expression: 'years and months duration(null)' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(null)'? - null (years and months duration) - - - years and months duration(null) - - - - Tests FEEL expression: 'years and months duration(null,null)' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(null,null)'? - null (years and months duration) - - - years and months duration(null,null) - - - - Tests FEEL expression: 'years and months duration(date("2017-08-11"),null)' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(date("2017-08-11"),null)'? - null (years and months duration) - - - years and months duration(date("2017-08-11"),null) - - - - Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"),null)' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"),null)'? - null (years and months duration) - - - years and months duration(date and time("2017-12-31T13:00:00"),null) - - - - Tests FEEL expression: 'years and months duration(null,date("2017-08-11"))' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(null,date("2017-08-11"))'? - null (years and months duration) - - - years and months duration(null,date("2017-08-11")) - - - - Tests FEEL expression: 'years and months duration(null,date and time("2019-10-01T12:32:59"))' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(null,date and time("2019-10-01T12:32:59"))'? - null (years and months duration) - - - years and months duration(null,date and time("2019-10-01T12:32:59")) - - - - Tests FEEL expression: 'years and months duration()' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration()'? - null (years and months duration) - - - years and months duration() - - - - Tests FEEL expression: 'years and months duration(date("2011-12-22"),date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' - Result of FEEL expression 'years and months duration(date("2011-12-22"),date("2013-08-24"))'? - P1Y8M (years and months duration) - - - years and months duration(date("2011-12-22"),date("2013-08-24")) - - - - Tests FEEL expression: 'years and months duration(date("2013-08-24"),date("2011-12-22"))' and expects result: '-P1Y8M (years and months duration)' - Result of FEEL expression 'years and months duration(date("2013-08-24"),date("2011-12-22"))'? - -P1Y8M (years and months duration) - - - years and months duration(date("2013-08-24"),date("2011-12-22")) - - - - Tests FEEL expression: 'years and months duration(date("2015-01-21"),date("2016-01-21"))' and expects result: 'P1Y (years and months duration)' - Result of FEEL expression 'years and months duration(date("2015-01-21"),date("2016-01-21"))'? - P1Y (years and months duration) - - - years and months duration(date("2015-01-21"),date("2016-01-21")) - - - - Tests FEEL expression: 'years and months duration(date("2016-01-21"),date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' - Result of FEEL expression 'years and months duration(date("2016-01-21"),date("2015-01-21"))'? - -P1Y (years and months duration) - - - years and months duration(date("2016-01-21"),date("2015-01-21")) - - - - Tests FEEL expression: 'years and months duration(date("2016-01-01"),date("2016-01-01"))' and expects result: 'P0M (years and months duration)' - Result of FEEL expression 'years and months duration(date("2016-01-01"),date("2016-01-01"))'? - P0M (years and months duration) - - - years and months duration(date("2016-01-01"),date("2016-01-01")) - - - - Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))' and expects result: 'P0M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))'? - P0M (years and months duration) - - - years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00")) - - - - Tests FEEL expression: 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))' and expects result: 'P1Y2M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))'? - P1Y2M (years and months duration) - - - years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12")) - - - - Tests FEEL expression: 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))' and expects result: 'P7Y6M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))'? - P7Y6M (years and months duration) - - - years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59")) - - - - Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))' and expects result: 'P4Y9M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))'? - P4Y9M (years and months duration) - - - years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59")) - - - - Tests FEEL expression: 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))' and expects result: '-P11M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))'? - -P11M (years and months duration) - - - years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02")) - - - - Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))' and expects result: '-P4033Y2M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))'? - -P4033Y2M (years and months duration) - - - years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59")) - - - - Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))' and expects result: '-P4035Y11M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))'? - -P4035Y11M (years and months duration) - - - years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00")) - - - - Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))' and expects result: 'P2Y (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))'? - P2Y (years and months duration) - - - years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59")) - - - - Tests FEEL expression: 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P11M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? - P11M (years and months duration) - - - years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris")) - - - - Tests FEEL expression: 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P5Y7M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? - P5Y7M (years and months duration) - - - years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris")) - - - - Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))' and expects result: 'P1Y (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))'? - P1Y (years and months duration) - - - years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59")) - - - - Tests FEEL expression: 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))' and expects result: 'P4Y (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))'? - P4Y (years and months duration) - - - years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00")) - - - - Tests FEEL expression: 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))' and expects result: 'P2Y9M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))'? - P2Y9M (years and months duration) - - - years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111")) - - - - Tests FEEL expression: 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))' and expects result: 'P3Y (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))'? - P3Y (years and months duration) - - - years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645")) - - - - Tests FEEL expression: 'years and months duration(date(""),date(""))' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(date(""),date(""))'? - null (years and months duration) - - - years and months duration(date(""),date("")) - - - - Tests FEEL expression: 'years and months duration(2017)' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(2017)'? - null (years and months duration) - - - years and months duration(2017) - - - - Tests FEEL expression: 'years and months duration("2012T-12-2511:00:00Z")' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration("2012T-12-2511:00:00Z")'? - null (years and months duration) - - - years and months duration("2012T-12-2511:00:00Z") - - - - Tests FEEL expression: 'years and months duration([],[])' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration([],[])'? - null (years and months duration) - - - years and months duration([],[]) - - - - Tests FEEL expression: 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))' and expects result: 'P4Y3M (years and months duration)' - Result of FEEL expression 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))'? - P4Y3M (years and months duration) - - - years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59")) - - - - Tests FEEL expression: 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )' and expects result: 'P2Y4M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )'? - P2Y4M (years and months duration) - - - years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") ) - - - - Tests FEEL expression: 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))' and expects result: 'P1Y (years and months duration)' - Result of FEEL expression 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))'? - P1Y (years and months duration) - - - years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59")) - - - - Tests FEEL expression: 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))' and expects result: 'P2Y (years and months duration)' - Result of FEEL expression 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))'? - P2Y (years and months duration) - - - years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01")) - - - - Tests FEEL expression: 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' - Result of FEEL expression 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))'? - P1Y8M (years and months duration) - - - years and months duration(from:date("2011-12-22"),to:date("2013-08-24")) - - - - Tests FEEL expression: 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' - Result of FEEL expression 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))'? - -P1Y (years and months duration) - - - years and months duration(from:date("2016-01-21"),to:date("2015-01-21")) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'years and months duration(from [date and time], to [date and time])' in category conversion functions + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + Tests FEEL expression: 'years and months duration(null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null)'? + null (years and months duration) + + + years and months duration(null) + + + + Tests FEEL expression: 'years and months duration(null,null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null,null)'? + null (years and months duration) + + + years and months duration(null,null) + + + + Tests FEEL expression: 'years and months duration(date("2017-08-11"),null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(date("2017-08-11"),null)'? + null (years and months duration) + + + years and months duration(date("2017-08-11"),null) + + + + Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"),null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"),null)'? + null (years and months duration) + + + years and months duration(date and time("2017-12-31T13:00:00"),null) + + + + Tests FEEL expression: 'years and months duration(null,date("2017-08-11"))' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null,date("2017-08-11"))'? + null (years and months duration) + + + years and months duration(null,date("2017-08-11")) + + + + Tests FEEL expression: 'years and months duration(null,date and time("2019-10-01T12:32:59"))' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null,date and time("2019-10-01T12:32:59"))'? + null (years and months duration) + + + years and months duration(null,date and time("2019-10-01T12:32:59")) + + + + Tests FEEL expression: 'years and months duration()' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration()'? + null (years and months duration) + + + years and months duration() + + + + Tests FEEL expression: 'years and months duration(date("2011-12-22"),date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' + Result of FEEL expression 'years and months duration(date("2011-12-22"),date("2013-08-24"))'? + P1Y8M (years and months duration) + + + years and months duration(date("2011-12-22"),date("2013-08-24")) + + + + Tests FEEL expression: 'years and months duration(date("2013-08-24"),date("2011-12-22"))' and expects result: '-P1Y8M (years and months duration)' + Result of FEEL expression 'years and months duration(date("2013-08-24"),date("2011-12-22"))'? + -P1Y8M (years and months duration) + + + years and months duration(date("2013-08-24"),date("2011-12-22")) + + + + Tests FEEL expression: 'years and months duration(date("2015-01-21"),date("2016-01-21"))' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'years and months duration(date("2015-01-21"),date("2016-01-21"))'? + P1Y (years and months duration) + + + years and months duration(date("2015-01-21"),date("2016-01-21")) + + + + Tests FEEL expression: 'years and months duration(date("2016-01-21"),date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' + Result of FEEL expression 'years and months duration(date("2016-01-21"),date("2015-01-21"))'? + -P1Y (years and months duration) + + + years and months duration(date("2016-01-21"),date("2015-01-21")) + + + + Tests FEEL expression: 'years and months duration(date("2016-01-01"),date("2016-01-01"))' and expects result: 'P0M (years and months duration)' + Result of FEEL expression 'years and months duration(date("2016-01-01"),date("2016-01-01"))'? + P0M (years and months duration) + + + years and months duration(date("2016-01-01"),date("2016-01-01")) + + + + Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))' and expects result: 'P0M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))'? + P0M (years and months duration) + + + years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00")) + + + + Tests FEEL expression: 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))' and expects result: 'P1Y2M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))'? + P1Y2M (years and months duration) + + + years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12")) + + + + Tests FEEL expression: 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))' and expects result: 'P7Y6M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))'? + P7Y6M (years and months duration) + + + years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59")) + + + + Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))' and expects result: 'P4Y9M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))'? + P4Y9M (years and months duration) + + + years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59")) + + + + Tests FEEL expression: 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))' and expects result: '-P11M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))'? + -P11M (years and months duration) + + + years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02")) + + + + Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))' and expects result: '-P4033Y2M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))'? + -P4033Y2M (years and months duration) + + + years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59")) + + + + Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))' and expects result: '-P4035Y11M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))'? + -P4035Y11M (years and months duration) + + + years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00")) + + + + Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))' and expects result: 'P2Y (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))'? + P2Y (years and months duration) + + + years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59")) + + + + Tests FEEL expression: 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P11M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? + P11M (years and months duration) + + + years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris")) + + + + Tests FEEL expression: 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P5Y7M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? + P5Y7M (years and months duration) + + + years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris")) + + + + Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))'? + P1Y (years and months duration) + + + years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59")) + + + + Tests FEEL expression: 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))' and expects result: 'P4Y (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))'? + P4Y (years and months duration) + + + years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00")) + + + + Tests FEEL expression: 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))' and expects result: 'P2Y9M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))'? + P2Y9M (years and months duration) + + + years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111")) + + + + Tests FEEL expression: 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))' and expects result: 'P3Y (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))'? + P3Y (years and months duration) + + + years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645")) + + + + Tests FEEL expression: 'years and months duration(date(""),date(""))' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(date(""),date(""))'? + null (years and months duration) + + + years and months duration(date(""),date("")) + + + + Tests FEEL expression: 'years and months duration(2017)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(2017)'? + null (years and months duration) + + + years and months duration(2017) + + + + Tests FEEL expression: 'years and months duration("2012T-12-2511:00:00Z")' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration("2012T-12-2511:00:00Z")'? + null (years and months duration) + + + years and months duration("2012T-12-2511:00:00Z") + + + + Tests FEEL expression: 'years and months duration([],[])' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration([],[])'? + null (years and months duration) + + + years and months duration([],[]) + + + + Tests FEEL expression: 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))' and expects result: 'P4Y3M (years and months duration)' + Result of FEEL expression 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))'? + P4Y3M (years and months duration) + + + years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59")) + + + + Tests FEEL expression: 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )' and expects result: 'P2Y4M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )'? + P2Y4M (years and months duration) + + + years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") ) + + + + Tests FEEL expression: 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))'? + P1Y (years and months duration) + + + years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59")) + + + + Tests FEEL expression: 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))' and expects result: 'P2Y (years and months duration)' + Result of FEEL expression 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))'? + P2Y (years and months duration) + + + years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01")) + + + + Tests FEEL expression: 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' + Result of FEEL expression 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))'? + P1Y8M (years and months duration) + + + years and months duration(from:date("2011-12-22"),to:date("2013-08-24")) + + + + Tests FEEL expression: 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' + Result of FEEL expression 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))'? + -P1Y (years and months duration) + + + years and months duration(from:date("2016-01-21"),to:date("2015-01-21")) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0001-filter.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0001-filter.dmn index 3b184023d1e..57567ef9edc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0001-filter.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0001-filter.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -34,48 +45,59 @@ string - - + + - + Employees[dept=20].name - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0001-input-data-string.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0001-input-data-string.dmn index da114a877d4..8f745ca69de 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0001-input-data-string.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0001-input-data-string.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + "Hello " + Full Name - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0002-input-data-number.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0002-input-data-number.dmn index 0a46f43a320..ddfa8e5a038 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0002-input-data-number.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0002-input-data-number.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + 12 * Monthly Salary - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0002-string-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0002-string-functions.dmn index 00abe0eb4d4..4611f0ad132 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0002-string-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0002-string-functions.dmn @@ -1,4 +1,4 @@ - + - - + + boolean @@ -69,98 +81,98 @@ - - + + - - + + - - + + - - + + - + - + - + - + starts with(A,"x") - + starts with(A,B) - + ends with(A,"x") - + ends with(A,B) - + contains(A,"x") - + contains(A,B) - + substring(A,NumC,1) - + string length(A) - + upper case(A) - + lower case(B) - + substring before(A,B) - + substring after(A,B) @@ -168,36 +180,36 @@ - - + + - + matches(A,"[a-z]{3}") - - + + - + - + replace(A,"a","o") - + replace(A,"(an)+", "**") - + replace(A,"[aeiouy]","[$0]") @@ -205,10 +217,10 @@ - - + + - + string(NumC) @@ -218,114 +230,160 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0003-input-data-string-allowed-values.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0003-input-data-string-allowed-values.dmn index 14b464edd3d..e8e793e9443 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0003-input-data-string-allowed-values.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0003-input-data-string-allowed-values.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -26,48 +37,55 @@ - - + + - + "You are " + Employment Status - - + + - + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0003-iteration.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0003-iteration.dmn index 57da9afaf93..c0232dc4b53 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0003-iteration.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0003-iteration.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -37,76 +49,82 @@ number - - + + - + - + for i in Loans return PMT2(i) - - + + - + (loan.amount * loan.rate/12)/(1-(1+loan.rate/12)**-loan.term) - - + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0004-lending.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0004-lending.dmn index 3d78236c42a..ee44c5eebff 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0004-lending.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0004-lending.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -115,20 +127,20 @@ - - + + - + - + BureauCallTypeTable - + Pre-bureauRiskCategory @@ -136,17 +148,22 @@ - + Is credit bureau call required? Yes (BUREAU) or No (DECLINE, THROUGH) - + - + - + - + Eligibility @@ -168,7 +185,7 @@ "DECLINE", "THROUGH", "BUREAU" - + "INELIGIBLE" @@ -180,7 +197,7 @@ "DECLINE" - + @@ -194,7 +211,7 @@ "BUREAU" - + @@ -208,44 +225,44 @@ "THROUGH" - + - - + + - + - + - + - + EligibilityRules - + Pre-bureauAffordability - + Pre-bureauRiskCategory - + ApplicantData.Age @@ -253,29 +270,29 @@ - - + + - + - + - + Pre-bureauRiskCategoryTable - + ApplicantData.ExistingCustomer - + ApplicationRiskScore @@ -283,38 +300,38 @@ - - + + - + - + - + - + Post-bureauRiskCategoryTable - + ApplicantData.ExistingCustomer - + BureauData.CreditScore - + ApplicationRiskScore @@ -322,32 +339,32 @@ - - + + - + - + ApplicationRiskScoreModel - + ApplicantData.Age - + ApplicantData.MaritalStatus - + ApplicantData.EmploymentStatus @@ -355,50 +372,50 @@ - - + + - + - + - + - + AffordabilityCalculation - + ApplicantData.Monthly.Income - + ApplicantData.Monthly.Repayments - + ApplicantData.Monthly.Expenses - + Pre-bureauRiskCategory - + RequiredMonthlyInstallment @@ -406,50 +423,50 @@ - - + + - + - + - + - + AffordabilityCalculation - + ApplicantData.Monthly.Income - + ApplicantData.Monthly.Repayments - + ApplicantData.Monthly.Expenses - + Post-bureauRiskCategory - + RequiredMonthlyInstallment @@ -457,38 +474,38 @@ - - + + - + - + InstallmentCalculation - + RequestedProduct.ProductType - + RequestedProduct.Rate - + RequestedProduct.Term - + RequestedProduct.Amount @@ -496,44 +513,44 @@ - - + + - + - + - + - + RoutingRules - + BureauData.Bankrupt - + BureauData.CreditScore - + Post-bureauRiskCategory - + Post-bureauAffordability @@ -541,45 +558,49 @@ - - + + - + - + - + "ACCEPT" - - + + - - - - - + + + + + - + MonthlyIncome - (MonthlyExpenses + MonthlyRepayments) - + CreditContingencyFactorTable - + RiskCategory @@ -587,9 +608,10 @@ - + - if DisposableIncome * CreditContingencyFactor > RequiredMonthlyInstallment then true else false + if DisposableIncome * CreditContingencyFactor > RequiredMonthlyInstallment then true else false @@ -600,15 +622,20 @@ - + - - + + - - + + RiskCategory @@ -617,8 +644,8 @@ "DECLINE", "HIGH", "LOW", "MEDIUM", "VERY LOW" - - + + "HIGH", "DECLINE" @@ -627,7 +654,7 @@ 0.6 - + @@ -638,7 +665,7 @@ 0.7 - + @@ -649,20 +676,33 @@ 0.8 - + - - + + - - - - + + + + Pre-bureauRiskCategory @@ -683,7 +723,7 @@ "INELIGIBLE", "ELIGIBLE" - + "DECLINE" @@ -698,7 +738,7 @@ "INELIGIBLE" - + @@ -715,7 +755,7 @@ "INELIGIBLE" - + @@ -732,7 +772,7 @@ "INELIGIBLE" - + @@ -749,25 +789,34 @@ "ELIGIBLE" - + - - + + - - + + Pre-bureauRiskCategory - - + + "HIGH","MEDIUM" @@ -776,7 +825,7 @@ "FULL" - + @@ -787,7 +836,7 @@ "MINI" - + @@ -798,19 +847,24 @@ "NONE" - + - - + + - - - + + + ExistingCustomer @@ -821,8 +875,8 @@ ApplicationRiskScore - - + + false @@ -834,7 +888,7 @@ "HIGH" - + @@ -848,7 +902,7 @@ "MEDIUM" - + @@ -862,7 +916,7 @@ "LOW" - + @@ -876,7 +930,7 @@ "VERY LOW" - + @@ -890,7 +944,7 @@ "DECLINE" - + @@ -904,7 +958,7 @@ "HIGH" - + @@ -918,7 +972,7 @@ "MEDIUM" - + @@ -932,20 +986,25 @@ "LOW" - + - - + + - - - - + + + + ExistingCustomer @@ -961,8 +1020,8 @@ CreditScore - - + + false @@ -977,7 +1036,7 @@ "HIGH" - + @@ -994,7 +1053,7 @@ "MEDIUM" - + @@ -1011,7 +1070,7 @@ "LOW" - + @@ -1028,7 +1087,7 @@ "HIGH" - + @@ -1045,7 +1104,7 @@ "MEDIUM" - + @@ -1062,7 +1121,7 @@ "LOW" - + @@ -1079,7 +1138,7 @@ "VERY LOW" - + @@ -1096,7 +1155,7 @@ "HIGH" - + @@ -1113,7 +1172,7 @@ "MEDIUM" - + @@ -1130,7 +1189,7 @@ "LOW" - + @@ -1147,7 +1206,7 @@ "HIGH" - + @@ -1164,7 +1223,7 @@ "MEDIUM" - + @@ -1181,20 +1240,26 @@ "LOW" - + - - + + - - - - + + + + Age @@ -1219,8 +1284,8 @@ "UNEMPLOYED", "EMPLOYED", "SELF-EMPLOYED", "STUDENT" - - + + [18..21] @@ -1235,7 +1300,7 @@ 32 - + @@ -1252,7 +1317,7 @@ 35 - + @@ -1269,7 +1334,7 @@ 40 - + @@ -1286,7 +1351,7 @@ 43 - + @@ -1303,7 +1368,7 @@ 48 - + @@ -1320,7 +1385,7 @@ 25 - + @@ -1337,7 +1402,7 @@ 45 - + @@ -1354,7 +1419,7 @@ 15 - + @@ -1371,7 +1436,7 @@ 45 - + @@ -1388,7 +1453,7 @@ 36 - + @@ -1405,29 +1470,30 @@ 18 - + - - + + - - - - + + + + - + - if ProductType ="STANDARD LOAN" then 20.00 else if ProductType ="SPECIAL LOAN" then 25.00 else null + if ProductType ="STANDARD LOAN" then 20.00 else if ProductType ="SPECIAL LOAN" then 25.00 else null - + (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) @@ -1441,14 +1507,27 @@ - - + + - - - - - + + + + + Post-bureauRiskCategory @@ -1474,7 +1553,7 @@ "DECLINE", "REFER", "ACCEPT" - + - @@ -1492,7 +1571,7 @@ "DECLINE" - + @@ -1512,7 +1591,7 @@ "DECLINE" - + @@ -1532,7 +1611,7 @@ "REFER" - + @@ -1552,7 +1631,7 @@ "REFER" - + @@ -1572,467 +1651,620 @@ "ACCEPT" - + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0004-simpletable-U.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0004-simpletable-U.dmn index 888fcd07b5c..d55a25ce1b1 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0004-simpletable-U.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0004-simpletable-U.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + - + - + Age @@ -55,7 +72,7 @@ "Approved", "Declined" - + >=18 @@ -70,7 +87,7 @@ "Approved" - + @@ -87,7 +104,7 @@ "Declined" - + @@ -104,7 +121,7 @@ "Declined" - + @@ -121,78 +138,103 @@ "Declined" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0005-literal-invocation.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0005-literal-invocation.dmn index c750b34dd87..b5a4aa236e5 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0005-literal-invocation.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0005-literal-invocation.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -31,98 +42,107 @@ - - + + - + - + - + PMT(Loan.amount, Loan.rate, Loan.term)+fee - - + + - - - + + + (p*r/12)/(1-(1+r/12)**-n) - - + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0005-simpletable-A.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0005-simpletable-A.dmn index 9fc79b88029..9d52ddaf04d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0005-simpletable-A.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0005-simpletable-A.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + - + - + Age @@ -55,7 +72,7 @@ "Approved", "Declined" - + >=18 @@ -70,7 +87,7 @@ "Approved" - + @@ -87,7 +104,7 @@ "Declined" - + @@ -104,7 +121,7 @@ "Declined" - + @@ -121,78 +138,103 @@ "Declined" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0006-join.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0006-join.dmn index c01a9da2eb9..056fb372cf5 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0006-join.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0006-join.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -42,88 +53,113 @@ - - + + - + - + - + DeptTable[number = EmployeeTable[name=LastName].deptNum[1]].manager[1] - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0006-simpletable-P1.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0006-simpletable-P1.dmn index 12e928216a5..5f599f9b958 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0006-simpletable-P1.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0006-simpletable-P1.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + - + - + Age @@ -55,7 +72,7 @@ "Approved", "Declined" - + >=18 @@ -70,7 +87,7 @@ "Approved" - + @@ -87,7 +104,7 @@ "Declined" - + @@ -104,7 +121,7 @@ "Declined" - + @@ -121,78 +138,103 @@ "Declined" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0007-date-time.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0007-date-time.dmn index 44c3e302fd0..73e41f540e6 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0007-date-time.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0007-date-time.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -51,46 +62,46 @@ - - + + - - + + - - + + - + - + - + - + - + - + date(dateString) - + date(Date-Time) - + date(Year,Month,Day) @@ -98,1105 +109,1533 @@ - - + + - + date and time(dateTimeString) - - + + - + time(timeString) - - + + - - + + - - + + - - + + - + - + date and time(Date.fromString,Time) - - + + - + time(Date-Time2) - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - + time(Hours,Minutes,Seconds,Timezone) - - + + - - + + - + duration(durationString) - - + + - + - + Date-Time - Date-Time2 - - + + - + - + dtDuration1 + dtDuration2 - - + + - + - + years and months duration(Date-Time2,Date-Time) - - + + - + Date.fromString.day - - + + - + Date.fromString.year - - + + - + Date.fromString.month - - + + - + Date-Time2.hour - - + + - + Date-Time2.minute - - + + - + Date-Time2.second - - + + - + Date-Time2.time offset - - + + - + ymDuration2.years - - + + - + dtDuration1.seconds - - + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0007-simpletable-P2.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0007-simpletable-P2.dmn index d19abbf02c5..67818d00ca0 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0007-simpletable-P2.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0007-simpletable-P2.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + - + - + Age @@ -55,7 +72,7 @@ "Approved", "Declined" - + >=18 @@ -70,7 +87,7 @@ "Approved" - + @@ -87,78 +104,103 @@ "Declined" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0008-LX-arithmetic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0008-LX-arithmetic.dmn index 410020f7431..56f18b8b20b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0008-LX-arithmetic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0008-LX-arithmetic.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -31,48 +43,59 @@ - - + + - + (loan.principal*loan.rate/12)/(1-(1+loan.rate/12)**-loan.termMonths) - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0008-listGen.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0008-listGen.dmn index f6d833c716c..a1a7229d79c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0008-listGen.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0008-listGen.dmn @@ -1,4 +1,4 @@ - + - - + + string - - + + - - + + - - + + - - + + - + - + - + [a,b,c] - - + + - + - + ["a",b,c] - - + + - + - + c - - + + - @@ -85,7 +101,7 @@ "a" - + @@ -96,7 +112,7 @@ "b" - + @@ -107,24 +123,29 @@ "c" - + - - + + - + - + - + - + a @@ -140,8 +161,8 @@ c - - + + - @@ -156,7 +177,7 @@ a - + @@ -173,7 +194,7 @@ b - + @@ -190,80 +211,80 @@ c - + - - + + - - + + flatten([["w","x"],"y","z"]) - - + + - + flatten([wx,"y","z"]) - - + + - + - + - + flatten([a,b,listGen6]) - - + + - + - + - + flatten([a,b,listGen7]) - - + + - + - + flatten([listGen4,listGen7]) - - + + ["a","b","c"] @@ -272,436 +293,656 @@ - - - - - - - - - + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - + + + - - + + - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0009-append-flatten.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0009-append-flatten.dmn index b85c73f080d..d2ffc31287c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0009-append-flatten.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0009-append-flatten.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -26,111 +37,111 @@ tStringList - - + + - - + + - - + + ["a","b","c"] - - + + [["w","x"],["y"],["z"]] - - + + - + append(literalNestedList,["t"]) - - + + - + - + append(nestedList,simpleList) - - + + - + - + append(nestedList,literalSimpleList) - - + + - + - + append(literalNestedList,literalSimpleList) - - + + - + flatten(append1) - - + + - + flatten(append2) - - + + - + flatten(append3) - - + + - + flatten(append4) @@ -140,170 +151,251 @@ - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0009-invocation-arithmetic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0009-invocation-arithmetic.dmn index e345d9a5a98..aa14074d569 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0009-invocation-arithmetic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0009-invocation-arithmetic.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -31,98 +42,111 @@ - - + + - + - + - + PMT(Loan.amount, Loan.rate, Loan.term)+fee - - + + - - - - + + + + (p*r/12)/(1-(1+r/12)**-n) - - + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0010-concatenate.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0010-concatenate.dmn index 9f07eb90f0c..604e2b15a12 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0010-concatenate.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0010-concatenate.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -26,74 +37,74 @@ tStringList - - + + - - + + - - + + ["a","b","c"] - - + + [["w","x"],["y"],["z"]] - - + + - + - + concatenate(simpleList,literalSimpleList) - - + + - + - + concatenate(simpleList,flatten(nestedList)) - - + + - + - + concatenate(literalSimpleList,flatten(nestedList)) - - + + - + - + concatenate([literalSimpleList],literalNestedList) @@ -103,118 +114,174 @@ - - - - - - + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0010-multi-output-U.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0010-multi-output-U.dmn index fdcd0858036..2dfef09b2cb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0010-multi-output-U.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0010-multi-output-U.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -28,18 +39,23 @@ - - + + - + - + - + - + Age @@ -74,7 +90,7 @@ "Standard" - + >=18 @@ -92,7 +108,7 @@ "Best" - + @@ -112,7 +128,7 @@ "Standard" - + @@ -132,7 +148,7 @@ "Standard" - + @@ -152,7 +168,7 @@ "Standard" - + @@ -172,78 +188,103 @@ "Standard" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0011-insert-remove.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0011-insert-remove.dmn index 20aa7e792a1..b7decf70f98 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0011-insert-remove.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0011-insert-remove.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -26,90 +37,90 @@ tStringList - - + + - - + + - - + + - - + + [["a","b"],["b","c"]] - - + + - + - + remove(simpleList,position) - - + + - + - + - + insert before(literalNestedList,position,simpleList) - - + + - + - + remove(literalNestedList,position) - - + + - + - + insert before(simpleList,position,"x") - - + + - + - + - + insert before(nestedList,position,simpleList) @@ -119,143 +130,215 @@ - - - - - - + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0012-list-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0012-list-functions.dmn index 786b5e471fe..6e6dcc8def7 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0012-list-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0012-list-functions.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -29,249 +40,249 @@ tStringList - - + + - - + + - - + + - - + + - + - + list contains(list1,list2) - - + + - + - + list contains(list2,string1) - - + + - + count(list1) - - + + - + min(numList) - - + + - - + + - + sum(numList) - - + + - + mean(numList) - - + + - - + + - - + + - - + + - + - + - + mean(num1,num2,num3) - - + + - + sublist(list1,1,2) - - + + - + sublist(list1,-1,1) - - + + - + - + - + append(numList,num1,num2) - - + + - + - + concatenate(list1,list2) - - + + - + - + insert before(list2,2,string1) - - + + - + remove(list2,2) - - + + - + reverse(concatenate1) - - + + - + - + append(list1,string1) - - + + - + - + index of(list2,string1) - - + + - + - + union(insertBefore1,concatenate1) - - + + - + distinct values(insertBefore1) - - + + flatten(append(list1, list2)) @@ -280,377 +291,568 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0013-sort.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0013-sort.dmn index 4059199cc31..95c0732df51 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0013-sort.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0013-sort.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -43,42 +54,42 @@ string - - + + - - + + - - + + - + sort(listA, function(x,y) x>y) - - + + - + sort(tableB, function(x,y) x.col2<y.col2) - - + + - - + + - + sort(stringList, function(x,y) x<y) @@ -88,77 +99,110 @@ - - - + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0014-loan-comparison.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0014-loan-comparison.dmn index d26cbb3470f..58b7af0071c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0014-loan-comparison.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0014-loan-comparison.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -83,13 +94,13 @@ - - + + - - - - + + + + "Oceans Capital" @@ -233,48 +244,48 @@ - - + + - - + + - + - + - + - + for i in Bankrates return FinancialMetrics(i,RequestedAmt) - + sort(metricsTable, function(x,y) x.rate<y.rate) - + sort(metricsTable, function(x,y) x.downPmtAmt<y.downPmtAmt) - + sort(metricsTable, function(x,y) x.paymentAmt<y.paymentAmt) - + sort(metricsTable, function(x,y) x.equity36moPct>y.equity36moPct) @@ -282,56 +293,56 @@ - - + + - - + + - + product.lenderName - + product.rate - + product.points - + product.fee - + requestedAmt*(1+points/100)+fee - + 0.2*loanAmt - + monthlyPayment(loanAmt,rate,360) - + 1 - equity36Mo(loanAmt,rate,36,paymentAmt)/requestedAmt*0.8 @@ -339,32 +350,32 @@ - + - + - - + + - - - + + + p*r/12/(1-(1+r/12)**-n) - - + + - - - - + + + + p*(1+r/12)**n - pmt*(-1+(1+r/12)**n)/r @@ -374,143 +385,182 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0016-some-every.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0016-some-every.dmn index 01e6f188a5d..7a7b369ef92 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0016-some-every.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0016-some-every.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -31,15 +42,15 @@ tItemPrice - - + + - - + + - - + + "widget" @@ -67,63 +78,63 @@ - - + + - + every i in priceTable1 satisfies i.price > 10 - - + + - + every i in priceTable2 satisfies i.price > 10 - - + + - + some i in priceTable1 satisfies i.price > 10 - - + + - + some i in priceTable2 satisfies i.price > 10 - - + + - + - + every i in priceTable1 satisfies gtTen(i.price)=true - - + + - + theNumber > 10 @@ -133,118 +144,168 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0017-tableTests.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0017-tableTests.dmn index eb6e1aaf4e3..818e1780899 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0017-tableTests.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0017-tableTests.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -34,39 +45,44 @@ string - - + + - - + + - - + + - - + + - - + + - - + + - + - + structA.price - - + + >10 @@ -75,7 +91,7 @@ true - + @@ -86,24 +102,29 @@ false - + - - + + - + - + - + - + structA.price @@ -114,7 +135,7 @@ "In range", "Not in range" - + [numB..numC] @@ -123,7 +144,7 @@ "In range" - + @@ -134,25 +155,30 @@ "Not in range" - + - - + + - + - + dateD - - + + >date("2016-10-01") @@ -161,7 +187,7 @@ true - + @@ -172,28 +198,33 @@ false - + - - + + - + - + - + dateD - - + + >dateE @@ -202,7 +233,7 @@ true - + @@ -213,7 +244,7 @@ false - + @@ -222,121 +253,178 @@ - - - - + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0020-vacation-days.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0020-vacation-days.dmn index 277821401c3..e74c43d6712 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0020-vacation-days.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0020-vacation-days.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - - + + - - + + - + - + - + - + - Base Vacation Days + max( Extra days case 1, Extra days case 3 ) + Extra days case 2 + Base Vacation Days + max( Extra days case 1, Extra days case 3 ) + Extra days case 2 - - + + - + - + - + Age @@ -71,7 +89,7 @@ 0 - + <18,>=60 @@ -83,7 +101,7 @@ 5 - + @@ -97,21 +115,26 @@ 5 - + - - + + - + - + - + Age @@ -127,7 +150,7 @@ 0 - + - @@ -139,7 +162,7 @@ 3 - + @@ -153,21 +176,26 @@ 3 - + - - + + - + - + - + Age @@ -183,7 +211,7 @@ 0 - + - @@ -195,7 +223,7 @@ 2 - + @@ -209,14 +237,14 @@ 2 - + - - + + 22 @@ -225,116 +253,146 @@ - - - - - + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0021-singleton-list.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0021-singleton-list.dmn index 2516d9d5af4..6fe0dbae3e1 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0021-singleton-list.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0021-singleton-list.dmn @@ -1,4 +1,4 @@ - + - - + + string - - + + - - + + - + sublist(Employees, 2, 1) - - + + - + sublist(Employees, 2, 1) - - + + - + Employees[item = "Bob"] - - + + - + Employees[item = "Bob"] - - + + - + upper case( Employees[item = "Bob"] ) @@ -80,87 +91,102 @@ - - - - - + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0030-user-defined-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0030-user-defined-functions.dmn index e526a7b9920..48c0f73a894 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0030-user-defined-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0030-user-defined-functions.dmn @@ -1,4 +1,4 @@ - + - + Tests definition of functions in a boxed expression and invocation of those. - + - - + + - + - + - + - - + + a+b - + function(a,b) a + b - boxedFnDefinition(stringInputA, stringInputB) + literalFnDefinition(stringInputA, stringInputB) + boxedFnDefinition(stringInputA, stringInputB) + literalFnDefinition(stringInputA, stringInputB) - - + + - + - + - + - - + + a+b - + function(a,b) a + b - boxedFnDefinition(b:stringInputA, a:stringInputB) + literalFnDefinition(b:stringInputA, a:stringInputB) + boxedFnDefinition(b:stringInputA, a:stringInputB) + literalFnDefinition(b:stringInputA, a:stringInputB) - - + + - - + + - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0031-user-defined-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0031-user-defined-functions.dmn index 545a71fc8d2..7d15b3ef081 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0031-user-defined-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0031-user-defined-functions.dmn @@ -1,4 +1,4 @@ - + - - + + - - - - + + + + @@ -51,7 +62,11 @@ - + number @@ -62,33 +77,33 @@ - - + + - + function(a,b) a+b - + function(a,b) a-b - + - - + + a*b - + function(a,b) if b = 0 then null else a/b @@ -96,32 +111,36 @@ - - + + - + - + - + - + fn library.sumFn(inputA,inputB) - + fn library.multiplyFn(inputA,inputB) - + fn library.divideFn(inputA, inputB) @@ -129,38 +148,42 @@ - - + + - + - + - + - + fn library.subFn(a:inputA,b:inputB) - + fn library.multiplyFn(a:inputA,b:inputB) - + fn library.subFn(a:inputB, b:inputA) - + fn library.divideFn(a:inputA, b:inputB) @@ -168,35 +191,41 @@ - - + + - + - + - + - + - + - fn library.multiplyFn(fn library.sumFn(inputA,inputA), fn library.sumFn(a:inputB, b:inputB)) + fn library.multiplyFn(fn library.sumFn(inputA,inputA), fn library.sumFn(a:inputB, b:inputB)) - + - fn library.multiplyFn(inputA * inputA, if fn library.subFn(inputA,inputB) in [0..10] then 5 else 10 ) + fn library.multiplyFn(inputA * inputA, if fn library.subFn(inputA,inputB) in [0..10] then 5 else 10 ) - + Circumference(inputA+inputB) @@ -204,153 +233,211 @@ - - + + - + (2*3.141592) * radius - - + + - - + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0032-conditionals.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0032-conditionals.dmn index 2c801b72a00..fcd82400aeb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0032-conditionals.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0032-conditionals.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + if bool then num+10 else num-10 - - + + - + - + - if aDate > date("2017-01-01") then substring before(aString, " ") else substring after(aString, " ") + if aDate > date("2017-01-01") then substring before(aString, " ") else substring after(aString, " ") - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0033-for-loops.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0033-for-loops.dmn index e77ec9639fd..9befb26b1bc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0033-for-loops.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0033-for-loops.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -26,76 +37,76 @@ boolean - - + + - + - + for h in heights, w in widths return h * w - - + + - - + + - - + + - + for h in heights return h + 1 - - + + - - + + - + - + - + for f in factors return is factor( value, f ) - - + + - - + + - - + + value / factor = decimal( value / factor, 0 ) - - + + - + for x in [2, 3, 4, 5] return x * value @@ -105,123 +116,176 @@ - - - - - - + + + + + + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0034-drg-scopes.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0034-drg-scopes.dmn index 9baffc557af..5864bb2734d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0034-drg-scopes.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0034-drg-scopes.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -78,14 +89,14 @@ - - + + - + - + A @@ -93,23 +104,23 @@ - - + + - + - + - + B - + A @@ -117,14 +128,14 @@ - - + + - + - + decision A 1 @@ -132,14 +143,14 @@ - - + + - + - + decision A 1 @@ -147,14 +158,14 @@ - - + + - + - + decision B 1 @@ -162,14 +173,14 @@ - - + + - + - + decision B 1 @@ -177,23 +188,23 @@ - - + + - + - + - + decision A 2.1 - + decision A 2.2 @@ -201,32 +212,32 @@ - - + + - + - + - + - + decision B 2.1 - + decision B 2.2 - + decision A 3 @@ -234,32 +245,32 @@ - - + + - + - + - + - + C - + decision A 3 - + decision B 3 @@ -267,20 +278,20 @@ - - + + - + - + BKM II - + "decision C 3" @@ -288,20 +299,20 @@ - - + + - + - + BKM I - + "decision C 2" @@ -309,14 +320,14 @@ - - + + - + - + decision C 3 @@ -324,382 +335,530 @@ - - + + - + "BKM I" + " # " + BKM II(param) - + - - + + - + "BKM II" + " # " + BKM III(param) + " # " + BKM IV(param) - + - + - - + + - + "BKM IV" + " # " + BKM III(param) - + - - + + - + "BKM III" + " # " + param - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0035-test-structure-output.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0035-test-structure-output.dmn index 9d665e47f44..ebf262fcfea 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0035-test-structure-output.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0035-test-structure-output.dmn @@ -1,4 +1,4 @@ - + - - + + number @@ -77,25 +88,30 @@ - - + + - - + + num-(floor(num/divisor)*divisor) - - + + - + - - + + digit @@ -104,8 +120,8 @@ [0..15] - - + + [0..9] @@ -114,7 +130,7 @@ string(digit) - + @@ -125,7 +141,7 @@ "A" - + @@ -136,7 +152,7 @@ "B" - + @@ -147,7 +163,7 @@ "C" - + @@ -158,7 +174,7 @@ "D" - + @@ -169,7 +185,7 @@ "E" - + @@ -180,7 +196,7 @@ "F" - + @@ -194,130 +210,131 @@ - - + + - + - if num < 16then "0" + single encode to hex(num)else single encode to hex(floor(num/16)) + single encode to hex(remainder(num, 16)) + if num < 16then "0" + single encode to hex(num)else single encode to hex(floor(num/16)) + single encode to hex(remainder(num, 16)) - + - + - - + + - + - + - + - + "#" + to hex(R Value) + to hex(G Value) + to hex(B Value) - - + + - - + + - - + + - - + + - + - + - + - + R Value / 255 - + G Value / 255 - + B Value / 255 - + 1-max(Rn, Gn, Bn) - + if Kn=1 then 0 else (1-Rn-Kn) / (1-Kn) - + if Kn=1 then 0 else (1-Gn-Kn) / (1-Kn) - + if Kn=1 then 0 else (1-Bn-Kn) / (1-Kn) - + - + decimal(Cn*100, 0) - + decimal(Mn*100, 0) - + decimal(Yn*100, 0) - + decimal(Kn*100, 0) @@ -332,44 +349,44 @@ - - + + - + - + - + - + - + - + - + - + R Value - + G Value - + B Value @@ -377,13 +394,13 @@ - + hex Value - + cmyk Value @@ -401,177 +418,255 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0036-dt-variable-input.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0036-dt-variable-input.dmn index 69a30cbc78c..17feea1619d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0036-dt-variable-input.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0036-dt-variable-input.dmn @@ -1,4 +1,4 @@ - + - - + + boolean @@ -46,22 +57,28 @@ - - + + - + - + - + Another boolean - - + + Complex.aBoolean @@ -70,7 +87,7 @@ "Same boolean" - + @@ -81,44 +98,50 @@ "Not same boolean" - + - - + + - - + + - - + + - - + + - - + + - + - + - + Another String - - + + Complex.aString @@ -127,7 +150,7 @@ "Same String" - + @@ -138,28 +161,34 @@ "Different String" - + - - + + - + - + - + Another number - - + + Complex.aNumber @@ -168,7 +197,7 @@ "Equals" - + @@ -179,7 +208,7 @@ "Bigger" - + @@ -190,28 +219,34 @@ "Smaller" - + - - + + - + - + - + Another Date - - + + Complex.aDate @@ -220,7 +255,7 @@ "Same Date" - + @@ -231,7 +266,7 @@ "Future Date" - + @@ -242,28 +277,34 @@ "Past Date" - + - - + + - + - + - + Another Time - - + + Complex.aTime @@ -272,7 +313,7 @@ "Same Time" - + @@ -283,7 +324,7 @@ "Future Time" - + @@ -294,28 +335,34 @@ "Past Time" - + - - + + - + - + - + Another Date and Time - - + + Complex.aDateTime @@ -324,7 +371,7 @@ "Same date time" - + @@ -335,7 +382,7 @@ "Future date time" - + @@ -346,28 +393,34 @@ "Past date time" - + - - + + - + - + - + Another Days and Time Duration - - + + Complex.aDaysAndTimeDuration @@ -376,7 +429,7 @@ "Same duration" - + @@ -387,7 +440,7 @@ "Longer duration" - + @@ -398,28 +451,38 @@ "Shorter duration" - + - - + + - + - + - + Another Years and Months Duration - - + + Complex.aYearsAndMonthsDuration @@ -428,7 +491,7 @@ "Same duration" - + @@ -439,7 +502,7 @@ "Longer duration" - + @@ -450,262 +513,386 @@ "Shorter duration" - + - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0037-dt-on-bkm-implicit-params.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0037-dt-on-bkm-implicit-params.dmn index 06bc3f519cb..cfdb42a060c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0037-dt-on-bkm-implicit-params.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0037-dt-on-bkm-implicit-params.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -34,36 +45,36 @@ - - + + - - + + - + - + Description - + Person.Gender - + Person.Name - + Person.Children @@ -71,13 +82,19 @@ - - + + - - - - + + + + Person.Gender @@ -96,8 +113,8 @@ Person.Children - - + + "Male" @@ -108,11 +125,14 @@ - - + Person.Name + " is a dad of " + string(decimal(Person.Children,0)) + " children." - + @@ -125,11 +145,14 @@ - - + Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." - + @@ -139,50 +162,68 @@ - - - - - - - + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0038-dt-on-bkm-explicit-params.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0038-dt-on-bkm-explicit-params.dmn index 165a7637620..e2949cf1b46 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0038-dt-on-bkm-explicit-params.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0038-dt-on-bkm-explicit-params.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -34,24 +45,24 @@ - - + + - - + + - + - + Description - + Person @@ -59,14 +70,19 @@ - - + + - + - - + + Person.Gender @@ -75,28 +91,35 @@ "Male","Female" - - + + "Male" - + Person.Name + " is a dad of " + string(decimal(Person.Children,0)) + " children." - + "Female" - - Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." + + Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." - + @@ -113,50 +136,68 @@ - - - - - - - + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0039-dt-list-semantics.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0039-dt-list-semantics.dmn index 13b8191a1f8..6f452da85d3 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0039-dt-list-semantics.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0039-dt-list-semantics.dmn @@ -1,4 +1,4 @@ - + - - + + string - - + + - - + + - - + + - + - + - + Symptom - - + + "cough", "sore throat", "stuffy nose" @@ -55,7 +72,7 @@ Symptom + " is in the list of Cold symptoms" - + @@ -66,7 +83,7 @@ Symptom + " is in the list of Flu symptoms" - + @@ -75,44 +92,62 @@ - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0040-singlenestedcontext.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0040-singlenestedcontext.dmn index 94e139bd9dd..af1b4b8dfa8 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0040-singlenestedcontext.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0040-singlenestedcontext.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + - + 0.0375 - + - + 100 - - + + Principal @@ -67,8 +83,8 @@ Fees - - + + 600000 @@ -86,7 +102,7 @@ (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees - + @@ -106,7 +122,7 @@ (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees - + @@ -126,7 +142,7 @@ (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees - + @@ -146,61 +162,79 @@ - - + + - - + + - - - - - - - + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0041-multiple-nestedcontext.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0041-multiple-nestedcontext.dmn index 735ecde24c0..e8b3b6b4a6b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0041-multiple-nestedcontext.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0041-multiple-nestedcontext.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + - + 0.0375 - + - + - - + + Principal @@ -59,8 +75,8 @@ Rate - - + + 600000 @@ -75,7 +91,7 @@ (Principal*Rate/12)/(1-(1+Rate/12)**-Term) - + @@ -92,7 +108,7 @@ (Principal*Rate/12)/(1-(1+Rate/12)**-Term) - + @@ -109,7 +125,7 @@ (Principal*Rate/12)/(1-(1+Rate/12)**-Term) - + @@ -136,62 +152,80 @@ - - + + - - + + - - - - - - - - + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0050-feel-abs-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0050-feel-abs-function.dmn index 838b727ad3c..49993811a0d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0050-feel-abs-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0050-feel-abs-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'abs(number)' in category numeric functions - + Tests FEEL expression: 'abs(1)' and expects result: '1 (number)' - + Result of FEEL expression 'abs(1)'? 1 (number) - + abs(1) Tests FEEL expression: 'abs(-1)' and expects result: '1 (number)' - + Result of FEEL expression 'abs(-1)'? 1 (number) - + abs(-1) Tests FEEL expression: 'abs(0)' and expects result: '0 (number)' - + Result of FEEL expression 'abs(0)'? 0 (number) - + abs(0) Tests FEEL expression: 'abs()' and expects result: 'null (number)' - + Result of FEEL expression 'abs()'? null (number) - + abs() Tests FEEL expression: 'abs(1,1)' and expects result: 'null (number)' - + Result of FEEL expression 'abs(1,1)'? null (number) - + abs(1,1) Tests FEEL expression: 'abs(n:-1)' and expects result: '1 (number)' - + Result of FEEL expression 'abs(n:-1)'? 1 (number) - + abs(n:-1) Tests FEEL expression: 'abs(number:-1)' and expects result: 'null (number)' - + Result of FEEL expression 'abs(number:-1)'? null (number) - + abs(number:-1) Tests FEEL expression: 'abs(null)' and expects result: 'null (number)' - + Result of FEEL expression 'abs(null)'? null (number) - + abs(null) Tests FEEL expression: 'abs("-1")' and expects result: 'null (number)' - + Result of FEEL expression 'abs("-1")'? null (number) - + abs("-1") Tests FEEL expression: 'abs(true)' and expects result: 'null (number)' - + Result of FEEL expression 'abs(true)'? null (number) - + abs(true) - Tests FEEL expression: 'abs(duration("-P1D"))' and expects result: 'null (number)' - + Tests FEEL expression: 'abs(duration("-P1D"))' and expects result: 'null (number)' + Result of FEEL expression 'abs(duration("-P1D"))'? null (number) - + abs(duration("-P1D")) - Tests FEEL expression: 'abs(duration("-P1Y"))' and expects result: 'null (number)' - + Tests FEEL expression: 'abs(duration("-P1Y"))' and expects result: 'null (number)' + Result of FEEL expression 'abs(duration("-P1Y"))'? null (number) - + abs(duration("-P1Y")) - Tests FEEL expression: 'abs(date("-2018-12-06"))' and expects result: 'null (number)' - + Tests FEEL expression: 'abs(date("-2018-12-06"))' and expects result: 'null (number)' + Result of FEEL expression 'abs(date("-2018-12-06"))'? null (number) - + abs(date("-2018-12-06")) - Tests FEEL expression: 'abs(time("00:00:00"))' and expects result: 'null (number)' - + Tests FEEL expression: 'abs(time("00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'abs(time("00:00:00"))'? null (number) - + abs(time("00:00:00")) - Tests FEEL expression: 'abs(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' - + Tests FEEL expression: 'abs(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'abs(date and time("2018-12-06T00:00:00"))'? null (number) - + abs(date and time("2018-12-06T00:00:00")) @@ -174,158 +190,158 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0051-feel-sqrt-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0051-feel-sqrt-function.dmn index 5e14baf38b0..8a72cf8b832 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0051-feel-sqrt-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0051-feel-sqrt-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'sqrt(number)' in category numeric functions - + Tests FEEL expression: 'sqrt(4)' and expects result: '2 (number)' - + Result of FEEL expression 'sqrt(4)'? 2 (number) - + sqrt(4) Tests FEEL expression: 'sqrt(-1)' and expects result: 'null (number)' - + Result of FEEL expression 'sqrt(-1)'? null (number) - + sqrt(-1) Tests FEEL expression: 'sqrt(0)' and expects result: '0 (number)' - + Result of FEEL expression 'sqrt(0)'? 0 (number) - + sqrt(0) Tests FEEL expression: 'sqrt()' and expects result: 'null (number)' - + Result of FEEL expression 'sqrt()'? null (number) - + sqrt() Tests FEEL expression: 'sqrt(4,4)' and expects result: 'null (number)' - + Result of FEEL expression 'sqrt(4,4)'? null (number) - + sqrt(4,4) Tests FEEL expression: 'sqrt(number:4)' and expects result: '2 (number)' - + Result of FEEL expression 'sqrt(number:4)'? 2 (number) - + sqrt(number:4) Tests FEEL expression: 'sqrt(n:4)' and expects result: 'null (number)' - + Result of FEEL expression 'sqrt(n:4)'? 2 (number) - + sqrt(n:4) Tests FEEL expression: 'sqrt(null)' and expects result: 'null (number)' - + Result of FEEL expression 'sqrt(null)'? null (number) - + sqrt(null) Tests FEEL expression: 'sqrt("4")' and expects result: 'null (number)' - + Result of FEEL expression 'sqrt("4")'? null (number) - + sqrt("4") Tests FEEL expression: 'sqrt(true)' and expects result: 'null (number)' - + Result of FEEL expression 'sqrt(true)'? null (number) - + sqrt(true) - Tests FEEL expression: 'sqrt(duration("P4D"))' and expects result: 'null (number)' - + Tests FEEL expression: 'sqrt(duration("P4D"))' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(duration("P4D"))'? null (number) - + sqrt(duration("P4D")) - Tests FEEL expression: 'sqrt(duration("P4Y"))' and expects result: 'null (number)' - + Tests FEEL expression: 'sqrt(duration("P4Y"))' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(duration("P4Y"))'? null (number) - + sqrt(duration("P4Y")) - Tests FEEL expression: 'sqrt(date("2018-12-06"))' and expects result: 'null (number)' - + Tests FEEL expression: 'sqrt(date("2018-12-06"))' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(date("2018-12-06"))'? null (number) - + sqrt(date("2018-12-06")) - Tests FEEL expression: 'sqrt(time("00:00:00"))' and expects result: 'null (number)' - + Tests FEEL expression: 'sqrt(time("00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(time("00:00:00"))'? null (number) - + sqrt(time("00:00:00")) - Tests FEEL expression: 'sqrt(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' - + Tests FEEL expression: 'sqrt(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(date and time("2018-12-06T00:00:00"))'? null (number) - + sqrt(date and time("2018-12-06T00:00:00")) @@ -174,158 +190,158 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0052-feel-exp-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0052-feel-exp-function.dmn index d343d787bb5..7cc02c057e4 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0052-feel-exp-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0052-feel-exp-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'exp(number)' in category numeric functions - + Tests FEEL expression: 'exp(4)' and expects result: '2 (number)' - + Result of FEEL expression 'exp(4)'? 2 (number) - + exp(4) Tests FEEL expression: 'exp(-1)' and expects result: '0.36787944 (number)' - + Result of FEEL expression 'exp(-1)'? 0.36787944 (number) - + exp(-1) Tests FEEL expression: 'exp(0)' and expects result: '0 (number)' - + Result of FEEL expression 'exp(0)'? 0 (number) - + exp(0) Tests FEEL expression: 'exp()' and expects result: 'null (number)' - + Result of FEEL expression 'exp()'? null (number) - + exp() Tests FEEL expression: 'exp(4,4)' and expects result: 'null (number)' - + Result of FEEL expression 'exp(4,4)'? null (number) - + exp(4,4) Tests FEEL expression: 'exp(number:4)' and expects result: '2 (number)' - + Result of FEEL expression 'exp(number:4)'? 2 (number) - + exp(number:4) Tests FEEL expression: 'exp(n:4)' and expects result: 'null (number)' - + Result of FEEL expression 'exp(n:4)'? 2 (number) - + exp(n:4) Tests FEEL expression: 'exp(null)' and expects result: 'null (number)' - + Result of FEEL expression 'exp(null)'? null (number) - + exp(null) Tests FEEL expression: 'exp("4")' and expects result: 'null (number)' - + Result of FEEL expression 'exp("4")'? null (number) - + exp("4") Tests FEEL expression: 'exp(true)' and expects result: 'null (number)' - + Result of FEEL expression 'exp(true)'? null (number) - + exp(true) Tests FEEL expression: 'exp(duration("P4D"))' and expects result: 'null (number)' - + Result of FEEL expression 'exp(duration("P4D"))'? null (number) - + exp(duration("P4D")) Tests FEEL expression: 'exp(duration("P4Y"))' and expects result: 'null (number)' - + Result of FEEL expression 'exp(duration("P4Y"))'? null (number) - + exp(duration("P4Y")) - Tests FEEL expression: 'exp(date("2018-12-06"))' and expects result: 'null (number)' - + Tests FEEL expression: 'exp(date("2018-12-06"))' and expects result: 'null (number)' + Result of FEEL expression 'exp(date("2018-12-06"))'? null (number) - + exp(date("2018-12-06")) - Tests FEEL expression: 'exp(time("00:00:00"))' and expects result: 'null (number)' - + Tests FEEL expression: 'exp(time("00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'exp(time("00:00:00"))'? null (number) - + exp(time("00:00:00")) - Tests FEEL expression: 'exp(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' - + Tests FEEL expression: 'exp(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'exp(date and time("2018-12-06T00:00:00"))'? null (number) - + exp(date and time("2018-12-06T00:00:00")) @@ -174,158 +188,158 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0053-feel-log-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0053-feel-log-function.dmn index 486e6ec40c8..cc97bd04aa6 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0053-feel-log-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0053-feel-log-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'log(number)' in category numeric functions - + Tests FEEL expression: 'log(4)' and expects result: '2 (number)' - + Result of FEEL expression 'log(4)'? 2 (number) - + log(4) Tests FEEL expression: 'log(-1)' and expects result: 'null (number)' - + Result of FEEL expression 'log(-1)'? null (number) - + log(-1) Tests FEEL expression: 'log(0)' and expects result: '0 (number)' - + Result of FEEL expression 'log(0)'? 0 (number) - + log(0) Tests FEEL expression: 'log()' and expects result: 'null (number)' - + Result of FEEL expression 'log()'? null (number) - + log() Tests FEEL expression: 'log(4,4)' and expects result: 'null (number)' - + Result of FEEL expression 'log(4,4)'? null (number) - + log(4,4) Tests FEEL expression: 'log(number:4)' and expects result: '2 (number)' - + Result of FEEL expression 'log(number:4)'? 2 (number) - + log(number:4) Tests FEEL expression: 'log(n:4)' and expects result: 'null (number)' - + Result of FEEL expression 'log(n:4)'? 2 (number) - + log(n:4) Tests FEEL expression: 'log(null)' and expects result: 'null (number)' - + Result of FEEL expression 'log(null)'? null (number) - + log(null) Tests FEEL expression: 'log("4")' and expects result: 'null (number)' - + Result of FEEL expression 'log("4")'? null (number) - + log("4") Tests FEEL expression: 'log(true)' and expects result: 'null (number)' - + Result of FEEL expression 'log(true)'? null (number) - + log(true) Tests FEEL expression: 'log(duration("P4D"))' and expects result: 'null (number)' - + Result of FEEL expression 'log(duration("P4D"))'? null (number) - + log(duration("P4D")) Tests FEEL expression: 'log(duration("P4Y"))' and expects result: 'null (number)' - + Result of FEEL expression 'log(duration("P4Y"))'? null (number) - + log(duration("P4Y")) - Tests FEEL expression: 'log(date("2018-12-06"))' and expects result: 'null (number)' - + Tests FEEL expression: 'log(date("2018-12-06"))' and expects result: 'null (number)' + Result of FEEL expression 'log(date("2018-12-06"))'? null (number) - + log(date("2018-12-06")) - Tests FEEL expression: 'log(time("00:00:00"))' and expects result: 'null (number)' - + Tests FEEL expression: 'log(time("00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'log(time("00:00:00"))'? null (number) - + log(time("00:00:00")) - Tests FEEL expression: 'log(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' - + Tests FEEL expression: 'log(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'log(date and time("2018-12-06T00:00:00"))'? null (number) - + log(date and time("2018-12-06T00:00:00")) @@ -174,158 +188,158 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0054-feel-even-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0054-feel-even-function.dmn index 7aabb48c655..59c7e77923c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0054-feel-even-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0054-feel-even-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'even(number)' in category numeric functions - + Tests FEEL expression: 'even(2)' and expects result: 'true (boolean)' - + Result of FEEL expression 'even(2)'? true (boolean) - + even(2) Tests FEEL expression: 'even(1)' and expects result: 'false (boolean)' - + Result of FEEL expression 'even(1)'? false (boolean) - + even(1) Tests FEEL expression: 'even(-2)' and expects result: 'true (boolean)' - + Result of FEEL expression 'even(-2)'? true (boolean) - + even(-2) Tests FEEL expression: 'even(-1)' and expects result: 'false (number)' - + Result of FEEL expression 'even(-1)'? false (boolean) - + even(-1) Tests FEEL expression: 'even(0)' and expects result: 'true (boolean)' - + Result of FEEL expression 'even(0)'? true (boolean) - + even(0) Tests FEEL expression: 'even()' and expects result: 'null (number)' - + Result of FEEL expression 'even()'? null (number) - + even() Tests FEEL expression: 'even(4,4)' and expects result: 'null (number)' - + Result of FEEL expression 'even(4,4)'? null (number) - + even(4,4) Tests FEEL expression: 'even(number:4)' and expects result: '2 (number)' - + Result of FEEL expression 'even(number:4)'? 2 (number) - + even(number:4) Tests FEEL expression: 'even(n:4)' and expects result: 'null (boolean)' - + Result of FEEL expression 'even(n:4)'? null (boolean) - + even(n:4) Tests FEEL expression: 'even(null)' and expects result: 'null (number)' - + Result of FEEL expression 'even(null)'? null (number) - + even(null) Tests FEEL expression: 'even("4")' and expects result: 'null (number)' - + Result of FEEL expression 'even("4")'? null (number) - + even("4") Tests FEEL expression: 'even(true)' and expects result: 'null (number)' - + Result of FEEL expression 'even(true)'? null (number) - + even(true) - Tests FEEL expression: 'even(duration("P4D"))' and expects result: 'null (number)' - + Tests FEEL expression: 'even(duration("P4D"))' and expects result: 'null (number)' + Result of FEEL expression 'even(duration("P4D"))'? null (number) - + even(duration("P4D")) - Tests FEEL expression: 'even(duration("P4Y"))' and expects result: 'null (number)' - + Tests FEEL expression: 'even(duration("P4Y"))' and expects result: 'null (number)' + Result of FEEL expression 'even(duration("P4Y"))'? null (number) - + even(duration("P4Y")) - Tests FEEL expression: 'even(date("2018-12-06"))' and expects result: 'null (number)' - + Tests FEEL expression: 'even(date("2018-12-06"))' and expects result: 'null (number)' + Result of FEEL expression 'even(date("2018-12-06"))'? null (number) - + even(date("2018-12-06")) - Tests FEEL expression: 'even(time("00:00:00"))' and expects result: 'null (number)' - + Tests FEEL expression: 'even(time("00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'even(time("00:00:00"))'? null (number) - + even(time("00:00:00")) - Tests FEEL expression: 'even(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' - + Tests FEEL expression: 'even(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'even(date and time("2018-12-06T00:00:00"))'? null (number) - + even(date and time("2018-12-06T00:00:00")) @@ -194,178 +210,178 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0055-feel-odd-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0055-feel-odd-function.dmn index 85630a020b5..0097ed2282a 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0055-feel-odd-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0055-feel-odd-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'odd(number)' in category numeric functions - + Tests FEEL expression: 'odd(2)' and expects result: 'false (boolean)' - + Result of FEEL expression 'odd(2)'? false (boolean) - + odd(2) Tests FEEL expression: 'odd(1)' and expects result: 'true (boolean)' - + Result of FEEL expression 'odd(1)'? true (boolean) - + odd(1) Tests FEEL expression: 'odd(-2)' and expects result: 'false (boolean)' - + Result of FEEL expression 'odd(-2)'? false (boolean) - + odd(-2) Tests FEEL expression: 'odd(-1)' and expects result: 'true (boolean)' - + Result of FEEL expression 'odd(-1)'? true (boolean) - + odd(-1) Tests FEEL expression: 'odd(0)' and expects result: 'false (boolean)' - + Result of FEEL expression 'odd(0)'? false (boolean) - + odd(0) Tests FEEL expression: 'odd()' and expects result: 'null (boolean)' - + Result of FEEL expression 'odd()'? null (boolean) - + odd() Tests FEEL expression: 'odd(4,4)' and expects result: 'null (boolean)' - + Result of FEEL expression 'odd(4,4)'? null (boolean) - + odd(4,4) Tests FEEL expression: 'odd(number:4)' and expects result: 'false (boolean)' - + Result of FEEL expression 'odd(number:4)'? false (boolean) - + odd(number:4) Tests FEEL expression: 'odd(n:4)' and expects result: 'null (boolean)' - + Result of FEEL expression 'odd(n:4)'? null (boolean) - + odd(n:4) Tests FEEL expression: 'odd(null)' and expects result: 'null (boolean)' - + Result of FEEL expression 'odd(null)'? null (boolean) - + odd(null) Tests FEEL expression: 'odd("4")' and expects result: 'null (boolean)' - + Result of FEEL expression 'odd("4")'? null (boolean) - + odd("4") Tests FEEL expression: 'odd(true)' and expects result: 'null (boolean)' - + Result of FEEL expression 'odd(true)'? null (boolean) - + odd(true) - Tests FEEL expression: 'odd(duration("P4D"))' and expects result: 'null (boolean)' - + Tests FEEL expression: 'odd(duration("P4D"))' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(duration("P4D"))'? null (boolean) - + odd(duration("P4D")) - Tests FEEL expression: 'odd(duration("P4Y"))' and expects result: 'null (boolean)' - + Tests FEEL expression: 'odd(duration("P4Y"))' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(duration("P4Y"))'? null (boolean) - + odd(duration("P4Y")) - Tests FEEL expression: 'odd(date("2018-12-06"))' and expects result: 'null (boolean)' - + Tests FEEL expression: 'odd(date("2018-12-06"))' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(date("2018-12-06"))'? null (boolean) - + odd(date("2018-12-06")) - Tests FEEL expression: 'odd(time("00:00:00"))' and expects result: 'null (boolean)' - + Tests FEEL expression: 'odd(time("00:00:00"))' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(time("00:00:00"))'? null (boolean) - + odd(time("00:00:00")) - Tests FEEL expression: 'odd(date and time("2018-12-06T00:00:00"))' and expects result: 'null (boolean)' - + Tests FEEL expression: 'odd(date and time("2018-12-06T00:00:00"))' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(date and time("2018-12-06T00:00:00"))'? null (boolean) - + odd(date and time("2018-12-06T00:00:00")) @@ -194,178 +210,178 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0056-feel-modulo-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0056-feel-modulo-function.dmn index 9d391d002a5..25d78da1b5c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0056-feel-modulo-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0056-feel-modulo-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'modulo(dividend,divisor)' in category numeric functions - + Tests FEEL expression: 'modulo(10, 4)' and expects result: '2 (number)' - + Result of FEEL expression 'modulo(10, 4)'? 2 (number) - + modulo(10, 4) Tests FEEL expression: 'modulo(10, -4)' and expects result: '-2 (number)' - + Result of FEEL expression 'modulo(10, -4)'? -2 (number) - + modulo(10, -4) Tests FEEL expression: 'modulo(-10, 4)' and expects result: '2 (number)' - + Result of FEEL expression 'modulo(v)'? 2 (number) - + modulo(-10, 4) Tests FEEL expression: 'modulo(0, 4)' and expects result: '0 (number)' - + Result of FEEL expression 'modulo(0, 4)'? 0 (number) - + modulo(0, 4) Tests FEEL expression: 'modulo(10, 0)' and expects result: 'null (number)' - + Result of FEEL expression 'modulo(10, 0)'? null (number) - + modulo(10, 0) Tests FEEL expression: 'modulo()' and expects result: 'null (number)' - + Result of FEEL expression 'modulo()'? null (number) - + modulo() Tests FEEL expression: 'modulo(4)' and expects result: 'null (number)' - + Result of FEEL expression 'modulo(4)'? null (number) - + modulo(4) Tests FEEL expression: 'modulo(4,4,4)' and expects result: 'null (number)' - + Result of FEEL expression 'modulo(4,4,4)'? null (number) - + modulo(4,4,4) - Tests FEEL expression: 'modulo(dividend:10, divisor:4)' and expects result: '2 (number)' - + Tests FEEL expression: 'modulo(dividend:10, divisor:4)' and expects result: '2 (number)' + Result of FEEL expression 'modulo(dividend:10, divisor:4)'? 2 (number) - + modulo(dividend:10, divisor:4) - Tests FEEL expression: 'modulo(dividend:10, foo:4)' and expects result: 'null (number)' - + Tests FEEL expression: 'modulo(dividend:10, foo:4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(dividend:10, foo:4)'? null (number) - + modulo(dividend:10, foo:4) Tests FEEL expression: 'modulo(null, null)' and expects result: 'null (number)' - + Result of FEEL expression 'modulo(null, null)'? null (number) - + modulo(null, null) Tests FEEL expression: 'modulo(10, null)' and expects result: 'null (number)' - + Result of FEEL expression 'modulo(10, null)'? null (number) - + modulo(10, null) Tests FEEL expression: 'modulo(null, 4)' and expects result: 'null (number)' - + Result of FEEL expression 'modulo(null, 4)'? null (number) - + modulo(null, 4) Tests FEEL expression: 'modulo("10", "4")' and expects result: 'null (number)' - + Result of FEEL expression 'modulo("10", "4")'? null (number) - + modulo("10", "4") Tests FEEL expression: 'modulo(true, true)' and expects result: 'null (number)' - + Result of FEEL expression 'modulo(true, true)'? null (number) - + modulo(true, true) - Tests FEEL expression: 'modulo(duration("P10D"), 4)' and expects result: 'null (number)' - + Tests FEEL expression: 'modulo(duration("P10D"), 4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(duration("P10D"), 4)'? null (number) - + modulo(duration("P10D"), 4) - Tests FEEL expression: 'modulo(duration("P10Y"), 4)' and expects result: 'null (number)' - + Tests FEEL expression: 'modulo(duration("P10Y"), 4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(duration("P10Y"), 4)'? null (number) - + modulo(duration("P10Y"), 4) - Tests FEEL expression: 'modulo(date("2018-12-06"), 4)' and expects result: 'null (number)' - + Tests FEEL expression: 'modulo(date("2018-12-06"), 4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(date("2018-12-06"), 4)'? null (number) - + modulo(date("2018-12-06"), 4) - Tests FEEL expression: 'modulo(time("10:00:00"), 4)' and expects result: 'null (number)' - + Tests FEEL expression: 'modulo(time("10:00:00"), 4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(time("10:00:00"), 4)'? null (number) - + modulo(time("10:00:00"), 4) - Tests FEEL expression: 'modulo(date and time("2018-12-06T00:00:00"), 4)' and expects result: 'null (number)' - + Tests FEEL expression: 'modulo(date and time("2018-12-06T00:00:00"), 4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(date and time("2018-12-06T00:00:00"), 4)'? null (number) - + modulo(date and time("2018-12-06T00:00:00"), 4) Example from the DMN Specification, ref DMN13-125 - - + + modulo(12, 5) Example from the DMN Specification, ref DMN13-125 - - + + modulo(-12, 5) Example from the DMN Specification, ref DMN13-125 - - + + modulo(12, -5) Example from the DMN Specification, ref DMN13-125 - - + + modulo(-12, -5) Example from the DMN Specification, ref DMN13-125 - - + + modulo(10.1, 4.5) Example from the DMN Specification, ref DMN13-125 - - + + modulo(-10.1, 4.5) Example from the DMN Specification, ref DMN13-125 - - + + modulo(10.1, -4.5) Example from the DMN Specification, ref DMN13-125 - - + + modulo(-10.1, -4.5) @@ -288,288 +306,288 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0057-feel-context.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0057-feel-context.dmn index cafe79446bf..6728da1773d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0057-feel-context.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0057-feel-context.dmn @@ -1,4 +1,4 @@ - + - + FEEL contexts - + - - + + {a: "foo", b: "bar"} - - + + {a: "foo", b: {c: "bar", d: {e: "baz"}}} - - + + {a: 1 + 2, b: a + 3} - - + + {a: 1 + 2, b: 3, c: {d: a + b}} - - + + {foo bar: "foo"} - - + + {foo+bar: "foo"} - - + + {"foo+bar((!!],foo": "foo"} - - + + {"": "foo"} - - + + {foo: "bar", foo: "baz"} @@ -87,98 +98,98 @@ - - - - - - - - - + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0058-feel-number-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0058-feel-number-function.dmn index 121a8997a4d..f4107f65845 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0058-feel-number-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0058-feel-number-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'modulo(dividend,divisor)' in category numeric functions - + - Tests FEEL expression: 'number("1.000.000,01", ".", ","))' and expects result: '1000000.01 (number)' - + Tests FEEL expression: 'number("1.000.000,01", ".", ","))' and expects result: '1000000.01 (number)' + Result of FEEL expression 'number("1.000.000,01", ".", ","))'? 1000000.01 (number) - + number("1.000.000,01", ".", ",") - Tests FEEL expression: 'number("1,000,000.01", ",", "."))' and expects result: '1000000.01 (number)' - + Tests FEEL expression: 'number("1,000,000.01", ",", "."))' and expects result: '1000000.01 (number)' + Result of FEEL expression 'number("1,000,000.01", ",", "."))'? 1000000.01 (number) - + number("1,000,000.01", ",", ".") - Tests FEEL expression: 'number("1 000 000,01", " ", "."))' and expects result: '1000000.01 (number)' - + Tests FEEL expression: 'number("1 000 000,01", " ", "."))' and expects result: '1000000.01 (number)' + Result of FEEL expression 'number("1 000 000,01", " ", "."))'? 1000000.01 (number) - + number("1 000 000.01", " ", ".") - Tests FEEL expression: 'number("1,000,000.01", " ", "."))' and expects result: 'null (number)' - + Tests FEEL expression: 'number("1,000,000.01", " ", "."))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.01", " ", "."))'? null (number) - + number("1,000,000.01", " ", ".") - Tests FEEL expression: 'number("1,000,000.01", ":", "."))' and expects result: 'null (number)' - + Tests FEEL expression: 'number("1,000,000.01", ":", "."))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.01", ":", "."))'? null (number) - + number("1,000,000.01", ":", ".") - Tests FEEL expression: 'number("1,000,000.01", 123, "."))' and expects result: 'null (number)' - + Tests FEEL expression: 'number("1,000,000.01", 123, "."))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.01", 123, "."))'? null (number) - + number("1,000,000.01", 123, ".") - Tests FEEL expression: 'number("1,000,000.01", ",", ":"))' and expects result: 'null (number)' - + Tests FEEL expression: 'number("1,000,000.01", ",", ":"))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.01", ",", ":"))'? null (number) - + number("1,000,000.01", ",", ":") - Tests FEEL expression: 'number("1,000,000.01", ",", 123))' and expects result: 'null (number)' - + Tests FEEL expression: 'number("1,000,000.01", ",", 123))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.01", ",", 123))'? null (number) - + number("1,000,000.01", ",", 123) - Tests FEEL expression: 'number("1000000.01", null, "."))' and expects result: '1000000.01 (number)' - + Tests FEEL expression: 'number("1000000.01", null, "."))' and expects result: '1000000.01 (number)' + Result of FEEL expression 'number("1000000.01", null, "."))'? 1000000.01 (number) - + number("1000000.01", null, ".") - Tests FEEL expression: 'number("1,000,000.01", null, "."))' and expects result: '1000000.01 (number)' - + Tests FEEL expression: 'number("1,000,000.01", null, "."))' and expects result: '1000000.01 (number)' + Result of FEEL expression 'number("1,000,000.01", null, "."))'? 1000000.01 (number) - + number("1,000,000.01", ",", ".") - Tests FEEL expression: 'number("1,000,000", ",", null))' and expects result: '1000000 (number)' - + Tests FEEL expression: 'number("1,000,000", ",", null))' and expects result: '1000000 (number)' + Result of FEEL expression 'number("1,000,000", ",", null))'? 1000000 (number) - + number("1,000,000", ",", null) - Tests FEEL expression: 'number("1,000,000.00", ",", null))' and expects result: '1000000.00 (number)' - + Tests FEEL expression: 'number("1,000,000.00", ",", null))' and expects result: '1000000.00 (number)' + Result of FEEL expression 'number("1,000,000.00", ",", null))'? 1000000.00 (number) - + number("1,000,000.00", ",", null) - Tests FEEL expression: 'number("1,000,000.00", ",", ","))' and expects result: 'null (number)' - + Tests FEEL expression: 'number("1,000,000.00", ",", ","))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.00", ",", ","))'? null (number) - + number("1,000,000.00", ",", ",") - Tests FEEL expression: 'number("1,000,000.00", ".", "."))' and expects result: 'null (number)' - + Tests FEEL expression: 'number("1,000,000.00", ".", "."))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.00", ".", "."))'? null (number) - + number("1,000,000.00", ".", ".") - Tests FEEL expression: 'number(null, ".", "."))' and expects result: 'null (number)' - + Tests FEEL expression: 'number(null, ".", "."))' and expects result: 'null (number)' + Result of FEEL expression 'number(null, ".", "."))'? null (number) - + number(null, ".", ".") - Tests FEEL expression: 'number(123, ".", "."))' and expects result: 'null (number)' - + Tests FEEL expression: 'number(123, ".", "."))' and expects result: 'null (number)' + Result of FEEL expression 'number(123, ".", "."))'? null (number) - + number(123, ".", ".") - Tests FEEL expression: 'number(from: "1.000.000,01", decimal separator:",", grouping separator:"."))' and expects result: '1000000.01 (number)' - - Result of FEEL expression 'number(from: "1.000.000,01", decimal separator:",", grouping separator:"."))'? + Tests FEEL expression: 'number(from: "1.000.000,01", decimal separator:",", grouping separator:"."))' and expects result: '1000000.01 (number)' + + Result of FEEL expression 'number(from: "1.000.000,01", decimal separator:",", grouping separator:"."))'? 1000000.01 (number) - + number(from: "1.000.000,01", decimal separator:",", grouping separator:".") - Tests FEEL expression: 'number(from: "1.000.000,01", decimal sep:",", grouping sep:"."))' and expects result: 'null (number)' - - Result of FEEL expression 'number(from: "1.000.000,01", decimal sep:",", grouping sep:"."))'? + Tests FEEL expression: 'number(from: "1.000.000,01", decimal sep:",", grouping sep:"."))' and expects result: 'null (number)' + + Result of FEEL expression 'number(from: "1.000.000,01", decimal sep:",", grouping sep:"."))'? null (number) - + number(from: "1.000.000,01", decimal sep:",", grouping sep:".") - Tests FEEL expression: 'number("foo,bar.001", ".", ","))' and expects result: 'null (number)' - + Tests FEEL expression: 'number("foo,bar.001", ".", ","))' and expects result: 'null (number)' + Result of FEEL expression 'number("foo,bar.001", ".", ","))'? null (number) - + number("foo,bar.001", ".", ",") - Tests FEEL expression: 'number("1.000.000,01", "."))' and expects result: 'null (number)' - + Tests FEEL expression: 'number("1.000.000,01", "."))' and expects result: 'null (number)' + Result of FEEL expression 'number("1.000.000,01", "."))'? null (number) - + number("1.000.000,01", ".") - Tests FEEL expression: 'number("1.000.000,01", ".", ",", ","))' and expects result: 'null (number)' - + Tests FEEL expression: 'number("1.000.000,01", ".", ",", ","))' and expects result: 'null (number)' + Result of FEEL expression 'number("1.000.000,01", ".", ",", ","))'? null (number) - + number("1.000.000,01", ".", ",", ",") @@ -234,218 +268,218 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0059-feel-all-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0059-feel-all-function.dmn index 9eef4f0db00..5c5fd3107a0 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0059-feel-all-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0059-feel-all-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'all(list)' in category list functions - + - Tests FEEL expression: 'all([true, false, true])' and expects result: 'false (boolean)' - + Tests FEEL expression: 'all([true, false, true])' and expects result: 'false (boolean)' + Result of FEEL expression 'all([true, false, true])'? false (boolean) - + all([true, false, true]) - Tests FEEL expression: 'all([true, true, true])' and expects result: 'true (boolean)' - + Tests FEEL expression: 'all([true, true, true])' and expects result: 'true (boolean)' + Result of FEEL expression 'all([true, true, true])'? true (boolean) - + all([true, true, true]) - Tests FEEL expression: 'all([true, null, true])' and expects result: 'null (boolean)' - + Tests FEEL expression: 'all([true, null, true])' and expects result: 'null (boolean)' + Result of FEEL expression 'all([true, null, true])'? null (boolean) - + all([true, null, true]) - Tests FEEL expression: 'all([true, 123, true])' and expects result: 'null (boolean)' - + Tests FEEL expression: 'all([true, 123, true])' and expects result: 'null (boolean)' + Result of FEEL expression 'all([true, 123, true])'? null (boolean) - + all([true, 123, true]) Tests FEEL expression: 'all([])' and expects result: 'true (boolean)' - + Result of FEEL expression 'all([])'? true (boolean) - + all([]) Tests FEEL expression: 'all(true)' and expects result: 'true (boolean)' - + Result of FEEL expression 'all(true)'? true (boolean) - + all(true) Tests FEEL expression: 'all(false)' and expects result: 'false (boolean)' - + Result of FEEL expression 'all(false)'? false (boolean) - + all(false) Tests FEEL expression: 'all(null)' and expects result: 'null (boolean)' - + Result of FEEL expression 'all(null)'? null (boolean) - + all(null) Tests FEEL expression: 'all(123)' and expects result: 'null (boolean)' - + Result of FEEL expression 'all(123)'? null (boolean) - + all(123) - Tests FEEL expression: 'all(true, false, true)' and expects result: 'false (boolean)' - + Tests FEEL expression: 'all(true, false, true)' and expects result: 'false (boolean)' + Result of FEEL expression 'all(true, false, true)'? false (boolean) - + all(true, false, true) - Tests FEEL expression: 'all(true, true, true)' and expects result: 'true (boolean)' - + Tests FEEL expression: 'all(true, true, true)' and expects result: 'true (boolean)' + Result of FEEL expression 'all(true, true, true)'? true (boolean) - + all(true, true, true) - Tests FEEL expression: 'all(true, null, true)' and expects result: 'null (boolean)' - + Tests FEEL expression: 'all(true, null, true)' and expects result: 'null (boolean)' + Result of FEEL expression 'all(true, null, true)'? null (boolean) - + all(true, null, true) - Tests FEEL expression: 'all(true, 123, true)' and expects result: 'null (boolean)' - + Tests FEEL expression: 'all(true, 123, true)' and expects result: 'null (boolean)' + Result of FEEL expression 'all(true, 123, true)'? null (boolean) - + all(true, 123, true) Tests FEEL expression: 'all()' and expects result: 'null (boolean)' - + Result of FEEL expression 'all()'? null (boolean) - + all() - Tests FEEL expression: 'all(list:[true, false, true])' and expects result: 'false (boolean)' - + Tests FEEL expression: 'all(list:[true, false, true])' and expects result: 'false (boolean)' + Result of FEEL expression 'all(list:[true, false, true])'? false (boolean) - + all(list:[true, false, true]) - Tests FEEL expression: 'all(list:[true, true, true])' and expects result: 'true (boolean)' - + Tests FEEL expression: 'all(list:[true, true, true])' and expects result: 'true (boolean)' + Result of FEEL expression 'all(list:[true, true, true])'? true (boolean) - + all(list:[true, true, true]) - Tests FEEL expression: 'all(list:[true, null, true])' and expects result: 'null (boolean)' - + Tests FEEL expression: 'all(list:[true, null, true])' and expects result: 'null (boolean)' + Result of FEEL expression 'all(list:[true, null, true])'? null (boolean) - + all(list:[true, null, true]) Tests FEEL expression: 'all(list:null)' and expects result: 'null (boolean)' - + Result of FEEL expression 'all(list:null)'? null (boolean) - + all(list:null) Tests FEEL expression: 'all(l:[true])' and expects result: 'null (boolean)' - + Result of FEEL expression 'all(l:[true])'? null (boolean) - + all(l:[true]) @@ -214,198 +236,198 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0060-feel-any-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0060-feel-any-function.dmn index b91310e912a..561c62584a3 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0060-feel-any-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0060-feel-any-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'any(list)' in category list functions - + - Tests FEEL expression: 'any([true, false, true])' and expects result: 'true (boolean)' - + Tests FEEL expression: 'any([true, false, true])' and expects result: 'true (boolean)' + Result of FEEL expression 'any([true, false, true])'? true (boolean) - + any([true, false, true]) - Tests FEEL expression: 'any([false, false, false])' and expects result: 'false (boolean)' - + Tests FEEL expression: 'any([false, false, false])' and expects result: 'false (boolean)' + Result of FEEL expression 'any([false, false, false])'? false (boolean) - + any([false, false, false]) Tests FEEL expression: 'any([123, false])' and expects result: 'null (boolean)' - + Result of FEEL expression 'any([123, false])'? null (boolean) - + any([123, false]) Tests FEEL expression: 'any([])' and expects result: 'false (boolean)' - + Result of FEEL expression 'any([])'? false (boolean) - + any([]) Tests FEEL expression: 'any(true)' and expects result: 'true (boolean)' - + Result of FEEL expression 'any(true)'? true (boolean) - + any(true) Tests FEEL expression: 'any(false)' and expects result: 'false (boolean)' - + Result of FEEL expression 'any(false)'? false (boolean) - + any(false) Tests FEEL expression: 'any(null)' and expects result: 'null (boolean)' - + Result of FEEL expression 'any(null)'? null (boolean) - + any(null) Tests FEEL expression: 'any(123)' and expects result: 'null (boolean)' - + Result of FEEL expression 'any(123)'? null (boolean) - + any(123) - Tests FEEL expression: 'any(true, false, true)' and expects result: 'true (boolean)' - + Tests FEEL expression: 'any(true, false, true)' and expects result: 'true (boolean)' + Result of FEEL expression 'any(true, false, true)'? true (boolean) - + any(true, false, true) Tests FEEL expression: 'any(false, false)' and expects result: 'false (boolean)' - + Result of FEEL expression 'any(false, false)'? false (boolean) - + any(false, false) Tests FEEL expression: 'any(null, false)' and expects result: 'null (boolean)' - + Result of FEEL expression 'any(null, false)'? null (boolean) - + any(null, false) Tests FEEL expression: 'any()' and expects result: 'null (boolean)' - + Result of FEEL expression 'any()'? null (boolean) - + any() - Tests FEEL expression: 'any(list:[true, false, true])' and expects result: 'true (boolean)' - + Tests FEEL expression: 'any(list:[true, false, true])' and expects result: 'true (boolean)' + Result of FEEL expression 'any(list:[true, false, true])'? true (boolean) - + any(list:[true, false, true]) - Tests FEEL expression: 'any(list:[false, false])' and expects result: 'false (boolean)' - + Tests FEEL expression: 'any(list:[false, false])' and expects result: 'false (boolean)' + Result of FEEL expression 'any(list:[false, false])'? false (boolean) - + any(list:[false, false]) - Tests FEEL expression: 'any(list:[null, false])' and expects result: 'null (boolean)' - + Tests FEEL expression: 'any(list:[null, false])' and expects result: 'null (boolean)' + Result of FEEL expression 'any(list:[null, false])'? null (boolean) - + any(list:[null, false]) Tests FEEL expression: 'any(list:null)' and expects result: 'null (boolean)' - + Result of FEEL expression 'any(list:null)'? null (boolean) - + any(list:null) Tests FEEL expression: 'any(l:[true])' and expects result: 'null (boolean)' - + Result of FEEL expression 'any(l:[true])'? null (boolean) - + any(l:[true]) @@ -194,178 +211,178 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0061-feel-median-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0061-feel-median-function.dmn index 4e16658c72e..9f0932ed720 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0061-feel-median-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0061-feel-median-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'median(list)' in category list functions - + Tests FEEL expression: 'median([8, 2, 5, 3, 4])' and expects result: '4 (number)' - + Result of FEEL expression 'median([8, 2, 5, 3, 4])'? 4 (number) - + median([8, 2, 5, 3, 4]) Tests FEEL expression: 'median([8, 2, 5, 7])' and expects result: '6 (number)' - + Result of FEEL expression 'median([8, 2, 5, 7])'? 6 (number) - + median([8, 2, 5, 7]) Tests FEEL expression: 'median()' and expects result: 'null (number)' - + Result of FEEL expression 'median()'? null (number) - + median() Tests FEEL expression: 'median(null)' and expects result: 'null (number)' - + Result of FEEL expression 'median(null)'? null (number) - + median(null) Tests FEEL expression: 'median([1,2,null,4])' and expects result: 'null (number)' - + Result of FEEL expression 'median([1,2,null,4])'? null (number) - + median() - Tests FEEL expression: 'median([1,2,"foo",4])' and expects result: 'null (number)' - + Tests FEEL expression: 'median([1,2,"foo",4])' and expects result: 'null (number)' + Result of FEEL expression 'median([1,2,"foo",4])'? null (number) - + median([1,2,"foo",4]) Tests FEEL expression: 'median([6, 1, 2, 3])' and expects result: '2.5 (number)' - + Result of FEEL expression 'median([6, 1, 2, 3])'? 2.5 (number) - + median([6, 1, 2, 3]) Tests FEEL expression: 'median([])' and expects result: 'null (number)' - + Result of FEEL expression 'median([])'? null (number) - + median([]) Tests FEEL expression: 'median(4)' and expects result: '4 (number)' - + Result of FEEL expression 'median(4)'? 4 (number) - + median(4) Tests FEEL expression: 'median(8, 2, 5, 3, 4)' and expects result: '4 (number)' - + Result of FEEL expression 'median(8, 2, 5, 3, 4)'? 4 (number) - + median(8, 2, 5, 3, 4) Tests FEEL expression: 'median(8, 2, 5, 7)' and expects result: '6 (number)' - + Result of FEEL expression 'median(8, 2, 5, 7)'? 6 (number) - + median(8, 2, 5, 7) - Tests FEEL expression: 'median(list:[8, 2, 5, 7])' and expects result: '6 (number)' - + Tests FEEL expression: 'median(list:[8, 2, 5, 7])' and expects result: '6 (number)' + Result of FEEL expression 'median(list:[8, 2, 5, 7])'? 6 (number) - + median(list:[8, 2, 5, 7]) Tests FEEL expression: 'median(list:null)' and expects result: 'null (number)' - + Result of FEEL expression 'median(list:null)'? null (number) - + median(list:null) - Tests FEEL expression: 'median(l:[2, 4, 7, 5])' and expects result: 'null (number)' - + Tests FEEL expression: 'median(l:[2, 4, 7, 5])' and expects result: 'null (number)' + Result of FEEL expression 'median(l:[2, 4, 7, 5])'? null (number) - + median(l:[2, 4, 7, 5]) @@ -164,148 +178,148 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0062-feel-mode-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0062-feel-mode-function.dmn index 05a51ddd244..f4e0a69b3d8 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0062-feel-mode-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0062-feel-mode-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'mode(list)' in category list functions - + number Tests FEEL expression: 'mode([6, 3, 9, 6, 6])' and expects result: '[6] (list)' - + Result of FEEL expression 'mode([6, 3, 9, 6, 6])'? [6] (list) - + mode([6, 3, 9, 6, 6]) - Tests FEEL expression: 'mode([3, 6, 1, 9, 6, 1, 3])' and expects result: '[1,3,6] (list)' - + Tests FEEL expression: 'mode([3, 6, 1, 9, 6, 1, 3])' and expects result: '[1,3,6] (list)' + Result of FEEL expression 'mode([3, 6, 1, 9, 6, 1, 3])'? [1,3,6] (list) - + mode([3, 6, 1, 9, 6, 1, 3]) Tests FEEL expression: 'mode()' and expects result: 'null (list)' - + Result of FEEL expression 'mode()'? null (list) - + mode() Tests FEEL expression: 'mode(null)' and expects result: 'null (list)' - + Result of FEEL expression 'mode(null)'? null (list) - + mode(null) Tests FEEL expression: 'mode([1,2,null,4])' and expects result: 'null (list)' - + Result of FEEL expression 'mode([1,2,null,4])'? null (list) - + mode() Tests FEEL expression: 'mode([1,2,"foo",4])' and expects result: 'null (list)' - + Result of FEEL expression 'mode([1,2,"foo",4])'? null (list) - + mode([1,2,"foo",4]) - Tests FEEL expression: 'mode([2.5, 1, 2.5, 3])' and expects result: '[2.5] (list)' - + Tests FEEL expression: 'mode([2.5, 1, 2.5, 3])' and expects result: '[2.5] (list)' + Result of FEEL expression 'mode([2.5, 1, 2.5, 3])'? [2.5] (list) - + mode([2.5, 1, 2.5, 3]) Tests FEEL expression: 'mode([])' and expects result: '[] (list)' - + Result of FEEL expression 'mode([])'? [] (list) - + mode([]) Tests FEEL expression: 'mode(6)' and expects result: '[6] (list)' - + Result of FEEL expression 'mode(6)'? [6] (list) - + mode(6) Tests FEEL expression: 'mode(6, 3, 9, 6, 6)' and expects result: '[6] (list)' - + Result of FEEL expression 'mode(6, 3, 9, 6, 6)'? [6] (list) - + mode(6, 3, 9, 6, 6) - Tests FEEL expression: 'mode(list:[6, 3, 9, 6, 6])' and expects result: '[6] (list)' - + Tests FEEL expression: 'mode(list:[6, 3, 9, 6, 6])' and expects result: '[6] (list)' + Result of FEEL expression 'mode(list:[6, 3, 9, 6, 6])'? [6] (list) - + mode(list:[6, 3, 9, 6, 6]) Tests FEEL expression: 'mode(list:null)' and expects result: 'null (list)' - + Result of FEEL expression 'mode(list:null)'? null (list) - + mode(list:null) Tests FEEL expression: 'mode(l:[2, 4, 7, 5])' and expects result: 'null (number)' - + Result of FEEL expression 'mode(l:[2, 4, 7, 5])'? null (number) - + mode(l:[2, 4, 7, 5]) @@ -157,138 +171,138 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0063-feel-stddev-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0063-feel-stddev-function.dmn index ec7d3642e5b..bfb02347d33 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0063-feel-stddev-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0063-feel-stddev-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'stddev(list)' in category list functions - + Tests FEEL expression: 'stddev([2, 4, 7, 5])' and expects result: '4 (number)' - + Result of FEEL expression 'stddev([2, 4, 7, 5])'? 4 (number) - + stddev([2, 4, 7, 5]) Tests FEEL expression: 'stddev()' and expects result: 'null (number)' - + Result of FEEL expression 'stddev()'? null (number) - + stddev() Tests FEEL expression: 'stddev(null)' and expects result: 'null (number)' - + Result of FEEL expression 'stddev(null)'? null (number) - + stddev(null) Tests FEEL expression: 'stddev([1,2,null,4])' and expects result: 'null (number)' - + Result of FEEL expression 'stddev([1,2,null,4])'? null (number) - + stddev() - Tests FEEL expression: 'stddev([1,2,"foo",4])' and expects result: 'null (number)' - + Tests FEEL expression: 'stddev([1,2,"foo",4])' and expects result: 'null (number)' + Result of FEEL expression 'stddev([1,2,"foo",4])'? null (number) - + stddev([1,2,"foo",4]) Tests FEEL expression: 'stddev([])' and expects result: 'null (number)' - + Result of FEEL expression 'stddev([])'? null (number) - + stddev([]) Tests FEEL expression: 'stddev(4)' and expects result: '4 (number)' - + Result of FEEL expression 'stddev(4)'? 4 (number) - + stddev(4) Tests FEEL expression: 'stddev(2, 4, 7, 5)' and expects result: '4 (number)' - + Result of FEEL expression 'stddev(2, 4, 7, 5)'? 4 (number) - + stddev(2, 4, 7, 5) - Tests FEEL expression: 'stddev(list:[2, 4, 7, 5])' and expects result: '6 (number)' - + Tests FEEL expression: 'stddev(list:[2, 4, 7, 5])' and expects result: '6 (number)' + Result of FEEL expression 'stddev(list:[2, 4, 7, 5])'? 6 (number) - + stddev(list:[2, 4, 7, 5]) Tests FEEL expression: 'stddev(list:null)' and expects result: 'null (number)' - + Result of FEEL expression 'stddev(list:null)'? null (number) - + stddev(list:null) - Tests FEEL expression: 'stddev(l:[2, 4, 7, 5])' and expects result: 'null (number)' - + Tests FEEL expression: 'stddev(l:[2, 4, 7, 5])' and expects result: 'null (number)' + Result of FEEL expression 'stddev(l:[2, 4, 7, 5])'? null (number) - + stddev(l:[2, 4, 7, 5]) @@ -134,118 +148,118 @@ - - - - - - - - - - - + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0064-feel-conjunction.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0064-feel-conjunction.dmn index 5cbeb7a3d44..6b011e04d98 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0064-feel-conjunction.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0064-feel-conjunction.dmn @@ -1,4 +1,4 @@ - + - + Semantics of conjunction - + Tests FEEL expression: 'true and true' and expects result: 'true (boolean)' - + Result of FEEL expression 'true and true'? true (boolean) - + true and true Tests FEEL expression: 'true and false' and expects result: 'false (boolean)' - + Result of FEEL expression 'true and false'? false (boolean) - + true and false Tests FEEL expression: 'true and null' and expects result: 'null (boolean)' - + Result of FEEL expression 'true and null'? null (boolean) - + true and null Tests FEEL expression: 'true and 123' and expects result: 'null (boolean)' - + Result of FEEL expression 'true and 123'? null (boolean) - + true and 123 Tests FEEL expression: 'true and "true"' and expects result: 'null (boolean)' - + Result of FEEL expression 'true and "true"'? null (boolean) - + true and "true" Tests FEEL expression: 'false and true' and expects result: 'false (boolean)' - + Result of FEEL expression 'false and true'? false (boolean) - + false and true Tests FEEL expression: 'false and false' and expects result: 'false (boolean)' - + Result of FEEL expression 'false and false'? false (boolean) - + false and false Tests FEEL expression: 'false and null' and expects result: 'false (boolean)' - + Result of FEEL expression 'false and null'? false (boolean) - + false and null Tests FEEL expression: 'false and 123' and expects result: 'false (boolean)' - + Result of FEEL expression 'false and 123'? false (boolean) - + false and 123 Tests FEEL expression: 'false and "true"' and expects result: 'false (boolean)' - + Result of FEEL expression 'false and "true"'? false (boolean) - + false and "true" Tests FEEL expression: 'null and true' and expects result: 'null (boolean)' - + Result of FEEL expression 'null and true'? null (boolean) - + null and true Tests FEEL expression: '123 and true' and expects result: 'null (boolean)' - + Result of FEEL expression '123 and true'? null (boolean) - + 123 and true Tests FEEL expression: '"true" and true' and expects result: 'null (boolean)' - + Result of FEEL expression '"true" and true'? null (boolean) - + "true" and true Tests FEEL expression: 'null and false' and expects result: 'false (boolean)' - + Result of FEEL expression 'null and false'? false (boolean) - + null and false Tests FEEL expression: '123 and false' and expects result: 'false (boolean)' - + Result of FEEL expression '123 and false'? false (boolean) - + 123 and false Tests FEEL expression: '"true" and false' and expects result: 'false (boolean)' - + Result of FEEL expression '"true" and false'? false (boolean) - + "true" and false Tests FEEL expression: 'null and null' and expects result: 'null (boolean)' - + Result of FEEL expression 'null and null'? null (boolean) - + null and null Tests FEEL expression: '"true" and "true"' and expects result: 'null (boolean)' - + Result of FEEL expression '"true" and "true"'? null (boolean) - + "true" and "true" Tests FEEL expression: '0 and 0' and expects result: 'null (boolean)' - + Result of FEEL expression '0 and 0'? null (boolean) - + 0 and 0 @@ -214,198 +225,198 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0065-feel-disjunction.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0065-feel-disjunction.dmn index e5741bc634b..5139d031fcc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0065-feel-disjunction.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0065-feel-disjunction.dmn @@ -1,4 +1,4 @@ - + - + Semantics of conjunction - + Tests FEEL expression: 'true or true' and expects result: 'true (boolean)' - + Result of FEEL expression 'true or true'? true (boolean) - + true or true Tests FEEL expression: 'true or false' and expects result: 'true (boolean)' - + Result of FEEL expression 'true or false'? true (boolean) - + true or false Tests FEEL expression: 'true or null' and expects result: 'true (boolean)' - + Result of FEEL expression 'true or null'? true (boolean) - + true or null Tests FEEL expression: 'true or 123' and expects result: 'true (boolean)' - + Result of FEEL expression 'true or 123'? true (boolean) - + true or 123 Tests FEEL expression: 'true or "true"' and expects result: 'true (boolean)' - + Result of FEEL expression 'true or "true"'? true (boolean) - + true or "true" Tests FEEL expression: 'false or true' and expects result: 'true (boolean)' - + Result of FEEL expression 'false or true'? true (boolean) - + false or true Tests FEEL expression: 'false or false' and expects result: 'false (boolean)' - + Result of FEEL expression 'false or false'? false (boolean) - + false or false Tests FEEL expression: 'false or null' and expects result: 'false (boolean)' - + Result of FEEL expression 'false or null'? null (boolean) - + false or null Tests FEEL expression: 'false or 123' and expects result: 'null (boolean)' - + Result of FEEL expression 'false or 123'? null (boolean) - + false or 123 Tests FEEL expression: 'false or "true"' and expects result: 'null (boolean)' - + Result of FEEL expression 'false or "true"'? null (boolean) - + false or "true" Tests FEEL expression: 'null or true' and expects result: 'true (boolean)' - + Result of FEEL expression 'null or true'? true (boolean) - + null or true Tests FEEL expression: '123 or true' and expects result: 'true (boolean)' - + Result of FEEL expression '123 or true'? true (boolean) - + 123 or true Tests FEEL expression: '"true" or true' and expects result: 'true (boolean)' - + Result of FEEL expression '"true" or true'? true (boolean) - + "true" or true Tests FEEL expression: 'null or false' and expects result: 'null (boolean)' - + Result of FEEL expression 'null or false'? null (boolean) - + null or false Tests FEEL expression: '123 or false' and expects result: 'null (boolean)' - + Result of FEEL expression '123 or false'? null (boolean) - + 123 or false Tests FEEL expression: '"true" or false' and expects result: 'null (boolean)' - + Result of FEEL expression '"true" or false'? null (boolean) - + "true" or false Tests FEEL expression: 'null or null' and expects result: 'null (boolean)' - + Result of FEEL expression 'null or null'? null (boolean) - + null or null Tests FEEL expression: '"true" or "true"' and expects result: 'null (boolean)' - + Result of FEEL expression '"true" or "true"'? null (boolean) - + "true" or "true" Tests FEEL expression: '0 or 0' and expects result: 'null (boolean)' - + Result of FEEL expression '0 or 0'? null (boolean) - + 0 or 0 @@ -214,198 +225,198 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0066-feel-negation.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0066-feel-negation.dmn index 6704f5441eb..89ef62be660 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0066-feel-negation.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0066-feel-negation.dmn @@ -1,4 +1,4 @@ - + - + Semantics of negation - + Tests FEEL expression: 'not(true)' and expects result: 'false (boolean)' - + Result of FEEL expression 'not(true)'? false (boolean) - + not(true) Tests FEEL expression: 'not(false)' and expects result: 'true (boolean)' - + Result of FEEL expression 'not(false)'? true (boolean) - + not(false) Tests FEEL expression: 'not(null)' and expects result: 'null (boolean)' - + Result of FEEL expression 'not(null)'? null (boolean) - + not(null) Tests FEEL expression: 'not(0)' and expects result: 'null (boolean)' - + Result of FEEL expression 'not(0)'? null (boolean) - + not(0) Tests FEEL expression: 'not(1)' and expects result: 'null (boolean)' - + Result of FEEL expression 'not(1)'? null (boolean) - + not(1) Tests FEEL expression: 'not("true")' and expects result: 'null (boolean)' - + Result of FEEL expression 'not("true")'? null (boolean) - + not("true") @@ -84,68 +95,68 @@ - - - - - - + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0067-feel-split-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0067-feel-split-function.dmn index 7384e2f1b6f..661cb05928d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0067-feel-split-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0067-feel-split-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'split(string,delimiter)' in category string functions - + string - Tests FEEL expression: 'split("John Doe", "s")' and expects result: '["John", "Doe"] (list)' - + Tests FEEL expression: 'split("John Doe", "s")' and expects result: '["John", "Doe"] (list)' + Result of FEEL expression 'split("John Doe", "s")'? ["John", "Doe"] (list) - + split("John Doe", "s") - Tests FEEL expression: 'split("a;b;c;;", ";")' and expects result: '["a", "b", "c", "", ""] (list)' - + Tests FEEL expression: 'split("a;b;c;;", ";")' and expects result: '["a", "b", "c", "", ""] (list)' + Result of FEEL expression 'split(10, -4)'? ["a", "b", "c", "", ""] - + split("a;b;c;;", ";") Tests FEEL expression: 'split()' and expects result: 'null (list)' - + Result of FEEL expression 'split()'? null (list) - + split() Tests FEEL expression: 'split("foo")' and expects result: 'null (list)' - + Result of FEEL expression 'split("foo")'? null (list) - + split("foo") - Tests FEEL expression: 'split(delimiter: ",", string:"foo,bar")' and expects result: '["foo", "bar"] (lost)' - + Tests FEEL expression: 'split(delimiter: ",", string:"foo,bar")' and expects result: '["foo", "bar"] (lost)' + Result of FEEL expression 'split(delimiter: ",", string:"foo,bar")'? 2 (list) - + split(delimiter: ",", string:"foo,bar") - Tests FEEL expression: 'split(delimiter: ",", str:"foo,bar")' and expects result: 'null (list)' - + Tests FEEL expression: 'split(delimiter: ",", str:"foo,bar")' and expects result: 'null (list)' + Result of FEEL expression 'split(delimiter: ",", str:"foo,bar")'? null (list) - + split(delimiter: ",", str:"foo,bar") Tests FEEL expression: 'split(null, null)' and expects result: 'null (list)' - + Result of FEEL expression 'split(null, null)'? null (list) - + split(null, null) Tests FEEL expression: 'split("foo", null)' and expects result: 'null (list)' - + Result of FEEL expression 'split("foo", null)'? null (list) - + split("foo", null) Tests FEEL expression: 'split(null, ",")' and expects result: 'null (list)' - + Result of FEEL expression 'split(null, ",")'? null (list) - + split(null, ",") @@ -117,98 +132,98 @@ - - - - - - - - - + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0068-feel-equality.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0068-feel-equality.dmn index 4b8ec4c4da4..a4c3b1f23f4 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0068-feel-equality.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0068-feel-equality.dmn @@ -1,4 +1,4 @@ - + - + FEEL equality - + Tests FEEL expression: 'null = null' and expects result: 'true (boolean)' - + Result of FEEL expression 'null = null'? true (boolean) - + null = null Tests FEEL expression: 'null != null' and expects result: 'false (boolean)' - + Result of FEEL expression 'null != null'? false (boolean) - + null != null Tests FEEL expression: 'true = true' and expects result: 'true (boolean)' - + Result of FEEL expression 'true = true'? true (boolean) - + true = true Tests FEEL expression: 'true != true' and expects result: 'false (boolean)' - + Result of FEEL expression 'true != true'? false (boolean) - + true != true Tests FEEL expression: 'false = false' and expects result: 'true (boolean)' - + Result of FEEL expression 'false = false'? true (boolean) - + false = false Tests FEEL expression: 'false != false' and expects result: 'true (boolean)' - + Result of FEEL expression 'false != false'? true (boolean) - + false != false Tests FEEL expression: 'true = false' and expects result: 'false (boolean)' - + Result of FEEL expression 'true = false'? false (boolean) - + true = false Tests FEEL expression: 'true = null' and expects result: 'false (boolean)' - + Result of FEEL expression 'true = null'? false (boolean) - + true = null Tests FEEL expression: 'false = null' and expects result: 'false (boolean)' - + Result of FEEL expression 'false = null'? false (boolean) - + false = null Tests FEEL expression: 'false = 0' and expects result: 'null (boolean)' - + Result of FEEL expression 'false = 0'? null (boolean) - + false = 0 Tests FEEL expression: 'true = 1' and expects result: 'null (boolean)' - + Result of FEEL expression 'true = 1'? null (boolean) - + true = 1 Tests FEEL expression: '123 = 123' and expects result: 'true (boolean)' - + Result of FEEL expression '123 = 123'? true (boolean) - + 123 = 123 Tests FEEL expression: '123.01 = 123.01' and expects result: 'true (boolean)' - + Result of FEEL expression '123.01 = 123.01'? true (boolean) - + 123.01 = 123.01 Tests FEEL expression: '0 = 0.00' and expects result: 'true (boolean)' - + Result of FEEL expression '0 = 0.00'? true (boolean) - + 0 = 0.00 Tests FEEL expression: '-0 = 0' and expects result: 'true (boolean)' - + Result of FEEL expression '-0 = 0'? true (boolean) - + -0 = 0 Tests FEEL expression: '-1 = 1' and expects result: 'false (boolean)' - + Result of FEEL expression '-1 = 1'? false (boolean) - + -1 = 1 Tests FEEL expression: '100 = null' and expects result: 'false (boolean)' - + Result of FEEL expression '100 = null'? false (boolean) - + 100 = null Tests FEEL expression: '100 = "100"' and expects result: 'null (boolean)' - + Result of FEEL expression '100 = "100"'? null (boolean) - + 100 = "100" Tests FEEL expression: '"foo" = "foo"' and expects result: 'true (boolean)' - + Result of FEEL expression '"foo" = "foo"'? true (boolean) - + "foo" = "foo" Tests FEEL expression: '"foo" = "Foo"' and expects result: 'false (boolean)' - + Result of FEEL expression '"foo" = "Foo"'? false (boolean) - + "foo" = "Foo" Tests FEEL expression: '"foo" != "Foo"' and expects result: 'true (boolean)' - + Result of FEEL expression '"foo" != "Foo"'? true (boolean) - + "foo" != "Foo" Tests FEEL expression: '"foo" = null' and expects result: 'false (boolean)' - + Result of FEEL expression '"foo" = null'? false (boolean) - + "foo" = null Tests FEEL expression: '"foo" = 100' and expects result: 'null (boolean)' - + Result of FEEL expression '"foo" = 100'? null (boolean) - + "foo" = 100 Tests FEEL expression: '[1,2,3] = [1,2,3]' and expects result: 'true (boolean)' - + Result of FEEL expression '[1,2,3] = [1,2,3]'? true (boolean) - + [1,2,3] = [1,2,3] - Tests FEEL expression: '[1,1,1] = [1,1,1,1]' and expects result: 'false (boolean)' - + Tests FEEL expression: '[1,1,1] = [1,1,1,1]' and expects result: 'false (boolean)' + Result of FEEL expression '[1,1,1] = [1,1,1,1]'? false (boolean) - + [1,1,1] = [1,1,1,1] Tests FEEL expression: '[1,1,1] = [1,1,2]' and expects result: 'false (boolean)' - + Result of FEEL expression '[1,1,1] = [1,1,2]'? false (boolean) - + [1,1,1] = [1,1,2] Tests FEEL expression: '[] = []' and expects result: 'true (boolean)' - + Result of FEEL expression '[] = []'? true (boolean) - + [] = [] Tests FEEL expression: '[1,2,3] = [3,2,1]' and expects result: 'false (boolean)' - + Result of FEEL expression '[1,2,3] = [3,2,1]'? false (boolean) - + [1,2,3] = [3,2,1] Tests FEEL expression: 'true[1] = true' and expects result: 'true (boolean)' - + Result of FEEL expression 'true[1] = true'? true (boolean) - + true[1] = true Tests FEEL expression: '100[1] = 100' and expects result: 'true (boolean)' - + Result of FEEL expression '100[1] = 100'? true (boolean) - + 100[1] = 100 Tests FEEL expression: '"foo"[1] = "foo"' and expects result: 'true (boolean)' - + Result of FEEL expression '"foo"[1] = "foo"'? true (boolean) - + "foo"[1] = "foo" - Tests FEEL expression: 'date("2018-12-08")[1] = date("2018-12-08")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'date("2018-12-08")[1] = date("2018-12-08")' and expects result: 'true (boolean)' + Result of FEEL expression 'date("2018-12-08")[1] = date("2018-12-08")'? true (boolean) - + date("2018-12-08")[1] = date("2018-12-08") - Tests FEEL expression: 'time("10:30:12")[1] = time("10:30:12")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'time("10:30:12")[1] = time("10:30:12")' and expects result: 'true (boolean)' + Result of FEEL expression 'time("10:30:12")[1] = time("10:30:12")'? true (boolean) - + time("10:30:12")[1] = time("10:30:12") - Tests FEEL expression: 'date and time("2018-12-08")[1] = date and time("2018-12-08")' and expects result: 'true (boolean)' - - Result of FEEL expression 'date and time("2018-12-08")[1] = date and time("2018-12-08")'? + Tests FEEL expression: 'date and time("2018-12-08")[1] = date and time("2018-12-08")' and expects result: 'true (boolean)' + + Result of FEEL expression 'date and time("2018-12-08")[1] = date and time("2018-12-08")'? true (boolean) - + date and time("2018-12-08")[1] = date and time("2018-12-08") - Tests FEEL expression: 'duration("P1D")[1] = duration("P1D")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'duration("P1D")[1] = duration("P1D")' and expects result: 'true (boolean)' + Result of FEEL expression 'duration("P1D")[1] = duration("P1D")'? true (boolean) - + duration("P1D")[1] = duration("P1D") - Tests FEEL expression: 'duration("P1Y")[1] = duration("P1Y")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'duration("P1Y")[1] = duration("P1Y")' and expects result: 'true (boolean)' + Result of FEEL expression 'duration("P1Y")[1] = duration("P1Y")'? true (boolean) - + duration("P1Y")[1] = duration("P1Y") - Tests FEEL expression: '{a: "foo"}[1] = {a: "foo"}' and expects result: 'true (boolean)' - + Tests FEEL expression: '{a: "foo"}[1] = {a: "foo"}' and expects result: 'true (boolean)' + Result of FEEL expression '{a: "foo"}[1] = {a: "foo"}'? true (boolean) - + {a: "foo"}[1] = {a: "foo"} Tests FEEL expression: '[] = null' and expects result: 'false (boolean)' - + Result of FEEL expression '[] = null'? false (boolean) - + [] = null Tests FEEL expression: '[] = 0' and expects result: 'null (boolean)' - + Result of FEEL expression '[] = 0'? null (boolean) - + [] = 0 Tests FEEL expression: '{} = {}' and expects result: 'true (boolean)' - + Result of FEEL expression '{} = {}'? true (boolean) - + {} = {} - Tests FEEL expression: '{foo: "bar", bar: "baz"} = {foo: "bar", bar: "baz"}' and expects result: 'true (boolean)' - + Tests FEEL expression: '{foo: "bar", bar: "baz"} = {foo: "bar", bar: "baz"}' and expects result: 'true (boolean)' + Result of FEEL expression '{foo: "bar", bar: "baz"} = {foo: "bar", bar: "baz"}'? true (boolean) - + {foo: "bar", bar: "baz"} = {foo: "bar", bar: "baz"} - Tests FEEL expression: '{foo: "bar", bar: "baz"} = {bar: "baz", foo: "bar"}' and expects result: 'true (boolean)' - + Tests FEEL expression: '{foo: "bar", bar: "baz"} = {bar: "baz", foo: "bar"}' and expects result: 'true (boolean)' + Result of FEEL expression '{foo: "bar", bar: "baz"} = {bar: "baz", foo: "bar"}'? true (boolean) - + {foo: "bar", bar: "baz"} = {bar: "baz", foo: "bar"} - Tests FEEL expression: '{foo: "bar"} = {"foo": "bar"}' and expects result: 'true (boolean)' - + Tests FEEL expression: '{foo: "bar"} = {"foo": "bar"}' and expects result: 'true (boolean)' + Result of FEEL expression '{foo: "bar"} = {"foo": "bar"}'? true (boolean) - + {foo: "bar"} = {"foo": "bar"} - Tests FEEL expression: '{foo: "bar"} = {foo: "baz"}' and expects result: 'false (boolean)' - + Tests FEEL expression: '{foo: "bar"} = {foo: "baz"}' and expects result: 'false (boolean)' + Result of FEEL expression '{foo: "bar"} = {foo: "baz"}'? false (boolean) - + {foo: "bar"} = {foo: "baz"} Tests FEEL expression: '{} = null' and expects result: 'false (boolean)' - + Result of FEEL expression '{} = null'? false (boolean) - + {} = null Tests FEEL expression: '{} = []' and expects result: 'null (boolean)' - + Result of FEEL expression '{} = []'? null (boolean) - + {} = [] - Tests FEEL expression: 'date("2018-12-08") = date("2018-12-08")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'date("2018-12-08") = date("2018-12-08")' and expects result: 'true (boolean)' + Result of FEEL expression 'date("2018-12-08") = date("2018-12-08")'? true (boolean) - + date("2018-12-08") = date("2018-12-08") - Tests FEEL expression: 'date("2018-12-07") = date("2018-12-08")' and expects result: 'false (boolean)' - + Tests FEEL expression: 'date("2018-12-07") = date("2018-12-08")' and expects result: 'false (boolean)' + Result of FEEL expression 'date("2018-12-07") = date("2018-12-08")'? false (boolean) - + date("2018-12-07") = date("2018-12-08") - Tests FEEL expression: 'date("2018-12-07") = null' and expects result: 'false (boolean)' - + Tests FEEL expression: 'date("2018-12-07") = null' and expects result: 'false (boolean)' + Result of FEEL expression 'date("2018-12-07") = null'? false (boolean) - + date("2018-12-07") = null - Tests FEEL expression: 'date("2018-12-07") = 100' and expects result: 'null (boolean)' - + Tests FEEL expression: 'date("2018-12-07") = 100' and expects result: 'null (boolean)' + Result of FEEL expression 'date("2018-12-07") = 100'? null (boolean) - + date("2018-12-07") = 100 - Tests FEEL expression: 'duration("P1D") = duration("P1D")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'duration("P1D") = duration("P1D")' and expects result: 'true (boolean)' + Result of FEEL expression 'duration("P1D") = duration("P1D")'? true (boolean) - + duration("P1D") = duration("P1D") - Tests FEEL expression: 'duration("P1D") = duration("PT24H")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'duration("P1D") = duration("PT24H")' and expects result: 'true (boolean)' + Result of FEEL expression 'duration("P1D") = duration("PT24H")'? true (boolean) - + duration("P1D") = duration("PT24H") - Tests FEEL expression: 'duration("P1D") = duration("P2D")' and expects result: 'false (boolean)' - + Tests FEEL expression: 'duration("P1D") = duration("P2D")' and expects result: 'false (boolean)' + Result of FEEL expression 'duration("P1D") = duration("P2D")'? false (boolean) - + duration("P1D") = duration("P2D") - Tests FEEL expression: 'duration("P1D") = duration("-P1D")' and expects result: 'false (boolean)' - + Tests FEEL expression: 'duration("P1D") = duration("-P1D")' and expects result: 'false (boolean)' + Result of FEEL expression 'duration("P1D") = duration("-P1D")'? false (boolean) - + duration("P1D") = duration("-P1D") - Tests FEEL expression: 'duration("P0D") = duration("-P0D")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'duration("P0D") = duration("-P0D")' and expects result: 'true (boolean)' + Result of FEEL expression 'duration("P0D") = duration("-P0D")'? true (boolean) - + duration("P0D") = duration("-P0D") - Tests FEEL expression: 'duration("P0D") = null' and expects result: 'false (boolean)' - + Tests FEEL expression: 'duration("P0D") = null' and expects result: 'false (boolean)' + Result of FEEL expression 'duration("P0D") = null'? false (boolean) - + duration("P0D") = null Tests FEEL expression: 'duration("P0D") = 0' and expects result: 'null (boolean)' - + Result of FEEL expression 'duration("P0D") = 0'? null (boolean) - + duration("P0D") = 0 - Tests FEEL expression: 'duration("P1Y") = duration("P1Y")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'duration("P1Y") = duration("P1Y")' and expects result: 'true (boolean)' + Result of FEEL expression 'duration("P1Y") = duration("P1Y")'? true (boolean) - + duration("P1Y") = duration("P1Y") - Tests FEEL expression: 'duration("P1Y") = duration("P12M")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'duration("P1Y") = duration("P12M")' and expects result: 'true (boolean)' + Result of FEEL expression 'duration("P1Y") = duration("P12M")'? true (boolean) - + duration("P1Y") = duration("P12M") - Tests FEEL expression: 'duration("P1Y") = duration("P2Y")' and expects result: 'false (boolean)' - + Tests FEEL expression: 'duration("P1Y") = duration("P2Y")' and expects result: 'false (boolean)' + Result of FEEL expression 'duration("P1Y") = duration("P2Y")'? false (boolean) - + duration("P1Y") = duration("P2Y") - Tests FEEL expression: 'duration("P1Y") = duration("-P1Y")' and expects result: 'false (boolean)' - + Tests FEEL expression: 'duration("P1Y") = duration("-P1Y")' and expects result: 'false (boolean)' + Result of FEEL expression 'duration("P1Y") = duration("-P1Y")'? false (boolean) - + duration("P1Y") = duration("-P1Y") - Tests FEEL expression: 'duration("P0Y") = duration("-P0Y")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'duration("P0Y") = duration("-P0Y")' and expects result: 'true (boolean)' + Result of FEEL expression 'duration("P0Y") = duration("-P0Y")'? true (boolean) - + duration("P0Y") = duration("-P0Y") - Tests FEEL expression: 'duration("P1Y") = duration("P365D")' and expects result: 'null (boolean)' - + Tests FEEL expression: 'duration("P1Y") = duration("P365D")' and expects result: 'null (boolean)' + Result of FEEL expression 'duration("P1Y") = duration("P365D")'? null (boolean) - + duration("P1Y") = duration("P365D") - Tests FEEL expression: 'duration("P0Y") = null' and expects result: 'false (boolean)' - + Tests FEEL expression: 'duration("P0Y") = null' and expects result: 'false (boolean)' + Result of FEEL expression 'duration("P0Y") = null'? false (boolean) - + duration("P0Y") = null Tests FEEL expression: 'duration("P0Y") = 0' and expects result: 'null (boolean)' - + Result of FEEL expression 'duration("P0Y") = 0'? null (boolean) - + duration("P0Y") = 0 - Tests FEEL expression: '[1,2,[3, 4]] = [1,2,[3, 4]]' and expects result: 'true (boolean)' - + Tests FEEL expression: '[1,2,[3, 4]] = [1,2,[3, 4]]' and expects result: 'true (boolean)' + Result of FEEL expression '[1,2,[3, 4]] = [1,2,[3, 4]]'? true (boolean) - + [1,2,[3, 4]] = [1,2,[3, 4]] - Tests FEEL expression: '[1,2,{a: [3,4]}] = [1,2,{a: [3,4]}]' and expects result: 'true (boolean)' - + Tests FEEL expression: '[1,2,{a: [3,4]}] = [1,2,{a: [3,4]}]' and expects result: 'true (boolean)' + Result of FEEL expression '[1,2,{a: [3,4]}] = [1,2,{a: [3,4]}]'? true (boolean) - + [1,2,{a: [3,4]}] = [1,2,{a: [3,4]}] - Tests FEEL expression: '[1,2,[3, 4]] = [1,2,[4, 3]]' and expects result: 'false (boolean)' - + Tests FEEL expression: '[1,2,[3, 4]] = [1,2,[4, 3]]' and expects result: 'false (boolean)' + Result of FEEL expression '[1,2,[3, 4]] = [1,2,[4, 3]]'? false (boolean) - + [1,2,[3, 4]] = [1,2,[4, 3]] - Tests FEEL expression: '[1,2,{a: [3,4]}] = [1,2,{a: [3,4], b: "foo"}]' and expects result: 'false (boolean)' - + Tests FEEL expression: '[1,2,{a: [3,4]}] = [1,2,{a: [3,4], b: "foo"}]' and expects result: 'false (boolean)' + Result of FEEL expression '[1,2,{a: [3,4]}] = [1,2,{a: [3,4], b: "foo"}]'? false (boolean) - + [1,2,{a: [3,4]}] = [1,2,{a: [3,4], b: "foo"}] - Tests FEEL expression: '{a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [1,2]}}' and expects result: 'true (boolean)' - + Tests FEEL expression: '{a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [1,2]}}' and expects result: 'true (boolean)' + Result of FEEL expression '{a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [1,2]}}'? true (boolean) - + {a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [1,2]}} - Tests FEEL expression: '{a: {c: [1,2], b: "foo"}} = {a: {b: "foo", c: [1,2]}}' and expects result: 'true (boolean)' - + Tests FEEL expression: '{a: {c: [1,2], b: "foo"}} = {a: {b: "foo", c: [1,2]}}' and expects result: 'true (boolean)' + Result of FEEL expression '{a: {c: [1,2], b: "foo"}} = {a: {b: "foo", c: [1,2]}}'? true (boolean) - + {a: {c: "bar", b: "foo"}} = {a: {b: "foo", c: "bar"}} - Tests FEEL expression: '{a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [2,1]}}' and expects result: 'false (boolean)' - + Tests FEEL expression: '{a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [2,1]}}' and expects result: 'false (boolean)' + Result of FEEL expression '{a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [2,1]}}'? false (boolean) - + {a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [2,1]}} @@ -744,728 +791,728 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0069-feel-list.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0069-feel-list.dmn index 8ae052b390c..0e777eee660 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0069-feel-list.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0069-feel-list.dmn @@ -1,4 +1,4 @@ - + - + FEEL lists - + - - + + [1,2,3] - - + + [] - - + + [1,2,3][0] - - + + [1,2,3][4] - - + + [1,2,3][1] - - + + [1,2,3][3] - - + + [1,2,3][-1] - - + + [1,2,3][-3] - - + + [1,2,3][-4] - - + + [1,2,3][true] - - + + [1,2,3][false] - - + + [1,2,3][item >= 2] - - + + true[true] - - + + true[false] - - + + 100[true] - - + + 100[false] - - + + "foo"[true] - - + + "foo"[false] - - + + true[1] - - + + 100[1] - - + + "foo"[1] - - + + true[0] - - + + 100[0] - - + + "foo"[0] - - + + [{a: 1}, {a: 2}, {a: 3}][item.a >= 2] - - + + [{a: 1}, {a: 2}, {a: 3}][a >= 2] - - + + [{item: 1}, {item: 2}, {item: 3}][item >= 2] @@ -213,278 +224,278 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0070-feel-instance-of.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0070-feel-instance-of.dmn index 9f5c243a59c..2d08954bcd9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0070-feel-instance-of.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0070-feel-instance-of.dmn @@ -1,4 +1,4 @@ - + - + FEEL instance of - + string @@ -35,701 +46,701 @@ Any - - + + null instance of Any - - + + null instance of number - - + + null instance of string - - + + null instance of boolean - - + + null instance of date - - + + null instance of time - - + + null instance of date and time - - + + null instance of years and months duration - - + + null instance of days and time duration - - + + 123.01 instance of Any - - + + 123.01 instance of number - - + + 123.01 instance of boolean - - + + 123.01 instance of boolean - - + + 123.01 instance of date - - + + 123.01 instance of time - - + + 123.01 instance of date and time - - + + 123.01 instance of years and months duration - - + + 123.01 instance of days and time duration - - + + "foo" instance of Any - - + + "foo" instance of number - - + + "foo" instance of string - - + + "foo" instance of boolean - - + + "foo" instance of date - - + + "foo" instance of time - - + + "foo" instance of date and time - - + + "foo" instance of years and months duration - - + + "foo" instance of days and time duration - - + + true instance of Any - - + + true instance of number - - + + true instance of string - - + + true instance of boolean - - + + true instance of date - - + + true instance of time - - + + true instance of date and time - - + + true instance of years and months duration - - + + true instance of days and time duration - - + + date("2018-12-08") instance of Any - - + + date("2018-12-08") instance of number - - + + date("2018-12-08") instance of string - - + + date("2018-12-08") instance of boolean - - + + date("2018-12-08") instance of date - - + + date("2018-12-08") instance of time - - + + date("2018-12-08") instance of date and time - - + + date("2018-12-08") instance of years and months duration - - + + date("2018-12-08") instance of days and time duration - - + + time("10:30:00") instance of Any - - + + time("10:30:00") instance of number - - + + time("10:30:00") instance of string - - + + time("10:30:00") instance of boolean - - + + time("10:30:00") instance of date - - + + time("10:30:00") instance of time - - + + time("10:30:00") instance of date and time - - + + time("10:30:00") instance of years and months duration - - + + time("10:30:00") instance of days and time duration - - + + [1,2,3] instance of Any - - + + [1,2,3] instance of number - - + + [1,2,3] instance of string - - + + [1,2,3] instance of boolean - - + + [1,2,3] instance of date - - + + [1,2,3] instance of time - - + + [1,2,3] instance of date and time - - + + [1,2,3] instance of years and months duration - - + + [1,2,3] instance of days and time duration - - + + [1] instance of number - - + + duration("P1Y") instance of Any - - + + duration("P1Y") instance of number - - + + duration("P1Y") instance of string - - + + duration("P1Y") instance of boolean - - + + duration("P1Y") instance of date - - + + duration("P1Y") instance of time - - + + duration("P1Y") instance of date and time - - + + duration("P1Y") instance of years and months duration - - + + duration("P1Y") instance of days and time duration - - + + duration("P1D") instance of Any - - + + duration("P1D") instance of number - - + + duration("P1D") instance of string - - + + duration("P1D") instance of boolean - - + + duration("P1D") instance of date - - + + duration("P1D") instance of time - - + + duration("P1D") instance of date and time - - + + duration("P1D") instance of years and months duration - - + + duration("P1D") instance of days and time duration - - + + {a: "foo"} instance of Any - - + + {a: "foo"} instance of number - - + + {a: "foo"} instance of string - - + + {a: "foo"} instance of boolean - - + + {a: "foo"} instance of date - - + + {a: "foo"} instance of time - - + + {a: "foo"} instance of date and time - - + + {a: "foo"} instance of years and months duration - - + + {a: "foo"} instance of days and time duration - - + + (function() "foo") instance of Any - - + + (function() "foo") instance of number - - + + (function() "foo") instance of string - - + + (function() "foo") instance of boolean - - + + (function() "foo") instance of date - - + + (function() "foo") instance of time - - + + (function() "foo") instance of date and time - - + + (function() "foo") instance of years and months duration - - + + (function() "foo") instance of days and time duration @@ -738,1008 +749,1008 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0071-feel-between.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0071-feel-between.dmn index ed926edb67c..18d31bd4d99 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0071-feel-between.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0071-feel-between.dmn @@ -1,4 +1,4 @@ - + - + FEEL instance of - + - - + + 0 between 1 and 10 - - + + 1 between 1 and 10 - - + + 5 between 1 and 10 - - + + 10 between 1 and 10 - - + + 11 between 1 and 10 - - + + "a" between "b" and "d" - - + + "b" between "b" and "d" - - + + "c" between "b" and "d" - - + + "d" between "b" and "d" - - + + "e" between "b" and "d" - - + + date("2018-12-01") between date("2018-12-02") and date("2018-12-04") - - + + date("2018-12-02") between date("2018-12-02") and date("2018-12-04") - - + + date("2018-12-03") between date("2018-12-02") and date("2018-12-04") - - + + date("2018-12-04") between date("2018-12-02") and date("2018-12-04") - - + + date("2018-12-05") between date("2018-12-02") and date("2018-12-04") - - + + time("10:31:00") between time("10:32:00") and time("10:34:00") - - + + time("10:32:00") between time("10:32:00") and time("10:34:00") - - + + time("10:33:00") between time("10:32:00") and time("10:34:00") - - + + time("10:34:00") between time("10:32:00") and time("10:34:00") - - + + time("10:35:00") between time("10:32:00") and time("10:34:00") - - + + - date and time("2018-12-01T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") + date and time("2018-12-01T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") - - + + - date and time("2018-12-02T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") + date and time("2018-12-02T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") - - + + - date and time("2018-12-03T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") + date and time("2018-12-03T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") - - + + - date and time("2018-12-04T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") + date and time("2018-12-04T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") - - + + - date and time("2018-12-05T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") + date and time("2018-12-05T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") - - + + duration("P1Y") between duration("P2Y") and duration("P4Y") - - + + duration("P2Y") between duration("P2Y") and duration("P4Y") - - + + duration("P3Y") between duration("P2Y") and duration("P4Y") - - + + duration("P4Y") between duration("P2Y") and duration("P4Y") - - + + duration("P5Y") between duration("P2Y") and duration("P4Y") - - + + duration("P1D") between duration("P2D") and duration("P4D") - - + + duration("P2D") between duration("P2D") and duration("P4D") - - + + duration("P3D") between duration("P2D") and duration("P4D") - - + + duration("P4D") between duration("P2D") and duration("P4D") - - + + duration("P5D") between duration("P2D") and duration("P4D") @@ -269,358 +285,358 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0072-feel-in.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0072-feel-in.dmn index 9c564670515..b91dfb2d466 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0072-feel-in.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0072-feel-in.dmn @@ -1,4 +1,4 @@ - + - - FEEL in - - - - - 1 in [2,3,1] - - - - - - - 1 in [2,3,4] - - - - - - - 1 in [[2..4], [1..3]] - - - - - - - 5 in [[2..4], [1..3]] - - - - - - - 1 in <= 10 - - - - - - - 10 in <= 10 - - - - - - - 11 in <= 10 - - - - - - - 1 in < 10 - - - - - - - 10 in < 10 - - - - - - - 11 in >= 10 - - - - - - - 10 in >= 10 - - - - - - - 9 in >= 10 - - - - - - - 11 in > 10 - - - - - - - 10 in > 10 - - - - - - - 1 in (2..4) - - - - - - - 2 in (2..4) - - - - - - - 3 in (2..4) - - - - - - - 4 in (2..4) - - - - - - - 5 in (2..4) - - - - - - - 1 in (2..4] - - - - - - - 2 in (2..4] - - - - - - - 3 in (2..4] - - - - - - - 4 in (2..4] - - - - - - - 5 in (2..4] - - - - - - - 1 in [2..4) - - - - - - - 2 in [2..4) - - - - - - - 3 in [2..4) - - - - - - - 4 in [2..4) - - - - - - - 5 in [2..4) - - - - - - - 1 in [2..4] - - - - - - - 2 in [2..4] - - - - - - - 3 in [2..4] - - - - - - - 4 in [2..4] - - - - - - - 5 in [2..4] - - - - - - - 1 in 1 - - - - - - - 1 in 2 - - - - - - - - 10 in (1, < 5, >=10) - - - - - - - 10 in (1, 5, 9) - - - - - - - - "a" in ["b","c","a"] - - - - - - - "a" in ["b","c","d"] - - - - - - - "b" in [["f".."h"], ["a".."c"]] - - - - - - - "i" in [["f".."h"], ["a".."c"]] - - - - - - - "a" in <= "b" - - - - - - - "b" in <= "b" - - - - - - - "c" in <= "b" - - - - - - - "a" in < "b" - - - - - - - "b" in < "b" - - - - - - - "b" in >= "a" - - - - - - - "b" in >= "b" - - - - - - - "a" in >= "b" - - - - - - - "b" in > "a" - - - - - - - "b" in > "b" - - - - - - - "a" in ("b".."d") - - - - - - - "b" in ("b".."d") - - - - - - - "c" in ("b".."d") - - - - - - - "d" in ("b".."d") - - - - - - - "e" in ("b".."d") - - - - - - - "a" in ("b".."d"] - - - - - - - "b" in ("b".."d"] - - - - - - - "c" in ("b".."d"] - - - - - - - "d" in ("b".."d"] - - - - - - - "e" in ("b".."d"] - - - - - - - "a" in ["b".."d") - - - - - - - "b" in ["b".."d") - - - - - - - "c" in ["b".."d") - - - - - - - "d" in ["b".."d") - - - - - - - "e" in ["b".."d") - - - - - - - "a" in ["b".."d"] - - - - - - - "b" in ["b".."d"] - - - - - - - "c" in ["b".."d"] - - - - - - - "d" in ["b".."d"] - - - - - - - "e" in ["b".."d"] - - - - - - - "a" in "a" - - - - - - - "a" in "b" - - - - - - - "d" in ("c", < "c", >="d") - - - - - - - "d" in ("c", >="e") - - - - - - - - true in [true, false] - - - - - - - true in [false, 2, 3] - - - - - - - true in true - - - - - - - true in false - - - - - - - - true in (false, true) - - - - - - - true in (false, false) - - - - - - - date("2018-12-08") in [date("2018-12-08"),date("2018-12-09"),date("2018-12-10")] - - - - - - - date("2018-12-11") in [date("2018-12-08"),date("2018-12-09"),date("2018-12-10")] - - - - - - - date("2018-12-11") in [[date("2018-12-05") .. date("2018-12-07")], [date("2018-12-10") .. date("2018-12-12")]] - - - - - - - date("2018-12-04") in [[date("2018-12-05") .. date("2018-12-07")], [date("2018-12-10") .. date("2018-12-12")]] - - - - - - - date("2018-12-04") in <= date("2018-12-05") - - - - - - - date("2018-12-04") in <= date("2018-12-04") - - - - - - - date("2018-12-05") in <= date("2018-12-04") - - - - - - - date("2018-12-01") in < date("2018-12-10") - - - - - - - date("2018-12-10") in < date("2018-12-10") - - - - - - - date("2018-12-11") in >= date("2018-12-10") - - - - - - - date("2018-12-10") in >= date("2018-12-10") - - - - - - - date("2018-12-09") in >= date("2018-12-10") - - - - - - - date("2018-12-11") in > date("2018-12-10") - - - - - - - date("2018-12-10") in > date("2018-12-10") - - - - - - - date("2018-12-01") in (date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-02") in (date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-03") in (date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-04") in (date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-05") in (date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-01") in (date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-02") in (date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-03") in (date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-04") in (date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-05") in (date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-01") in [date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-02") in [date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-03") in [date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-04") in [date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-05") in [date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-01") in [date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-02") in [date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-03") in [date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-04") in [date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-05") in [date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-05") in date("2018-12-05") - - - - - - - date("2018-12-05") in date("2018-12-06") - - - - - - - date("2018-12-05") in (date("2018-12-04"), >=date("2018-12-05")) - - - - - - - date("2018-12-05") in (date("2018-12-04"), >=date("2018-12-06")) - - - - - - - - time("10:30:08") in [time("10:30:08"),time("10:30:09"),time("10:30:10")] - - - - - - - time("10:30:11") in [time("10:30:08"),time("10:30:09"),time("10:30:10")] - - - - - - - time("10:30:11") in [[time("10:30:05") .. time("10:30:07")], [time("10:30:10") .. time("10:30:12")]] - - - - - - - time("10:30:04") in [[time("10:30:05") .. time("10:30:07")], [time("10:30:10") .. time("10:30:12")]] - - - - - - - time("10:30:04") in <= time("10:30:05") - - - - - - - time("10:30:04") in <= time("10:30:04") - - - - - - - time("10:30:05") in <= time("10:30:04") - - - - - - - time("10:30:01") in < time("10:30:10") - - - - - - - time("10:30:10") in < time("10:30:10") - - - - - - - time("10:30:11") in >= time("10:30:10") - - - - - - - time("10:30:10") in >= time("10:30:10") - - - - - - - time("10:30:09") in >= time("10:30:10") - - - - - - - time("10:30:11") in > time("10:30:10") - - - - - - - time("10:30:10") in > time("10:30:10") - - - - - - - time("10:30:01") in (time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:02") in (time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:03") in (time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:04") in (time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:05") in (time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:01") in (time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:02") in (time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:03") in (time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:04") in (time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:05") in (time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:01") in [time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:02") in [time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:03") in [time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:04") in [time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:05") in [time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:01") in [time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:02") in [time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:03") in [time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:04") in [time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:05") in [time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:05") in time("10:30:05") - - - - - - - time("10:30:05") in time("10:30:06") - - - - - - - time("10:30:05") in (time("10:30:04"), >=time("10:30:05")) - - - - - - - time("10:30:05") in (time("10:30:04"), >=time("10:30:06")) - - - - - - - - date and time("2018-12-08T10:30:08") in [date and time("2018-12-08T10:30:08"),date and time("2018-12-08T10:30:09"),date and time("2018-12-08T10:30:10")] - - - - - - - date and time("2018-12-08T10:30:11") in [date and time("2018-12-08T10:30:08"),date and time("2018-12-08T10:30:09"),date and time("2018-12-08T10:30:10")] - - - - - - - date and time("2018-12-08T10:30:11") in [[date and time("2018-12-08T10:30:05") .. date and time("2018-12-08T10:30:07")], [date and time("2018-12-08T10:30:10") .. date and time("2018-12-08T10:30:12")]] - - - - - - - date and time("2018-12-08T10:30:04") in [[date and time("2018-12-08T10:30:05") .. date and time("2018-12-08T10:30:07")], [date and time("2018-12-08T10:30:10") .. date and time("2018-12-08T10:30:12")]] - - - - - - - date and time("2018-12-08T10:30:04") in <= date and time("2018-12-08T10:30:05") - - - - - - - date and time("2018-12-08T10:30:04") in <= date and time("2018-12-08T10:30:04") - - - - - - - date and time("2018-12-08T10:30:05") in <= date and time("2018-12-08T10:30:04") - - - - - - - date and time("2018-12-08T10:30:01") in < date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:10") in < date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:11") in >= date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:10") in >= date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:09") in >= date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:11") in > date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:10") in > date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:01") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:02") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:03") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:04") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:01") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:02") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:03") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:04") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:01") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:02") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:03") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:04") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:05") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:01") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:02") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:03") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:04") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:05") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:05") in date and time("2018-12-08T10:30:05") - - - - - - - date and time("2018-12-08T10:30:05") in date and time("2018-12-08T10:30:06") - - - - - - - date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:04"), >=date and time("2018-12-08T10:30:05")) - - - - - - - date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:04"), >=date and time("2018-12-08T10:30:06")) - - - - - - - [1,2,3] in [[1,2,3,4], [1,2,3]] - - - - - - - [1,2,3,5] in [[1,2,3,4], [1,2,3]] - - - - - - - - - [1,2,3] in [[1,2,3], [1,2,3,4]] - - - - - - - [1,2,2] in [[1,2,3], [1,2,3,4]] - - - - - - - - - [1,2,3] in ([[1,2,3,4]], [[1,2,3,5]]) - - - - - - - - - {a: "foo"} in [{b: "bar"}, {a: "foo"}] - - - - - - - {c: "baz"} in [{b: "bar"}, {a: "foo"}] - - - - - - - {a: "foo"} in {a: "foo"} - - - - - - - {a: "foo"} in {b: "bar"} - - - - - - - {a: "foo"} in ({a: "bar"}, {a: "foo"}) - - - - - - - {a: "foo"} in ({a: "bar"}, {a: "baz"}) - - - - - - - - - duration("P8Y") in [duration("P8Y"),duration("P9Y"),duration("P10Y")] - - - - - - - duration("P11Y") in [duration("P8Y"),duration("P9Y"),duration("P10Y")] - - - - - - - duration("P11Y") in [[duration("P5Y") .. duration("P7Y")], [duration("P10Y") .. duration("P12Y")]] - - - - - - - duration("P4Y") in [[duration("P5Y") .. duration("P7Y")], [duration("P10Y") .. duration("P12Y")]] - - - - - - - duration("P4Y") in <= duration("P5Y") - - - - - - - duration("P4Y") in <= duration("P4Y") - - - - - - - duration("P5Y") in <= duration("P4Y") - - - - - - - duration("P1Y") in < duration("P10Y") - - - - - - - duration("P10Y") in < duration("P10Y") - - - - - - - duration("P11Y") in >= duration("P10Y") - - - - - - - duration("P10Y") in >= duration("P10Y") - - - - - - - duration("P9Y") in >= duration("P10Y") - - - - - - - duration("P11Y") in > duration("P10Y") - - - - - - - duration("P10Y") in > duration("P10Y") - - - - - - - duration("P1Y") in (duration("P2Y")..duration("P4Y")) - - - - - - - duration("P2Y") in (duration("P2Y")..duration("P4Y")) - - - - - - - duration("P3Y") in (duration("P2Y")..duration("P4Y")) - - - - - - - duration("P4Y") in (duration("P2Y")..duration("P4Y")) - - - - - - - duration("P5Y") in (duration("P2Y")..duration("P4Y")) - - - - - - - duration("P1Y") in (duration("P2Y")..duration("P4Y")] - - - - - - - duration("P2Y") in (duration("P2Y")..duration("P4Y")] - - - - - - - duration("P3Y") in (duration("P2Y")..duration("P4Y")] - - - - - - - duration("P4Y") in (duration("P2Y")..duration("P4Y")] - - - - - - - duration("P5Y") in (duration("P2Y")..duration("P4Y")] - - - - - - - duration("P1Y") in [duration("P2Y")..duration("P4Y")) - - - - - - - duration("P2Y") in [duration("P2Y")..duration("P4Y")) - - - - - - - duration("P3Y") in [duration("P2Y")..duration("P4Y")) - - - - - - - duration("P4Y") in [duration("P2Y")..duration("P4Y")) - - - - - - - duration("P5Y") in [duration("P2Y")..duration("P4Y")) - - - - - - - duration("P1Y") in [duration("P2Y")..duration("P4Y")] - - - - - - - duration("P2Y") in [duration("P2Y")..duration("P4Y")] - - - - - - - duration("P3Y") in [duration("P2Y")..duration("P4Y")] - - - - - - - duration("P4Y") in [duration("P2Y")..duration("P4Y")] - - - - - - - duration("P5Y") in [duration("P2Y")..duration("P4Y")] - - - - - - - duration("P5Y") in duration("P5Y") - - - - - - - duration("P5Y") in duration("P6Y") - - - - - - - duration("P5Y") in (duration("P4Y"), >=duration("P5Y")) - - - - - - - duration("P5Y") in (duration("P4Y"), >=duration("P6Y")) - - - - - - - - duration("P8D") in [duration("P8D"),duration("P9D"),duration("P10D")] - - - - - - - duration("P11D") in [duration("P8D"),duration("P9D"),duration("P10D")] - - - - - - - duration("P11D") in [[duration("P5D") .. duration("P7D")], [duration("P10D") .. duration("P12D")]] - - - - - - - duration("P4D") in [[duration("P5D") .. duration("P7D")], [duration("P10D") .. duration("P12D")]] - - - - - - - duration("P4D") in <= duration("P5D") - - - - - - - duration("P4D") in <= duration("P4D") - - - - - - - duration("P5D") in <= duration("P4D") - - - - - - - duration("P1D") in < duration("P10D") - - - - - - - duration("P10D") in < duration("P10D") - - - - - - - duration("P11D") in >= duration("P10D") - - - - - - - duration("P10D") in >= duration("P10D") - - - - - - - duration("P9D") in >= duration("P10D") - - - - - - - duration("P11D") in > duration("P10D") - - - - - - - duration("P10D") in > duration("P10D") - - - - - - - duration("P1D") in (duration("P2D")..duration("P4D")) - - - - - - - duration("P2D") in (duration("P2D")..duration("P4D")) - - - - - - - duration("P3D") in (duration("P2D")..duration("P4D")) - - - - - - - duration("P4D") in (duration("P2D")..duration("P4D")) - - - - - - - duration("P5D") in (duration("P2D")..duration("P4D")) - - - - - - - duration("P1D") in (duration("P2D")..duration("P4D")] - - - - - - - duration("P2D") in (duration("P2D")..duration("P4D")] - - - - - - - duration("P3D") in (duration("P2D")..duration("P4D")] - - - - - - - duration("P4D") in (duration("P2D")..duration("P4D")] - - - - - - - duration("P5D") in (duration("P2D")..duration("P4D")] - - - - - - - duration("P1D") in [duration("P2D")..duration("P4D")) - - - - - - - duration("P2D") in [duration("P2D")..duration("P4D")) - - - - - - - duration("P3D") in [duration("P2D")..duration("P4D")) - - - - - - - duration("P4D") in [duration("P2D")..duration("P4D")) - - - - - - - duration("P5D") in [duration("P2D")..duration("P4D")) - - - - - - - duration("P1D") in [duration("P2D")..duration("P4D")] - - - - - - - duration("P2D") in [duration("P2D")..duration("P4D")] - - - - - - - duration("P3D") in [duration("P2D")..duration("P4D")] - - - - - - - duration("P4D") in [duration("P2D")..duration("P4D")] - - - - - + + FEEL in + + + + + 1 in [2,3,1] + + + + + + + 1 in [2,3,4] + + + + + + + 1 in [[2..4], [1..3]] + + + + + + + 5 in [[2..4], [1..3]] + + + + + + + 1 in <= 10 + + + + + + + 10 in <= 10 + + + + + + + 11 in <= 10 + + + + + + + 1 in < 10 + + + + + + + 10 in < 10 + + + + + + + 11 in >= 10 + + + + + + + 10 in >= 10 + + + + + + + 9 in >= 10 + + + + + + + 11 in > 10 + + + + + + + 10 in > 10 + + + + + + + 1 in (2..4) + + + + + + + 2 in (2..4) + + + + + + + 3 in (2..4) + + + + + + + 4 in (2..4) + + + + + + + 5 in (2..4) + + + + + + + 1 in (2..4] + + + + + + + 2 in (2..4] + + + + + + + 3 in (2..4] + + + + + + + 4 in (2..4] + + + + + + + 5 in (2..4] + + + + + + + 1 in [2..4) + + + + + + + 2 in [2..4) + + + + + + + 3 in [2..4) + + + + + + + 4 in [2..4) + + + + + + + 5 in [2..4) + + + + + + + 1 in [2..4] + + + + + + + 2 in [2..4] + + + + + + + 3 in [2..4] + + + + + + + 4 in [2..4] + + + + + + + 5 in [2..4] + + + + + + + 1 in 1 + + + + + + + 1 in 2 + + + + + + + 10 in (1, < 5, >=10) + + + + + + + 10 in (1, 5, 9) + + + + + + + "a" in ["b","c","a"] + + + + + + + "a" in ["b","c","d"] + + + + + + + "b" in [["f".."h"], ["a".."c"]] + + + + + + + "i" in [["f".."h"], ["a".."c"]] + + + + + + + "a" in <= "b" + + + + + + + "b" in <= "b" + + + + + + + "c" in <= "b" + + + + + + + "a" in < "b" + + + + + + + "b" in < "b" + + + + + + + "b" in >= "a" + + + + + + + "b" in >= "b" + + + + + + + "a" in >= "b" + + + + + + + "b" in > "a" + + + + + + + "b" in > "b" + + + + + + + "a" in ("b".."d") + + + + + + + "b" in ("b".."d") + + + + + + + "c" in ("b".."d") + + + + + + + "d" in ("b".."d") + + + + + + + "e" in ("b".."d") + + + + + + + "a" in ("b".."d"] + + + + + + + "b" in ("b".."d"] + + + + + + + "c" in ("b".."d"] + + + + + + + "d" in ("b".."d"] + + + + + + + "e" in ("b".."d"] + + + + + + + "a" in ["b".."d") + + + + + + + "b" in ["b".."d") + + + + + + + "c" in ["b".."d") + + + + + + + "d" in ["b".."d") + + + + + + + "e" in ["b".."d") + + + + + + + "a" in ["b".."d"] + + + + + + + "b" in ["b".."d"] + + + + + + + "c" in ["b".."d"] + + + + + + + "d" in ["b".."d"] + + + + + + + "e" in ["b".."d"] + + + + + + + "a" in "a" + + + + + + + "a" in "b" + + + + + + + "d" in ("c", < "c", >="d") + + + + + + + "d" in ("c", >="e") + + + + + + + true in [true, false] + + + + + + + true in [false, 2, 3] + + + + + + + true in true + + + + + + + true in false + + + + + + + true in (false, true) + + + + + + + true in (false, false) + + + + + + + date("2018-12-08") in [date("2018-12-08"),date("2018-12-09"),date("2018-12-10")] + + + + + + + date("2018-12-11") in [date("2018-12-08"),date("2018-12-09"),date("2018-12-10")] + + + + + + + date("2018-12-11") in [[date("2018-12-05") .. date("2018-12-07")], [date("2018-12-10") .. date("2018-12-12")]] + + + + + + + date("2018-12-04") in [[date("2018-12-05") .. date("2018-12-07")], [date("2018-12-10") .. date("2018-12-12")]] + + + + + + + date("2018-12-04") in <= date("2018-12-05") + + + + + + + date("2018-12-04") in <= date("2018-12-04") + + + + + + + date("2018-12-05") in <= date("2018-12-04") + + + + + + + date("2018-12-01") in < date("2018-12-10") + + + + + + + date("2018-12-10") in < date("2018-12-10") + + + + + + + date("2018-12-11") in >= date("2018-12-10") + + + + + + + date("2018-12-10") in >= date("2018-12-10") + + + + + + + date("2018-12-09") in >= date("2018-12-10") + + + + + + + date("2018-12-11") in > date("2018-12-10") + + + + + + + date("2018-12-10") in > date("2018-12-10") + + + + + + + date("2018-12-01") in (date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-02") in (date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-03") in (date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-04") in (date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-05") in (date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-01") in (date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-02") in (date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-03") in (date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-04") in (date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-05") in (date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-01") in [date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-02") in [date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-03") in [date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-04") in [date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-05") in [date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-01") in [date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-02") in [date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-03") in [date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-04") in [date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-05") in [date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-05") in date("2018-12-05") + + + + + + + date("2018-12-05") in date("2018-12-06") + + + + + + + date("2018-12-05") in (date("2018-12-04"), >=date("2018-12-05")) + + + + + + + date("2018-12-05") in (date("2018-12-04"), >=date("2018-12-06")) + + + + + + + time("10:30:08") in [time("10:30:08"),time("10:30:09"),time("10:30:10")] + + + + + + + time("10:30:11") in [time("10:30:08"),time("10:30:09"),time("10:30:10")] + + + + + + + time("10:30:11") in [[time("10:30:05") .. time("10:30:07")], [time("10:30:10") .. time("10:30:12")]] + + + + + + + time("10:30:04") in [[time("10:30:05") .. time("10:30:07")], [time("10:30:10") .. time("10:30:12")]] + + + + + + + time("10:30:04") in <= time("10:30:05") + + + + + + + time("10:30:04") in <= time("10:30:04") + + + + + + + time("10:30:05") in <= time("10:30:04") + + + + + + + time("10:30:01") in < time("10:30:10") + + + + + + + time("10:30:10") in < time("10:30:10") + + + + + + + time("10:30:11") in >= time("10:30:10") + + + + + + + time("10:30:10") in >= time("10:30:10") + + + + + + + time("10:30:09") in >= time("10:30:10") + + + + + + + time("10:30:11") in > time("10:30:10") + + + + + + + time("10:30:10") in > time("10:30:10") + + + + + + + time("10:30:01") in (time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:02") in (time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:03") in (time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:04") in (time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:05") in (time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:01") in (time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:02") in (time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:03") in (time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:04") in (time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:05") in (time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:01") in [time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:02") in [time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:03") in [time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:04") in [time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:05") in [time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:01") in [time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:02") in [time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:03") in [time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:04") in [time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:05") in [time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:05") in time("10:30:05") + + + + + + + time("10:30:05") in time("10:30:06") + + + + + + + time("10:30:05") in (time("10:30:04"), >=time("10:30:05")) + + + + + + + time("10:30:05") in (time("10:30:04"), >=time("10:30:06")) + + + + + + + date and time("2018-12-08T10:30:08") in [date and time("2018-12-08T10:30:08"),date and time("2018-12-08T10:30:09"),date and time("2018-12-08T10:30:10")] + + + + + + + date and time("2018-12-08T10:30:11") in [date and time("2018-12-08T10:30:08"),date and time("2018-12-08T10:30:09"),date and time("2018-12-08T10:30:10")] + + + + + + + date and time("2018-12-08T10:30:11") in [[date and time("2018-12-08T10:30:05") .. date and time("2018-12-08T10:30:07")], [date and time("2018-12-08T10:30:10") .. date and time("2018-12-08T10:30:12")]] + + + + + + + date and time("2018-12-08T10:30:04") in [[date and time("2018-12-08T10:30:05") .. date and time("2018-12-08T10:30:07")], [date and time("2018-12-08T10:30:10") .. date and time("2018-12-08T10:30:12")]] + + + + + + + date and time("2018-12-08T10:30:04") in <= date and time("2018-12-08T10:30:05") + + + + + + + date and time("2018-12-08T10:30:04") in <= date and time("2018-12-08T10:30:04") + + + + + + + date and time("2018-12-08T10:30:05") in <= date and time("2018-12-08T10:30:04") + + + + + + + date and time("2018-12-08T10:30:01") in < date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:10") in < date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:11") in >= date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:10") in >= date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:09") in >= date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:11") in > date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:10") in > date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:01") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:02") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:03") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:04") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:01") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:02") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:03") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:04") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:01") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:02") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:03") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:04") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:05") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:01") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:02") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:03") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:04") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:05") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:05") in date and time("2018-12-08T10:30:05") + + + + + + + date and time("2018-12-08T10:30:05") in date and time("2018-12-08T10:30:06") + + + + + + + date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:04"), >=date and time("2018-12-08T10:30:05")) + + + + + + + date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:04"), >=date and time("2018-12-08T10:30:06")) + + + + + + + [1,2,3] in [[1,2,3,4], [1,2,3]] + + + + + + + [1,2,3,5] in [[1,2,3,4], [1,2,3]] + + + + - - + + + + [1,2,3] in [[1,2,3], [1,2,3,4]] + + + + + + + [1,2,2] in [[1,2,3], [1,2,3,4]] + + + + - - - - duration("P5D") in duration("P6D") - - + + + + [1,2,3] in ([[1,2,3,4]], [[1,2,3,5]]) + + - - + + + + + {a: "foo"} in [{b: "bar"}, {a: "foo"}] + + + + + + + {c: "baz"} in [{b: "bar"}, {a: "foo"}] + + + + + + + {a: "foo"} in {a: "foo"} + + + + + + + {a: "foo"} in {b: "bar"} + + + + + + + {a: "foo"} in ({a: "bar"}, {a: "foo"}) + + + + + + + {a: "foo"} in ({a: "bar"}, {a: "baz"}) + + + + + + + duration("P8Y") in [duration("P8Y"),duration("P9Y"),duration("P10Y")] + + + + + + + duration("P11Y") in [duration("P8Y"),duration("P9Y"),duration("P10Y")] + + + + + + + duration("P11Y") in [[duration("P5Y") .. duration("P7Y")], [duration("P10Y") .. duration("P12Y")]] + + + + + + + duration("P4Y") in [[duration("P5Y") .. duration("P7Y")], [duration("P10Y") .. duration("P12Y")]] + + + + + + + duration("P4Y") in <= duration("P5Y") + + + + + + + duration("P4Y") in <= duration("P4Y") + + + + + + + duration("P5Y") in <= duration("P4Y") + + + + + + + duration("P1Y") in < duration("P10Y") + + + + + + + duration("P10Y") in < duration("P10Y") + + + + + + + duration("P11Y") in >= duration("P10Y") + + + + + + + duration("P10Y") in >= duration("P10Y") + + + + + + + duration("P9Y") in >= duration("P10Y") + + + + + + + duration("P11Y") in > duration("P10Y") + + + + + + + duration("P10Y") in > duration("P10Y") + + + + + + + duration("P1Y") in (duration("P2Y")..duration("P4Y")) + + + + + + + duration("P2Y") in (duration("P2Y")..duration("P4Y")) + + + + + + + duration("P3Y") in (duration("P2Y")..duration("P4Y")) + + + + + + + duration("P4Y") in (duration("P2Y")..duration("P4Y")) + + + + + + + duration("P5Y") in (duration("P2Y")..duration("P4Y")) + + + + + + + duration("P1Y") in (duration("P2Y")..duration("P4Y")] + + + + + + + duration("P2Y") in (duration("P2Y")..duration("P4Y")] + + + + + + + duration("P3Y") in (duration("P2Y")..duration("P4Y")] + + + + + + + duration("P4Y") in (duration("P2Y")..duration("P4Y")] + + + + + + + duration("P5Y") in (duration("P2Y")..duration("P4Y")] + + + + + + + duration("P1Y") in [duration("P2Y")..duration("P4Y")) + + + + + + + duration("P2Y") in [duration("P2Y")..duration("P4Y")) + + + + + + + duration("P3Y") in [duration("P2Y")..duration("P4Y")) + + + + + + + duration("P4Y") in [duration("P2Y")..duration("P4Y")) + + + + + + + duration("P5Y") in [duration("P2Y")..duration("P4Y")) + + + + + + + duration("P1Y") in [duration("P2Y")..duration("P4Y")] + + + + + + + duration("P2Y") in [duration("P2Y")..duration("P4Y")] + + + + + + + duration("P3Y") in [duration("P2Y")..duration("P4Y")] + + + + + + + duration("P4Y") in [duration("P2Y")..duration("P4Y")] + + + + + + + duration("P5Y") in [duration("P2Y")..duration("P4Y")] + + + + + + + duration("P5Y") in duration("P5Y") + + + + + + + duration("P5Y") in duration("P6Y") + + + + + + + duration("P5Y") in (duration("P4Y"), >=duration("P5Y")) + + + + + + + duration("P5Y") in (duration("P4Y"), >=duration("P6Y")) + + + + + + + duration("P8D") in [duration("P8D"),duration("P9D"),duration("P10D")] + + + + + + + duration("P11D") in [duration("P8D"),duration("P9D"),duration("P10D")] + + + + + + + duration("P11D") in [[duration("P5D") .. duration("P7D")], [duration("P10D") .. duration("P12D")]] + + + + + + + duration("P4D") in [[duration("P5D") .. duration("P7D")], [duration("P10D") .. duration("P12D")]] + + + + + + + duration("P4D") in <= duration("P5D") + + + + + + + duration("P4D") in <= duration("P4D") + + + + + + + duration("P5D") in <= duration("P4D") + + + + + + + duration("P1D") in < duration("P10D") + + + + + + + duration("P10D") in < duration("P10D") + + + + + + + duration("P11D") in >= duration("P10D") + + + + + + + duration("P10D") in >= duration("P10D") + + + + + + + duration("P9D") in >= duration("P10D") + + + + + + + duration("P11D") in > duration("P10D") + + + + + + + duration("P10D") in > duration("P10D") + + + + + + + duration("P1D") in (duration("P2D")..duration("P4D")) + + + + + + + duration("P2D") in (duration("P2D")..duration("P4D")) + + + + + + + duration("P3D") in (duration("P2D")..duration("P4D")) + + + + + + + duration("P4D") in (duration("P2D")..duration("P4D")) + + + + + + + duration("P5D") in (duration("P2D")..duration("P4D")) + + + + + + + duration("P1D") in (duration("P2D")..duration("P4D")] + + + + + + + duration("P2D") in (duration("P2D")..duration("P4D")] + + + + + + + duration("P3D") in (duration("P2D")..duration("P4D")] + + + + + + + duration("P4D") in (duration("P2D")..duration("P4D")] + + + + + + + duration("P5D") in (duration("P2D")..duration("P4D")] + + + + + + + duration("P1D") in [duration("P2D")..duration("P4D")) + + + + + + + duration("P2D") in [duration("P2D")..duration("P4D")) + + + + + + + duration("P3D") in [duration("P2D")..duration("P4D")) + + + + + + + duration("P4D") in [duration("P2D")..duration("P4D")) + + + + + + + duration("P5D") in [duration("P2D")..duration("P4D")) + + + + + + + duration("P1D") in [duration("P2D")..duration("P4D")] + + + + + + + duration("P2D") in [duration("P2D")..duration("P4D")] + + + + + + + duration("P3D") in [duration("P2D")..duration("P4D")] + + + + + + + duration("P4D") in [duration("P2D")..duration("P4D")] + + + + + + + duration("P5D") in [duration("P2D")..duration("P4D")] + + + + + + + duration("P5D") in duration("P5D") + + + + + + + duration("P5D") in duration("P6D") + + + + + + + duration("P5D") in (duration("P4D"), >=duration("P5D")) + + + + + + + duration("P5D") in (duration("P4D"), >=duration("P6D")) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0073-feel-comments.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0073-feel-comments.dmn index c8d82b236d3..10ef5c0079e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0073-feel-comments.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0073-feel-comments.dmn @@ -1,4 +1,4 @@ - + - + FEEL in - + - - + + 1 + /* 1 + */ 1 - - + + 1 + // eol comment 1 - - + + /* some intro waffle */ 1 + 1 // and stuff @@ -45,38 +56,38 @@ - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0074-feel-properties.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0074-feel-properties.dmn index 93478b99861..62d13e49f46 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0074-feel-properties.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0074-feel-properties.dmn @@ -1,4 +1,4 @@ - + - + FEEL properties - + - - + + {a: "foo"}.a - - + + date("2018-12-10").year - - + + date("2018-12-10").month - - + + date("2018-12-10").day - - + + date("2018-12-10").weekday - - + + date and time("2018-12-10T10:30:01").year - - + + date and time("2018-12-10T10:30:01").month - - + + date and time("2018-12-10T10:30:01").day - - + + date and time("2018-12-10T10:30:01").weekday - - + + date and time("2018-12-10T10:30:01").hour - - + + date and time("2018-12-10").hour - - + + date and time("2018-12-10T10:30:01").minute - - + + date and time("2018-12-10").minute - - + + date and time("2018-12-10T10:30:01").second - - + + date and time("2018-12-10").second - - + + date and time("2018-12-10T10:30:00+05:00").time offset - - + + date and time("2018-12-10T10:30:00").time offset - - + + date and time("2018-12-10T10:30:00@Etc/UTC").timezone - - + + date and time("2018-12-10T10:30:00").timezone - - + + time("10:30:01").hour - - + + time("10:30:01").minute - - + + time("10:30:01").second - - + + time("10:30:00+05:00").time offset - - + + time("10:30:00").time offset - - + + time("10:30:00@Etc/UTC").timezone - - + + time("10:30:00").timezone - - + + duration("P1Y2M").years - - + + duration("P2M").years - - + + duration("P2M").months - - + + duration("P1Y").months - - + + duration("P1Y").days - - + + duration("P1Y").hours - - + + duration("P1Y").minutes - - + + duration("P1Y").seconds - - + + duration("P1D").years - - + + duration("P1D").months - - + + duration("P1D").days - - + + duration("PT2H").days - - + + duration("PT2H").hours - - + + duration("P1D").hours - - + + duration("PT2M").minutes - - + + duration("P1D").minutes - - + + duration("PT2S").seconds - - + + duration("P1D").seconds @@ -332,448 +343,448 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0075-feel-exponent.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0075-feel-exponent.dmn index ad2a260f4fc..093154a91b2 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0075-feel-exponent.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0075-feel-exponent.dmn @@ -1,4 +1,4 @@ - + - + FEEL properties - + - - + + 3 ** 4 ** 5 - - + + -3 ** 2 - - + + "foo" ** 4 - - + + true ** 4 - - + + date("2018-12-10") ** 4 - - + + time("10:30:00") ** 4 - - + + date and time("2018-12-10") ** 4 - - + + duration("P2Y") ** 4 - - + + duration("P2D") ** 4 - - + + {a: 2} ** 4 - - + + [2] ** 4 - - + + (function() "foo") ** 4 @@ -108,128 +119,128 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0076-feel-external-java.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0076-feel-external-java.dmn index 07290197b00..f1201bc0c39 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0076-feel-external-java.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0076-feel-external-java.dmn @@ -1,4 +1,4 @@ - + - + FEEL external Java functions - + - - + + - + - - + + - + "java.lang.Math" - + "max(double, double)" @@ -53,11 +64,11 @@ - - + + - + function(n1) external {java:{class:"java.lang.Math",method signature:"cos(double)"}} @@ -70,11 +81,11 @@ - - + + - + function(n1) external {java:{class:"java.lang.Math",method signature:"foo(double)"}} @@ -87,11 +98,11 @@ - - + + - + function(n1) external {java:{class:"java.lang.Foo",method signature:"valueOf(double)"}} @@ -104,13 +115,14 @@ - - + + - + - function(s1, s2) external {java:{class:"java.lang.Math",method signature:"max(java.lang.String, java.lang.String)"}} + function(s1, s2) external {java:{class:"java.lang.Math",method signature:"max(java.lang.String, java.lang.String)"}} @@ -121,13 +133,14 @@ - - + + - + - function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(double,double)"}} + function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(double,double)"}} @@ -138,13 +151,14 @@ - - + + - + - function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(double,double)"}} + function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(double,double)"}} @@ -155,11 +169,11 @@ - - + + - + function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(int,int)"}} @@ -172,11 +186,11 @@ - - + + - + function(s1) external {java:{class:"java.lang.Short",method signature:"valueOf(short)"}} @@ -189,11 +203,11 @@ - - + + - + function(b1) external {java:{class:"java.lang.Byte",method signature:"valueOf(byte)"}} @@ -206,11 +220,11 @@ - - + + - + function(c1) external {java:{class:"java.lang.String",method signature:"valueOf(char)"}} @@ -223,11 +237,11 @@ - - + + - + function(c1) external {java:{class:"java.lang.String",method signature:"valueOf(char)"}} @@ -240,13 +254,14 @@ - - + + - + - function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(long,long)"}} + function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(long,long)"}} @@ -257,13 +272,14 @@ - - + + - + - function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(float,float)"}} + function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(float,float)"}} @@ -274,13 +290,14 @@ - - + + - + - function(n1) external {java:{class:"java.lang.Integer",method signature:"valueOf(java.lang.String)"}} + function(n1) external {java:{class:"java.lang.Integer",method signature:"valueOf(java.lang.String)"}} @@ -291,13 +308,14 @@ - - + + - + - function(n1) external {java:{class:"java.lang.Float",method signature:"valueOf(java.lang.String)"}} + function(n1) external {java:{class:"java.lang.Float",method signature:"valueOf(java.lang.String)"}} @@ -308,13 +326,14 @@ - - + + - + - function(n1) external {java:{class:"java.lang.Double",method signature:"valueOf(java.lang.String)"}} + function(n1) external {java:{class:"java.lang.Double",method signature:"valueOf(java.lang.String)"}} @@ -325,13 +344,14 @@ - - + + - + - function(s1, n1) external {java:{class:"java.lang.String",method signature:"format(java.lang.String, [Ljava.lang.Object;)"}} + function(s1, n1) external {java:{class:"java.lang.String",method signature:"format(java.lang.String, [Ljava.lang.Object;)"}} @@ -345,227 +365,227 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0077-feel-nan.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0077-feel-nan.dmn index 36c72ebd599..bee3b56a2b4 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0077-feel-nan.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0077-feel-nan.dmn @@ -1,4 +1,4 @@ - + - + FEEL NaN - + - - + + 0.0 / 0.0 @@ -31,18 +42,18 @@ - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0078-feel-infinity.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0078-feel-infinity.dmn index 427ac986b02..d419d8157fc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0078-feel-infinity.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0078-feel-infinity.dmn @@ -1,4 +1,4 @@ - + - + FEEL Infinity - + - - + + 1.0 / 0.0 - - + + -1.0 / 0.0 @@ -38,28 +49,28 @@ - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0080-feel-getvalue-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0080-feel-getvalue-function.dmn index bd51afe56ce..7b69d7cc717 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0080-feel-getvalue-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0080-feel-getvalue-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'get value(m, key)' in unspecified category - + Tests FEEL expression: 'get value()' and expects result: 'null' - + Result of FEEL expression 'get value()'? null - + get value() Tests FEEL expression: 'get value({a: "foo"})' and expects result: 'null' - + Result of FEEL expression 'get value({a: "foo"})'? null - + get value({a: "foo"}) - Tests FEEL expression: 'get value({a: "foo"}, "a", "bar")' and expects result: 'null' - + Tests FEEL expression: 'get value({a: "foo"}, "a", "bar")' and expects result: 'null' + Result of FEEL expression 'get value({a: "foo"}, "a", "bar")'? null - + get value({a: "foo"}, "a", "bar") Tests FEEL expression: 'get value({a: "foo"}, "a")' and expects result: 'foo' - + Result of FEEL expression 'get value({a: "foo"}, "a")'? foo - + get value({a: "foo"}, "a") Tests FEEL expression: 'get value("foo", "foo")' and expects result: 'null' - + Result of FEEL expression 'get value("foo", "foo")'? null - + get value("foo", "foo") Tests FEEL expression: 'get value({a: "foo"}, 123)' and expects result: 'null' - + Result of FEEL expression 'get value({a: "foo"}, 123)'? null - + get value({a: "foo"}, 123) Tests FEEL expression: 'get value(null, "a")' and expects result: 'null' - + Result of FEEL expression 'get value(null, "a")'? null - + get value(null, "a") Tests FEEL expression: 'get value({a: "foo"}, null)' and expects result: 'null' - + Result of FEEL expression 'get value({a: "foo"}, null)'? null - + get value({a: "foo"}, null) Tests FEEL expression: 'get value(null, null)' and expects result: 'null' - + Result of FEEL expression 'get value(null, null)'? null - + get value(null, null) Tests FEEL expression: 'get value({a: null}, "a")' and expects result: 'null' - + Result of FEEL expression 'get value({a: null}, "a")'? null - + get value({a: null}, "a") @@ -124,108 +136,108 @@ - - - - - - - - - - + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0081-feel-getentries-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0081-feel-getentries-function.dmn index 4fab7235a32..9204eee6563 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0081-feel-getentries-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0081-feel-getentries-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'get entries(m)' in unspecified category - + Tests FEEL expression: 'get entries()' and expects result: 'null' - + Result of FEEL expression 'get entries()'? null - + get entries() - Tests FEEL expression: 'get entries({a: "foo"}, {b: "bar"})' and expects result: 'null' - + Tests FEEL expression: 'get entries({a: "foo"}, {b: "bar"})' and expects result: 'null' + Result of FEEL expression 'get entries({a: "foo"}, {b: "bar"})'? null - + get entries({a: "foo"}, {b: "bar"}) Tests FEEL expression: 'get entries(null)' and expects result: 'null' - + Result of FEEL expression 'get entries(null)'? null - + get entries(null) - Tests FEEL expression: 'get entries({a: "foo", b: "bar"})' and expects result: '[{key: "a": value: "foo"}, {key: "b": value: "bar"}]' - + Tests FEEL expression: 'get entries({a: "foo", b: "bar"})' and expects result: '[{key: "a": value: "foo"}, {key: "b": value: "bar"}]' + Result of FEEL expression 'get entries({a: "foo", b: "bar"})'? [{key: "a": value: "foo"}, {key: "b": value: "bar"}] - + get entries({a: "foo", b: "bar"}) Tests FEEL expression: 'get entries(123)' and expects result: 'null' - + Result of FEEL expression 'get entries(123)'? null - + get entries(123) Tests FEEL expression: 'get entries([1,2,3])' and expects result: 'null' - + Result of FEEL expression 'get entries([1,2,3])'? null - + get entries([1,2,3]) Tests FEEL expression: 'get entries({})' and expects result: '[]' - + Result of FEEL expression 'get entries({})'? [] - + get entries({}) @@ -94,78 +107,78 @@ - - - - - - - + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0082-feel-coercion.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0082-feel-coercion.dmn index 4a6b5a510dd..2e84491154e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0082-feel-coercion.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0082-feel-coercion.dmn @@ -1,4 +1,4 @@ - + - - FEEL type conformance of DT and BKM results - - - number - - + + FEEL type conformance of DT and BKM results + + + number + + + string + + + string - - - - string - - - - - string - - - number - - - - - - - - - - - - - - - - - - - - - - - - 1+1 - - - - - - - [1,2,"foo"] - - - - - - - {name: "foo", surname: "bar", age: 10} - - - - - - - {name: "foo"} - - - - - - - "foo" - - - - - - - "foo" - - - - - - - ["foo"] - - - - - - - [1] - - - - - - - null - - - - - - - - - nameAndAge != null - - - - - - - - - - - bkm_001({name: "foo", surname: "bar", age: 10}) - - - - - - - - - - bkm_001({name: "foo"}) - - - - - - - - - nameAndAge != null - - - - - - - - - - - bkm_002({name: "foo"}) - - - - - - - - - arg - - - - - - - - - - [arg] - - - - - - - - - - - bkm_004(10) - - - - - - - - - - bkm_004("foo") - - - - - - - - - - bkm_004(null) - - - - - - - - - - bkm_005(10) - - - - - - - - - - bkm_005("foo") - - - - - - - - - - - bkm_001 - - - - - {name: "foo"} - - - - - - - - - - - - - bkm_001 - - - - - {name: "foo", age: 10} - - - - - - - - - - - - - bkm_005 - - - - - 10 - - - - - - - - - - - - - bkm_005 - - - - - "foo" - - - - - - - - - - - - - bkm_005 - - - - - [10] - - - - - - - - - - - - - bkm_005 - - - - - ["foo"] - - - - - - - - - - - - function(arg: number) arg - - - - - fn(10) - - - - - - - - - - - - function(arg: number) arg - - - - - fn("foo") - - - - - - - - - 5+5 - - - - - - - "foo" - - - - - - - 10 + + + + + string + + + number + + + + + + + + + + + + + + + + + + + + + + + + 1+1 + + + + + + + [1,2,"foo"] + + + + + + + {name: "foo", surname: "bar", age: 10} + + + + + + + {name: "foo"} + + + + + + + "foo" + + + + + + + "foo" + + + + + + + ["foo"] + + + + + + + [1] + + + + + + + null + + + + + + + + + nameAndAge != null - - - - - - "foo" + + + + + + + + + + bkm_001({name: "foo", surname: "bar", age: 10}) + + + + + + + + + + bkm_001({name: "foo"}) + + + + + + + + + nameAndAge != null - - - - - - [10] + + + + + + + + + + bkm_002({name: "foo"}) + + + + + + + + + arg - - - - - - ["foo"] + + + + + + + + + [arg] - - - - - - 1000 + + + + + + + + + + bkm_004(10) + + + + + + + + + + bkm_004("foo") + + + + + + + + + + bkm_004(null) + + + + + + + + + + bkm_005(10) + + + + + + + + + + bkm_005("foo") + + + + + + + + + + + bkm_001 - - - - - - - - - decisionService_002_input_1 + + + + {name: "foo"} + + + + + + + + + + + + + bkm_001 - - - - - - - - - - - - - decisionService_002(10) + + + + {name: "foo", age: 10} + + + + + + + + + + + + + bkm_005 - - - - - - - - - decisionService_002(["foo"]) + + + + 10 + + + + + + + + + + + + + bkm_005 - - - - - - - - - decisionService_003_input_1 + + + + "foo" + + + + + + + + + + + + + bkm_005 - - - - - - - - - - - - - decisionService_003("foo") + + + + [10] + + + + + + + + + + + + + bkm_005 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + ["foo"] + + + + + + + + + + + + function(arg: number) arg + + + + + fn(10) + + + + + + + + + + + + function(arg: number) arg + + + + + fn("foo") + + + + + + + + + 5+5 + + + + + + + "foo" + + + + + + + 10 + + + + + + + "foo" + + + + + + + [10] + + + + + + + ["foo"] + + + + + + + 1000 + + + + + + + + + + decisionService_002_input_1 + + + + + + + + + + + + + + decisionService_002(10) + + + + + + + + + + decisionService_002(["foo"]) + + + + + + + + + + decisionService_003_input_1 + + + + + + + + + + + + + + decisionService_003("foo") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0083-feel-unicode.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0083-feel-unicode.dmn index 6e3594e8780..a47a6dd1e75 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0083-feel-unicode.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0083-feel-unicode.dmn @@ -1,4 +1,4 @@ - + - + FEEL unicode tests - + - - + + string length(" ") - - + + string length("\u0009") - - + + string length("💩") - - + + string length("💩") - - + + string length("🐎😀") - - + + string length("🐎😀") - - + + contains("🐎😀", "😀") - - + + contains("🐎😀", "😀") - - + + {🐎: "bar"} - - + + {🐎: "😀"} - - + + ends with("🐎😀", "😀") - - + + ends with("🐎😀", "😀") @@ -108,128 +119,128 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0084-feel-for-loops.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0084-feel-for-loops.dmn index 352ee1c8a66..f6f553a8dc5 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0084-feel-for-loops.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0084-feel-for-loops.dmn @@ -1,4 +1,4 @@ - + - + FEEL for loops - + - - + + for i in [1,2,3] return i + 1 - - + + for i in [1,2,3], j in [4,5] return i + j - - + + for i in [] return i - - + + for i in 2..4 return i - - + + for i in 4..2 return i - - + + for i in -1..1 return i - - + + for i in 1..-1 return i - - + + for i in 1..1 return i - - + + for i in 1+1..1+3 return i - - + + for i in 0..4 return if i = 0 then 1 else i * partial[-1] @@ -94,108 +105,108 @@ - - - - - - - - - - + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0085-decision-services.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0085-decision-services.dmn index 6f253929c75..09b5a87d635 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0085-decision-services.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0085-decision-services.dmn @@ -1,4 +1,4 @@ - + - - Decision Services - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "foo" - - - - - - - - - - "foo " + decision_002_input - - - - - - - "bar" - - - - - - - - - - - - - - - - "A " + decision_003_input_1 + " " + decision_003_input_2 + " " + inputData_003 - - - - - - - "d3_1" - - - - - - - "d3_2" - - - - - - - - - - - - - - decisionService_004() - - - - - - - "foo" - - - - - - - - - - decisionService_005("bar") - - - - - - - "foo" - - - - - - - - - - decisionService_006("bar") - - - - - - - - - - "foo " + decision_006_3 - - - - - - - "I never get invoked" - - - - - - - - - - decisionService_007(123) - - - - - - - - - - decision_007_3 = null - - - - - - - "I never get invoked" - - - - - - - - - - decisionService_008() - - - - - - - - - - decision_008_3 = null - - - - - - - "I never get invoked" - - - - - - - - - - decisionService_009(decision_009_3: "bar") - - - - - - - - - - "foo " + decision_009_3 - - - - - - - "I never get invoked" - - - - - - - - - - decisionService_010(foo: "bar") - - - - - - - - - - "foo " + decision_010_3 - - - - - - - "I never get invoked" - - - - - - - - - - decisionService_011("A", "B", "C", "D") - - - - - - - - - - - - - - - - - - - inputData_011_1 + " " + inputData_011_2 + " " + decision_011_3 + " " + decision_011_4 - - - - - - - "I never get invoked" - - - - - - - "I never get invoked" - - - - - - - - - - - - - - - - - - decisionService_012(decision_012_3: "C", inputData_012_1: "A", decision_012_4: "D", inputData_012_2: "B") - - - - - - - - - - - - - - - - - - - inputData_012_1 + " " + inputData_012_2 + " " + decision_012_3 + " " + decision_012_4 - - - - - - - "I never get invoked" - - - - - - - "I never get invoked" - - - - - - - - - - - - - - - - - - - - - - - - - - - decisionService_013("A", "B") - - - - - - inputData_013_1 - - - - - - decision_013_3 - - - - - - - - - - - - - - - inputData_013_1 + " " + decision_013_3 - - - - - - - "D" - - - - - - - - - - - - - - - - - - - - - - - inputData_014_1 - - - - - - decision_014_3 - - - - - - decisionService_014("A", "B") - - - - - - - - - - - - - - - inputData_014_1 + " " + decision_014_3 - - - - - - - "D" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + Decision Services + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "foo" + + + + + + + + + + "foo " + decision_002_input + + + + + + + "bar" + + + + + + + + + + + + + + + + "A " + decision_003_input_1 + " " + decision_003_input_2 + " " + inputData_003 + + + + + + + "d3_1" + + + + + + + "d3_2" + + + + + + + + + + + + + + decisionService_004() + + + + + + + "foo" + + + + + + + + + + decisionService_005("bar") + + + + + + + "foo" + + + + + + + + + + decisionService_006("bar") + + + + + + + + + + "foo " + decision_006_3 + + + + + + + "I never get invoked" + + + + + + + + + + decisionService_007(123) + + + + + + + + + + decision_007_3 = null + + + + + + + "I never get invoked" + + + + + + + + + + decisionService_008() + + + + + + + + + + decision_008_3 = null + + + + + + + "I never get invoked" + + + + + + + + + + decisionService_009(decision_009_3: "bar") + + + + + + + + + + "foo " + decision_009_3 + + + + + + + "I never get invoked" + + + + + + + + + + decisionService_010(foo: "bar") + + + + + + + + + + "foo " + decision_010_3 + + + + + + + "I never get invoked" + + + + + + + + + + decisionService_011("A", "B", "C", "D") + + + + + + + + + + + + + + + + + + + inputData_011_1 + " " + inputData_011_2 + " " + decision_011_3 + " " + decision_011_4 + + + + + + + "I never get invoked" + + + + + + + "I never get invoked" + + + + + + + + + + + + + + + + + + decisionService_012(decision_012_3: "C", inputData_012_1: "A", decision_012_4: "D", inputData_012_2: "B") + + + + + + + + + + + + + + + + + + + inputData_012_1 + " " + inputData_012_2 + " " + decision_012_3 + " " + decision_012_4 + + + + + + + "I never get invoked" + + + + + + + "I never get invoked" + + + + + + + + + + + + + + + + + + + + + + + + + + + decisionService_013("A", "B") + + + + + + inputData_013_1 + + + + + + decision_013_3 + + + + + + + + + + + + + + + inputData_013_1 + " " + decision_013_3 + + + + + + + "D" + + + + + + + + + + + + + + + + + + + + + + + inputData_014_1 + + + + + + decision_014_3 + + + + + + decisionService_014("A", "B") + + + + + + + + + + + + + + + inputData_014_1 + " " + decision_014_3 + + + + + + + "D" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0086-import.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0086-import.dmn index 863c4d044db..41a28b2b4ff 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0086-import.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0086-import.dmn @@ -1,4 +1,4 @@ - + - - - + + + - - + + - - + + - + - + myimport.Say Hello(A Person) - - + + A Person.age - - + + <=30 @@ -55,7 +76,7 @@ normal greeting - + @@ -66,7 +87,7 @@ "Respectfully, "+normal greeting - + @@ -82,34 +103,45 @@ - - - - + + + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0087-chapter-11-example.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0087-chapter-11-example.dmn index 2ce16e05f3d..145c706b076 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0087-chapter-11-example.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0087-chapter-11-example.dmn @@ -1,4 +1,4 @@ - + - - - + + + + string + + "DECLINE","BUREAU","THROUGH" + + + + string + + "INELIGIBLE","ELIGIBLE" + + + + string + + "FULL","MINI","NONE" + + + + string + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + number + + string - - "DECLINE","BUREAU","THROUGH" + + "S","M" - - + + string - - "INELIGIBLE","ELIGIBLE" + + "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" - - - string - - "FULL","MINI","NONE" - - - - string - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - number - - - string - - "S","M" - - - - string - - "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" - + + + boolean + + + + number - - boolean + + number - - - number - - - number - - - number - + + number - - - - boolean - - - number - - [0..999], null - - - - + + + + + boolean + + + number + + [0..999], null + + + + + string + + "DECLINE","REFER","ACCEPT" + + + + string - - "DECLINE","REFER","ACCEPT" + + "STANDARD LOAN","SPECIAL LOAN" - - - - string - - "STANDARD LOAN","SPECIAL LOAN" - - - - number - - - number - - - number - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Bureau call type&nbsp;</span>table, passing the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter.</span></p> - - - - - - - - - - - Bureau call type table - - - - - Pre-bureau risk category - - - - - - <p><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Strategy&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, unique-hit decision table deriving Strategy from&nbsp;</span>Eligibility and Bureau call type.</span></p> - - - - - - - - - - - - Eligibility - - - "INELIGIBLE","ELIGIBLE" - - - - - Bureau call type - - - "FULL","MINI","NONE" - - - - - "DECLINE","BUREAU","THROUGH" - - - - - - "INELIGIBLE" - - - - - - - "DECLINE" - - - - - - - - "ELIGIBLE" - - - "FULL", "MINI" - - - "BUREAU" - - - - - - - - "ELIGIBLE" - - - "NONE" - - - "THROUGH" - - - - - + + + number + + + number + + + number + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Bureau call type&nbsp;</span>table, passing the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter.</span></p> + + + + + + + + + + + Bureau call type table + + + + + Pre-bureau risk category + + + + + + <p><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Strategy&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, unique-hit decision table deriving Strategy from&nbsp;</span>Eligibility and Bureau call type.</span></p> + + + + + + + + + + + + Eligibility + + + "INELIGIBLE","ELIGIBLE" + + + + + Bureau call type + + + "FULL","MINI","NONE" + + + + + "DECLINE","BUREAU","THROUGH" + + + + + + "INELIGIBLE" + + + - + + + "DECLINE" + + + + + + + + "ELIGIBLE" + + + "FULL", "MINI" + + + "BUREAU" + + + + + + + + "ELIGIBLE" + + + "NONE" + + + "THROUGH" + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility&nbsp;</span></strong><span lang="JA">decision logic invokes the Eligibility rules business&nbsp;</span>knowledge model, passing Applicant data.Age as the Age parameter, the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter, and the output of the Pre-bureau affordability decision as the Pre-Bureau Affordability parameter.</span></p> + + + + + + + + + + + + + + + + + Eligibility rules + + + + + Applicant data.Age + + + + + + Pre-bureau risk category + + + + + + Pre-bureau affordability + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility rules&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Eligibility from Pre-Bureau Risk Category, Pre-Bureau Affordability and Age.</span></p> + + + + + + + + + + Pre-Bureau Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + Pre-Bureau Affordability + + + + + Age + + + + + "INELIGIBLE","ELIGIBLE" + + + + + + "DECLINE" + + + - + + + - + + + "INELIGIBLE" + + + + + + + + - + + + false + + + - + + + "INELIGIBLE" + + + + + + + + - + + + - + + + < 18 + + + "INELIGIBLE" + + + + + + + + - + + + - + + + - + + + "ELIGIBLE" + + + + + - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility&nbsp;</span></strong><span lang="JA">decision logic invokes the Eligibility rules business&nbsp;</span>knowledge model, passing Applicant data.Age as the Age parameter, the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter, and the output of the Pre-bureau affordability decision as the Pre-Bureau Affordability parameter.</span></p> - - - - - - - - - - - - - - - - - Eligibility rules - - - - - Applicant data.Age - - - - - - Pre-bureau risk category - - - - - - Pre-bureau affordability - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility rules&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Eligibility from Pre-Bureau Risk Category, Pre-Bureau Affordability and Age.</span></p> - - - - - - - - - - Pre-Bureau Risk Category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - Pre-Bureau Affordability - - - - - Age - - - - - "INELIGIBLE","ELIGIBLE" - - - - - - "DECLINE" - - - - - - - - - - - "INELIGIBLE" - - - - - - - - - - - - false - - - - - - - "INELIGIBLE" - - - - - - - - - - - - - - - - < 18 - - - "INELIGIBLE" - - - - - - - - - - - - - - - - - - - - "ELIGIBLE" - - - - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing Rules&nbsp;</span></strong><span lang="JA">decision logic defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Routing from Post-Bureau Risk Category, Post-Bureau Affordability, Bankrupt and Credit Score.</span></p> - - - - - - - - - - - Post-bureau risk category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - Post-bureau affordability - - - - - Bankrupt - - - - - Credit score - - - null, [0..999] - - - - - "DECLINE","REFER","ACCEPT" - - - - - - - - - - false - - - - - - - - - - - "DECLINE" - - - - - - - - - - - - - - - - true - - - - - - - "DECLINE" - - - - - - - - "HIGH" - - - - - - - - - - - - - - - "REFER" - - - - - - - - - - - - - - - - - - - - < 580 - - - "REFER" - - - - - - - - - - - - - - - - - - - - - - - - "ACCEPT" - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing&nbsp;</span></strong><span lang="JA">decision logic invokes the Routing rules business&nbsp;</span>knowledge model, passing Bureau data . Bankrupt as the Bankrupt parameter, Bureau data . CreditScore as the Credit Score parameter, the output of the Post-bureau risk category decision as the Post-Bureau Risk Category parameter, and the output of the Post-bureau affordability decision as the Post-Bureau Affordability parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Bankrupt and Credit Score parameters will be null.</span></p> - - - - - - - - - - - - - - - - - Routing rules - - - - - Bureau data.Bankrupt - - - - - - Bureau data.CreditScore - - - - - - Post-bureau risk category - - - - - - Post-bureau affordability - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table deriving&nbsp;</span>Bureau Call Type from Pre-Bureau Risk Category.</span></p> - - - - - - - - Pre-Bureau Risk Category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - "FULL","MINI","NONE" - - - - - - "HIGH", "MEDIUM" - - - "FULL" - - - - - - - - "LOW" - - - "MINI" - - - - - - - - "VERY LOW", "DECLINE" - - - "NONE" - - - - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"></span><span lang="JA">The&nbsp;</span><strong><span lang="JA">Credit contingency factor table&nbsp;</span></strong><span lang="JA"><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;">decision</span> logic defines a complete, unique-hit decision table&nbsp;</span>deriving Credit contingency factor from Risk Category.</p> <p>&nbsp;</p> - - - - - - - - Risk Category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - - - "HIGH", "DECLINE" - - - 0.6 - - - - - - - - "MEDIUM" - - - 0.7 - - - - - - - - "LOW", "VERY LOW" - - - 0.8 - - - - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Affordability calculation&nbsp;</span></strong><span lang="JA">decision logic defines a boxed function deriving Affordability from&nbsp;</span>Monthly Income, Monthly Repayments, Monthly Expenses and Required Monthly Installment. One step in this calculation derives Credit contingency factor by invoking the Credit contingency factor table business</span></p> - - - - - - - - - - - - - Monthly Income - (Monthly Repayments + Monthly Expenses) - - - - - - - Credit contingency factor table - - - - - Risk Category - - - - - - - - if Disposable Income * Credit Contingency Factor > Required Monthly Installment then true else false - - - - - Affordability - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Pre-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> - - - - - - - - - - - - - - - - - Affordability calculation - - - - - Applicant data.Monthly.Income - - - - - - Applicant data.Monthly.Repayments - - - - - - Applicant data.Monthly.Expenses - - - - - - Pre-bureau risk category - - - - - - Required monthly installment - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Post-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> - - - - - - - - - - - - - - - - - Affordability calculation - - - - - Applicant data.Monthly.Income - - - - - - Applicant data.Monthly.Repayments - - - - - - Applicant data.Monthly.Expenses - - - - - - Post-bureau risk category - - - - - - Required monthly installment - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category&nbsp;</span></strong><span lang="JA">decision logic invokes the Post-bureau&nbsp;</span>risk category business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter, Bureau data.CreditScore as the Credit Score parameter, and the output of the Application risk score decision as the Application Risk Score parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Credit Score parameter will be null.</span></p> - - - - - - - - - - - - - - - - - Post-bureau risk category table - - - - - Applicant data.ExistingCustomer - - - - - - Bureau data.CreditScore - - - - - - Application risk score - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Post-Bureau Risk Category from Existing Customer, Application Risk Score and Credit Score.</span></p> - - - - - - - - - - Existing Customer - - - - - Application Risk Score - - - - - Credit Score - - - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - - false - - - < 120 - - - < 590 - - - "HIGH" - - - - - - - - false - - - < 120 - - - [590..610] - - - "MEDIUM" - - - - - - - - false - - - < 120 - - - > 610 - - - "LOW" - - - - - - - - false - - - [120..130] - - - < 600 - - - "HIGH" - - - - - - - - false - - - [120..130] - - - [600..625] - - - "MEDIUM" - - - - - - - - false - - - [120..130] - - - > 625 - - - "LOW" - - - - - - - - false - - - > 130 - - - - - - - "VERY LOW" - - - - - - - - true - - - <= 100 - - - < 580 - - - "HIGH" - - - - - - - - true - - - <= 100 - - - [580..600] - - - "MEDIUM" - - - - - - - - true - - - <= 100 - - - > 600 - - - "LOW" - - - - - - - - true - - - > 100 - - - < 590 - - - "HIGH" - - - - - - - - true - - - > 100 - - - [590..615] - - - "MEDIUM" - - - - - - - - true - - - > 100 - - - > 615 - - - "LOW" - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-Bureau Risk Category&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Pre-bureau&nbsp;</span>risk category table business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter and the output of the Application risk score decision as the Application Risk Score parameter.</span></p> - - - - - - - - - - - - - - Pre-bureau risk category table - - - - - Applicant data.ExistingCustomer - - - - - - Application risk score - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Pre-bureau risk category from Existing Customer and Application Risk Score.</span></p> - - - - - - - - - Existing Customer - - - - - Application Risk Score - - - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - - false - - - < 100 - - - "HIGH" - - - - - - - - false - - - [100..120) - - - "MEDIUM" - - - - - - - - false - - - [120..130] - - - "LOW" - - - - - - - - false - - - > 130 - - - "VERY LOW" - - - - - - - - true - - - < 80 - - - "DECLINE" - - - - - - - - true - - - [80..90) - - - "HIGH" - - - - - - - - true - - - [90..110] - - - "MEDIUM" - - - - - - - - true - - - > 110 - - - "LOW" - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application Risk Score&nbsp;</span></strong><span lang="JA">decision logic invokes the Application&nbsp;</span>risk score model business knowledge model, passing Applicant data.Age as the Age parameter, Applicant data.MaritalStatus as the Marital Status parameter and Applicant data.EmploymentStatus as the Employment Status parameter.</span></p> - - - - - - - - - - - Application risk score model - - - - - Applicant data.Age - - - - - - Applicant data.MartitalStatus - - - - - - Applicant data.EmploymentStatus - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application risk score model&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, no-order multiple-hit table&nbsp;</span>with aggregation, deriving Application risk score from Age, Marital Status and Employment Status, as the sum of the Partial scores of all matching rows (this is therefore a predictive scorecard represented as a decision table).</span></p> - - - - - - - - - - Age - - - [18..120] - - - - - Marital Status - - - "S","M" - - - - - Employment Status - - - "UNEMPLOYED","STUDENT","EMPLOYED","SELF-EMPLOYED" - - - - - - - [18..22) - - - - - - - - - - - 32 - - - - - - - - [22..26) - - - - - - - - - - - 35 - - - - - - - - [26..36) - - - - - - - - - - - 40 - - - - - - - - [36..50) - - - - - - - - - - - 43 - - - - - - - - >=50 - - - - - - - - - - - 48 - - - - - - - - - - - - "S" - - - - - - - 25 - - - - - - - - - - - - "M" - - - - - - - 45 - - - - - - - - - - - - - - - - "UNEMPLOYED" - - - 15 - - - - - - - - - - - - - - - - "STUDENT" - - - 18 - - - - - - - - - - - - - - - - "EMPLOYED" - - - 45 - - - - - - - - - - - - - - - - "SELF-EMPLOYED" - - - 36 - - - - - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Required monthly installment&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Installment calculation business knowledge model, passing Requested product.ProductType as the Product Type parameter, Requested product.Rate as the Rate parameter, Requested product.Term as the Term parameter, and Requested product.Amount as the Amount parameter.</span></p> - - - - - - - - - - - Installment calculation - - - - - Requested product.ProductType - - - - - - Requested product.Rate - - - - - - Requested product.Term - - - - - - Requested product.Amount + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing Rules&nbsp;</span></strong><span lang="JA">decision logic defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Routing from Post-Bureau Risk Category, Post-Bureau Affordability, Bankrupt and Credit Score.</span></p> + + + + + + + + + + + Post-bureau risk category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + Post-bureau affordability + + + + + Bankrupt + + + + + Credit score + + + null, [0..999] + + + + + "DECLINE","REFER","ACCEPT" + + + + + + - + + + false + + + - + + + - + + + "DECLINE" + + + + + + + + - + + + - + + + true + + + - + + + "DECLINE" + + + + + + + + "HIGH" + + + - + + + - + + + - + + + "REFER" + + + + + + + + - + + + - + + + - + + + < 580 + + + "REFER" + + + + + + + + - + + + - + + + - + + + - + + + "ACCEPT" + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing&nbsp;</span></strong><span lang="JA">decision logic invokes the Routing rules business&nbsp;</span>knowledge model, passing Bureau data . Bankrupt as the Bankrupt parameter, Bureau data . CreditScore as the Credit Score parameter, the output of the Post-bureau risk category decision as the Post-Bureau Risk Category parameter, and the output of the Post-bureau affordability decision as the Post-Bureau Affordability parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Bankrupt and Credit Score parameters will be null.</span></p> + + + + + + + + + + + + + + + + + Routing rules + + + + + Bureau data.Bankrupt + + + + + + Bureau data.CreditScore + + + + + + Post-bureau risk category + + + + + + Post-bureau affordability + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table deriving&nbsp;</span>Bureau Call Type from Pre-Bureau Risk Category.</span></p> + + + + + + + + Pre-Bureau Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + "FULL","MINI","NONE" + + + + + + "HIGH", "MEDIUM" + + + "FULL" + + + + + + + + "LOW" + + + "MINI" + + + + + + + + "VERY LOW", "DECLINE" + + + "NONE" + + + + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"></span><span lang="JA">The&nbsp;</span><strong><span lang="JA">Credit contingency factor table&nbsp;</span></strong><span lang="JA"><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;">decision</span> logic defines a complete, unique-hit decision table&nbsp;</span>deriving Credit contingency factor from Risk Category.</p> <p>&nbsp;</p> + + + + + + + + Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + + + "HIGH", "DECLINE" + + + 0.6 + + + + + + + + "MEDIUM" + + + 0.7 + + + + + + + + "LOW", "VERY LOW" + + + 0.8 + + + + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Affordability calculation&nbsp;</span></strong><span lang="JA">decision logic defines a boxed function deriving Affordability from&nbsp;</span>Monthly Income, Monthly Repayments, Monthly Expenses and Required Monthly Installment. One step in this calculation derives Credit contingency factor by invoking the Credit contingency factor table business</span></p> + + + + + + + + + + + + + Monthly Income - (Monthly Repayments + Monthly Expenses) + + + + + + + Credit contingency factor table - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Installment calculation&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a boxed function deriving monthly installment&nbsp;</span>from Product Type, Rate, Term and Amount.</span></p> - - - - - - - - - - - - if Product Type = "STANDARD LOAN" then 20.00 else if Product Type = "SPECIAL LOAN" then 25.00 else null - - - - - - PMT(Rate, Term, Amount) - - - - - Monthly Repayment + Monthly Fee - - - - - - - - - - - - - - - - - (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + Risk Category + + + + + + + + if Disposable Income * Credit Contingency Factor > Required Monthly Installment then true else false + + + + + Affordability + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Pre-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + + + + + + + + + + + + + + + + + Affordability calculation + + + + + Applicant data.Monthly.Income + + + + + + Applicant data.Monthly.Repayments + + + + + + Applicant data.Monthly.Expenses + + + + + + Pre-bureau risk category + + + + + + Required monthly installment + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Post-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + + + + + + + + + + + + + + + + + Affordability calculation + + + + + Applicant data.Monthly.Income + + + + + + Applicant data.Monthly.Repayments + + + + + + Applicant data.Monthly.Expenses + + + + + + Post-bureau risk category + + + + + + Required monthly installment + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category&nbsp;</span></strong><span lang="JA">decision logic invokes the Post-bureau&nbsp;</span>risk category business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter, Bureau data.CreditScore as the Credit Score parameter, and the output of the Application risk score decision as the Application Risk Score parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Credit Score parameter will be null.</span></p> + + + + + + + + + + + + + + + + + Post-bureau risk category table + + + + + Applicant data.ExistingCustomer + + + + + + Bureau data.CreditScore + + + + + + Application risk score + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Post-Bureau Risk Category from Existing Customer, Application Risk Score and Credit Score.</span></p> + + + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + Credit Score + + + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + + false + + + < 120 + + + < 590 + + + "HIGH" + + + + + + + + false + + + < 120 + + + [590..610] + + + "MEDIUM" + + + + + + + + false + + + < 120 + + + > 610 + + + "LOW" + + + + + + + + false + + + [120..130] + + + < 600 + + + "HIGH" + + + + + + + + false + + + [120..130] + + + [600..625] + + + "MEDIUM" + + + + + + + + false + + + [120..130] + + + > 625 + + + "LOW" + + + + + + + + false + + + > 130 + + + - + + + "VERY LOW" + + + + + + + + true + + + <= 100 + + + < 580 + + + "HIGH" + + + + + + + + true + + + <= 100 + + + [580..600] + + + "MEDIUM" + + + + + + + + true + + + <= 100 + + + > 600 + + + "LOW" + + + + + + + + true + + + > 100 + + + < 590 + + + "HIGH" + + + + + + + + true + + + > 100 + + + [590..615] + + + "MEDIUM" + + + + + + + + true + + + > 100 + + + > 615 + + + "LOW" + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-Bureau Risk Category&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Pre-bureau&nbsp;</span>risk category table business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter and the output of the Application risk score decision as the Application Risk Score parameter.</span></p> + + + + + + + + + + + + + + Pre-bureau risk category table + + + + + Applicant data.ExistingCustomer + + + + + + Application risk score + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Pre-bureau risk category from Existing Customer and Application Risk Score.</span></p> + + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + + false + + + < 100 + + + "HIGH" + + + + + + + + false + + + [100..120) + + + "MEDIUM" + + + + + + + + false + + + [120..130] + + + "LOW" + + + + + + + + false + + + > 130 + + + "VERY LOW" + + + + + + + + true + + + < 80 + + + "DECLINE" + + + + + + + + true + + + [80..90) + + + "HIGH" + + + + + + + + true + + + [90..110] + + + "MEDIUM" + + + + + + + + true + + + > 110 + + + "LOW" + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application Risk Score&nbsp;</span></strong><span lang="JA">decision logic invokes the Application&nbsp;</span>risk score model business knowledge model, passing Applicant data.Age as the Age parameter, Applicant data.MaritalStatus as the Marital Status parameter and Applicant data.EmploymentStatus as the Employment Status parameter.</span></p> + + + + + + + + + + + Application risk score model + + + + + Applicant data.Age + + + + + + Applicant data.MartitalStatus + + + + + + Applicant data.EmploymentStatus + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application risk score model&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, no-order multiple-hit table&nbsp;</span>with aggregation, deriving Application risk score from Age, Marital Status and Employment Status, as the sum of the Partial scores of all matching rows (this is therefore a predictive scorecard represented as a decision table).</span></p> + + + + + + + + + + Age + + + [18..120] + + + + + Marital Status + + + "S","M" + + + + + Employment Status + + + "UNEMPLOYED","STUDENT","EMPLOYED","SELF-EMPLOYED" + + + + + + + [18..22) + + + - + + + - + + + 32 + + + + + + + + [22..26) + + + - + + + - + + + 35 + + + + + + + + [26..36) + + + - + + + - + + + 40 + + + + + + + + [36..50) + + + - + + + - + + + 43 + + + + + + + + >=50 + + + - + + + - + + + 48 + + + + + + + + - + + + "S" + + + - + + + 25 + + + + + + + + - + + + "M" + + + - + + + 45 + + + + + + + + - + + + - + + + "UNEMPLOYED" + + + 15 + + + + + + + + - + + + - + + + "STUDENT" + + + 18 + + + + + + + + - + + + - + + + "EMPLOYED" + + + 45 + + + + + + + + - + + + - + + + "SELF-EMPLOYED" + + + 36 + + + + + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Required monthly installment&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Installment calculation business knowledge model, passing Requested product.ProductType as the Product Type parameter, Requested product.Rate as the Rate parameter, Requested product.Term as the Term parameter, and Requested product.Amount as the Amount parameter.</span></p> + + + + + + + + + + + Installment calculation + + + + + Requested product.ProductType + + + + + + Requested product.Rate + + + + + + Requested product.Term + + + + + + Requested product.Amount + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Installment calculation&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a boxed function deriving monthly installment&nbsp;</span>from Product Type, Rate, Term and Amount.</span></p> + + + + + + + + + + + + if Product Type = "STANDARD LOAN" then 20.00 else if Product Type = "SPECIAL LOAN" then 25.00 else null + + + + + + PMT(Rate, Term, Amount) + + + + + Monthly Repayment + Monthly Fee + + + + + + + + + + + + + + + + + (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0088-no-decision-logic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0088-no-decision-logic.dmn index 588ef67c703..84f4bdf6c7d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0088-no-decision-logic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0088-no-decision-logic.dmn @@ -1,4 +1,4 @@ - + - - - - string - - "A", "B", "C", "D", "E", "F" - - - - - - - - - - - - - - - - - - - - - Grade - - - - - - - "A" - - - "Graduated with merit" - - - - - - - - "B" - - - "Graduated" - - - - - - - - "C" - - - "Graduated" - - - - - - - - "D" - - - "Not graduated" - - - - - - - - "E" - - - "Not graduated" - - - - - - - - "F" - - - "Not graduated" - - - - - - - - - - - - - - - - - - - - - - - - Student's name + " is " + Graduation DT + " with grade: " + Grade + " and evaluation: " + Teacher's Evaluation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + string + + "A", "B", "C", "D", "E", "F" + + + + + + + + + + + + + + + + + + + + + Grade + + + + + + + "A" + + + "Graduated with merit" + + + + + + + + "B" + + + "Graduated" + + + + + + + + "C" + + + "Graduated" + + + + + + + + "D" + + + "Not graduated" + + + + + + + + "E" + + + "Not graduated" + + + + + + + + "F" + + + "Not graduated" + + + + + + + + + + + + + + + + + + + + + + + + Student's name + " is " + Graduation DT + " with grade: " + Grade + " and evaluation: " + Teacher's Evaluation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0089-nested-inputdata-imports.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0089-nested-inputdata-imports.dmn index 9e250aa4cf9..1937b5a1345 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0089-nested-inputdata-imports.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0089-nested-inputdata-imports.dmn @@ -1,4 +1,4 @@ - + - - - - + + + + - - + + "B: " + Model B.Evaluating Say Hello + "; B2: " + Model B2.Evaluating B2 Say Hello @@ -32,18 +52,22 @@ - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0090-feel-paths.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0090-feel-paths.dmn index 7ee86fc4dfa..bbeff1703b1 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0090-feel-paths.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0090-feel-paths.dmn @@ -1,4 +1,4 @@ - + - + FEEL path and qualified names - + - - + + - [{a: {b: 1}}, {a: {b: [2.1, 2.2]}}, {a: {b: 3}}, {a: {b: 4}}, {a: {b: 5}}].a.b = [{b: 1}, {b: [2.1, 2.2]}, {b: 3}, {b: 4}, {b: 5}].b + [{a: {b: 1}}, {a: {b: [2.1, 2.2]}}, {a: {b: 3}}, {a: {b: 4}}, {a: {b: 5}}].a.b = [{b: 1}, {b: [2.1, 2.2]}, {b: 3}, {b: 4}, {b: 5}].b - - + + [{b: 1}, {b: [2.1, 2.2]}, {b: 3}, {b: 4}, {b: 5}].b = [1, [2.1, 2.2], 3, 4, 5] - - + + - [{a: {b: [1]}}, {a: {b: [2.1, 2.2]}}, {a: {b: [3]}}, {a: {b: [4, 5]}}].a.b = [{b: [1]}, {b: [2.1,2.2]}, {b: [3]}, {b: [4, 5]}].b + [{a: {b: [1]}}, {a: {b: [2.1, 2.2]}}, {a: {b: [3]}}, {a: {b: [4, 5]}}].a.b = [{b: [1]}, {b: [2.1,2.2]}, {b: [3]}, {b: [4, 5]}].b - - + + - [{b: [1]}, {b: [2.1,2.2]}, {b: [3]}, {b: [4, 5]}].b = [[1], [2.1, 2.2], [3], [4, 5]] + [{b: [1]}, {b: [2.1,2.2]}, {b: [3]}, {b: [4, 5]}].b = [[1], [2.1, 2.2], [3], [4, 5]] - - - - + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0100-feel-constants.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0100-feel-constants.dmn index 16c0a522a80..144cd9c4eba 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0100-feel-constants.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0100-feel-constants.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + true - - + + false @@ -37,28 +48,28 @@ - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0101-feel-constants.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0101-feel-constants.dmn index 204df7b02d5..f2025a10888 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0101-feel-constants.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0101-feel-constants.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + 125.4321987654 - - + + -125.4321987654 - - + + -50 - - + + 50 - - + + .872 - - + + -.872 @@ -65,68 +76,68 @@ - - - - - - + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0102-feel-constants.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0102-feel-constants.dmn index d8c2a65f00b..d88b87221be 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0102-feel-constants.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0102-feel-constants.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + "横綱" - - + + - "thisIsSomeLongStringThatMustBeProcessedSoHopefullyThisTestPassWithItAndIMustWriteSomethingMoreSoItIsLongerAndLongerAndLongerAndLongerAndLongerTillItIsReallyLong" + "thisIsSomeLongStringThatMustBeProcessedSoHopefullyThisTestPassWithItAndIMustWriteSomethingMoreSoItIsLongerAndLongerAndLongerAndLongerAndLongerTillItIsReallyLong" - - + + "foo bar" - - + + "šomeÚnicodeŠtriňg" @@ -51,48 +63,48 @@ - - - - + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0105-feel-math.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0105-feel-math.dmn index 92db35d6b03..d1354fc0759 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0105-feel-math.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0105-feel-math.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + 10**-5 - - + + (5+2)**5 - - + + (10+20)/0 - - + + 10**5 - - + + 10 - null - - + + null - 10 - - + + 10+null - - + + null + 10 - - + + 5+2**5+3 - - + + 5+2**(5+3) - - + + -10+-5 - - + + 10+5 - - + + 5+2**5 - - + + 10-5 - - + + (-10)+(-5) - - + + (-10)-(-5) - - + + -10--5 - - + + 10*5 - - + + (10+20)-(-5+3) - - + + -10*-5 - - + + 10 / null - - + + 10 * null - - + + null * 10 - - + + (-10)/(-5) - - + + (10+20)/(-5*3) - - + + 10/5 - - + + -10/-5 - - + + (-10)*(-5) - - + + 10 + 20 / (-5 - 3) - - + + (10+5)*(-5*3) - - + + 1.2*10**3 - - + + null / 10 - - + + 10 + 20 / -5 - 3 @@ -254,338 +265,338 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0106-feel-ternary-logic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0106-feel-ternary-logic.dmn index f56d85ce2aa..1f95be0f57e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0106-feel-ternary-logic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0106-feel-ternary-logic.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - - + + - - + + - + - + A and B - - + + - + - + A or B @@ -57,62 +68,74 @@ - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0107-feel-ternary-logic-not.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0107-feel-ternary-logic-not.dmn index 0e161fc16ad..d20fd3babbf 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0107-feel-ternary-logic-not.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0107-feel-ternary-logic-not.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - - + + - + not(A) @@ -37,31 +48,34 @@ - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0108-first-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0108-first-hitpolicy.dmn index 7b9daa89c04..3a6169279cb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0108-first-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0108-first-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -28,18 +39,24 @@ - - + + - + - + - + - + Age @@ -74,7 +91,7 @@ "Standard" - + >=18 @@ -92,7 +109,7 @@ "Best" - + @@ -112,7 +129,7 @@ "Standard" - + @@ -132,78 +149,103 @@ "Standard" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0109-ruleOrder-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0109-ruleOrder-hitpolicy.dmn index 531af8d2436..b354cfa0f0a 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0109-ruleOrder-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0109-ruleOrder-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -36,18 +47,24 @@ - - + + - + - + - + - + Age @@ -76,7 +93,7 @@ "Standard" - + >=18 @@ -94,7 +111,7 @@ "Best" - + @@ -114,7 +131,7 @@ "Standard" - + @@ -134,78 +151,103 @@ "Standard" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0110-outputOrder-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0110-outputOrder-hitpolicy.dmn index ff379d3d3ad..7708dfbeea9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0110-outputOrder-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0110-outputOrder-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -31,18 +42,24 @@ - - + + - + - + - + - + Age @@ -66,8 +83,8 @@ "Approved", "Declined" - - + + >=18 @@ -85,7 +102,7 @@ "Basic" - + @@ -105,7 +122,7 @@ "Standard" - + @@ -125,78 +142,103 @@ "Standard" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0111-first-hitpolicy-singleoutputcol.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0111-first-hitpolicy-singleoutputcol.dmn index ee25983643a..446f1a8dd7c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0111-first-hitpolicy-singleoutputcol.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0111-first-hitpolicy-singleoutputcol.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0112-ruleOrder-hitpolicy-singleinoutcol.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0112-ruleOrder-hitpolicy-singleinoutcol.dmn index 4dfb990b42a..31dd2486656 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0112-ruleOrder-hitpolicy-singleinoutcol.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0112-ruleOrder-hitpolicy-singleinoutcol.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -31,19 +42,25 @@ string - - + + - + - + Age - - + + >=18 @@ -52,7 +69,7 @@ "Best" - + @@ -63,7 +80,7 @@ "Standard" - + @@ -74,44 +91,55 @@ "Standard" - + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0113-outputOrder-hitpolicy-singleinoutcol.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0113-outputOrder-hitpolicy-singleinoutcol.dmn index d4e5cad920a..fa8f97df3a5 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0113-outputOrder-hitpolicy-singleinoutcol.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0113-outputOrder-hitpolicy-singleinoutcol.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -37,12 +48,18 @@ - - + + - + - + Age @@ -53,7 +70,7 @@ "Approved","Declined" - + >=18 @@ -62,7 +79,7 @@ "Approved" - + @@ -73,7 +90,7 @@ "Declined" - + @@ -84,44 +101,55 @@ "Approved" - + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0114-min-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0114-min-collect-hitpolicy.dmn index 64cfd326db1..19c16c05265 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0114-min-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0114-min-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + NumOfYears - - + + >1 @@ -41,7 +59,7 @@ 98.83 - + @@ -52,7 +70,7 @@ 150.21 - + @@ -63,7 +81,7 @@ 205.43 - + @@ -74,44 +92,47 @@ 64.32 - + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0115-sum-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0115-sum-collect-hitpolicy.dmn index ca70402aede..086a4d06466 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0115-sum-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0115-sum-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + NumOfYears - - + + >1 @@ -41,7 +59,7 @@ 100 - + @@ -52,7 +70,7 @@ 200 - + @@ -63,7 +81,7 @@ 300 - + @@ -74,44 +92,47 @@ 500 - + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0116-count-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0116-count-collect-hitpolicy.dmn index b37bde0baa4..19debc6f107 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0116-count-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0116-count-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - + - + NumOfYears - - + + >1 @@ -41,7 +59,7 @@ 100 - + @@ -52,7 +70,7 @@ 200 - + @@ -63,7 +81,7 @@ 300 - + @@ -74,44 +92,47 @@ 500 - + - - + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0117-multi-any-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0117-multi-any-hitpolicy.dmn index 48bf76cca26..4470fceb83e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0117-multi-any-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0117-multi-any-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -28,18 +39,24 @@ - - + + - + - + - + - + Age @@ -74,7 +91,7 @@ "Standard" - + >=18 @@ -92,7 +109,7 @@ "Best" - + @@ -112,7 +129,7 @@ "Standard" - + @@ -132,7 +149,7 @@ "Standard" - + @@ -152,7 +169,7 @@ "Standard" - + @@ -172,7 +189,7 @@ "Standard" - + @@ -192,78 +209,103 @@ "Best" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0118-multi-priority-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0118-multi-priority-hitpolicy.dmn index 8c9b2fe9179..5b413ad55f2 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0118-multi-priority-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0118-multi-priority-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -31,18 +42,24 @@ - - + + - + - + - + - + Age @@ -66,8 +83,8 @@ "Approved", "Declined" - - + + >=18 @@ -85,7 +102,7 @@ "Basic" - + @@ -105,7 +122,7 @@ "Standard" - + @@ -125,78 +142,103 @@ "Standard" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0119-multi-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0119-multi-collect-hitpolicy.dmn index 9ec44aaeaaa..adfd3d45163 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0119-multi-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/0119-multi-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -31,18 +42,24 @@ - - + + - + - + - + - + Age @@ -66,8 +83,8 @@ "Approved", "Declined" - - + + >=18 @@ -85,7 +102,7 @@ "Basic" - + @@ -105,7 +122,7 @@ "Standard" - + @@ -125,78 +142,103 @@ "Standard" - + - - + + - - + + - - + + - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1100-feel-decimal-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1100-feel-decimal-function.dmn index acbd01ecb03..6c56fd71b30 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1100-feel-decimal-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1100-feel-decimal-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'decimal(n, scale)' in category numeric functions - - + + number - + number - + number - + number - + number - + number - + number - + number - + number - + number Tests FEEL expression: 'decimal(0, 0)' and expects result: '0 (number)' - + Result of FEEL expression 'decimal(0, 0)'? 0 (number) - + decimal(0, 0) Tests FEEL expression: 'decimal(0.0, 1)' and expects result: '0.0 (number)' - + Result of FEEL expression 'decimal(0.0, 1)'? 0.0 (number) - + decimal(0.0, 1) - + - Tests FEEL expression: 'decimal(n:15/7,scale:3)' and expects result: '2.143 (number)' - + Tests FEEL expression: 'decimal(n:15/7,scale:3)' and expects result: '2.143 (number)' + Result of FEEL expression 'decimal(n:15/7,scale:3)'? 2.143 (number) - + decimal(n:15/7,scale:3) - Tests FEEL expression: 'decimal(n:15/78*2,scale:3)' and expects result: '0.385 (number)' - + Tests FEEL expression: 'decimal(n:15/78*2,scale:3)' and expects result: '0.385 (number)' + Result of FEEL expression 'decimal(n:15/78*2,scale:3)'? 0.385 (number) - + decimal(n:15/78*2,scale:3) - Tests FEEL expression: 'decimal(65.123456, 6)' and expects result: '65.123456 (number)' - + Tests FEEL expression: 'decimal(65.123456, 6)' and expects result: '65.123456 (number)' + Result of FEEL expression 'decimal(65.123456, 6)'? 65.123456 (number) - + decimal(65.123456, 6) Tests FEEL expression: 'decimal(0.515, 2)' and expects result: '0.52 (number)' - + Result of FEEL expression 'decimal(0.515, 2)'? 0.52 (number) - + decimal(0.515, 2) Tests FEEL expression: 'decimal(1/3, 2)' and expects result: '0.33 (number)' - + Result of FEEL expression 'decimal(1/3, 2)'? 0.33 (number) - + decimal(1/3, 2) Tests FEEL expression: 'decimal(2.5, 0)' and expects result: '2 (number)' - + Result of FEEL expression 'decimal(2.5, 0)'? 2 (number) - + decimal(2.5, 0) Tests FEEL expression: 'decimal(1.5, 0)' and expects result: '2 (number)' - + Result of FEEL expression 'decimal(1.5, 0)'? 2 (number) - + decimal(1.5, 0) Tests FEEL expression: 'decimal(1/3, 2.5)' and expects result: '0.33 (number)' - + Result of FEEL expression 'decimal(1/3, 2.5)'? 0.33 (number) - + decimal(1/3, 2.5) @@ -157,117 +251,161 @@ - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1101-feel-floor-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1101-feel-floor-function.dmn index 7654fdea2f8..e972f9c0b49 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1101-feel-floor-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1101-feel-floor-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'floor(n)' in category numeric functions - - + + number - + number - + number - + number - + number - + number - + Tests FEEL expression: 'floor(-5/2.3*5)' and expects result: '-11 (number)' - + Result of FEEL expression 'floor(-5/2.3*5)'? -11 (number) - + floor(-5/2.3*5) Tests FEEL expression: 'floor(n:5.777)' and expects result: '5 (number)' - + Result of FEEL expression 'floor(n:5.777)'? 5 (number) - + floor(n:5.777) Tests FEEL expression: 'floor(n:-.33333)' and expects result: '-1 (number)' - + Result of FEEL expression 'floor(n:-.33333)'? -1 (number) - + floor(n:-.33333) Tests FEEL expression: 'floor(--1)' and expects result: '1 (number)' - + Result of FEEL expression 'floor(--1)'? 1 (number) - + floor(--1) Tests FEEL expression: 'floor(1.5)' and expects result: '1 (number)' - + Result of FEEL expression 'floor(1.5)'? 1 (number) - + floor(1.5) Tests FEEL expression: 'floor(-1.5)' and expects result: '-2 (number)' - + Result of FEEL expression 'floor(-1.5)'? -2 (number) - + floor(-1.5) @@ -105,77 +164,105 @@ - - - - - - + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1102-feel-ceiling-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1102-feel-ceiling-function.dmn index 3fb5d5937df..56f35411280 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1102-feel-ceiling-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1102-feel-ceiling-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'ceiling(n)' in category numeric functions - - + + number - + number - + number - + number - + number - + number Tests FEEL expression: 'ceiling(n:-.33333)' and expects result: '0 (number)' - + Result of FEEL expression 'ceiling(n:-.33333)'? 0 (number) - + ceiling(n:-.33333) Tests FEEL expression: 'ceiling(1.5)' and expects result: '2 (number)' - + Result of FEEL expression 'ceiling(1.5)'? 2 (number) - + ceiling(1.5) - + Tests FEEL expression: 'ceiling(-1.5)' and expects result: '-1 (number)' - + Result of FEEL expression 'ceiling(-1.5)'? -1 (number) - + ceiling(-1.5) Tests FEEL expression: 'ceiling(n:5.777)' and expects result: '6 (number)' - + Result of FEEL expression 'ceiling(n:5.777)'? 6 (number) - + ceiling(n:5.777) Tests FEEL expression: 'ceiling(-5/2.3*5)' and expects result: '-10 (number)' - + Result of FEEL expression 'ceiling(-5/2.3*5)'? -10 (number) - + ceiling(-5/2.3*5) Tests FEEL expression: 'ceiling(--1)' and expects result: '1 (number)' - + Result of FEEL expression 'ceiling(--1)'? 1 (number) - + ceiling(--1) @@ -105,77 +164,105 @@ - - - - - - + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1103-feel-substring-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1103-feel-substring-function.dmn index 8e580231471..01a613c93b5 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1103-feel-substring-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1103-feel-substring-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'substring(string, start, position, length?) in category string functions - - + + FEEL built-in function 'substring(string, start, position, length?) in category string functions + + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - Tests FEEL expression: 'substring("foob r",-2,1)' and expects result: '" " (string)' - + Tests FEEL expression: 'substring("foob r",-2,1)' and expects result: '" " (string)' + Result of FEEL expression 'substring("foob r",-2,1)'? " " (string) - + substring("foob r",-2,1) - Tests FEEL expression: 'substring("foobar",-6,6)' and expects result: '"foobar" (string)' - + Tests FEEL expression: 'substring("foobar",-6,6)' and expects result: '"foobar" (string)' + Result of FEEL expression 'substring("foobar",-6,6)'? "foobar" (string) - + substring("foobar",-6,6) Tests FEEL expression: 'substring("f",1)' and expects result: '"f" (string)' - + Result of FEEL expression 'substring("f",1)'? "f" (string) - + substring("f",1) - Tests FEEL expression: 'substring("foobar",-2,1)' and expects result: '"a" (string)' - + Tests FEEL expression: 'substring("foobar",-2,1)' and expects result: '"a" (string)' + Result of FEEL expression 'substring("foobar",-2,1)'? "a" (string) - + substring("foobar",-2,1) - Tests FEEL expression: 'substring("foobar",3,3.8)' and expects result: '"oba" (string)' - + Tests FEEL expression: 'substring("foobar",3,3.8)' and expects result: '"oba" (string)' + Result of FEEL expression 'substring("foobar",3,3.8)'? "oba" (string) - + substring("foobar",3,3.8) Tests FEEL expression: 'substring("foobar",6)' and expects result: '"r" (string)' - + Result of FEEL expression 'substring("foobar",6)'? "r" (string) - + substring("foobar",6) - Tests FEEL expression: 'substring("foobar",1,6)' and expects result: '"foobar" (string)' - + Tests FEEL expression: 'substring("foobar",1,6)' and expects result: '"foobar" (string)' + Result of FEEL expression 'substring("foobar",1,6)'? "foobar" (string) - + substring("foobar",1,6) - Tests FEEL expression: 'substring("foobar",3)' and expects result: '"obar" (string)' - + Tests FEEL expression: 'substring("foobar",3)' and expects result: '"obar" (string)' + Result of FEEL expression 'substring("foobar",3)'? "obar" (string) - + substring("foobar",3) - Tests FEEL expression: 'substring("foobar",3,3)' and expects result: '"oba" (string)' - + Tests FEEL expression: 'substring("foobar",3,3)' and expects result: '"oba" (string)' + Result of FEEL expression 'substring("foobar",3,3)'? "oba" (string) - + substring("foobar",3,3) Tests FEEL expression: 'substring("f",1,1)' and expects result: '"f" (string)' - + Result of FEEL expression 'substring("f",1,1)'? "f" (string) - + substring("f",1,1) - Tests FEEL expression: 'substring(string:"foobar",start position :3)' and expects result: '"obar" (string)' - + Tests FEEL expression: 'substring(string:"foobar",start position :3)' and expects result: '"obar" (string)' + Result of FEEL expression 'substring(string:"foobar",start position :3)'? "obar" (string) - + substring(string:"foobar",start position :3) - + - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1104-feel-string-length-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1104-feel-string-length-function.dmn index bd78ad0c497..59af43856e8 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1104-feel-string-length-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1104-feel-string-length-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'string length(string)' in category string functions - - + + number - + number - + number - + number - + number - + number - Tests FEEL expression: 'string length(string:"aaaaa dddd ")' and expects result: '11 (number)' - + Tests FEEL expression: 'string length(string:"aaaaa dddd ")' and expects result: '11 (number)' + Result of FEEL expression 'string length(string:"aaaaa dddd ")'? 11 (number) - + string length(string:"aaaaa dddd ") - Tests FEEL expression: 'string length(string:"aaaaa dddd")' and expects result: '10 (number)' - + Tests FEEL expression: 'string length(string:"aaaaa dddd")' and expects result: '10 (number)' + Result of FEEL expression 'string length(string:"aaaaa dddd")'? 10 (number) - + string length(string:"aaaaa dddd") Tests FEEL expression: 'string length("")' and expects result: '0 (number)' - + Result of FEEL expression 'string length("")'? 0 (number) - + string length("") - Tests FEEL expression: 'string length(string:"xyz123")' and expects result: '6 (number)' - + Tests FEEL expression: 'string length(string:"xyz123")' and expects result: '6 (number)' + Result of FEEL expression 'string length(string:"xyz123")'? 6 (number) - + string length(string:"xyz123") - + Tests FEEL expression: 'string length("a")' and expects result: '1 (number)' - + Result of FEEL expression 'string length("a")'? 1 (number) - + string length("a") Tests FEEL expression: 'string length("abc")' and expects result: '3 (number)' - + Result of FEEL expression 'string length("abc")'? 3 (number) - + string length("abc") @@ -105,77 +167,105 @@ - - - - - - + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1105-feel-upper-case-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1105-feel-upper-case-function.dmn index f591e3dca71..2eb7bb890b6 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1105-feel-upper-case-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1105-feel-upper-case-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'upper case(string) in category string functions - - + + string - + string - + string - + string - + string - + string - + string - + string Tests FEEL expression: 'upper case("1")' and expects result: '"1" (string)' - + Result of FEEL expression 'upper case("1")'? "1" (string) - + upper case("1") Tests FEEL expression: 'upper case("?@{")' and expects result: '"?@{" (string)' - + Result of FEEL expression 'upper case("?@{")'? "?@{" (string) - + upper case("?@{") - Tests FEEL expression: 'upper case(string:"AbDcF")' and expects result: '"ABDCF" (string)' - + Tests FEEL expression: 'upper case(string:"AbDcF")' and expects result: '"ABDCF" (string)' + Result of FEEL expression 'upper case(string:"AbDcF")'? "ABDCF" (string) - + upper case(string:"AbDcF") - Tests FEEL expression: 'upper case(string:"123ABC")' and expects result: '"123ABC" (string)' - + Tests FEEL expression: 'upper case(string:"123ABC")' and expects result: '"123ABC" (string)' + Result of FEEL expression 'upper case(string:"123ABC")'? "123ABC" (string) - + upper case(string:"123ABC") Tests FEEL expression: 'upper case("abc")' and expects result: '"ABC" (string)' - + Result of FEEL expression 'upper case("abc")'? "ABC" (string) - + upper case("abc") - Tests FEEL expression: 'upper case(string:"xyZ ")' and expects result: '"XYZ " (string)' - + Tests FEEL expression: 'upper case(string:"xyZ ")' and expects result: '"XYZ " (string)' + Result of FEEL expression 'upper case(string:"xyZ ")'? "XYZ " (string) - + upper case(string:"xyZ ") Tests FEEL expression: 'upper case("")' and expects result: '"" (string)' - + Result of FEEL expression 'upper case("")'? "" (string) - + upper case("") Tests FEEL expression: 'upper case("a")' and expects result: '"A" (string)' - + Result of FEEL expression 'upper case("a")'? "A" (string) - + upper case("a") - + - - - - - - - - + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1106-feel-lower-case-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1106-feel-lower-case-function.dmn index 33f96877726..897c10e3d03 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1106-feel-lower-case-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1106-feel-lower-case-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'lower case(string)' in category string functions - - + + string - + string - + string - + string - + string - + string - + string - + string - + string - Tests FEEL expression: 'lower case(string:"xyZ ")' and expects result: '"xyz " (string)' - + Tests FEEL expression: 'lower case(string:"xyZ ")' and expects result: '"xyz " (string)' + Result of FEEL expression 'lower case(string:"xyZ ")'? "xyz " (string) - + lower case(string:"xyZ ") - Tests FEEL expression: 'lower case(string:"AbDcF")' and expects result: '"abdcf" (string)' - + Tests FEEL expression: 'lower case(string:"AbDcF")' and expects result: '"abdcf" (string)' + Result of FEEL expression 'lower case(string:"AbDcF")'? "abdcf" (string) - + lower case(string:"AbDcF") - Tests FEEL expression: 'lower case(string:"123ABC")' and expects result: '"123abc" (string)' - + Tests FEEL expression: 'lower case(string:"123ABC")' and expects result: '"123abc" (string)' + Result of FEEL expression 'lower case(string:"123ABC")'? "123abc" (string) - + lower case(string:"123ABC") Tests FEEL expression: 'lower case("ABC")' and expects result: '"abc" (string)' - + Result of FEEL expression 'lower case("ABC")'? "abc" (string) - + lower case("ABC") Tests FEEL expression: 'lower case("")' and expects result: '"" (string)' - + Result of FEEL expression 'lower case("")'? "" (string) - + lower case("") Tests FEEL expression: 'lower case("abc")' and expects result: '"abc" (string)' - + Result of FEEL expression 'lower case("abc")'? "abc" (string) - + lower case("abc") Tests FEEL expression: 'lower case("?@{")' and expects result: '"?@{" (string)' - + Result of FEEL expression 'lower case("?@{")'? "?@{" (string) - + lower case("?@{") Tests FEEL expression: 'lower case("A")' and expects result: '"a" (string)' - + Result of FEEL expression 'lower case("A")'? "a" (string) - + lower case("A") Tests FEEL expression: 'lower case("aBc4")' and expects result: '"abc4" (string)' - + Result of FEEL expression 'lower case("aBc4")'? "abc4" (string) - + lower case("aBc4") - + - - - - - - - - - + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1107-feel-substring-before-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1107-feel-substring-before-function.dmn index 471f2dba7d3..428ce8039d9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1107-feel-substring-before-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1107-feel-substring-before-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'substring before(string, match) in category string functions - - + + FEEL built-in function 'substring before(string, match) in category string functions + + string - + string - + string - + string - + string - + string - + string - + string - + string - Tests FEEL expression: 'substring before("foobar","x")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring before("foobar","x")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("foobar","x")'? "" (string) - + substring before("foobar","x") - Tests FEEL expression: 'substring before(string:"foobar",match:"bar")' and expects result: '"foo" (string)' - + Tests FEEL expression: 'substring before(string:"foobar",match:"bar")' and expects result: '"foo" (string)' + Result of FEEL expression 'substring before(string:"foobar",match:"bar")'? "foo" (string) - + substring before(string:"foobar",match:"bar") - Tests FEEL expression: 'substring before("","")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring before("","")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("","")'? "" (string) - + substring before("","") - + - Tests FEEL expression: 'substring before("foobar","o")' and expects result: '"f" (string)' - + Tests FEEL expression: 'substring before("foobar","o")' and expects result: '"f" (string)' + Result of FEEL expression 'substring before("foobar","o")'? "f" (string) - + substring before("foobar","o") - Tests FEEL expression: 'substring before("foobar","bar")' and expects result: '"foo" (string)' - + Tests FEEL expression: 'substring before("foobar","bar")' and expects result: '"foo" (string)' + Result of FEEL expression 'substring before("foobar","bar")'? "foo" (string) - + substring before("foobar","bar") - Tests FEEL expression: 'substring before("abc","a")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring before("abc","a")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("abc","a")'? "" (string) - + substring before("abc","a") - Tests FEEL expression: 'substring before("abc","")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring before("abc","")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("abc","")'? "" (string) - + substring before("abc","") - Tests FEEL expression: 'substring before("abc","c")' and expects result: '"ab" (string)' - + Tests FEEL expression: 'substring before("abc","c")' and expects result: '"ab" (string)' + Result of FEEL expression 'substring before("abc","c")'? "ab" (string) - + substring before("abc","c") - Tests FEEL expression: 'substring before(string:"foobar",match:"b")' and expects result: '"foo" (string)' - + Tests FEEL expression: 'substring before(string:"foobar",match:"b")' and expects result: '"foo" (string)' + Result of FEEL expression 'substring before(string:"foobar",match:"b")'? "foo" (string) - + substring before(string:"foobar",match:"b") @@ -144,107 +237,147 @@ - - - - - - - - - + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1108-feel-substring-after-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1108-feel-substring-after-function.dmn index 8a8fb90d126..99b5ffd93bc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1108-feel-substring-after-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1108-feel-substring-after-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'substring after(string, match) in category string functions - - + + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - Tests FEEL expression: 'substring after("","a")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring after("","a")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("","a")'? "" (string) - + substring after("","a") - Tests FEEL expression: 'substring after(string:"foobar",match:"b")' and expects result: '"ar" (string)' - + Tests FEEL expression: 'substring after(string:"foobar",match:"b")' and expects result: '"ar" (string)' + Result of FEEL expression 'substring after(string:"foobar",match:"b")'? "ar" (string) - + substring after(string:"foobar",match:"b") Tests FEEL expression: 'substring after("","")' and expects result: '"" (string)' - + Result of FEEL expression 'substring after("","")'? "" (string) - + substring after("","") - Tests FEEL expression: 'substring after("foobar","ob")' and expects result: '"ar" (string)' - + Tests FEEL expression: 'substring after("foobar","ob")' and expects result: '"ar" (string)' + Result of FEEL expression 'substring after("foobar","ob")'? "ar" (string) - + substring after("foobar","ob") - + - Tests FEEL expression: 'substring after("foobar","o")' and expects result: '"obar" (string)' - + Tests FEEL expression: 'substring after("foobar","o")' and expects result: '"obar" (string)' + Result of FEEL expression 'substring after("foobar","o")'? "obar" (string) - + substring after("foobar","o") - Tests FEEL expression: 'substring after("foobar","x")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring after("foobar","x")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("foobar","x")'? "" (string) - + substring after("foobar","x") - Tests FEEL expression: 'substring after("abc","")' and expects result: '"abc" (string)' - + Tests FEEL expression: 'substring after("abc","")' and expects result: '"abc" (string)' + Result of FEEL expression 'substring after("abc","")'? "abc" (string) - + substring after("abc","") - Tests FEEL expression: 'substring after(string:"foobar",match:"ob")' and expects result: '"ar" (string)' - + Tests FEEL expression: 'substring after(string:"foobar",match:"ob")' and expects result: '"ar" (string)' + Result of FEEL expression 'substring after(string:"foobar",match:"ob")'? "ar" (string) - + substring after(string:"foobar",match:"ob") - Tests FEEL expression: 'substring after("abc","c")' and expects result: '"" (string)' - + Tests FEEL expression: 'substring after("abc","c")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("abc","c")'? "" (string) - + substring after("abc","c") - Tests FEEL expression: 'substring after("abc","a")' and expects result: '"bc" (string)' - + Tests FEEL expression: 'substring after("abc","a")' and expects result: '"bc" (string)' + Result of FEEL expression 'substring after("abc","a")'? "bc" (string) - + substring after("abc","a") @@ -157,117 +257,161 @@ - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1109-feel-replace-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1109-feel-replace-function.dmn index 7f2903016f4..f78f7cac8db 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1109-feel-replace-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1109-feel-replace-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'replace(input, pattern, replacement, flags?)' in category string functions - - + + FEEL built-in function 'replace(input, pattern, replacement, flags?)' in category string functions + + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - + string - Tests FEEL expression: 'replace("abracadabra","a.*?a","*")' and expects result: '"*c*bra" (string)' - + Tests FEEL expression: 'replace("abracadabra","a.*?a","*")' and expects result: '"*c*bra" (string)' + Result of FEEL expression 'replace("abracadabra","a.*?a","*")'? "*c*bra" (string) - + replace("abracadabra","a.*?a","*") - Tests FEEL expression: 'replace("abc","e","#")' and expects result: '"abc" (string)' - + Tests FEEL expression: 'replace("abc","e","#")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc","e","#")'? "abc" (string) - + replace("abc","e","#") - Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")' and expects result: '"abc" (string)' - - Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")'? + Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")' and expects result: '"abc" (string)' + + Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")'? "abc" (string) - + replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"") - Tests FEEL expression: 'replace("abracadabra","a","")' and expects result: '"brcdbr" (string)' - + Tests FEEL expression: 'replace("abracadabra","a","")' and expects result: '"brcdbr" (string)' + Result of FEEL expression 'replace("abracadabra","a","")'? "brcdbr" (string) - + replace("abracadabra","a","") - Tests FEEL expression: 'replace("abc","[a-z]","#","s")' and expects result: '"###" (string)' - + Tests FEEL expression: 'replace("abc","[a-z]","#","s")' and expects result: '"###" (string)' + Result of FEEL expression 'replace("abc","[a-z]","#","s")'? "###" (string) - + replace("abc","[a-z]","#","s") - Tests FEEL expression: 'replace("darted","^(.*?)d(.*)$","$1c$2")' and expects result: '"carted" (string)' - + Tests FEEL expression: 'replace("darted","^(.*?)d(.*)$","$1c$2")' and expects result: '"carted" (string)' + Result of FEEL expression 'replace("darted","^(.*?)d(.*)$","$1c$2")'? "carted" (string) - + replace("darted","^(.*?)d(.*)$","$1c$2") - Tests FEEL expression: 'replace("a b c d ","[a-z]","#","x")' and expects result: '"# # # # " (string)' - + Tests FEEL expression: 'replace("a b c d ","[a-z]","#","x")' and expects result: '"# # # # " (string)' + Result of FEEL expression 'replace("a b c d ","[a-z]","#","x")'? "# # # # " (string) - + replace("a b c d ","[a-z]","#","x") - Tests FEEL expression: 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")' and expects result: '"abc" (string)' - - Result of FEEL expression 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")'? + Tests FEEL expression: 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")' and expects result: '"abc" (string)' + + Result of FEEL expression 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")'? "abc" (string) - + replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix") - Tests FEEL expression: 'replace("abc","def","#")' and expects result: '"abc" (string)' - + Tests FEEL expression: 'replace("abc","def","#")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc","def","#")'? "abc" (string) - + replace("abc","def","#") - Tests FEEL expression: 'replace("abc",".^[d-z]","#")' and expects result: '"abc" (string)' - + Tests FEEL expression: 'replace("abc",".^[d-z]","#")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc",".^[d-z]","#")'? "abc" (string) - + replace("abc",".^[d-z]","#") - Tests FEEL expression: 'replace("abracadabra","a(.)","a$1$1")' and expects result: '"abbraccaddabbra" (string)' - + Tests FEEL expression: 'replace("abracadabra","a(.)","a$1$1")' and expects result: '"abbraccaddabbra" (string)' + Result of FEEL expression 'replace("abracadabra","a(.)","a$1$1")'? "abbraccaddabbra" (string) - + replace("abracadabra","a(.)","a$1$1") - Tests FEEL expression: 'replace("reluctant","r.*?t","X")' and expects result: '"Xant" (string)' - + Tests FEEL expression: 'replace("reluctant","r.*?t","X")' and expects result: '"Xant" (string)' + Result of FEEL expression 'replace("reluctant","r.*?t","X")'? "Xant" (string) - + replace("reluctant","r.*?t","X") - Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")' and expects result: '"###" (string)' - - Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")'? + Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")' and expects result: '"###" (string)' + + Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")'? "###" (string) - + replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i") - Tests FEEL expression: 'replace("a","[a-z]","#")' and expects result: '"#" (string)' - + Tests FEEL expression: 'replace("a","[a-z]","#")' and expects result: '"#" (string)' + Result of FEEL expression 'replace("a","[a-z]","#")'? "#" (string) - + replace("a","[a-z]","#") - Tests FEEL expression: 'replace("abracadabra","bra","*")' and expects result: '"a*cada*" (string)' - + Tests FEEL expression: 'replace("abracadabra","bra","*")' and expects result: '"a*cada*" (string)' + Result of FEEL expression 'replace("abracadabra","bra","*")'? "a*cada*" (string) - + replace("abracadabra","bra","*") - Tests FEEL expression: 'replace("0123456789","(d{3})(d{3})(d{4})","($1) $2-$3")' and expects result: '"(012) 345-6789" (string)' - + Tests FEEL expression: 'replace("0123456789","(d{3})(d{3})(d{4})","($1) $2-$3")' and expects result: '"(012) 345-6789" (string)' + Result of FEEL expression 'replace("0123456789","(d{3})(d{3})(d{4})","($1) $2-$3")'? "(012) 345-6789" (string) - + replace("0123456789","(d{3})(d{3})(d{4})","($1) $2-$3") - Tests FEEL expression: 'replace("a.b.c.","[a-z]","#","s")' and expects result: '"#.#.#." (string)' - + Tests FEEL expression: 'replace("a.b.c.","[a-z]","#","s")' and expects result: '"#.#.#." (string)' + Result of FEEL expression 'replace("a.b.c.","[a-z]","#","s")'? "#.#.#." (string) - + replace("a.b.c.","[a-z]","#","s") - Tests FEEL expression: 'replace("AAAA","A+","b")' and expects result: '"b" (string)' - + Tests FEEL expression: 'replace("AAAA","A+","b")' and expects result: '"b" (string)' + Result of FEEL expression 'replace("AAAA","A+","b")'? "b" (string) - + replace("AAAA","A+","b") - Tests FEEL expression: 'replace("abc",".^[d-z]*","smix")' and expects result: '"abc" (string)' - + Tests FEEL expression: 'replace("abc",".^[d-z]*","smix")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc",".^[d-z]*","smix")'? "abc" (string) - + replace("abc",".^[d-z]*","smix") - Tests FEEL expression: 'replace("abracadabra","a.*a","*")' and expects result: '"*" (string)' - + Tests FEEL expression: 'replace("abracadabra","a.*a","*")' and expects result: '"*" (string)' + Result of FEEL expression 'replace("abracadabra","a.*a","*")'? "*" (string) - + replace("abracadabra","a.*a","*") - Tests FEEL expression: 'replace("abc","[a-z]","#","")' and expects result: '"###" (string)' - + Tests FEEL expression: 'replace("abc","[a-z]","#","")' and expects result: '"###" (string)' + Result of FEEL expression 'replace("abc","[a-z]","#","")'? "###" (string) - + replace("abc","[a-z]","#","") - Tests FEEL expression: 'replace("a","[b-z]","#")' and expects result: '"a" (string)' - + Tests FEEL expression: 'replace("a","[b-z]","#")' and expects result: '"a" (string)' + Result of FEEL expression 'replace("a","[b-z]","#")'? "a" (string) - + replace("a","[b-z]","#") - Tests FEEL expression: 'replace("foobar","^fo*b*","#")' and expects result: '"#ar" (string)' - + Tests FEEL expression: 'replace("foobar","^fo*b*","#")' and expects result: '"#ar" (string)' + Result of FEEL expression 'replace("foobar","^fo*b*","#")'? "#ar" (string) - + replace("foobar","^fo*b*","#") - + - Tests FEEL expression: 'replace("facetiously","[iouy]","[$0]")' and expects result: '"facet[i][o][u]sl[y]" (string)' - + Tests FEEL expression: 'replace("facetiously","[iouy]","[$0]")' and expects result: '"facet[i][o][u]sl[y]" (string)' + Result of FEEL expression 'replace("facetiously","[iouy]","[$0]")'? "facet[i][o][u]sl[y]" (string) - + replace("facetiously","[iouy]","[$0]") - Tests FEEL expression: 'replace("abc","[A-Z]","#","i")' and expects result: '"###" (string)' - + Tests FEEL expression: 'replace("abc","[A-Z]","#","i")' and expects result: '"###" (string)' + Result of FEEL expression 'replace("abc","[A-Z]","#","i")'? "###" (string) - + replace("abc","[A-Z]","#","i") - Tests FEEL expression: 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")' and expects result: '"[1=ab][2=]cd" (string)' - + Tests FEEL expression: 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")' and expects result: '"[1=ab][2=]cd" (string)' + Result of FEEL expression 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")'? "[1=ab][2=]cd" (string) - + replace("abcd","(ab)|(a)", "[1=$1][2=$2]") - Tests FEEL expression: 'replace("AAAA","A+?","b")' and expects result: '"bbbb" (string)' - + Tests FEEL expression: 'replace("AAAA","A+?","b")' and expects result: '"bbbb" (string)' + Result of FEEL expression 'replace("AAAA","A+?","b")'? "bbbb" (string) - + replace("AAAA","A+?","b") - Tests FEEL expression: 'replace(input:"abc",pattern:"[a-z]",replacement:"#")' and expects result: '"###" (string)' - + Tests FEEL expression: 'replace(input:"abc",pattern:"[a-z]",replacement:"#")' and expects result: '"###" (string)' + Result of FEEL expression 'replace(input:"abc",pattern:"[a-z]",replacement:"#")'? "###" (string) - + replace(input:"abc",pattern:"[a-z]",replacement:"#") @@ -391,297 +658,413 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1110-feel-contains-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1110-feel-contains-function.dmn index 82e7773fb95..c256a4ec4af 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1110-feel-contains-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1110-feel-contains-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'contains(string, match)' in category string functions - - + + boolean - + boolean - + boolean - + boolean - + boolean - + boolean - + boolean - + boolean - + boolean - + boolean Tests FEEL expression: 'contains(null,null)' and expects result: 'null (boolean)' - + Result of FEEL expression 'contains(null,null)'? null (boolean) - + contains(null,null) - + Tests FEEL expression: 'contains("","ab")' and expects result: 'false (boolean)' - + Result of FEEL expression 'contains("","ab")'? false (boolean) - + contains("","ab") Tests FEEL expression: 'contains("abc","")' and expects result: 'true (boolean)' - + Result of FEEL expression 'contains("abc","")'? true (boolean) - + contains("abc","") Tests FEEL expression: 'contains("","")' and expects result: 'true (boolean)' - + Result of FEEL expression 'contains("","")'? true (boolean) - + contains("","") - Tests FEEL expression: 'contains(string:"foobar",match:"b")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'contains(string:"foobar",match:"b")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains(string:"foobar",match:"b")'? true (boolean) - + contains(string:"foobar",match:"b") - Tests FEEL expression: 'contains(string:"foobar",match:"bar")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'contains(string:"foobar",match:"bar")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains(string:"foobar",match:"bar")'? true (boolean) - + contains(string:"foobar",match:"bar") - Tests FEEL expression: 'contains("bar",null)' and expects result: 'null (boolean)' - + Tests FEEL expression: 'contains("bar",null)' and expects result: 'null (boolean)' + Result of FEEL expression 'contains("bar",null)'? null (boolean) - + contains("bar",null) - Tests FEEL expression: 'contains("foobar","bar")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'contains("foobar","bar")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains("foobar","bar")'? true (boolean) - + contains("foobar","bar") - Tests FEEL expression: 'contains(null,"bar")' and expects result: 'null (boolean)' - + Tests FEEL expression: 'contains(null,"bar")' and expects result: 'null (boolean)' + Result of FEEL expression 'contains(null,"bar")'? null (boolean) - + contains(null,"bar") - Tests FEEL expression: 'contains("foobar","o")' and expects result: 'true (boolean)' - + Tests FEEL expression: 'contains("foobar","o")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains("foobar","o")'? true (boolean) - + contains("foobar","o") @@ -157,117 +254,161 @@ - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1115-feel-date-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1115-feel-date-function.dmn index 362ec823a8b..cedefe04fc5 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1115-feel-date-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1115-feel-date-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'date(from [string])', 'date(from [date and time])' and 'date(year,month,day)' in category conversion functions - - + + FEEL built-in function 'date(from [string])', 'date(from [date and time])' and 'date(year,month,day)' in category conversion functions + + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + string - + string - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + string - + string - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date - + date Tests FEEL expression: 'date("998-12-31")' and expects result: 'null (date)' - + Result of FEEL expression 'date("998-12-31")'? null (date) - + date("998-12-31") Tests FEEL expression: 'date(2017,13,31)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,13,31)'? null (date) - + date(2017,13,31) - Tests FEEL expression: 'date("2017-01-01")' and expects result: '2017-01-01 (date)' - + Tests FEEL expression: 'date("2017-01-01")' and expects result: '2017-01-01 (date)' + Result of FEEL expression 'date("2017-01-01")'? 2017-01-01 (date) - + date("2017-01-01") Tests FEEL expression: 'date("01211-12-31")' and expects result: 'null (date)' - + Result of FEEL expression 'date("01211-12-31")'? null (date) - + date("01211-12-31") - Tests FEEL expression: 'date(date and time("2012-12-25T11:00:00Z"))' and expects result: '2012-12-25 (date)' - + Tests FEEL expression: 'date(date and time("2012-12-25T11:00:00Z"))' and expects result: '2012-12-25 (date)' + Result of FEEL expression 'date(date and time("2012-12-25T11:00:00Z"))'? 2012-12-25 (date) - + date(date and time("2012-12-25T11:00:00Z")) Tests FEEL expression: 'date("+2012-12-02")' and expects result: 'null (date)' - + Result of FEEL expression 'date("+2012-12-02")'? null (date) - + date("+2012-12-02") - Tests FEEL expression: 'date(-2017,01,01)' and expects result: '-2017-01-01 (date)' - + Tests FEEL expression: 'date(-2017,01,01)' and expects result: '-2017-01-01 (date)' + Result of FEEL expression 'date(-2017,01,01)'? -2017-01-01 (date) - + date(-2017,01,01) Tests FEEL expression: 'date(null,null,null)' and expects result: 'null (date)' - + Result of FEEL expression 'date(null,null,null)'? null (date) - + date(null,null,null) Tests FEEL expression: 'date(2017,12,32)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,12,32)'? null (date) - + date(2017,12,32) - Tests FEEL expression: 'date("-2017-12-31")' and expects result: '-2017-12-31 (date)' - + Tests FEEL expression: 'date("-2017-12-31")' and expects result: '-2017-12-31 (date)' + Result of FEEL expression 'date("-2017-12-31")'? -2017-12-31 (date) - + date("-2017-12-31") - + - Tests FEEL expression: 'date("2012T-12-2511:00:00Z")' and expects result: 'null (date)' - + Tests FEEL expression: 'date("2012T-12-2511:00:00Z")' and expects result: 'null (date)' + Result of FEEL expression 'date("2012T-12-2511:00:00Z")'? null (date) - + date("2012T-12-2511:00:00Z") - Tests FEEL expression: 'date(from:date and time("2017-08-30T10:25:00"))' and expects result: '2017-08-30 (date)' - + Tests FEEL expression: 'date(from:date and time("2017-08-30T10:25:00"))' and expects result: '2017-08-30 (date)' + Result of FEEL expression 'date(from:date and time("2017-08-30T10:25:00"))'? 2017-08-30 (date) - + date(from:date and time("2017-08-30T10:25:00")) Tests FEEL expression: 'date(null,null,1)' and expects result: 'null (date)' - + Result of FEEL expression 'date(null,null,1)'? null (date) - + date(null,null,1) - Tests FEEL expression: 'date(-2017,12,31)' and expects result: '-2017-12-31 (date)' - + Tests FEEL expression: 'date(-2017,12,31)' and expects result: '-2017-12-31 (date)' + Result of FEEL expression 'date(-2017,12,31)'? -2017-12-31 (date) - + date(-2017,12,31) - Tests FEEL expression: 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))' and expects result: '2017-09-06 (date)' - + Tests FEEL expression: 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))' and expects result: '2017-09-06 (date)' + Result of FEEL expression 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))'? 2017-09-06 (date) - + date(date and time("2017-09-06T09:45:30@Asia/Dhaka")) Tests FEEL expression: 'date("2012-12-25T")' and expects result: 'null (date)' - + Result of FEEL expression 'date("2012-12-25T")'? null (date) - + date("2012-12-25T") Tests FEEL expression: 'date(2017,-8,2)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,-8,2)'? null (date) - + date(2017,-8,2) Tests FEEL expression: 'date([])' and expects result: 'null (date)' - + Result of FEEL expression 'date([])'? null (date) - + date([]) Tests FEEL expression: 'date(2017,1,null)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,1,null)'? null (date) - + date(2017,1,null) - Tests FEEL expression: 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))' and expects result: '2017-09-03 (date)' - + Tests FEEL expression: 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))' and expects result: '2017-09-03 (date)' + Result of FEEL expression 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))'? 2017-09-03 (date) - + date(date and time("2017-09-03T09:45:30@Europe/Paris")) - Tests FEEL expression: 'date(year:2017,month:08,day:30)' and expects result: '2017-08-30 (date)' - + Tests FEEL expression: 'date(year:2017,month:08,day:30)' and expects result: '2017-08-30 (date)' + Result of FEEL expression 'date(year:2017,month:08,day:30)'? 2017-08-30 (date) - + date(year:2017,month:08,day:30) - Tests FEEL expression: 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))' and expects result: '2017-08-14 (date)' - - Result of FEEL expression 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))'? + Tests FEEL expression: 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))' and expects result: '2017-08-14 (date)' + + Result of FEEL expression 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))'? 2017-08-14 (date) - + date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00"))) - Tests FEEL expression: 'date(date and time("2017-08-03T10:15:30+01:00"))' and expects result: '2017-08-03 (date)' - + Tests FEEL expression: 'date(date and time("2017-08-03T10:15:30+01:00"))' and expects result: '2017-08-03 (date)' + Result of FEEL expression 'date(date and time("2017-08-03T10:15:30+01:00"))'? 2017-08-03 (date) - + date(date and time("2017-08-03T10:15:30+01:00")) Tests FEEL expression: 'date("2017-12-32")' and expects result: 'null (date)' - + Result of FEEL expression 'date("2017-12-32")'? null (date) - + date("2017-12-32") Tests FEEL expression: 'date("0000-12-25T")' and expects result: 'null (date)' - + Result of FEEL expression 'date("0000-12-25T")'? null (date) - + date("0000-12-25T") - Tests FEEL expression: 'string(date(999999999,12,31))' and expects result: '"999999999-12-31" (string)' - + Tests FEEL expression: 'string(date(999999999,12,31))' and expects result: '"999999999-12-31" (string)' + Result of FEEL expression 'string(date(999999999,12,31))'? "999999999-12-31" (string) - + string(date(999999999,12,31)) Tests FEEL expression: 'date()' and expects result: 'null (date)' - + Result of FEEL expression 'date()'? null (date) - + date() - Tests FEEL expression: 'string(date("999999999-12-31"))' and expects result: '"999999999-12-31" (string)' - + Tests FEEL expression: 'string(date("999999999-12-31"))' and expects result: '"999999999-12-31" (string)' + Result of FEEL expression 'string(date("999999999-12-31"))'? "999999999-12-31" (string) - + string(date("999999999-12-31")) Tests FEEL expression: 'date(2017,null,null)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,null,null)'? null (date) - + date(2017,null,null) - Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00"))' and expects result: '2017-08-14 (date)' - + Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00"))' and expects result: '2017-08-14 (date)' + Result of FEEL expression 'date(date and time("2017-08-14T14:25:00"))'? 2017-08-14 (date) - + date(date and time("2017-08-14T14:25:00")) Tests FEEL expression: 'date(null,2,1)' and expects result: 'null (date)' - + Result of FEEL expression 'date(null,2,1)'? null (date) - + date(null,2,1) Tests FEEL expression: 'date("2012/12/25")' and expects result: 'null (date)' - + Result of FEEL expression 'date("2012/12/25")'? null (date) - + date("2012/12/25") Tests FEEL expression: 'date(1000999999,12,32)' and expects result: 'null (date)' - + Result of FEEL expression 'date(1000999999,12,32)'? null (date) - + date(1000999999,12,32) - Tests FEEL expression: 'string(date("-999999999-12-31"))' and expects result: '"-999999999-12-31" (string)' - + Tests FEEL expression: 'string(date("-999999999-12-31"))' and expects result: '"-999999999-12-31" (string)' + Result of FEEL expression 'string(date("-999999999-12-31"))'? "-999999999-12-31" (string) - + string(date("-999999999-12-31")) Tests FEEL expression: 'date(2017,01,01)' and expects result: '2017-01-01 (date)' - + Result of FEEL expression 'date(2017,01,01)'? 2017-01-01 (date) - + date(2017,01,01) Tests FEEL expression: 'date(null,null)' and expects result: 'null (date)' - + Result of FEEL expression 'date(null,null)'? null (date) - + date(null,null) Tests FEEL expression: 'date("")' and expects result: 'null (date)' - + Result of FEEL expression 'date("")'? null (date) - + date("") - Tests FEEL expression: 'date(-1000999999,12,01)' and expects result: 'null (date)' - + Tests FEEL expression: 'date(-1000999999,12,01)' and expects result: 'null (date)' + Result of FEEL expression 'date(-1000999999,12,01)'? null (date) - + date(-1000999999,12,01) - Tests FEEL expression: 'date("9999999999-12-25")' and expects result: 'null (date)' - + Tests FEEL expression: 'date("9999999999-12-25")' and expects result: 'null (date)' + Result of FEEL expression 'date("9999999999-12-25")'? null (date) - + date("9999999999-12-25") Tests FEEL expression: 'date(2017,12,31)' and expects result: '2017-12-31 (date)' - + Result of FEEL expression 'date(2017,12,31)'? 2017-12-31 (date) - + date(2017,12,31) - Tests FEEL expression: 'date(date("2017-10-11"))' and expects result: '2017-10-11 (date)' - + Tests FEEL expression: 'date(date("2017-10-11"))' and expects result: '2017-10-11 (date)' + Result of FEEL expression 'date(date("2017-10-11"))'? 2017-10-11 (date) - + date(date("2017-10-11")) Tests FEEL expression: 'date("2017-13-10")' and expects result: 'null (date)' - + Result of FEEL expression 'date("2017-13-10")'? null (date) - + date("2017-13-10") - Tests FEEL expression: 'date("-2017-01-01")' and expects result: '-2017-01-01 (date)' - + Tests FEEL expression: 'date("-2017-01-01")' and expects result: '-2017-01-01 (date)' + Result of FEEL expression 'date("-2017-01-01")'? -2017-01-01 (date) - + date("-2017-01-01") Tests FEEL expression: 'date(null)' and expects result: 'null (date)' - + Result of FEEL expression 'date(null)'? null (date) - + date(null) Tests FEEL expression: 'date(2017,8,-2)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,8,-2)'? null (date) - + date(2017,8,-2) - Tests FEEL expression: 'date(from:"2012-12-25")' and expects result: '2012-12-25 (date)' - + Tests FEEL expression: 'date(from:"2012-12-25")' and expects result: '2012-12-25 (date)' + Result of FEEL expression 'date(from:"2012-12-25")'? 2012-12-25 (date) - + date(from:"2012-12-25") - Tests FEEL expression: 'string(date(-999999999,12,31))' and expects result: '"-999999999-12-31" (string)' - + Tests FEEL expression: 'string(date(-999999999,12,31))' and expects result: '"-999999999-12-31" (string)' + Result of FEEL expression 'string(date(-999999999,12,31))'? "-999999999-12-31" (string) - + string(date(-999999999,12,31)) Tests FEEL expression: 'date(1)' and expects result: 'null (date)' - + Result of FEEL expression 'date(1)'? null (date) - + date(1) Tests FEEL expression: 'date(null,02,null)' and expects result: 'null (date)' - + Result of FEEL expression 'date(null,02,null)'? null (date) - + date(null,02,null) - Tests FEEL expression: 'date("2017-12-31")' and expects result: '2017-12-31 (date)' - + Tests FEEL expression: 'date("2017-12-31")' and expects result: '2017-12-31 (date)' + Result of FEEL expression 'date("2017-12-31")'? 2017-12-31 (date) - + date("2017-12-31") Tests FEEL expression: 'date(2017,null,1)' and expects result: 'null (date)' - + Result of FEEL expression 'date(2017,null,1)'? null (date) - + date(2017,null,1) - Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00.123456789"))' and expects result: '2017-08-14 (date)' - + Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00.123456789"))' and expects result: '2017-08-14 (date)' + Result of FEEL expression 'date(date and time("2017-08-14T14:25:00.123456789"))'? 2017-08-14 (date) - + date(date and time("2017-08-14T14:25:00.123456789")) @@ -703,537 +1156,749 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1116-feel-time-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1116-feel-time-function.dmn index a6c18940799..e692f2c91ce 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1116-feel-time-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1116-feel-time-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'time(from [string])', 'time(from [time, date and time])' and 'time(hour,minute,second,offset)' in category conversion functions - - + + FEEL built-in function 'time(from [string])', 'time(from [time, date and time])' and 'time(hour,minute,second,offset)' in category conversion functions + + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + string - + string - + time - + time - + time - + time - + time - + time - + string - + string - + time - + time - + time - + time - + time - + time - + time - + time - + string - + string - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - + time - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+01:00"))' and expects result: '10:20:00+01:00 (time)' - + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+01:00"))' and expects result: '10:20:00+01:00 (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00+01:00"))'? 10:20:00+01:00 (time) - + time(date and time("2017-08-10T10:20:00+01:00")) Tests FEEL expression: 'time("11:30:00T")' and expects result: 'null (time)' - + Result of FEEL expression 'time("11:30:00T")'? null (time) - + time("11:30:00T") - Tests FEEL expression: 'time(12,null,null,null)' and expects result: 'null (time)' - + Tests FEEL expression: 'time(12,null,null,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(12,null,null,null)'? null (time) - + time(12,null,null,null) - Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M"))' and expects result: '11:59:00-02:01 (time)' - + Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M"))' and expects result: '11:59:00-02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("-PT2H1M"))'? 11:59:00-02:01 (time) - + time(11, 59, 00, duration("-PT2H1M")) Tests FEEL expression: 'time("00:00:00Z")' and expects result: '00:00:00Z (time)' - + Result of FEEL expression 'time("00:00:00Z")'? 00:00:00Z (time) - + time("00:00:00Z") - Tests FEEL expression: 'time("11:22:33.123456789")' and expects result: '11:22:33.123456789 (time)' - + Tests FEEL expression: 'time("11:22:33.123456789")' and expects result: '11:22:33.123456789 (time)' + Result of FEEL expression 'time("11:22:33.123456789")'? 11:22:33.123456789 (time) - + time("11:22:33.123456789") - Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M"))' and expects result: '11:59:00+02:01 (time)' - + Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M"))' and expects result: '11:59:00+02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("PT2H1M"))'? 11:59:00+02:01 (time) - + time(11, 59, 00, duration("PT2H1M")) Tests FEEL expression: 'time("07:1:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("07:1:00")'? null (time) - + time("07:1:00") - Tests FEEL expression: 'time("2012T-12-2511:00:00Z")' and expects result: 'null (time)' - + Tests FEEL expression: 'time("2012T-12-2511:00:00Z")' and expects result: 'null (time)' + Result of FEEL expression 'time("2012T-12-2511:00:00Z")'? null (time) - + time("2012T-12-2511:00:00Z") - Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))' and expects result: '23:59:01 (time)' - - Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))'? + Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))' and expects result: '23:59:01 (time)' + + Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))'? 23:59:01 (time) - + time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))) - + Tests FEEL expression: 'time(null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(null)'? null (time) - + time(null) Tests FEEL expression: 'time("07:2")' and expects result: 'null (time)' - + Result of FEEL expression 'time("07:2")'? null (time) - + time("07:2") - Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' - + Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("PT2H1M0S"))'? 11:59:00+02:01 (time) - + time(11, 59, 00, duration("PT2H1M0S")) - Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))' and expects result: '11:59:00-02:00 (time)' - - Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))'? + Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))' and expects result: '11:59:00-02:00 (time)' + + Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))'? 11:59:00-02:00 (time) - + time(hour:11, minute:59, second:0, offset: duration("-PT2H")) - Tests FEEL expression: 'time("13:20:00@xyz/abc")' and expects result: 'null (time)' - + Tests FEEL expression: 'time("13:20:00@xyz/abc")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00@xyz/abc")'? null (time) - + time("13:20:00@xyz/abc") - Tests FEEL expression: 'time(12,null,null,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(12,null,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(12,null,null,duration("P0D"))'? null (time) - + time(12,null,null,duration("P0D")) Tests FEEL expression: 'time(12,11,null,null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(12,11,null,null)'? null (time) - + time(12,11,null,null) - Tests FEEL expression: 'time(11, 59, 45, duration("-PT2H"))' and expects result: '11:59:45-02:00 (time)' - + Tests FEEL expression: 'time(11, 59, 45, duration("-PT2H"))' and expects result: '11:59:45-02:00 (time)' + Result of FEEL expression 'time(11, 59, 45, duration("-PT2H"))'? 11:59:45-02:00 (time) - + time(11, 59, 45, duration("-PT2H")) - Tests FEEL expression: 'time("13:20:00+02:00")' and expects result: '13:20:00+02:00 (time)' - + Tests FEEL expression: 'time("13:20:00+02:00")' and expects result: '13:20:00+02:00 (time)' + Result of FEEL expression 'time("13:20:00+02:00")'? 13:20:00+02:00 (time) - + time("13:20:00+02:00") - Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' - - Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))'? + Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' + + Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))'? 11:59:00+02:01 (time) - + time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S")) Tests FEEL expression: 'time("07:01:2")' and expects result: 'null (time)' - + Result of FEEL expression 'time("07:01:2")'? null (time) - + time("07:01:2") Tests FEEL expression: 'time("23:59:00Z")' and expects result: '23:59:00Z (time)' - + Result of FEEL expression 'time("23:59:00Z")'? 23:59:00Z (time) - + time("23:59:00Z") - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-00:00"))' and expects result: '10:20:00Z (time)' - + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-00:00"))' and expects result: '10:20:00Z (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00-00:00"))'? 10:20:00Z (time) - + time(date and time("2017-08-10T10:20:00-00:00")) - Tests FEEL expression: 'time(null,null,15,null)' and expects result: 'null (time)' - + Tests FEEL expression: 'time(null,null,15,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,15,null)'? null (time) - + time(null,null,15,null) - Tests FEEL expression: 'time(11, 59, 45, duration("PT2H"))' and expects result: '11:59:45+02:00 (time)' - + Tests FEEL expression: 'time(11, 59, 45, duration("PT2H"))' and expects result: '11:59:45+02:00 (time)' + Result of FEEL expression 'time(11, 59, 45, duration("PT2H"))'? 11:59:45+02:00 (time) - + time(11, 59, 45, duration("PT2H")) Tests FEEL expression: 'time(null,11,45,null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(null,11,45,null)'? null (time) - + time(null,11,45,null) - Tests FEEL expression: 'time("13:20:00-05:00")' and expects result: '13:20:00-05:00 (time)' - + Tests FEEL expression: 'time("13:20:00-05:00")' and expects result: '13:20:00-05:00 (time)' + Result of FEEL expression 'time("13:20:00-05:00")'? 13:20:00-05:00 (time) - + time("13:20:00-05:00") - Tests FEEL expression: 'time(from: "12:45:00")' and expects result: '12:45:00 (time)' - + Tests FEEL expression: 'time(from: "12:45:00")' and expects result: '12:45:00 (time)' + Result of FEEL expression 'time(from: "12:45:00")'? 12:45:00 (time) - + time(from: "12:45:00") - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00Z"))' and expects result: '10:20:00Z (time)' - + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00Z"))' and expects result: '10:20:00Z (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00Z"))'? 10:20:00Z (time) - + time(date and time("2017-08-10T10:20:00Z")) - Tests FEEL expression: 'string(time(11, 59, 45, duration("PT2H45M55S")))' and expects result: '"11:59:45+02:45:55" (string)' - + Tests FEEL expression: 'string(time(11, 59, 45, duration("PT2H45M55S")))' and expects result: '"11:59:45+02:45:55" (string)' + Result of FEEL expression 'string(time(11, 59, 45, duration("PT2H45M55S")))'? "11:59:45+02:45:55" (string) - + string(time(11, 59, 45, duration("PT2H45M55S"))) Tests FEEL expression: 'time("00:00:00")' and expects result: '00:00:00 (time)' - + Result of FEEL expression 'time("00:00:00")'? 00:00:00 (time) - + time("00:00:00") Tests FEEL expression: 'time("24:00:01")' and expects result: 'null (time)' - + Result of FEEL expression 'time("24:00:01")'? null (time) - + time("24:00:01") Tests FEEL expression: 'time("13:20:00-19:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("13:20:00-19:00")'? null (time) - + time("13:20:00-19:00") - Tests FEEL expression: 'time("13:20:00+02:00@Europe/Paris")' and expects result: 'null (time)' - + Tests FEEL expression: 'time("13:20:00+02:00@Europe/Paris")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00+02:00@Europe/Paris")'? null (time) - + time("13:20:00+02:00@Europe/Paris") - Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))' and expects result: '23:59:01.987654321 (time)' - - Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))'? + Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))' and expects result: '23:59:01.987654321 (time)' + + Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))'? 23:59:01.987654321 (time) - + time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))) Tests FEEL expression: 'time(24, 59, 45, null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(24, 59, 45, null)'? null (time) - + time(24, 59, 45, null) - Tests FEEL expression: 'time(12,00,00,null)' and expects result: '12:00:00 (time)' - + Tests FEEL expression: 'time(12,00,00,null)' and expects result: '12:00:00 (time)' + Result of FEEL expression 'time(12,00,00,null)'? 12:00:00 (time) - + time(12,00,00,null) - Tests FEEL expression: 'time(null,11,45,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(null,11,45,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,11,45,duration("P0D"))'? null (time) - + time(null,11,45,duration("P0D")) Tests FEEL expression: 'time("7:00:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("7:00:00")'? null (time) - + time("7:00:00") - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00"))' and expects result: '10:20:00 (time)' - + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00"))' and expects result: '10:20:00 (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00"))'? 10:20:00 (time) - + time(date and time("2017-08-10T10:20:00")) - Tests FEEL expression: 'string(time("00:01:00@Etc/UTC"))' and expects result: '"00:01:00@Etc/UTC" (string)' - + Tests FEEL expression: 'string(time("00:01:00@Etc/UTC"))' and expects result: '"00:01:00@Etc/UTC" (string)' + Result of FEEL expression 'string(time("00:01:00@Etc/UTC"))'? "00:01:00@Etc/UTC" (string) - + string(time("00:01:00@Etc/UTC")) - Tests FEEL expression: 'time(null,null,45,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(null,null,45,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,45,duration("P0D"))'? null (time) - + time(null,null,45,duration("P0D")) Tests FEEL expression: 'time("13:20:00+5:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("13:20:00+5:00")'? null (time) - + time("13:20:00+5:00") - Tests FEEL expression: 'time(11, 59, 45, null)' and expects result: '11:59:45 (time)' - + Tests FEEL expression: 'time(11, 59, 45, null)' and expects result: '11:59:45 (time)' + Result of FEEL expression 'time(11, 59, 45, null)'? 11:59:45 (time) - + time(11, 59, 45, null) - Tests FEEL expression: 'time(null,null,null,null)' and expects result: 'null (time)' - + Tests FEEL expression: 'time(null,null,null,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,null,null)'? null (time) - + time(null,null,null,null) Tests FEEL expression: 'time([])' and expects result: 'null (time)' - + Result of FEEL expression 'time([])'? null (time) - + time([]) - Tests FEEL expression: 'string(time("00:01:00@Europe/Paris"))' and expects result: '"00:01:00@Europe/Paris" (string)' - + Tests FEEL expression: 'string(time("00:01:00@Europe/Paris"))' and expects result: '"00:01:00@Europe/Paris" (string)' + Result of FEEL expression 'string(time("00:01:00@Europe/Paris"))'? "00:01:00@Europe/Paris" (string) - + string(time("00:01:00@Europe/Paris")) Tests FEEL expression: 'time("25:00:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("25:00:00")'? null (time) - + time("25:00:00") - Tests FEEL expression: 'time(11, 59, 45, duration("-PT0H"))' and expects result: '11:59:45Z (time)' - + Tests FEEL expression: 'time(11, 59, 45, duration("-PT0H"))' and expects result: '11:59:45Z (time)' + Result of FEEL expression 'time(11, 59, 45, duration("-PT0H"))'? 11:59:45Z (time) - + time(11, 59, 45, duration("-PT0H")) Tests FEEL expression: 'time(23, 59, 60, null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(23, 59, 60, null)'? null (time) - + time(23, 59, 60, null) - Tests FEEL expression: 'time(date("2017-08-10"))' and expects result: '00:00:00Z (time)' - + Tests FEEL expression: 'time(date("2017-08-10"))' and expects result: '00:00:00Z (time)' + Result of FEEL expression 'time(date("2017-08-10"))'? 00:00:00Z (time) - + time(date("2017-08-10")) - Tests FEEL expression: 'time("11:22:33+00:00")' and expects result: '11:22:33Z (time)' - + Tests FEEL expression: 'time("11:22:33+00:00")' and expects result: '11:22:33Z (time)' + Result of FEEL expression 'time("11:22:33+00:00")'? 11:22:33Z (time) - + time("11:22:33+00:00") - Tests FEEL expression: 'time(null,null,null,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(null,null,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,null,duration("P0D"))'? null (time) - + time(null,null,null,duration("P0D")) - Tests FEEL expression: 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))' and expects result: '"11:20:00@Asia/Dhaka" (string)' - - Result of FEEL expression 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))'? + Tests FEEL expression: 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))' and expects result: '"11:20:00@Asia/Dhaka" (string)' + + Result of FEEL expression 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))'? "11:20:00@Asia/Dhaka" (string) - + string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka"))) Tests FEEL expression: 'time("13:20:00+5")' and expects result: 'null (time)' - + Result of FEEL expression 'time("13:20:00+5")'? null (time) - + time("13:20:00+5") - Tests FEEL expression: 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))' and expects result: '"10:20:00@Europe/Paris" (string)' - - Result of FEEL expression 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))'? + Tests FEEL expression: 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))' and expects result: '"10:20:00@Europe/Paris" (string)' + + Result of FEEL expression 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))'? "10:20:00@Europe/Paris" (string) - + string(time(date and time("2017-08-10T10:20:00@Europe/Paris"))) Tests FEEL expression: 'time("")' and expects result: 'null (time)' - + Result of FEEL expression 'time("")'? null (time) - + time("") - Tests FEEL expression: 'time(12,0,null,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(12,0,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(12,0,null,duration("P0D"))'? null (time) - + time(12,0,null,duration("P0D")) - Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))' and expects result: '09:15:30Z (time)' - - Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))'? + Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))' and expects result: '09:15:30Z (time)' + + Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))'? 09:15:30Z (time) - + time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))) Tests FEEL expression: 'time(23, 60, 45, null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(23, 60, 45, null)'? null (time) - + time(23, 60, 45, null) Tests FEEL expression: 'time("00:60:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("00:60:00")'? null (time) - + time("00:60:00") Tests FEEL expression: 'time("01:02:03")' and expects result: '01:02:03 (time)' - + Result of FEEL expression 'time("01:02:03")'? 01:02:03 (time) - + time("01:02:03") Tests FEEL expression: 'time("00:00:61")' and expects result: 'null (time)' - + Result of FEEL expression 'time("00:00:61")'? null (time) - + time("00:00:61") Tests FEEL expression: 'time("11:00:00Z")' and expects result: '11:00:00Z (time)' - + Result of FEEL expression 'time("11:00:00Z")'? 11:00:00Z (time) - + time("11:00:00Z") - Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M0S"))' and expects result: '11:59:00-02:01 (time)' - + Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M0S"))' and expects result: '11:59:00-02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("-PT2H1M0S"))'? 11:59:00-02:01 (time) - + time(11, 59, 00, duration("-PT2H1M0S")) Tests FEEL expression: 'time("13:20:00+19:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("13:20:00+19:00")'? null (time) - + time("13:20:00+19:00") Tests FEEL expression: 'time("23:59:60")' and expects result: 'null (time)' - + Result of FEEL expression 'time("23:59:60")'? null (time) - + time("23:59:60") Tests FEEL expression: 'time("7:20")' and expects result: 'null (time)' - + Result of FEEL expression 'time("7:20")'? null (time) - + time("7:20") - Tests FEEL expression: 'time(12,null,45,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(12,null,45,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(12,null,45,duration("P0D"))'? null (time) - + time(12,null,45,duration("P0D")) Tests FEEL expression: 'time()' and expects result: 'null (time)' - + Result of FEEL expression 'time()'? null (time) - + time() - Tests FEEL expression: 'time(-24, 59, 45, null)' and expects result: 'null (time)' - + Tests FEEL expression: 'time(-24, 59, 45, null)' and expects result: 'null (time)' + Result of FEEL expression 'time(-24, 59, 45, null)'? null (time) - + time(-24, 59, 45, null) - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+00:00"))' and expects result: '10:20:00Z (time)' - + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+00:00"))' and expects result: '10:20:00Z (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00+00:00"))'? 10:20:00Z (time) - + time(date and time("2017-08-10T10:20:00+00:00")) - Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))' and expects result: '09:15:30+02:00 (time)' - - Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))'? + Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))' and expects result: '09:15:30+02:00 (time)' + + Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))'? 09:15:30+02:00 (time) - + time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))) - Tests FEEL expression: 'time(null,11,null,duration("P0D"))' and expects result: 'null (time)' - + Tests FEEL expression: 'time(null,11,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,11,null,duration("P0D"))'? null (time) - + time(null,11,null,duration("P0D")) Tests FEEL expression: 'time(null,0,null,null)' and expects result: 'null (time)' - + Result of FEEL expression 'time(null,0,null,null)'? null (time) - + time(null,0,null,null) - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-01:00"))' and expects result: '10:20:00-01:00 (time)' - + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-01:00"))' and expects result: '10:20:00-01:00 (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00-01:00"))'? 10:20:00-01:00 (time) - + time(date and time("2017-08-10T10:20:00-01:00")) - Tests FEEL expression: 'time(11, 59, 45, duration("PT0H"))' and expects result: '11:59:45Z (time)' - + Tests FEEL expression: 'time(11, 59, 45, duration("PT0H"))' and expects result: '11:59:45Z (time)' + Result of FEEL expression 'time(11, 59, 45, duration("PT0H"))'? 11:59:45Z (time) - + time(11, 59, 45, duration("PT0H")) - Tests FEEL expression: 'string(time(11, 59, 45, duration("-PT2H45M55S")))' and expects result: '"11:59:45-02:45:55" (string)' - + Tests FEEL expression: 'string(time(11, 59, 45, duration("-PT2H45M55S")))' and expects result: '"11:59:45-02:45:55" (string)' + Result of FEEL expression 'string(time(11, 59, 45, duration("-PT2H45M55S")))'? "11:59:45-02:45:55" (string) - + string(time(11, 59, 45, duration("-PT2H45M55S"))) Tests FEEL expression: 'time("24:01:00")' and expects result: 'null (time)' - + Result of FEEL expression 'time("24:01:00")'? null (time) - + time("24:01:00") - Tests FEEL expression: 'time("11:22:33-00:00")' and expects result: '11:22:33Z (time)' - + Tests FEEL expression: 'time("11:22:33-00:00")' and expects result: '11:22:33Z (time)' + Result of FEEL expression 'time("11:22:33-00:00")'? 11:22:33Z (time) - + time("11:22:33-00:00") Tests FEEL expression: 'time(2017)' and expects result: 'null (time)' - + Result of FEEL expression 'time(2017)'? null (time) - + time(2017) - Tests FEEL expression: 'time(from:date and time("2012-12-24T23:59:00"))' and expects result: '23:59:00 (time)' - + Tests FEEL expression: 'time(from:date and time("2012-12-24T23:59:00"))' and expects result: '23:59:00 (time)' + Result of FEEL expression 'time(from:date and time("2012-12-24T23:59:00"))'? 23:59:00 (time) - + time(from:date and time("2012-12-24T23:59:00")) - Tests FEEL expression: 'time("11:22:33.444")' and expects result: '11:22:33.444 (time)' - + Tests FEEL expression: 'time("11:22:33.444")' and expects result: '11:22:33.444 (time)' + Result of FEEL expression 'time("11:22:33.444")'? 11:22:33.444 (time) - + time("11:22:33.444") @@ -1106,847 +1841,1183 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1117-feel-date-and-time-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1117-feel-date-and-time-function.dmn index 4156baff0e1..03d3d86be43 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1117-feel-date-and-time-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1117-feel-date-and-time-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'date and time(from [string])' and 'date and time(date, time)' in category conversion functions - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - + + FEEL built-in function 'date and time(from [string])' and 'date and time(date, time)' in category conversion functions + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + string - + string - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + string - + string - + string - + string - + string - + string - + dateTime - + dateTime - + dateTime - + string - + string - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + string - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + string - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + string - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - + dateTime - Tests FEEL expression: 'date and time("11:00:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("11:00:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("11:00:00")'? null (date and time) - + date and time("11:00:00") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.123456789")' and expects result: '2017-12-31T11:22:33.123456789 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.123456789")' and expects result: '2017-12-31T11:22:33.123456789 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.123456789")'? 2017-12-31T11:22:33.123456789 (date and time) - + date and time("2017-12-31T11:22:33.123456789") - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))' and expects result: '"2011-12-31T10:15:30@Etc/UTC" (string)' - + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))' and expects result: '"2011-12-31T10:15:30@Etc/UTC" (string)' + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))'? "2011-12-31T10:15:30@Etc/UTC" (string) - + string(date and time("2011-12-31T10:15:30@Etc/UTC")) - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))'? + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))'? 2017-08-10T23:59:01.987654321 (date and time) - + date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321")) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))'? 2017-09-05T09:15:30.987654321+02:00 (date and time) - + date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00")) - Tests FEEL expression: 'date and time(null)' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time(null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(null)'? null (date and time) - + date and time(null) - Tests FEEL expression: 'date and time(from:"2012-12-24T23:59:00")' and expects result: '2012-12-24T23:59:00 (date and time)' - + Tests FEEL expression: 'date and time(from:"2012-12-24T23:59:00")' and expects result: '2012-12-24T23:59:00 (date and time)' + Result of FEEL expression 'date and time(from:"2012-12-24T23:59:00")'? 2012-12-24T23:59:00 (date and time) - + date and time(from:"2012-12-24T23:59:00") - Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01.123456789@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))'? + Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01.123456789@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))'? "2017-01-01T23:59:01.123456789@Europe/Paris" (string) - + string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris"))) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))'? 2017-09-05T09:15:30.987654321+02:00 (date and time) - + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00")) - Tests FEEL expression: 'date and time("+99999-12-01T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("+99999-12-01T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("+99999-12-01T11:22:33")'? null (date and time) - + date and time("+99999-12-01T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+5:00")'? null (date and time) - + date and time("2017-12-31T13:20:00+5:00") - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))'? + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))'? 2017-08-10T23:59:01.987654321 (date and time) - + date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321")) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))'? 2017-09-05T09:15:30.123456Z (date and time) - + date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z")) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))'? 2017-09-05T09:15:30+02:00 (date and time) - + date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00")) - Tests FEEL expression: 'date and time("2017-12-31T00:00:61")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T00:00:61")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T00:00:61")'? null (date and time) - + date and time("2017-12-31T00:00:61") - Tests FEEL expression: 'date and time(date:date("2017-01-01"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' - - Result of FEEL expression 'date and time(date:date("2017-01-01"),time:time("23:59:01"))'? + Tests FEEL expression: 'date and time(date:date("2017-01-01"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' + + Result of FEEL expression 'date and time(date:date("2017-01-01"),time:time("23:59:01"))'? 2017-01-01T23:59:01 (date and time) - + date and time(date:date("2017-01-01"),time:time("23:59:01")) - + - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30@Europe/Paris" (string)' - + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))'? "2011-12-31T10:15:30@Europe/Paris" (string) - + string(date and time("2011-12-31T10:15:30@Europe/Paris")) - Tests FEEL expression: 'date and time("2011-12-0310:15:30")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2011-12-0310:15:30")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2011-12-0310:15:30")'? null (date and time) - + date and time("2011-12-0310:15:30") - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))'? 2017-09-05T09:15:30+02:00 (date and time) - + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00")) - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+5")'? null (date and time) - + date and time("2017-12-31T13:20:00+5") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33Z")' and expects result: '2017-12-31T11:22:33Z (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33Z")' and expects result: '2017-12-31T11:22:33Z (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33Z")'? 2017-12-31T11:22:33Z (date and time) - + date and time("2017-12-31T11:22:33Z") - Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))'? + Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))'? "2017-01-01T23:59:01@Europe/Paris" (string) - + string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris"))) - Tests FEEL expression: 'date and time("01211-12-31T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("01211-12-31T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("01211-12-31T11:22:33")'? null (date and time) - + date and time("01211-12-31T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T24:01:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T24:01:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T24:01:00")'? null (date and time) - + date and time("2017-12-31T24:01:00") - Tests FEEL expression: 'date and time(date("2017-08-10"),null)' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time(date("2017-08-10"),null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(date("2017-08-10"),null)'? null (date and time) - + date and time(date("2017-08-10"),null) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))'? 2017-09-05T09:15:30.123456Z (date and time) - + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z")) - Tests FEEL expression: 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")'? null (date and time) - + date and time("2011-12-03T10:15:30+01:00@Europe/Paris") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.456+01:35")' and expects result: '2017-12-31T11:22:33.456+01:35 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.456+01:35")' and expects result: '2017-12-31T11:22:33.456+01:35 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.456+01:35")'? 2017-12-31T11:22:33.456+01:35 (date and time) - + date and time("2017-12-31T11:22:33.456+01:35") - Tests FEEL expression: 'date and time(2017)' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time(2017)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(2017)'? null (date and time) - + date and time(2017) - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.567Z")' and expects result: '2017-12-31T11:22:33.567Z (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.567Z")' and expects result: '2017-12-31T11:22:33.567Z (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.567Z")'? 2017-12-31T11:22:33.567Z (date and time) - + date and time("2017-12-31T11:22:33.567Z") - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")'? null (date and time) - + date and time("2017-12-31T13:20:00+02:00@Europe/Paris") - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))'? 2017-09-05T09:15:30Z (date and time) - + date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z")) - Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01+02:00"))' and expects result: '2017-01-01T23:59:01+02:00 (date and time)' - + Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01+02:00"))' and expects result: '2017-01-01T23:59:01+02:00 (date and time)' + Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01+02:00"))'? 2017-01-01T23:59:01+02:00 (date and time) - + date and time(date("2017-01-01"),time("23:59:01+02:00")) - Tests FEEL expression: 'date and time("2017-12-31T00:00:00")' and expects result: '2017-12-31T00:00:00 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T00:00:00")' and expects result: '2017-12-31T00:00:00 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T00:00:00")'? 2017-12-31T00:00:00 (date and time) - + date and time("2017-12-31T00:00:00") - Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))'? + Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))'? "2017-09-05T09:15:30.987654321@Europe/Paris" (string) - + - string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris"))) + string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris"))) - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+05:0")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+05:0")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+05:0")'? null (date and time) - + date and time("2017-12-31T13:20:00+05:0") - Tests FEEL expression: 'date and time("2017-12-31T07:2")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T07:2")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T07:2")'? null (date and time) - + date and time("2017-12-31T07:2") - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))'? 2017-09-05T09:15:30+02:00 (date and time) - + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))'? 2017-09-05T09:15:30.987654321+02:00 (date and time) - + - date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00")) + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00")) - Tests FEEL expression: 'date and time("2017-12-31T07:1:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T07:1:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T07:1:00")'? null (date and time) - + date and time("2017-12-31T07:1:00") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33-02:00")' and expects result: '2017-12-31T11:22:33-02:00 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33-02:00")' and expects result: '2017-12-31T11:22:33-02:00 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33-02:00")'? 2017-12-31T11:22:33-02:00 (date and time) - + date and time("2017-12-31T11:22:33-02:00") - Tests FEEL expression: 'date and time(null,null)' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time(null,null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(null,null)'? null (date and time) - + date and time(null,null) - Tests FEEL expression: 'date and time("")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("")'? null (date and time) - + date and time("") - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))'? + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))'? 2017-08-10T23:59:01 (date and time) - + date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01")) - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.123456789@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))'? + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.123456789@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))'? "2011-12-31T10:15:30.123456789@Europe/Paris" (string) - + string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris")) - Tests FEEL expression: 'date and time("2017-13-0T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-13-0T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-13-0T11:22:33")'? null (date and time) - + date and time("2017-13-0T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.345")' and expects result: '2017-12-31T11:22:33.345 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.345")' and expects result: '2017-12-31T11:22:33.345 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.345")'? 2017-12-31T11:22:33.345 (date and time) - + date and time("2017-12-31T11:22:33.345") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:35")' and expects result: '2017-12-31T11:22:33+01:35 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:35")' and expects result: '2017-12-31T11:22:33+01:35 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33+01:35")'? 2017-12-31T11:22:33+01:35 (date and time) - + date and time("2017-12-31T11:22:33+01:35") - Tests FEEL expression: 'date and time("2017-00-10T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-00-10T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-00-10T11:22:33")'? null (date and time) - + date and time("2017-00-10T11:22:33") - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))'? 2017-09-05T09:15:30.123456Z (date and time) - + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z")) - Tests FEEL expression: 'date and time("2017-12-31T00:60:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T00:60:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T00:60:00")'? null (date and time) - + date and time("2017-12-31T00:60:00") - Tests FEEL expression: 'date and time("2017-12-31T13:20:00@xyz/abc")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00@xyz/abc")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00@xyz/abc")'? null (date and time) - + date and time("2017-12-31T13:20:00@xyz/abc") - Tests FEEL expression: 'date and time("2017-13-10T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-13-10T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-13-10T11:22:33")'? null (date and time) - + date and time("2017-13-10T11:22:33") - Tests FEEL expression: 'date and time("-2017-12-31T11:22:33")' and expects result: '-2017-12-31T11:22:33 (date and time)' - + Tests FEEL expression: 'date and time("-2017-12-31T11:22:33")' and expects result: '-2017-12-31T11:22:33 (date and time)' + Result of FEEL expression 'date and time("-2017-12-31T11:22:33")'? -2017-12-31T11:22:33 (date and time) - + date and time("-2017-12-31T11:22:33") - Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' - + Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01"))'? 2017-01-01T23:59:01 (date and time) - + date and time(date("2017-01-01"),time("23:59:01")) - Tests FEEL expression: 'date and time(null,time("23:59:01"))' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time(null,time("23:59:01"))' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(null,time("23:59:01"))'? null (date and time) - + date and time(null,time("23:59:01")) - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))'? + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))'? 2017-08-10T23:59:01 (date and time) - + date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")) - Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))'? + Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))'? "2017-09-05T09:15:30.987654321@Europe/Paris" (string) - + - string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris"))) + string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris"))) - Tests FEEL expression: 'date and time("2017-12-31T11:22:33-01:35")' and expects result: '2017-12-31T11:22:33-01:35 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33-01:35")' and expects result: '2017-12-31T11:22:33-01:35 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33-01:35")'? 2017-12-31T11:22:33-01:35 (date and time) - + date and time("2017-12-31T11:22:33-01:35") - Tests FEEL expression: 'date and time("2017-12-31T25:00:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T25:00:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T25:00:00")'? null (date and time) - + date and time("2017-12-31T25:00:00") - Tests FEEL expression: 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))' and expects result: '"-999999999-12-31T23:59:59.999999999+02:00" (string)' - - Result of FEEL expression 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))'? + Tests FEEL expression: 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))' and expects result: '"-999999999-12-31T23:59:59.999999999+02:00" (string)' + + Result of FEEL expression 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))'? "-999999999-12-31T23:59:59.999999999+02:00" (string) - + string(date and time("-999999999-12-31T23:59:59.999999999+02:00")) - Tests FEEL expression: 'string(date and time("99999-12-31T11:22:33"))' and expects result: '"99999-12-31T11:22:33" (string)' - + Tests FEEL expression: 'string(date and time("99999-12-31T11:22:33"))' and expects result: '"99999-12-31T11:22:33" (string)' + Result of FEEL expression 'string(date and time("99999-12-31T11:22:33"))'? "99999-12-31T11:22:33" (string) - + string(date and time("99999-12-31T11:22:33")) - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+19:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+19:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+19:00")'? null (date and time) - + date and time("2017-12-31T13:20:00+19:00") - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))'? + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))'? 2017-08-10T23:59:01.987654321 (date and time) - + date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")) - Tests FEEL expression: 'date and time("2012-12-24")' and expects result: '2012-12-24T00:00:00 (date and time)' - + Tests FEEL expression: 'date and time("2012-12-24")' and expects result: '2012-12-24T00:00:00 (date and time)' + Result of FEEL expression 'date and time("2012-12-24")'? 2012-12-24T00:00:00 (date and time) - + date and time("2012-12-24") - Tests FEEL expression: 'date and time("2017-12-31T7:00:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T7:00:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T7:00:00")'? null (date and time) - + date and time("2017-12-31T7:00:00") - Tests FEEL expression: 'date and time("2017-12-31T7:20")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T7:20")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T7:20")'? null (date and time) - + date and time("2017-12-31T7:20") - Tests FEEL expression: 'date and time([])' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time([])' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time([])'? null (date and time) - + date and time([]) - Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))'? + Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))'? "2017-09-05T09:15:30.987654321@Europe/Paris" (string) - + - string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris"))) + string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris"))) - Tests FEEL expression: 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))' and expects result: '"999999999-12-31T23:59:59.999999999@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))'? + Tests FEEL expression: 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))' and expects result: '"999999999-12-31T23:59:59.999999999@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))'? "999999999-12-31T23:59:59.999999999@Europe/Paris" (string) - + string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris")) - Tests FEEL expression: 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' - - Result of FEEL expression 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))'? + Tests FEEL expression: 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' + + Result of FEEL expression 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))'? 2017-01-01T23:59:01 (date and time) - + date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01")) - Tests FEEL expression: 'string(date and time("-99999-12-31T11:22:33"))' and expects result: '"-99999-12-31T11:22:33" (string)' - + Tests FEEL expression: 'string(date and time("-99999-12-31T11:22:33"))' and expects result: '"-99999-12-31T11:22:33" (string)' + Result of FEEL expression 'string(date and time("-99999-12-31T11:22:33"))'? "-99999-12-31T11:22:33" (string) - + string(date and time("-99999-12-31T11:22:33")) - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))'? 2017-09-05T09:15:30Z (date and time) - + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z")) - Tests FEEL expression: 'date and time()' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time()' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time()'? null (date and time) - + date and time() - Tests FEEL expression: 'date and time("998-12-31T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("998-12-31T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("998-12-31T11:22:33")'? null (date and time) - + date and time("998-12-31T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T13:20:00-19:00")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T13:20:00-19:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00-19:00")'? null (date and time) - + date and time("2017-12-31T13:20:00-19:00") - Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01Z"))' and expects result: '2017-01-01T23:59:01Z (date and time)' - + Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01Z"))' and expects result: '2017-01-01T23:59:01Z (date and time)' + Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01Z"))'? 2017-01-01T23:59:01Z (date and time) - + date and time(date("2017-01-01"),time("23:59:01Z")) - Tests FEEL expression: 'date and time("2017-13-32T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-13-32T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-13-32T11:22:33")'? null (date and time) - + date and time("2017-13-32T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T24:00:01")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T24:00:01")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T24:00:01")'? null (date and time) - + date and time("2017-12-31T24:00:01") - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.987@Europe/Paris" (string)' - - Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))'? + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.987@Europe/Paris" (string)' + + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))'? "2011-12-31T10:15:30.987@Europe/Paris" (string) - + string(date and time("2011-12-31T10:15:30.987@Europe/Paris")) - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),null)' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),null)'? null (date and time) - + date and time(date and time("2017-08-10T10:20:00"),null) - Tests FEEL expression: 'date and time("-2017-12-31T11:22:33.456+01:35")' and expects result: '-2017-12-31T11:22:33.456+01:35 (date and time)' - + Tests FEEL expression: 'date and time("-2017-12-31T11:22:33.456+01:35")' and expects result: '-2017-12-31T11:22:33.456+01:35 (date and time)' + Result of FEEL expression 'date and time("-2017-12-31T11:22:33.456+01:35")'? -2017-12-31T11:22:33.456+01:35 (date and time) - + date and time("-2017-12-31T11:22:33.456+01:35") - Tests FEEL expression: 'date and time("9999999999-12-27T11:22:33")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("9999999999-12-27T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("9999999999-12-27T11:22:33")'? null (date and time) - + date and time("9999999999-12-27T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:00")' and expects result: '2017-12-31T11:22:33+01:00 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:00")' and expects result: '2017-12-31T11:22:33+01:00 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33+01:00")'? 2017-12-31T11:22:33+01:00 (date and time) - + date and time("2017-12-31T11:22:33+01:00") - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))'? + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))'? 2017-09-05T09:15:30Z (date and time) - + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")) - Tests FEEL expression: 'date and time("2017-12-31T11:22:33")' and expects result: '2017-12-31T11:22:33 (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T11:22:33")' and expects result: '2017-12-31T11:22:33 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33")'? 2017-12-31T11:22:33 (date and time) - + date and time("2017-12-31T11:22:33") - Tests FEEL expression: 'date and time("2017-12-31T07:01:2")' and expects result: 'null (date and time)' - + Tests FEEL expression: 'date and time("2017-12-31T07:01:2")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T07:01:2")'? null (date and time) - + date and time("2017-12-31T07:01:2") - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' - - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))'? + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' + + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))'? 2017-08-10T23:59:01 (date and time) - + date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01")) @@ -1171,897 +2008,1253 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1120-feel-duration-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1120-feel-duration-function.dmn index da64825fe77..fe83ef869be 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1120-feel-duration-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1120-feel-duration-function.dmn @@ -1,4 +1,4 @@ - + - + FEEL built-in function 'duration(from [String])' in category conversion functions - - - - + + + + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + dayTimeDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + dayTimeDuration - + yearMonthDuration - - - - - - - - - - + + + + + + + + + + Tests FEEL expression: 'duration("1Y")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("1Y")'? null (null) - + duration("1Y") - Tests FEEL expression: 'duration("PT24H")' and expects result: 'P1D (days and time duration)' - + Tests FEEL expression: 'duration("PT24H")' and expects result: 'P1D (days and time duration)' + Result of FEEL expression 'duration("PT24H")'? P1D (days and time duration) - + duration("PT24H") - Tests FEEL expression: 'duration("PT240H")' and expects result: 'P10D (days and time duration)' - + Tests FEEL expression: 'duration("PT240H")' and expects result: 'P10D (days and time duration)' + Result of FEEL expression 'duration("PT240H")'? P10D (days and time duration) - + duration("PT240H") - Tests FEEL expression: 'duration("-P999999999M")' and expects result: '-P83333333Y3M (years and months duration)' - + Tests FEEL expression: 'duration("-P999999999M")' and expects result: '-P83333333Y3M (years and months duration)' + Result of FEEL expression 'duration("-P999999999M")'? -P83333333Y3M (years and months duration) - + duration("-P999999999M") Tests FEEL expression: 'duration()' and expects result: 'null (null)' - + Result of FEEL expression 'duration()'? null (null) - + duration() Tests FEEL expression: 'duration("P0")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("P0")'? null (null) - + duration("P0") - Tests FEEL expression: 'duration("PT61M")' and expects result: 'PT1H1M (days and time duration)' - + Tests FEEL expression: 'duration("PT61M")' and expects result: 'PT1H1M (days and time duration)' + Result of FEEL expression 'duration("PT61M")'? PT1H1M (days and time duration) - + duration("PT61M") Tests FEEL expression: 'duration(2017)' and expects result: 'null (null)' - + Result of FEEL expression 'duration(2017)'? null (null) - + duration(2017) - Tests FEEL expression: 'duration("P999999999M")' and expects result: 'P83333333Y3M (years and months duration)' - + Tests FEEL expression: 'duration("P999999999M")' and expects result: 'P83333333Y3M (years and months duration)' + Result of FEEL expression 'duration("P999999999M")'? P83333333Y3M (years and months duration) - + duration("P999999999M") Tests FEEL expression: 'duration("P1S")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("P1S")'? null (null) - + duration("P1S") - Tests FEEL expression: 'duration("PT0.000S")' and expects result: 'PT0S (days and time duration)' - + Tests FEEL expression: 'duration("PT0.000S")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0.000S")'? PT0S (days and time duration) - + duration("PT0.000S") - Tests FEEL expression: 'duration("P1Y27M")' and expects result: 'P3Y3M (years and months duration)' - + Tests FEEL expression: 'duration("P1Y27M")' and expects result: 'P3Y3M (years and months duration)' + Result of FEEL expression 'duration("P1Y27M")'? P3Y3M (years and months duration) - + duration("P1Y27M") Tests FEEL expression: 'duration("")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("")'? null (null) - + duration("") - Tests FEEL expression: 'duration("P0Y")' and expects result: 'P0M (years and months duration)' - + Tests FEEL expression: 'duration("P0Y")' and expects result: 'P0M (years and months duration)' + Result of FEEL expression 'duration("P0Y")'? P0M (years and months duration) - + duration("P0Y") - Tests FEEL expression: 'duration("-P100M")' and expects result: '-P8Y4M (years and months duration)' - + Tests FEEL expression: 'duration("-P100M")' and expects result: '-P8Y4M (years and months duration)' + Result of FEEL expression 'duration("-P100M")'? -P8Y4M (years and months duration) - + duration("-P100M") - Tests FEEL expression: 'duration("P99999999Y")' and expects result: 'P99999999Y (years and months duration)' - + Tests FEEL expression: 'duration("P99999999Y")' and expects result: 'P99999999Y (years and months duration)' + Result of FEEL expression 'duration("P99999999Y")'? P99999999Y (years and months duration) - + duration("P99999999Y") - Tests FEEL expression: 'duration("PT0S")' and expects result: 'PT0S (days and time duration)' - + Tests FEEL expression: 'duration("PT0S")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0S")'? PT0S (days and time duration) - + duration("PT0S") - Tests FEEL expression: 'duration("PT1000M0.999999999S")' and expects result: 'PT16H40M0.999999999S (days and time duration)' - + Tests FEEL expression: 'duration("PT1000M0.999999999S")' and expects result: 'PT16H40M0.999999999S (days and time duration)' + Result of FEEL expression 'duration("PT1000M0.999999999S")'? PT16H40M0.999999999S (days and time duration) - + duration("PT1000M0.999999999S") - Tests FEEL expression: 'duration("PT3600S")' and expects result: 'PT1H (days and time duration)' - + Tests FEEL expression: 'duration("PT3600S")' and expects result: 'PT1H (days and time duration)' + Result of FEEL expression 'duration("PT3600S")'? PT1H (days and time duration) - + duration("PT3600S") - Tests FEEL expression: 'duration("PT2H")' and expects result: 'PT2H (days and time duration)' - + Tests FEEL expression: 'duration("PT2H")' and expects result: 'PT2H (days and time duration)' + Result of FEEL expression 'duration("PT2H")'? PT2H (days and time duration) - + duration("PT2H") Tests FEEL expression: 'duration([])' and expects result: 'null (null)' - + Result of FEEL expression 'duration([])'? null (null) - + duration([]) Tests FEEL expression: 'duration("1D")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("1D")'? null (null) - + duration("1D") - Tests FEEL expression: 'duration("-PT1H2M")' and expects result: '-PT1H2M (days and time duration)' - + Tests FEEL expression: 'duration("-PT1H2M")' and expects result: '-PT1H2M (days and time duration)' + Result of FEEL expression 'duration("-PT1H2M")'? -PT1H2M (days and time duration) - + duration("-PT1H2M") - Tests FEEL expression: 'duration("PT4S")' and expects result: 'PT4S (days and time duration)' - + Tests FEEL expression: 'duration("PT4S")' and expects result: 'PT4S (days and time duration)' + Result of FEEL expression 'duration("PT4S")'? PT4S (days and time duration) - + duration("PT4S") - Tests FEEL expression: 'duration(from:"PT24H")' and expects result: 'P1D (days and time duration)' - + Tests FEEL expression: 'duration(from:"PT24H")' and expects result: 'P1D (days and time duration)' + Result of FEEL expression 'duration(from:"PT24H")'? P1D (days and time duration) - + duration(from:"PT24H") - Tests FEEL expression: 'duration("P100M")' and expects result: 'P8Y4M (years and months duration)' - + Tests FEEL expression: 'duration("P100M")' and expects result: 'P8Y4M (years and months duration)' + Result of FEEL expression 'duration("P100M")'? P8Y4M (years and months duration) - + duration("P100M") - Tests FEEL expression: 'duration("PT1000M")' and expects result: 'PT16H40M (days and time duration)' - + Tests FEEL expression: 'duration("PT1000M")' and expects result: 'PT16H40M (days and time duration)' + Result of FEEL expression 'duration("PT1000M")'? PT16H40M (days and time duration) - + duration("PT1000M") - Tests FEEL expression: 'duration("2012T-12-2511:00:00Z")' and expects result: 'null (null)' - + Tests FEEL expression: 'duration("2012T-12-2511:00:00Z")' and expects result: 'null (null)' + Result of FEEL expression 'duration("2012T-12-2511:00:00Z")'? null (null) - + duration("2012T-12-2511:00:00Z") - Tests FEEL expression: 'duration("P0D")' and expects result: 'PT0S (days and time duration)' - + Tests FEEL expression: 'duration("P0D")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("P0D")'? PT0S (days and time duration) - + duration("P0D") - Tests FEEL expression: 'duration("P1Y2M")' and expects result: 'P1Y2M (years and months duration)' - + Tests FEEL expression: 'duration("P1Y2M")' and expects result: 'P1Y2M (years and months duration)' + Result of FEEL expression 'duration("P1Y2M")'? P1Y2M (years and months duration) - + duration("P1Y2M") - Tests FEEL expression: 'duration("PT0.999S")' and expects result: 'PT0.999S (days and time duration)' - + Tests FEEL expression: 'duration("PT0.999S")' and expects result: 'PT0.999S (days and time duration)' + Result of FEEL expression 'duration("PT0.999S")'? PT0.999S (days and time duration) - + duration("PT0.999S") Tests FEEL expression: 'duration(null)' and expects result: 'null (null)' - + Result of FEEL expression 'duration(null)'? null (null) - + duration(null) - Tests FEEL expression: 'duration("-P1Y")' and expects result: '-P1Y (years and months duration)' - + Tests FEEL expression: 'duration("-P1Y")' and expects result: '-P1Y (years and months duration)' + Result of FEEL expression 'duration("-P1Y")'? -P1Y (years and months duration) - + duration("-P1Y") - Tests FEEL expression: 'duration(from:"P1Y")' and expects result: 'P1Y (years and months duration)' - + Tests FEEL expression: 'duration(from:"P1Y")' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'duration(from:"P1Y")'? P1Y (years and months duration) - + duration(from:"P1Y") - Tests FEEL expression: 'duration("PT0H")' and expects result: 'PT0S (days and time duration)' - + Tests FEEL expression: 'duration("PT0H")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0H")'? PT0S (days and time duration) - + duration("PT0H") - + - Tests FEEL expression: 'duration("PT555M")' and expects result: 'PT9H15M (days and time duration)' - + Tests FEEL expression: 'duration("PT555M")' and expects result: 'PT9H15M (days and time duration)' + Result of FEEL expression 'duration("PT555M")'? PT9H15M (days and time duration) - + duration("PT555M") - Tests FEEL expression: 'duration("P0M")' and expects result: 'P0M (years and months duration)' - + Tests FEEL expression: 'duration("P0M")' and expects result: 'P0M (years and months duration)' + Result of FEEL expression 'duration("P0M")'? P0M (years and months duration) - + duration("P0M") - Tests FEEL expression: 'duration("P2DT274M")' and expects result: 'P2DT4H34M (days and time duration)' - + Tests FEEL expression: 'duration("P2DT274M")' and expects result: 'P2DT4H34M (days and time duration)' + Result of FEEL expression 'duration("P2DT274M")'? P2DT4H34M (days and time duration) - + duration("P2DT274M") - Tests FEEL expression: 'duration("P26M")' and expects result: 'P2Y2M (years and months duration)' - + Tests FEEL expression: 'duration("P26M")' and expects result: 'P2Y2M (years and months duration)' + Result of FEEL expression 'duration("P26M")'? P2Y2M (years and months duration) - + duration("P26M") Tests FEEL expression: 'duration("P1H")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("P1H")'? null (null) - + duration("P1H") - Tests FEEL expression: 'duration("P1D")' and expects result: 'P1D (days and time duration)' - + Tests FEEL expression: 'duration("P1D")' and expects result: 'P1D (days and time duration)' + Result of FEEL expression 'duration("P1D")'? P1D (days and time duration) - + duration("P1D") - Tests FEEL expression: 'duration("PT0.S")' and expects result: 'PT0S (days and time duration)' - + Tests FEEL expression: 'duration("PT0.S")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0.S")'? PT0S (days and time duration) - + duration("PT0.S") Tests FEEL expression: 'duration("P")' and expects result: 'null (null)' - + Result of FEEL expression 'duration("P")'? null (null) - + duration("P") - Tests FEEL expression: 'duration("-P99999999Y")' and expects result: '-P99999999Y (years and months duration)' - + Tests FEEL expression: 'duration("-P99999999Y")' and expects result: '-P99999999Y (years and months duration)' + Result of FEEL expression 'duration("-P99999999Y")'? -P99999999Y (years and months duration) - + duration("-P99999999Y") - Tests FEEL expression: 'duration("PT0M")' and expects result: 'PT0S (days and time duration)' - + Tests FEEL expression: 'duration("PT0M")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0M")'? PT0S (days and time duration) - + duration("PT0M") - Tests FEEL expression: 'duration(from:"P26M")' and expects result: 'P2Y2M (years and months duration)' - + Tests FEEL expression: 'duration(from:"P26M")' and expects result: 'P2Y2M (years and months duration)' + Result of FEEL expression 'duration(from:"P26M")'? P2Y2M (years and months duration) - + duration(from:"P26M") - Tests FEEL expression: 'duration("PT3M")' and expects result: 'PT3M (days and time duration)' - + Tests FEEL expression: 'duration("PT3M")' and expects result: 'PT3M (days and time duration)' + Result of FEEL expression 'duration("PT3M")'? PT3M (days and time duration) - + duration("PT3M") - Tests FEEL expression: 'duration("P2DT100M")' and expects result: 'P2DT1H40M (days and time duration)' - + Tests FEEL expression: 'duration("P2DT100M")' and expects result: 'P2DT1H40M (days and time duration)' + Result of FEEL expression 'duration("P2DT100M")'? P2DT1H40M (days and time duration) - + duration("P2DT100M") - Tests FEEL expression: 'duration("P1Y")' and expects result: 'P1Y (years and months duration)' - + Tests FEEL expression: 'duration("P1Y")' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'duration("P1Y")'? P1Y (years and months duration) - + duration("P1Y") - Tests FEEL expression: 'duration("P1DT2H3M4.123456789S")' and expects result: 'P1DT2H3M4.123456789S (days and time duration)' - + Tests FEEL expression: 'duration("P1DT2H3M4.123456789S")' and expects result: 'P1DT2H3M4.123456789S (days and time duration)' + Result of FEEL expression 'duration("P1DT2H3M4.123456789S")'? P1DT2H3M4.123456789S (days and time duration) - + duration("P1DT2H3M4.123456789S") @@ -653,517 +1103,721 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1121-feel-years-and-months-duration-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1121-feel-years-and-months-duration-function.dmn index d5417705d3b..9aa8e47aa70 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1121-feel-years-and-months-duration-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/1121-feel-years-and-months-duration-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'years and months duration(from [date and time], to [date and time])' in category conversion functions - - + + FEEL built-in function 'years and months duration(from [date and time], to [date and time])' in category conversion functions + + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - + yearMonthDuration - Tests FEEL expression: 'years and months duration(date("2016-01-21"),date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' - - Result of FEEL expression 'years and months duration(date("2016-01-21"),date("2015-01-21"))'? + Tests FEEL expression: 'years and months duration(date("2016-01-21"),date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' + + Result of FEEL expression 'years and months duration(date("2016-01-21"),date("2015-01-21"))'? -P1Y (years and months duration) - + years and months duration(date("2016-01-21"),date("2015-01-21")) - Tests FEEL expression: 'years and months duration(null,date and time("2019-10-01T12:32:59"))' and expects result: 'null (years and months duration)' - - Result of FEEL expression 'years and months duration(null,date and time("2019-10-01T12:32:59"))'? + Tests FEEL expression: 'years and months duration(null,date and time("2019-10-01T12:32:59"))' and expects result: 'null (years and months duration)' + + Result of FEEL expression 'years and months duration(null,date and time("2019-10-01T12:32:59"))'? null (years and months duration) - + years and months duration(null,date and time("2019-10-01T12:32:59")) - Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))' and expects result: 'P0M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))'? + Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))' and expects result: 'P0M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))'? P0M (years and months duration) - + - years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00")) + years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00")) - Tests FEEL expression: 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))' and expects result: 'P4Y3M (years and months duration)' - - Result of FEEL expression 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))'? + Tests FEEL expression: 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))' and expects result: 'P4Y3M (years and months duration)' + + Result of FEEL expression 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))'? P4Y3M (years and months duration) - + years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59")) - Tests FEEL expression: 'years and months duration([],[])' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration([],[])' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration([],[])'? null (years and months duration) - + years and months duration([],[]) - Tests FEEL expression: 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))' and expects result: 'P2Y9M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))'? + Tests FEEL expression: 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))' and expects result: 'P2Y9M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))'? P2Y9M (years and months duration) - + - years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111")) + years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111")) - Tests FEEL expression: 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' - - Result of FEEL expression 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))'? + Tests FEEL expression: 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' + + Result of FEEL expression 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))'? -P1Y (years and months duration) - + years and months duration(from:date("2016-01-21"),to:date("2015-01-21")) - Tests FEEL expression: 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))' and expects result: '-P11M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))'? + Tests FEEL expression: 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))' and expects result: '-P11M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))'? -P11M (years and months duration) - + - years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02")) + years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02")) - Tests FEEL expression: 'years and months duration(null)' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration(null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null)'? null (years and months duration) - + years and months duration(null) - Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))' and expects result: '-P4035Y11M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))'? + Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))' and expects result: '-P4035Y11M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))'? -P4035Y11M (years and months duration) - + - years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00")) + years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00")) - Tests FEEL expression: 'years and months duration(date(""),date(""))' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration(date(""),date(""))' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(date(""),date(""))'? null (years and months duration) - + years and months duration(date(""),date("")) - Tests FEEL expression: 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))' and expects result: 'P2Y (years and months duration)' - - Result of FEEL expression 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))'? + Tests FEEL expression: 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))' and expects result: 'P2Y (years and months duration)' + + Result of FEEL expression 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))'? P2Y (years and months duration) - + - years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01")) + years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01")) - Tests FEEL expression: 'years and months duration(null,date("2017-08-11"))' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration(null,date("2017-08-11"))' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null,date("2017-08-11"))'? null (years and months duration) - + years and months duration(null,date("2017-08-11")) - Tests FEEL expression: 'years and months duration(date("2016-01-01"),date("2016-01-01"))' and expects result: 'P0M (years and months duration)' - - Result of FEEL expression 'years and months duration(date("2016-01-01"),date("2016-01-01"))'? + Tests FEEL expression: 'years and months duration(date("2016-01-01"),date("2016-01-01"))' and expects result: 'P0M (years and months duration)' + + Result of FEEL expression 'years and months duration(date("2016-01-01"),date("2016-01-01"))'? P0M (years and months duration) - + years and months duration(date("2016-01-01"),date("2016-01-01")) - Tests FEEL expression: 'years and months duration(date("2011-12-22"),date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' - - Result of FEEL expression 'years and months duration(date("2011-12-22"),date("2013-08-24"))'? + Tests FEEL expression: 'years and months duration(date("2011-12-22"),date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' + + Result of FEEL expression 'years and months duration(date("2011-12-22"),date("2013-08-24"))'? P1Y8M (years and months duration) - + years and months duration(date("2011-12-22"),date("2013-08-24")) - Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))' and expects result: 'P4Y9M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))'? + Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))' and expects result: 'P4Y9M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))'? P4Y9M (years and months duration) - + - years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59")) + years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59")) - Tests FEEL expression: 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))' and expects result: 'P3Y (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))'? + Tests FEEL expression: 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))' and expects result: 'P3Y (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))'? P3Y (years and months duration) - + - years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645")) + years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645")) - Tests FEEL expression: 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' - - Result of FEEL expression 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))'? + Tests FEEL expression: 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' + + Result of FEEL expression 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))'? P1Y8M (years and months duration) - + years and months duration(from:date("2011-12-22"),to:date("2013-08-24")) - Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"),null)' and expects result: 'null (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"),null)'? + Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"),null)' and expects result: 'null (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"),null)'? null (years and months duration) - + years and months duration(date and time("2017-12-31T13:00:00"),null) - Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))' and expects result: 'P2Y (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))'? + Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))' and expects result: 'P2Y (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))'? P2Y (years and months duration) - + - years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59")) + years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59")) - Tests FEEL expression: 'years and months duration(2017)' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration(2017)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(2017)'? null (years and months duration) - + years and months duration(2017) - Tests FEEL expression: 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))' and expects result: 'P1Y (years and months duration)' - - Result of FEEL expression 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))'? + Tests FEEL expression: 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))' and expects result: 'P1Y (years and months duration)' + + Result of FEEL expression 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))'? P1Y (years and months duration) - + - years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59")) + years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59")) - Tests FEEL expression: 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))' and expects result: 'P7Y6M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))'? + Tests FEEL expression: 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))' and expects result: 'P7Y6M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))'? P7Y6M (years and months duration) - + - years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59")) + years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59")) - Tests FEEL expression: 'years and months duration(date("2013-08-24"),date("2011-12-22"))' and expects result: '-P1Y8M (years and months duration)' - - Result of FEEL expression 'years and months duration(date("2013-08-24"),date("2011-12-22"))'? + Tests FEEL expression: 'years and months duration(date("2013-08-24"),date("2011-12-22"))' and expects result: '-P1Y8M (years and months duration)' + + Result of FEEL expression 'years and months duration(date("2013-08-24"),date("2011-12-22"))'? -P1Y8M (years and months duration) - + years and months duration(date("2013-08-24"),date("2011-12-22")) - Tests FEEL expression: 'years and months duration(date("2017-08-11"),null)' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration(date("2017-08-11"),null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(date("2017-08-11"),null)'? null (years and months duration) - + years and months duration(date("2017-08-11"),null) - + - Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))' and expects result: 'P1Y (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))'? + Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))' and expects result: 'P1Y (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))'? P1Y (years and months duration) - + - years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59")) + years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59")) - Tests FEEL expression: 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P11M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? + Tests FEEL expression: 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P11M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? P11M (years and months duration) - + - years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris")) + years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris")) - Tests FEEL expression: 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))' and expects result: 'P1Y2M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))'? + Tests FEEL expression: 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))' and expects result: 'P1Y2M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))'? P1Y2M (years and months duration) - + - years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12")) + years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12")) - Tests FEEL expression: 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P5Y7M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? + Tests FEEL expression: 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P5Y7M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? P5Y7M (years and months duration) - + - years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris")) + years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris")) - Tests FEEL expression: 'years and months duration("2012T-12-2511:00:00Z")' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration("2012T-12-2511:00:00Z")' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration("2012T-12-2511:00:00Z")'? null (years and months duration) - + years and months duration("2012T-12-2511:00:00Z") - Tests FEEL expression: 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )' and expects result: 'P2Y4M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )'? + Tests FEEL expression: 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )' and expects result: 'P2Y4M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )'? P2Y4M (years and months duration) - + years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") ) - Tests FEEL expression: 'years and months duration()' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration()' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration()'? null (years and months duration) - + years and months duration() - Tests FEEL expression: 'years and months duration(date("2015-01-21"),date("2016-01-21"))' and expects result: 'P1Y (years and months duration)' - - Result of FEEL expression 'years and months duration(date("2015-01-21"),date("2016-01-21"))'? + Tests FEEL expression: 'years and months duration(date("2015-01-21"),date("2016-01-21"))' and expects result: 'P1Y (years and months duration)' + + Result of FEEL expression 'years and months duration(date("2015-01-21"),date("2016-01-21"))'? P1Y (years and months duration) - + years and months duration(date("2015-01-21"),date("2016-01-21")) - Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))' and expects result: '-P4033Y2M (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))'? + Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))' and expects result: '-P4033Y2M (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))'? -P4033Y2M (years and months duration) - + - years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59")) + years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59")) - Tests FEEL expression: 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))' and expects result: 'P4Y (years and months duration)' - - Result of FEEL expression 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))'? + Tests FEEL expression: 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))' and expects result: 'P4Y (years and months duration)' + + Result of FEEL expression 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))'? P4Y (years and months duration) - + - years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00")) + years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00")) - Tests FEEL expression: 'years and months duration(null,null)' and expects result: 'null (years and months duration)' - + Tests FEEL expression: 'years and months duration(null,null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null,null)'? null (years and months duration) - + years and months duration(null,null) @@ -495,377 +874,525 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Imported_Model.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Imported_Model.dmn index 698cb444f14..8a9117bdd81 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Imported_Model.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Imported_Model.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -28,10 +39,10 @@ - - + + - + "Hello " + Person.name + "!" @@ -41,19 +52,23 @@ - - + + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Model_B.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Model_B.dmn index 0f35db213de..0512d3d5d52 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Model_B.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Model_B.dmn @@ -1,4 +1,4 @@ - + - - - + + + - - + + "Evaluating Say Hello to: "+modelA.Greet the Person @@ -31,18 +46,22 @@ - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Model_B2.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Model_B2.dmn index 20b910466be..2a82dfc0f5c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Model_B2.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Model_B2.dmn @@ -1,4 +1,4 @@ - + - - - + + + - - + + "Evaluating Say Hello to: "+modelA.Greet the Person @@ -31,18 +46,22 @@ - + - + - - - + + + - - + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Say_hello_1ID1D.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Say_hello_1ID1D.dmn index db35f881198..9b533472c71 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Say_hello_1ID1D.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13-expected/Say_hello_1ID1D.dmn @@ -1,4 +1,4 @@ - + - - + + - - + + - - + + - + "Hello, "+Person name @@ -37,31 +47,42 @@ - + - + - - - + + + - - + + - + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0001-filter.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0001-filter.dmn index 84ab3b288ca..df8b1289be9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0001-filter.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0001-filter.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - number - - - string - - - - string - - - - - - - - Employees[dept=20].name - - - - - - - - - - - - - - - - - - - - + + + + number + + + number + + + string + + + + string + + + + + + + + Employees[dept=20].name + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0001-input-data-string.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0001-input-data-string.dmn index d7d55ebb1cd..f8defd49554 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0001-input-data-string.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0001-input-data-string.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - "Hello " + Full Name - - - - - - - - - - - - - - - - - - - - + + + + + + + + "Hello " + Full Name + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0002-input-data-number.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0002-input-data-number.dmn index b264f8b1561..50c38c233c4 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0002-input-data-number.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0002-input-data-number.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - 12 * Monthly Salary - - - - - - - - - - - - - - - - - - - - + + + + + + + + 12 * Monthly Salary + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0002-string-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0002-string-functions.dmn index 9c963452e14..3ac78d6a1db 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0002-string-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0002-string-functions.dmn @@ -1,4 +1,4 @@ - + - - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - string - - - number - - - string - - - string - - - string - - - string - - - - - string - - - string - - - string - - - - - - - - - - - - - - - - - - - - - - - - - - - starts with(A,"x") - - - - - - starts with(A,B) - - - - - - ends with(A,"x") - - - - - - ends with(A,B) - - - - - - contains(A,"x") - - - - - - contains(A,B) - - - - - - substring(A,NumC,1) - - - - - - string length(A) - - - - - - upper case(A) - - - - - - lower case(B) - - - - - - substring before(A,B) - - - - - - substring after(A,B) - - - - - - - - - + + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + string + + + number + + + string + + + string + + + string + + + string + + + + + string + + + string + + + string + + + + + + + + + + + + + + + + + + + + + + + + + - matches(A,"[a-z]{3}") + starts with(A,"x") - - - - - - - - - - - replace(A,"a","o") - - - - - - replace(A,"(an)+", "**") - - - - - - replace(A,"[aeiouy]","[$0]") - - - - - - - - - + + + - string(NumC) + starts with(A,B) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + ends with(A,"x") + + + + + + ends with(A,B) + + + + + + contains(A,"x") + + + + + + contains(A,B) + + + + + + substring(A,NumC,1) + + + + + + string length(A) + + + + + + upper case(A) + + + + + + lower case(B) + + + + + + substring before(A,B) + + + + + + substring after(A,B) + + + + + + + + + + + matches(A,"[a-z]{3}") + + + + + + + + + + + + replace(A,"a","o") + + + + + + replace(A,"(an)+", "**") + + + + + + replace(A,"[aeiouy]","[$0]") + + + + + + + + + + + string(NumC) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0003-input-data-string-allowed-values.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0003-input-data-string-allowed-values.dmn index 8ce90825885..92ca7aaebfc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0003-input-data-string-allowed-values.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0003-input-data-string-allowed-values.dmn @@ -1,4 +1,4 @@ - + - - - string - - "UNEMPLOYED","EMPLOYED","SELF-EMPLOYED","STUDENT" - - - - - - - - - "You are " + Employment Status - - - - - - - - - - - - - - - - - - - - + + + string + + "UNEMPLOYED","EMPLOYED","SELF-EMPLOYED","STUDENT" + + + + + + + + + "You are " + Employment Status + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0003-iteration.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0003-iteration.dmn index 6c1d5b8dc9b..49fa0f83730 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0003-iteration.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0003-iteration.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - number - - - number - - - - tLoan - - - number - - - - - - - - - - - for i in Loans return PMT2(i) - - - - - - - - (loan.amount * loan.rate/12)/(1-(1+loan.rate/12)**-loan.term) - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + number + + + number + + + number + + + + tLoan + + + number + + + + + + + + + + + for i in Loans return PMT2(i) + + + + + + + + (loan.amount * loan.rate/12)/(1-(1+loan.rate/12)**-loan.term) + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0004-lending.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0004-lending.dmn index bcb815a560f..db98777144e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0004-lending.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0004-lending.dmn @@ -1,4 +1,4 @@ - + - - - string - - "INELIGIBLE", "ELIGIBLE" - - - - string - - "FULL", "MINI", "NONE" - - - - string - - "DECLINE", "BUREAU", "THROUGH" - - - - string - - "DECLINE", "HIGH", "MEDIUM", "LOW", "VERY LOW" - - - - string - - "DECLINE", "REFER", "ACCEPT" - - - - - number - - [0..999], null - - - - boolean - - - - string - - "DECLINE", "ACCEPT" - - - - - - number - - - number - - - number - - - - number - - - boolean - - - string - - "S","M" - - - - string - - "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" - - - - - - string - - "STANDARD LOAN", "SPECIAL LOAN" - - - - number - - - number - - - number - - - - - - - - - - - - - BureauCallTypeTable - - - - - Pre-bureauRiskCategory - - - - - - Is credit bureau call required? - Yes (BUREAU) or No (DECLINE, THROUGH) - - - - - - - - - - - Eligibility - - - "ELIGIBLE", "INELIGIBLE" - - - - - BureauCallType - - - "FULL", "MINI", "NONE" - - - - - "DECLINE", "THROUGH", "BUREAU" - - - - - "INELIGIBLE" - - - - - - - "DECLINE" - - - - - "ELIGIBLE" - - - "FULL","MINI" - - - "BUREAU" - - - - - "ELIGIBLE" - - - "NONE" - - - "THROUGH" - - - - - - - - - - - - - - - - - - - - - EligibilityRules - - - - - Pre-bureauAffordability - - - - - - Pre-bureauRiskCategory - - - - - - ApplicantData.Age - - - - - - - - - - - - - - - - - - Pre-bureauRiskCategoryTable - - - - - ApplicantData.ExistingCustomer - - - - - - ApplicationRiskScore - - - - - - - - - - - - - - - - - - - - - Post-bureauRiskCategoryTable - - - - - ApplicantData.ExistingCustomer - - - - - - BureauData.CreditScore - - - - - - ApplicationRiskScore - - - - - - - - - - - - - - - ApplicationRiskScoreModel - - - - - ApplicantData.Age - - - - - - ApplicantData.MaritalStatus - - - - - - ApplicantData.EmploymentStatus - - - - - - - - - - - - - - - - - - - - - AffordabilityCalculation - - - - - ApplicantData.Monthly.Income - - - - - - ApplicantData.Monthly.Repayments - - - - - - ApplicantData.Monthly.Expenses - - - - - - Pre-bureauRiskCategory - - - - - - RequiredMonthlyInstallment - - - - - - - - - - - - - - - - - - - - - AffordabilityCalculation - - - - - ApplicantData.Monthly.Income - - - - - - ApplicantData.Monthly.Repayments - - - - - - ApplicantData.Monthly.Expenses - - - - - - Post-bureauRiskCategory - - - - - - RequiredMonthlyInstallment - - - - - - - - - - - - - - - InstallmentCalculation - - - - - RequestedProduct.ProductType - - - - - - RequestedProduct.Rate - - - - - - RequestedProduct.Term - - - - - - RequestedProduct.Amount - - - - - - - - - - - - - - - - - - - + + + string + + "INELIGIBLE", "ELIGIBLE" + + + + string + + "FULL", "MINI", "NONE" + + + + string + + "DECLINE", "BUREAU", "THROUGH" + + + + string + + "DECLINE", "HIGH", "MEDIUM", "LOW", "VERY LOW" + + + + string + + "DECLINE", "REFER", "ACCEPT" + + + + + number + + [0..999], null + + + + boolean + + + + string + + "DECLINE", "ACCEPT" + + + + + + number + + + number + + + number + + + + number + + + boolean + + + string + + "S","M" + + + + string + + "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" + + + + + + string + + "STANDARD LOAN", "SPECIAL LOAN" + + + + number + + + number + + + number + + + + + + + + + + + + + BureauCallTypeTable + + + + + Pre-bureauRiskCategory + + + + + + Is credit bureau call required? + Yes (BUREAU) or No (DECLINE, THROUGH) + + + + + + + + + + + Eligibility + + + "ELIGIBLE", "INELIGIBLE" + + + + + BureauCallType + + + "FULL", "MINI", "NONE" + + + + + "DECLINE", "THROUGH", "BUREAU" + + + + + "INELIGIBLE" + + + - + + + "DECLINE" + + + + + "ELIGIBLE" + + + "FULL","MINI" + + + "BUREAU" + + + + + "ELIGIBLE" + + + "NONE" + + + "THROUGH" + + + + + + + + + + + + + + + + + + + + + EligibilityRules + + + + + Pre-bureauAffordability + + + + + + Pre-bureauRiskCategory + + + + + + ApplicantData.Age + + + + + + + + + + + + + + + + + + Pre-bureauRiskCategoryTable + + + + + ApplicantData.ExistingCustomer + + + + + + ApplicationRiskScore + + + + + + + + + + + + + + + + + + + + + Post-bureauRiskCategoryTable + + + + + ApplicantData.ExistingCustomer + + + + + + BureauData.CreditScore + + + + + + ApplicationRiskScore + + + + + + + + + + + + + + + ApplicationRiskScoreModel + + + + + ApplicantData.Age + + + + + + ApplicantData.MaritalStatus + + + + + + ApplicantData.EmploymentStatus + + + + + + + + + + + + + + + + + + + + + AffordabilityCalculation + + + + + ApplicantData.Monthly.Income + + + + + + ApplicantData.Monthly.Repayments + + + + + + ApplicantData.Monthly.Expenses + + + + + + Pre-bureauRiskCategory + + + + + + RequiredMonthlyInstallment + + + + + + + + + + + + + + + + + + + + + AffordabilityCalculation + + + + + ApplicantData.Monthly.Income + + + + + + ApplicantData.Monthly.Repayments + + + + + + ApplicantData.Monthly.Expenses + + + + + + Post-bureauRiskCategory + + + + + + RequiredMonthlyInstallment + + + + + + + + + + + + + + + InstallmentCalculation + + + + + RequestedProduct.ProductType + + + + + + RequestedProduct.Rate + + + + + + RequestedProduct.Term + + + + + + RequestedProduct.Amount + + + + + + + + + + + + + + + + + + + + + RoutingRules + + + + + BureauData.Bankrupt + + + + + + BureauData.CreditScore + + + + + + Post-bureauRiskCategory + + + + + + Post-bureauAffordability + + + + + + + + + + + + + + + + + "ACCEPT" + + + + + + + + + + + + + + + MonthlyIncome - (MonthlyExpenses + MonthlyRepayments) + + + + + - RoutingRules + CreditContingencyFactorTable - - - BureauData.Bankrupt - - - - - - BureauData.CreditScore - + + + RiskCategory + - - - - Post-bureauRiskCategory - - - - - - Post-bureauAffordability - - - - - - - - - - - - - - - - + + + + + + if DisposableIncome * CreditContingencyFactor > RequiredMonthlyInstallment then true else false + + + + + Affordability + + + + + + + + + + + + + + + + RiskCategory + + + "DECLINE", "HIGH", "LOW", "MEDIUM", "VERY LOW" + + + + + + "HIGH", "DECLINE" + + + 0.6 + + + + + "MEDIUM" + + + 0.7 + + + + + "LOW", "VERY LOW" + + + 0.8 + + + + + + + + + + + + + + + Pre-bureauRiskCategory + + + + + Pre-bureauAffordability + + + + + Age + + + + + "INELIGIBLE", "ELIGIBLE" + + + + + "DECLINE" + + + - + + + - + + + "INELIGIBLE" + + + + + - + + + false + + + - + + + "INELIGIBLE" + + + + + - + + + - + + + <18 + + + "INELIGIBLE" + + + + + - + + + - + + + - + + + "ELIGIBLE" + + + + + + + + + + + + + Pre-bureauRiskCategory + + + + + + "HIGH","MEDIUM" + + + "FULL" + + + + + "LOW" + + + "MINI" + + + + + "VERY LOW","DECLINE" + + + "NONE" + + + + + + + + + + + + + + ExistingCustomer + + + + + ApplicationRiskScore + + + + + + false + + + <100 + + + "HIGH" + + + + + false + + + [100..120) + + + "MEDIUM" + + + + + false + + + [120..130) + + + "LOW" + + + + + false + + + >130 + + + "VERY LOW" + + + + + true + + + <80 + + + "DECLINE" + + + + + true + + + [80..90) + + + "HIGH" + + + + + true + + + [90..110] + + + "MEDIUM" + + + + + true + + + >110 + + + "LOW" + + + + + + + + + + + + + + + ExistingCustomer + + + + + ApplicationRiskScore + + + + + CreditScore + + + + + + false + + + <120 + + + <590 + + + "HIGH" + + + + + false + + + <120 + + + [590..610] + + + "MEDIUM" + + + + + false + + + <120 + + + >610 + + + "LOW" + + + + + false + + + [120..130] + + + <600 + + + "HIGH" + + + + + false + + + [120..130] + + + [600..625] + + + "MEDIUM" + + + + + false + + + [120..130] + + + >625 + + + "LOW" + + + + + false + + + >130 + + + - + + + "VERY LOW" + + + + + true + + + <=100 + + + <580 + + + "HIGH" + + + + + true + + + <=100 + + + [580..600] + + + "MEDIUM" + + + + + true + + + <=100 + + + >600 + + + "LOW" + + + + + true + + + >100 + + + <590 + + + "HIGH" + + + + + true + + + >100 + + + [590..615] + + + "MEDIUM" + + + + + true + + + >100 + + + >615 + + + "LOW" + + + + + + + + + + + + + + + Age + + + [18..120] + + + + + MaritalStatus + + + "S", "M" + + + + + EmploymentStatus + + + "UNEMPLOYED", "EMPLOYED", "SELF-EMPLOYED", "STUDENT" + + + + + + [18..21] + + + - + + + - + + + 32 + + + + + [22..25] + + + - + + + - + + + 35 + + + + + [26..35] + + + - + + + - + + + 40 + + + + + [36..49] + + + - + + + - + + + 43 + + + + + >=50 + + + - + + + - + + + 48 + + + + + - + + + "S" + + + - + + + 25 + + + + + - + + + "M" + + + - + + + 45 + + + + + - + + + - + + + "UNEMPLOYED" + + + 15 + + + + + - + + + - + + + "EMPLOYED" + + + 45 + + + + + - + + + - + + + "SELF-EMPLOYED" + + + 36 + + + + + - + + + - + + + "STUDENT" + + + 18 + + + + + + + + + + + + + + + + + if ProductType ="STANDARD LOAN" then 20.00 else if ProductType ="SPECIAL LOAN" then 25.00 else null + + + + + + (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) + + + + + MonthlyRepayment+MonthlyFee + + + + + + + + + + + + + + + + Post-bureauRiskCategory + + + + + Post-bureauAffordability + + + + + Bankrupt + + + + + CreditScore + + + + + "DECLINE", "REFER", "ACCEPT" + + + + + - + + + false + + + - + + + - + + + "DECLINE" + + + + + - + + + - + + + true + + + - + + + "DECLINE" + + + + + "HIGH" + + + - + + + - + + + - + + + "REFER" + + + + + - + + + - + + + - + + + <580 + + + "REFER" + + + + + - + + + - + + + - + + + - + + "ACCEPT" - - - - - - - - - - - - - - - MonthlyIncome - (MonthlyExpenses + MonthlyRepayments) - - - - - - - CreditContingencyFactorTable - - - - - RiskCategory - - - - - - - - if DisposableIncome * CreditContingencyFactor > RequiredMonthlyInstallment then true else false - - - - - Affordability - - - - - - - - - - - - - - - - RiskCategory - - - "DECLINE", "HIGH", "LOW", "MEDIUM", "VERY LOW" - - - - - - "HIGH", "DECLINE" - - - 0.6 - - - - - "MEDIUM" - - - 0.7 - - - - - "LOW", "VERY LOW" - - - 0.8 - - - - - - - - - - - - - - - Pre-bureauRiskCategory - - - - - Pre-bureauAffordability - - - - - Age - - - - - "INELIGIBLE", "ELIGIBLE" - - - - - "DECLINE" - - - - - - - - - - - "INELIGIBLE" - - - - - - - - - false - - - - - - - "INELIGIBLE" - - - - - - - - - - - - - <18 - - - "INELIGIBLE" - - - - - - - - - - - - - - - - - "ELIGIBLE" - - - - - - - - - - - - - Pre-bureauRiskCategory - - - - - - "HIGH","MEDIUM" - - - "FULL" - - - - - "LOW" - - - "MINI" - - - - - "VERY LOW","DECLINE" - - - "NONE" - - - - - - - - - - - - - - ExistingCustomer - - - - - ApplicationRiskScore - - - - - - false - - - <100 - - - "HIGH" - - - - - false - - - [100..120) - - - "MEDIUM" - - - - - false - - - [120..130) - - - "LOW" - - - - - false - - - >130 - - - "VERY LOW" - - - - - true - - - <80 - - - "DECLINE" - - - - - true - - - [80..90) - - - "HIGH" - - - - - true - - - [90..110] - - - "MEDIUM" - - - - - true - - - >110 - - - "LOW" - - - - - - - - - - - - - - - ExistingCustomer - - - - - ApplicationRiskScore - - - - - CreditScore - - - - - - false - - - <120 - - - <590 - - - "HIGH" - - - - - false - - - <120 - - - [590..610] - - - "MEDIUM" - - - - - false - - - <120 - - - >610 - - - "LOW" - - - - - false - - - [120..130] - - - <600 - - - "HIGH" - - - - - false - - - [120..130] - - - [600..625] - - - "MEDIUM" - - - - - false - - - [120..130] - - - >625 - - - "LOW" - - - - - false - - - >130 - - - - - - - "VERY LOW" - - - - - true - - - <=100 - - - <580 - - - "HIGH" - - - - - true - - - <=100 - - - [580..600] - - - "MEDIUM" - - - - - true - - - <=100 - - - >600 - - - "LOW" - - - - - true - - - >100 - - - <590 - - - "HIGH" - - - - - true - - - >100 - - - [590..615] - - - "MEDIUM" - - - - - true - - - >100 - - - >615 - - - "LOW" - - - - - - - - - - - - - - - Age - - - [18..120] - - - - - MaritalStatus - - - "S", "M" - - - - - EmploymentStatus - - - "UNEMPLOYED", "EMPLOYED", "SELF-EMPLOYED", "STUDENT" - - - - - - [18..21] - - - - - - - - - - - 32 - - - - - [22..25] - - - - - - - - - - - 35 - - - - - [26..35] - - - - - - - - - - - 40 - - - - - [36..49] - - - - - - - - - - - 43 - - - - - >=50 - - - - - - - - - - - 48 - - - - - - - - - "S" - - - - - - - 25 - - - - - - - - - "M" - - - - - - - 45 - - - - - - - - - - - - - "UNEMPLOYED" - - - 15 - - - - - - - - - - - - - "EMPLOYED" - - - 45 - - - - - - - - - - - - - "SELF-EMPLOYED" - - - 36 - - - - - - - - - - - - - "STUDENT" - - - 18 - - - - - - - - - - - - - - - - - if ProductType ="STANDARD LOAN" then 20.00 else if ProductType ="SPECIAL LOAN" then 25.00 else null - - - - - - (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) - - - - - MonthlyRepayment+MonthlyFee - - - - - - - - - - - - - - - - Post-bureauRiskCategory - - - - - Post-bureauAffordability - - - - - Bankrupt - - - - - CreditScore - - - - - "DECLINE", "REFER", "ACCEPT" - - - - - - - - - false - - - - - - - - - - - "DECLINE" - - - - - - - - - - - - - true - - - - - - - "DECLINE" - - - - - "HIGH" - - - - - - - - - - - - - - - "REFER" - - - - - - - - - - - - - - - - - <580 - - - "REFER" - - - - - - - - - - - - - - - - - - - - - "ACCEPT" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0004-simpletable-U.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0004-simpletable-U.dmn index ce91e248be8..3f57b8dcb92 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0004-simpletable-U.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0004-simpletable-U.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - - - <18 - - - "Medium","Low" - - - true - - - "Declined" - - - - - - - - - "High" - - - true - - - "Declined" - - - - - - - - - - - - - false - - - "Declined" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + + + <18 + + + "Medium","Low" + + + true + + + "Declined" + + + + + - + + + "High" + + + true + + + "Declined" + + + + + - + + + - + + + false + + + "Declined" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0005-literal-invocation.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0005-literal-invocation.dmn index dd7d86b2c14..97754fa67c9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0005-literal-invocation.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0005-literal-invocation.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - number - - - number - - - - - - - - - - - - - - - PMT(Loan.amount, Loan.rate, Loan.term)+fee - - - - - - - - - - (p*r/12)/(1-(1+r/12)**-n) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + number + + + number + + + number + + + + + + + + + + + + + + + PMT(Loan.amount, Loan.rate, Loan.term)+fee + + + + + + + + + + (p*r/12)/(1-(1+r/12)**-n) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0005-simpletable-A.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0005-simpletable-A.dmn index a22d9cbd568..2db940fa277 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0005-simpletable-A.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0005-simpletable-A.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - - - <18 - - - - - - - - - - - "Declined" - - - - - - - - - "High" - - - - - - - "Declined" - - - - - - - - - - - - - false - - - "Declined" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + + + <18 + + + - + + + - + + + "Declined" + + + + + - + + + "High" + + + - + + + "Declined" + + + + + - + + + - + + + false + + + "Declined" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0006-join.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0006-join.dmn index 5f765de91e2..9b22b43aebd 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0006-join.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0006-join.dmn @@ -1,4 +1,4 @@ - + - - - - string - - - string - - - number - - - - - number - - - string - - - string - - - - - - - - - - - - - - - DeptTable[number = EmployeeTable[name=LastName].deptNum[1]].manager[1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + string + + + string + + + number + + + + + number + + + string + + + string + + + + + + + + + + + + + + + DeptTable[number = EmployeeTable[name=LastName].deptNum[1]].manager[1] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0006-simpletable-P1.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0006-simpletable-P1.dmn index 56c5bce694f..f312c223d51 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0006-simpletable-P1.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0006-simpletable-P1.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - - - <18 - - - - - - - - - - - "Declined" - - - - - - - - - "High" - - - - - - - "Declined" - - - - - - - - - - - - - false - - - "Declined" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + + + <18 + + + - + + + - + + + "Declined" + + + + + - + + + "High" + + + - + + + "Declined" + + + + + - + + + - + + + false + + + "Declined" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0007-date-time.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0007-date-time.dmn index 6003baaa350..9ce70caaeed 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0007-date-time.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0007-date-time.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - number - - - number - - - number - - - number - - - number - - - - - date - - - date - - - date - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - date(dateString) - - - - - - date(Date-Time) - - - - - - date(Year,Month,Day) - - - - - - - - - + + + + number + + + number + + + number + + + number + + + number + + + number + + + + + date + + + date + + + date + + + + + + + + + + + + + + + + + + + + + + + + + + + + - date and time(dateTimeString) + date(dateString) - - - - - - + + + - time(timeString) + date(Date-Time) - - - - - - - - - - - - - - - - - - + + + - date and time(Date.fromString,Time) + date(Year,Month,Day) - - - - - - - - time(Date-Time2) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - time(Hours,Minutes,Seconds,Timezone) - - - - - - - - - - - - duration(durationString) - - - - - - - - - - - - Date-Time - Date-Time2 - - - - - - - - - - - - - - - dtDuration1 + dtDuration2 - - - - - - - - - - - - years and months duration(Date-Time2,Date-Time) - - - - - - - - - Date.fromString.day - - - - - - - - - Date.fromString.year - - - - - - - - - Date.fromString.month - - - - - - - - - Date-Time2.hour - - - - - - - - - Date-Time2.minute - - - - - - - - - Date-Time2.second - - - - - - - - - Date-Time2.time offset - - - - - - - - - ymDuration2.years - - - - - - - - - dtDuration1.seconds - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + date and time(dateTimeString) + + + + + + + + + time(timeString) + + + + + + + + + + + + + + + + + + + + + date and time(Date.fromString,Time) + + + + + + + + + time(Date-Time2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + time(Hours,Minutes,Seconds,Timezone) + + + + + + + + + + + + duration(durationString) + + + + + + + + + + + + Date-Time - Date-Time2 + + + + + + + + + + + + + + + dtDuration1 + dtDuration2 + + + + + + + + + + + + years and months duration(Date-Time2,Date-Time) + + + + + + + + + Date.fromString.day + + + + + + + + + Date.fromString.year + + + + + + + + + Date.fromString.month + + + + + + + + + Date-Time2.hour + + + + + + + + + Date-Time2.minute + + + + + + + + + Date-Time2.second + + + + + + + + + Date-Time2.time offset + + + + + + + + + ymDuration2.years + + + + + + + + + dtDuration1.seconds + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0007-simpletable-P2.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0007-simpletable-P2.dmn index 1f8edefa06e..048ddedb216 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0007-simpletable-P2.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0007-simpletable-P2.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - - - - - - - - - - - - - - - "Declined" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + + + - + + + - + + + - + + + "Declined" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0008-LX-arithmetic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0008-LX-arithmetic.dmn index 145a03cf430..b2527b62d21 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0008-LX-arithmetic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0008-LX-arithmetic.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - number - - - number - - - - - - - - - (loan.principal*loan.rate/12)/(1-(1+loan.rate/12)**-loan.termMonths) - - - - - - - - - - - - - - - - - - - - + + + + number + + + number + + + number + + + + + + + + + (loan.principal*loan.rate/12)/(1-(1+loan.rate/12)**-loan.termMonths) + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0008-listGen.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0008-listGen.dmn index ca613dc132a..6c80f233097 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0008-listGen.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0008-listGen.dmn @@ -1,4 +1,4 @@ - + - - - string - - - - - ["a","b","c"] - - - - - - - - - - - - - - - - - - - - - - - - [a,b,c] - - - - - - - - - - - - ["a",b,c] - - - - - - - - - - - c - - - - - - - - - - "a" - - - - - - - - - "b" - - - - - - - - - "c" - - - - - - - - - - - - - - - - - - - a - - - - - b - - - - - c - - - - - - - - - - - - - - - - - - a - - - - - - - - - - - - - - - - - b - - - - - - - - - - - - - - - - - c - - - - - - - - - - - flatten([["w","x"],"y","z"]) - - - - - - - - - flatten([wx,"y","z"]) - - - - - - - - - - - - - - - flatten([a,b,listGen6]) - - - - - - - - - - - - - - - flatten([a,b,listGen7]) - - - - - - - - - - - - flatten([listGen4,listGen7]) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + string + + + + + ["a","b","c"] + + + + + + + + + + + + + + + + + + + + + + + + [a,b,c] + + + + + + + + + + + + ["a",b,c] + + + + + + + + + + + c + + + + + + - + + + "a" + + + + + - + + + "b" + + + + + - + + + "c" + + + + + + + + + + + + + + + + + + + a + + + + + b + + + + + c + + + + + + - + + + - + + + - + + + a + + + + + - + + + - + + + - + + + b + + + + + - + + + - + + + - + + + c + + + + + + + + + + + flatten([["w","x"],"y","z"]) + + + + + + + + + flatten([wx,"y","z"]) + + + + + + + + + + + + + + + flatten([a,b,listGen6]) + + + + + + + + + + + + + + + flatten([a,b,listGen7]) + + + + + + + + + + + + flatten([listGen4,listGen7]) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0009-append-flatten.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0009-append-flatten.dmn index 71644ba5557..139706bbdef 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0009-append-flatten.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0009-append-flatten.dmn @@ -1,4 +1,4 @@ - + - - - string - - - tStringList - - - - - - - - - - - ["a","b","c"] - - - - - - [["w","x"],["y"],["z"]] - - - - - - - - - append(literalNestedList,["t"]) - - - - - - - - - - - - append(nestedList,simpleList) - - - - - - - - - - - - append(nestedList,literalSimpleList) - - - - - - - - - - - - append(literalNestedList,literalSimpleList) - - - - - - - - - flatten(append1) - - - - - - - - - flatten(append2) - - - - - - - - - flatten(append3) - - - - - - - - - flatten(append4) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + string + + + tStringList + + + + + + + + + + + ["a","b","c"] + + + + + + [["w","x"],["y"],["z"]] + + + + + + + + + append(literalNestedList,["t"]) + + + + + + + + + + + + append(nestedList,simpleList) + + + + + + + + + + + + append(nestedList,literalSimpleList) + + + + + + + + + + + + append(literalNestedList,literalSimpleList) + + + + + + + + + flatten(append1) + + + + + + + + + flatten(append2) + + + + + + + + + flatten(append3) + + + + + + + + + flatten(append4) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0009-invocation-arithmetic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0009-invocation-arithmetic.dmn index 32b77cceb3b..823472bf71a 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0009-invocation-arithmetic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0009-invocation-arithmetic.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - number - - - number - - - - - - - - - - - - - - - PMT(Loan.amount, Loan.rate, Loan.term)+fee - - - - - - - - - - (p*r/12)/(1-(1+r/12)**-n) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + number + + + number + + + number + + + + + + + + + + + + + + + PMT(Loan.amount, Loan.rate, Loan.term)+fee + + + + + + + + + + (p*r/12)/(1-(1+r/12)**-n) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0010-concatenate.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0010-concatenate.dmn index 74d6208aa60..0c67eabeb40 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0010-concatenate.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0010-concatenate.dmn @@ -1,4 +1,4 @@ - + - - - string - - - tStringList - - - - - - - - - - - ["a","b","c"] - - - - - - [["w","x"],["y"],["z"]] - - - - - - - - - - - - concatenate(simpleList,literalSimpleList) - - - - - - - - - - - - concatenate(simpleList,flatten(nestedList)) - - - - - - - - - - - - concatenate(literalSimpleList,flatten(nestedList)) - - - - - - - - - - - - concatenate([literalSimpleList],literalNestedList) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + string + + + tStringList + + + + + + + + + + + ["a","b","c"] + + + + + + [["w","x"],["y"],["z"]] + + + + + + + + + + + + concatenate(simpleList,literalSimpleList) + + + + + + + + + + + + concatenate(simpleList,flatten(nestedList)) + + + + + + + + + + + + concatenate(literalSimpleList,flatten(nestedList)) + + + + + + + + + + + + concatenate([literalSimpleList],literalNestedList) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0010-multi-output-U.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0010-multi-output-U.dmn index 43ed272dd14..8fd770468c4 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0010-multi-output-U.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0010-multi-output-U.dmn @@ -1,4 +1,4 @@ - + - - - - string - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - "Declined" - - - - - "Best", "Standard" - - - "Standard" - - - - - >=18 - - - "Low" - - - true - - - "Approved" - - - "Best" - - - - - >=18 - - - "Medium" - - - true - - - "Approved" - - - "Standard" - - - - - <18 - - - "Medium","Low" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - "High" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - - - - - false - - - "Declined" - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + string + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + "Declined" + + + + + "Best", "Standard" + + + "Standard" + + + + + >=18 + + + "Low" + + + true + + + "Approved" + + + "Best" + + + + + >=18 + + + "Medium" + + + true + + + "Approved" + + + "Standard" + + + + + <18 + + + "Medium","Low" + + + true + + + "Declined" + + + "Standard" + + + + + - + + + "High" + + + true + + + "Declined" + + + "Standard" + + + + + - + + + - + + + false + + + "Declined" + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0011-insert-remove.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0011-insert-remove.dmn index a0dc70a85d5..d4d2fc69d34 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0011-insert-remove.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0011-insert-remove.dmn @@ -1,4 +1,4 @@ - + - - - string - - - tStringList - - - - - - - - - - - - - - [["a","b"],["b","c"]] - - - - - - - - - - - - remove(simpleList,position) - - - - - - - - - - - - - - - insert before(literalNestedList,position,simpleList) - - - - - - - - - - - - remove(literalNestedList,position) - - - - - - - - - - - - insert before(simpleList,position,"x") - - - - - - - - - - - - - - - insert before(nestedList,position,simpleList) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + string + + + tStringList + + + + + + + + + + + + + + [["a","b"],["b","c"]] + + + + + + + + + + + + remove(simpleList,position) + + + + + + + + + + + + + + + insert before(literalNestedList,position,simpleList) + + + + + + + + + + + + remove(literalNestedList,position) + + + + + + + + + + + + insert before(simpleList,position,"x") + + + + + + + + + + + + + + + insert before(nestedList,position,simpleList) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0012-list-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0012-list-functions.dmn index a556c7e357e..4333b79943e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0012-list-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0012-list-functions.dmn @@ -1,4 +1,4 @@ - + - - - string - - - number - - - tStringList - - - - - - - - - - - - - - - - - - - - list contains(list1,list2) - - - - - - - - - - - - list contains(list2,string1) - - - - - - - - - count(list1) - - - - - - - - - min(numList) - - - - - - - - - - - - sum(numList) - - - - - - - - - mean(numList) - - - - - - - - - - - - - - - - - - - - - - - - mean(num1,num2,num3) - - - - - - - - - sublist(list1,1,2) - - - - - - - - - sublist(list1,-1,1) - - - - - - - - - - - - - - - append(numList,num1,num2) - - - - - - - - - - - - concatenate(list1,list2) - - - - - - - - - - - - insert before(list2,2,string1) - - - - - - - - - remove(list2,2) - - - - - - - - - reverse(concatenate1) - - - - - - - - - - - - append(list1,string1) - - - - - - - - - - - - index of(list2,string1) - - - - - - - - - - - - union(insertBefore1,concatenate1) - - - - - - - - - distinct values(insertBefore1) - - - - - - - - - - - - flatten(append(list1, list2)) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + string + + + number + + + tStringList + + + + + + + + + + + + + + + + + + + + list contains(list1,list2) + + + + + + + + + + + + list contains(list2,string1) + + + + + + + + + count(list1) + + + + + + + + + min(numList) + + + + + + + + + + + + sum(numList) + + + + + + + + + mean(numList) + + + + + + + + + + + + + + + + + + + + + + + + mean(num1,num2,num3) + + + + + + + + + sublist(list1,1,2) + + + + + + + + + sublist(list1,-1,1) + + + + + + + + + + + + + + + append(numList,num1,num2) + + + + + + + + + + + + concatenate(list1,list2) + + + + + + + + + + + + insert before(list2,2,string1) + + + + + + + + + remove(list2,2) + + + + + + + + + reverse(concatenate1) + + + + + + + + + + + + append(list1,string1) + + + + + + + + + + + + index of(list2,string1) + + + + + + + + + + + + union(insertBefore1,concatenate1) + + + + + + + + + distinct values(insertBefore1) + + + + + + + + + + + + flatten(append(list1, list2)) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0013-sort.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0013-sort.dmn index bd961703008..fd766acfdeb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0013-sort.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0013-sort.dmn @@ -1,4 +1,4 @@ - + - - - number - - - - number - - - number - - - number - - - number - - - - tRow - - - string - - - - - - - - - - - - - - sort(listA, function(x,y) x>y) - - - - - - - - - sort(tableB, function(x,y) x.col2<y.col2) - - - - - - - - - - - - sort(stringList, function(x,y) x<y) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + number + + + + number + + + number + + + number + + + number + + + + tRow + + + string + + + + + + + + + + + + + + sort(listA, function(x,y) x>y) + + + + + + + + + sort(tableB, function(x,y) x.col2<y.col2) + + + + + + + + + + + + sort(stringList, function(x,y) x<y) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0014-loan-comparison.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0014-loan-comparison.dmn index 9b05eb42f22..e39a13f8b87 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0014-loan-comparison.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0014-loan-comparison.dmn @@ -1,4 +1,4 @@ - + - - - - string - - - number - - - number - - - number - - - - tLoanProduct - - - - string - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - - tMetric - - - - tMetrics - - - tMetrics - - - tMetrics - - - tMetrics - - - tMetrics - - - - - - - - - - - - "Oceans Capital" - - - .03500 - - - 0 - - - 0 - - - - - "eClick Lending" - - - .03200 - - - 1.1 - - - 2700 - - - - - "eClickLending" - - - .03375 - - - 0.1 - - - 1200 - - - - - "AimLoan" - - - .03000 - - - 1.1 - - - 3966 - - - - - "Home Loans Today" - - - .03125 - - - 1.1 - - - 285 - - - - - "Sebonic" - - - .03125 - - - 0.1 - - - 4028 - - - - - "AimLoan" - - - .03125 - - - 0.1 - - - 4317 - - - - - "eRates Mortgage" - - - .03125 - - - 1.1 - - - 2518 - - - - - "Home Loans Today" - - - .03250 - - - 0.1 - - - 822 - - - - - "AimLoan" - - - .03250 - - - 0 - - - 1995 - - - - - - - - - - - - - - - - - - - - - - - for i in Bankrates return FinancialMetrics(i,RequestedAmt) - - - - - - sort(metricsTable, function(x,y) x.rate<y.rate) - - - - - - sort(metricsTable, function(x,y) x.downPmtAmt<y.downPmtAmt) - - - - - - sort(metricsTable, function(x,y) x.paymentAmt<y.paymentAmt) - - - - - - sort(metricsTable, function(x,y) x.equity36moPct>y.equity36moPct) - - - - - - - - - - - - - - product.lenderName - - - - - - product.rate - - - - - - product.points - - - - - - product.fee - - - - - - requestedAmt*(1+points/100)+fee - - - - - - 0.2*loanAmt - - - - - - monthlyPayment(loanAmt,rate,360) - - - - - - 1 - equity36Mo(loanAmt,rate,36,paymentAmt)/requestedAmt*0.8 - - - - - - - - - - - - - - - - - - - p*r/12/(1-(1+r/12)**-n) - - - - - - - - - - - - p*(1+r/12)**n - pmt*(-1+(1+r/12)**n)/r - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + string + + + number + + + number + + + number + + + + tLoanProduct + + + + string + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + + tMetric + + + + tMetrics + + + tMetrics + + + tMetrics + + + tMetrics + + + tMetrics + + + + + + + + + + + + "Oceans Capital" + + + .03500 + + + 0 + + + 0 + + + + + "eClick Lending" + + + .03200 + + + 1.1 + + + 2700 + + + + + "eClickLending" + + + .03375 + + + 0.1 + + + 1200 + + + + + "AimLoan" + + + .03000 + + + 1.1 + + + 3966 + + + + + "Home Loans Today" + + + .03125 + + + 1.1 + + + 285 + + + + + "Sebonic" + + + .03125 + + + 0.1 + + + 4028 + + + + + "AimLoan" + + + .03125 + + + 0.1 + + + 4317 + + + + + "eRates Mortgage" + + + .03125 + + + 1.1 + + + 2518 + + + + + "Home Loans Today" + + + .03250 + + + 0.1 + + + 822 + + + + + "AimLoan" + + + .03250 + + + 0 + + + 1995 + + + + + + + + + + + + + + + + + + + + + + + for i in Bankrates return FinancialMetrics(i,RequestedAmt) + + + + + + sort(metricsTable, function(x,y) x.rate<y.rate) + + + + + + sort(metricsTable, function(x,y) x.downPmtAmt<y.downPmtAmt) + + + + + + sort(metricsTable, function(x,y) x.paymentAmt<y.paymentAmt) + + + + + + sort(metricsTable, function(x,y) x.equity36moPct>y.equity36moPct) + + + + + + + + + + + + + + product.lenderName + + + + + + product.rate + + + + + + product.points + + + + + + product.fee + + + + + + requestedAmt*(1+points/100)+fee + + + + + + 0.2*loanAmt + + + + + + monthlyPayment(loanAmt,rate,360) + + + + + + 1 - equity36Mo(loanAmt,rate,36,paymentAmt)/requestedAmt*0.8 + + + + + + + + + + + + + + + + + + + p*r/12/(1-(1+r/12)**-n) + + + + + + + + + + + + p*(1+r/12)**n - pmt*(-1+(1+r/12)**n)/r + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0016-some-every.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0016-some-every.dmn index 915e7fb1e88..42f3bd8348c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0016-some-every.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0016-some-every.dmn @@ -1,4 +1,4 @@ - + - - - - string - - - number - - - - tItemPrice - - - - - - - - - - - - "widget" - - - 25 - - - - - "sprocket" - - - 15 - - - - - "trinket" - - - 1.5 - - - - - - - - - + + + + string + + + number + + + + tItemPrice + + + + + + + + + + - every i in priceTable1 satisfies i.price > 10 + "widget" - - - - - - - every i in priceTable2 satisfies i.price > 10 + 25 - - - - - - + + - some i in priceTable1 satisfies i.price > 10 + "sprocket" - - - - - - - some i in priceTable2 satisfies i.price > 10 + 15 - - - - - - - - - + + - every i in priceTable1 satisfies gtTen(i.price)=true + "trinket" - - - - - - - theNumber > 10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 1.5 + + + + + + + + + + + every i in priceTable1 satisfies i.price > 10 + + + + + + + + + every i in priceTable2 satisfies i.price > 10 + + + + + + + + + some i in priceTable1 satisfies i.price > 10 + + + + + + + + + some i in priceTable2 satisfies i.price > 10 + + + + + + + + + + + + every i in priceTable1 satisfies gtTen(i.price)=true + + + + + + + + theNumber > 10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0017-tableTests.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0017-tableTests.dmn index 7f31f0b50aa..3688a0006db 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0017-tableTests.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0017-tableTests.dmn @@ -1,4 +1,4 @@ - + - - - number - - - - string - - - number - - - - string - - - - - - - - - - - - - - - - - - - - - - - - - structA.price - - - - - - >10 - - - true - - - - - <=10 - - - false - - - - - - - - - - - - - - - - - - - structA.price - - - - - "In range", "Not in range" - - - - - [numB..numC] - - - "In range" - - - - - - - - - "Not in range" - - - - - - - - - - - - - dateD - - - - - - >date("2016-10-01") - - - true - - - - - <=date("2016-10-01") - - - false - - - - - - - - - - - - - - - - dateD - - - - - - >dateE - - - true - - - - - <=dateE - - - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + number + + + + string + + + number + + + + string + + + + + + + + + + + + + + + + + + + + + + + + + structA.price + + + + + + >10 + + + true + + + + + <=10 + + + false + + + + + + + + + + + + + + + + + + + structA.price + + + + + "In range", "Not in range" + + + + + [numB..numC] + + + "In range" + + + + + - + + + "Not in range" + + + + + + + + + + + + + dateD + + + + + + >date("2016-10-01") + + + true + + + + + <=date("2016-10-01") + + + false + + + + + + + + + + + + + + + + dateD + + + + + + >dateE + + + true + + + + + <=dateE + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0020-vacation-days.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0020-vacation-days.dmn index 29b5f8c9110..72a3b4e8f18 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0020-vacation-days.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0020-vacation-days.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - - - - - - - Base Vacation Days + + + + + + + + + + + + + + + + + + + + + + + + Base Vacation Days + max( Extra days case 1, Extra days case 3 ) + Extra days case 2 - - - - - - - - - - - - - - Age - - - - - Years of Service - - - - - 0 - - - - - <18,>=60 - - - - - - - 5 - - - - - - - - - >=30 - - - 5 - - - - - - - - - - - - - - - - Age - - - - - Years of Service - - - - - 0 - - - - - - - - - >=30 - - - 3 - - - - - >=60 - - - - - - - 3 - - - - - - - - - - - - - - - - Age - - - - - Years of Service - - - - - 0 - - - - - - - - - [15..30) - - - 2 - - - - - >=45 - - - - - - - 2 - - - - - - - - 22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + Age + + + + + Years of Service + + + + + 0 + + + + + <18,>=60 + + + - + + + 5 + + + + + - + + + >=30 + + + 5 + + + + + + + + + + + + + + + + Age + + + + + Years of Service + + + + + 0 + + + + + - + + + >=30 + + + 3 + + + + + >=60 + + + - + + + 3 + + + + + + + + + + + + + + + + Age + + + + + Years of Service + + + + + 0 + + + + + - + + + [15..30) + + + 2 + + + + + >=45 + + + - + + + 2 + + + + + + + + 22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0021-singleton-list.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0021-singleton-list.dmn index eef988d8741..34a9fd5f4ed 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0021-singleton-list.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0021-singleton-list.dmn @@ -1,4 +1,4 @@ - + - - - string - - - - - - - - - - - sublist(Employees, 2, 1) - - - - - - - - - sublist(Employees, 2, 1) - - - - - - - - - Employees[item = "Bob"] - - - - - - - - - Employees[item = "Bob"] - - - - - - - - - upper case( Employees[item = "Bob"] ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + string + + + + + + + + + + + sublist(Employees, 2, 1) + + + + + + + + + sublist(Employees, 2, 1) + + + + + + + + + Employees[item = "Bob"] + + + + + + + + + Employees[item = "Bob"] + + + + + + + + + upper case( Employees[item = "Bob"] ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0030-user-defined-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0030-user-defined-functions.dmn index 4db3740b257..f1bc2e62fbb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0030-user-defined-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0030-user-defined-functions.dmn @@ -1,4 +1,4 @@ - + - - Tests definition of functions in a boxed expression and invocation of those. - - - - - - - - - - - - - - - - a+b - - - - - - - function(a,b) a + b - - - - - boxedFnDefinition(stringInputA, stringInputB) + literalFnDefinition(stringInputA, stringInputB) - - - - - - - - - - - - - - - - - - - - a+b - - - - - - - function(a,b) a + b - - - - - boxedFnDefinition(b:stringInputA, a:stringInputB) + literalFnDefinition(b:stringInputA, a:stringInputB) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Tests definition of functions in a boxed expression and invocation of those. + + + + + + + + + + + + + + + + a+b + + + + + + + function(a,b) a + b + + + + + boxedFnDefinition(stringInputA, stringInputB) + literalFnDefinition(stringInputA, stringInputB) + + + + + + + + + + + + + + + + + + + + a+b + + + + + + + function(a,b) a + b + + + + + boxedFnDefinition(b:stringInputA, a:stringInputB) + literalFnDefinition(b:stringInputA, a:stringInputB) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0031-user-defined-functions.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0031-user-defined-functions.dmn index 193e380708c..47201b3362e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0031-user-defined-functions.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0031-user-defined-functions.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - number - - - number - - - number - - - - - number - - - number - - - number - - - number - - - - - number - - - number - - - number - - - - - - - - - function(a,b) a+b - - - - - - function(a,b) a-b - - - - - - - - - a*b - - - - - - - function(a,b) if b = 0 then null else a/b - - - - - - - - - - - - - - - - - - - - fn library.sumFn(inputA,inputB) - - - - - - fn library.multiplyFn(inputA,inputB) - - - - - - fn library.divideFn(inputA, inputB) - - - - - - - - - - - - - - - - - - - - fn library.subFn(a:inputA,b:inputB) - - - - - - fn library.multiplyFn(a:inputA,b:inputB) - - - - - - fn library.subFn(a:inputB, b:inputA) - - - - - - fn library.divideFn(a:inputA, b:inputB) - - - - - - - - - - - - - - - - - - - - - - - fn library.multiplyFn(fn library.sumFn(inputA,inputA), fn library.sumFn(a:inputB, b:inputB)) - - - - - - fn library.multiplyFn(inputA * inputA, if fn library.subFn(inputA,inputB) in [0..10] then 5 else 10 ) - - - - - - Circumference(inputA+inputB) - - - - - - - - - - (2*3.141592) * radius - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + number + + + number + + + number + + + + + number + + + number + + + number + + + number + + + + + number + + + number + + + number + + + + + + + + + function(a,b) a+b + + + + + + function(a,b) a-b + + + + + + + + + a*b + + + + + + + function(a,b) if b = 0 then null else a/b + + + + + + + + + + + + + + + + + + + + fn library.sumFn(inputA,inputB) + + + + + + fn library.multiplyFn(inputA,inputB) + + + + + + fn library.divideFn(inputA, inputB) + + + + + + + + + + + + + + + + + + + + fn library.subFn(a:inputA,b:inputB) + + + + + + fn library.multiplyFn(a:inputA,b:inputB) + + + + + + fn library.subFn(a:inputB, b:inputA) + + + + + + fn library.divideFn(a:inputA, b:inputB) + + + + + + + + + + + + + + + + + + + + + + + fn library.multiplyFn(fn library.sumFn(inputA,inputA), fn library.sumFn(a:inputB, b:inputB)) + + + + + + fn library.multiplyFn(inputA * inputA, if fn library.subFn(inputA,inputB) in [0..10] then 5 else 10 ) + + + + + + Circumference(inputA+inputB) + + + + + + + + + + (2*3.141592) * radius + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0032-conditionals.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0032-conditionals.dmn index 5aabfaa24c8..21e7b7a516f 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0032-conditionals.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0032-conditionals.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - if bool then num+10 else num-10 - - - - - - - - - - - - if aDate > date("2017-01-01") then substring before(aString, " ") else substring after(aString, " ") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + if bool then num+10 else num-10 + + + + + + + + + + + + if aDate > date("2017-01-01") then substring before(aString, " ") else substring after(aString, " ") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0033-for-loops.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0033-for-loops.dmn index f7d6501f42b..a32deaf6db7 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0033-for-loops.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0033-for-loops.dmn @@ -1,4 +1,4 @@ - + - - - - number - - - boolean - - - - - - - - - - - for h in heights, w in widths return h * w - - - - - - - - - - - - - - - for h in heights return h + 1 - - - - - - - - - - - - - - - - - - for f in factors return is factor( value, f ) - - - - - - - - - - - - value / factor = decimal( value / factor, 0 ) - - - - - - - - - - for x in [2, 3, 4, 5] return x * value - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + number + + + boolean + + + + + + + + + + + for h in heights, w in widths return h * w + + + + + + + + + + + + + + + for h in heights return h + 1 + + + + + + + + + + + + + + + + + + for f in factors return is factor( value, f ) + + + + + + + + + + + + value / factor = decimal( value / factor, 0 ) + + + + + + + + + + for x in [2, 3, 4, 5] return x * value + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0034-drg-scopes.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0034-drg-scopes.dmn index bcb9464f9d6..83d1c21a72b 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0034-drg-scopes.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0034-drg-scopes.dmn @@ -1,4 +1,4 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + string + + + + + TypeDecisionA1 + + + + + TypeDecisionA2.x + + + TypeDecisionA2.x + + + + + string + + + string + + + + + TypeDecisionB1 + + + + + TypeDecisionB2.x + + + TypeDecisionB2.x + + + TypeDecisionA3 + + + + + string + + + TypeDecisionA3 + + + TypeDecisionB3 + + + + + string + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - string - - - - - TypeDecisionA1 - - - - - TypeDecisionA2.x - - - TypeDecisionA2.x - - - - - string - - - string - - - - - TypeDecisionB1 - - - - - TypeDecisionB2.x - - - TypeDecisionB2.x - - - TypeDecisionA3 - - - - - string - - - TypeDecisionA3 - - - TypeDecisionB3 - - - - - string - - - - - - - - - - - - - - - A - - - - - - - - - - - - - - - - - - - - B - - - - - - A - - - - - - - - - - - - - - - - - decision A 1 - - - - - - - - - - - - - - - - - decision A 1 - - - - - - - - - - - - - - - - - decision B 1 - - - - - - - - - - - - - - - - - decision B 1 - - - - - - - - - - - - - - - - - - - - decision A 2.1 - - - - - - decision A 2.2 - - - - - - - - - - - - - - - - - - - - - - - decision B 2.1 - - - - - - decision B 2.2 - - - - - - decision A 3 - - - - - - - - - - - - - - - - - - - - - - - C - - - - - - decision A 3 - - - - - - decision B 3 - - - - - - - - - - - - - - - - - - BKM II - - - - - "decision C 3" - - - - - - - - - - - - - - - - - - BKM I - - - - - "decision C 2" - - - - - - - - - - - - - - - - - decision C 3 - - - - - - - - - - - - - "BKM I" + " # " + BKM II(param) - - - - - - - - - - - - - - - "BKM II" + " # " + BKM III(param) + " # " + BKM IV(param) - - - - - - - - - - - - - - - - - - "BKM IV" + " # " + BKM III(param) - - - - - - - - - - - - - - - "BKM III" + " # " + param - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + A + + + + + + + + + + + + + + + + + + + + B + + + + + + A + + + + + + + + + + + + + + + + + decision A 1 + + + + + + + + + + + + + + + + + decision A 1 + + + + + + + + + + + + + + + + + decision B 1 + + + + + + + + + + + + + + + + + decision B 1 + + + + + + + + + + + + + + + + + + + + decision A 2.1 + + + + + + decision A 2.2 + + + + + + + + + + + + + + + + + + + + + + + decision B 2.1 + + + + + + decision B 2.2 + + + + + + decision A 3 + + + + + + + + + + + + + + + + + + + + + + + C + + + + + + decision A 3 + + + + + + decision B 3 + + + + + + + + + + + + + + + + + + BKM II + + + + + "decision C 3" + + + + + + + + + + + + + + + + + + BKM I + + + + + "decision C 2" + + + + + + + + + + + + + + + + + decision C 3 + + + + + + + + + + + + + "BKM I" + " # " + BKM II(param) + + + + + + + + + + + + + + + "BKM II" + " # " + BKM III(param) + " # " + BKM IV(param) + + + + + + + + + + + + + + + + + + "BKM IV" + " # " + BKM III(param) + + + + + + + + + + + + + + + "BKM III" + " # " + param + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0035-test-structure-output.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0035-test-structure-output.dmn index cdd54196af2..dda1dd8d0e7 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0035-test-structure-output.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0035-test-structure-output.dmn @@ -1,4 +1,4 @@ - + - - - - number - - [0..255] - - - - number - - [0..15] - - - - - number - - - number - - - number - - - number - - - - - tValue - - [0..255] - - - - tValue - - [0..255] - - - - tValue - - [0..255] - - - - - - tRGB - - - string - - - tCMYK - - - - - - - - - num-(floor(num/divisor)*divisor) - - - - - - - - - - - - - - digit - - - [0..15] - - - - - - [0..9] - - - string(digit) - - - - - 10 - - - "A" - - - - - 11 - - - "B" - - - - - 12 - - - "C" - - - - - 13 - - - "D" - - - - - 14 - - - "E" - - - - - 15 - - - "F" - - - - - - - mapping - - - - - - - - - - - if num < 16 + + + + number + + [0..255] + + + + number + + [0..15] + + + + + number + + + number + + + number + + + number + + + + + tValue + + [0..255] + + + + tValue + + [0..255] + + + + tValue + + [0..255] + + + + + + tRGB + + + string + + + tCMYK + + + + + + + + + num-(floor(num/divisor)*divisor) + + + + + + + + + + + + + + digit + + + [0..15] + + + + + + [0..9] + + + string(digit) + + + + + 10 + + + "A" + + + + + 11 + + + "B" + + + + + 12 + + + "C" + + + + + 13 + + + "D" + + + + + 14 + + + "E" + + + + + 15 + + + "F" + + + + + + + mapping + + + + + + + + + + + if num < 16 then "0" + single encode to hex(num) else single encode to hex(floor(num/16)) + single encode to hex(remainder(num, 16)) + + + + + + + + + + + + + + + + + + + + + + + + + "#" + to hex(R Value) + to hex(G Value) + to hex(B Value) + + + + + + + + + + + + + + + + + + + + + + + + + + + R Value / 255 + + + + + + G Value / 255 + + + + + + B Value / 255 + + + + + + 1-max(Rn, Gn, Bn) + + + + + + if Kn=1 then 0 else (1-Rn-Kn) / (1-Kn) + + + + + + if Kn=1 then 0 else (1-Gn-Kn) / (1-Kn) + + + + + + if Kn=1 then 0 else (1-Bn-Kn) / (1-Kn) + + + + + + + + + decimal(Cn*100, 0) + + + + + + decimal(Mn*100, 0) + + + + + + decimal(Yn*100, 0) + + + + + + decimal(Kn*100, 0) - - - - - - - - - - - - - - - - - - - - - - - - "#" + to hex(R Value) + to hex(G Value) + to hex(B Value) + + + + + + cmyk - - - - - - - - - - - - - - - - - - - - - - - - - - R Value / 255 - - - - - - G Value / 255 - - - - - - B Value / 255 - - - - - - 1-max(Rn, Gn, Bn) - - - - - - if Kn=1 then 0 else (1-Rn-Kn) / (1-Kn) - - - - - - if Kn=1 then 0 else (1-Gn-Kn) / (1-Kn) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + R Value - - - - - if Kn=1 then 0 else (1-Bn-Kn) / (1-Kn) + + + + + G Value - - - - - - - - decimal(Cn*100, 0) - - - - - - decimal(Mn*100, 0) - - - - - - decimal(Yn*100, 0) - - - - - - decimal(Kn*100, 0) - - - - - - - cmyk + + + + + B Value - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - R Value - - - - - - G Value - - - - - - B Value - - - - - - - - hex Value - - - - - - cmyk Value - - - - - - - Profile of Color - - + + + + + + + hex Value + + + + + + cmyk Value + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Profile of Color + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0036-dt-variable-input.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0036-dt-variable-input.dmn index 815d4a8544e..e702bfefd49 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0036-dt-variable-input.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0036-dt-variable-input.dmn @@ -1,4 +1,4 @@ - + - - - - - boolean - - - number - - - string - - - date - - - time - - - dateTime - - - dayTimeDuration - - - yearMonthDuration - - - - - - - - - - - - - - Another boolean - - - - - - Complex.aBoolean - - - "Same boolean" - - - - - not(Complex.aBoolean) - - - "Not same boolean" - - - - - - - - - - - - - - - - - - - - - - - - - - - - Another String - - - - - - Complex.aString - - - "Same String" - - - - - not(Complex.aString) - - - "Different String" - - - - - - - - - - - - - - - - Another number - - - - - - Complex.aNumber - - - "Equals" - - - - - >Complex.aNumber - - - "Bigger" - - - - - < Complex.aNumber - - - "Smaller" - - - - - - - - - - - - - - - - Another Date - - - - - - Complex.aDate - - - "Same Date" - - - - - > Complex.aDate - - - "Future Date" - - - - - < Complex.aDate - - - "Past Date" - - - - - - - - - - - - - - - - Another Time - - - - - - Complex.aTime - - - "Same Time" - - - - - > Complex.aTime - - - "Future Time" - - - - - < Complex.aTime - - - "Past Time" - - - - - - - - - - - - - - - - Another Date and Time - - - - - - Complex.aDateTime - - - "Same date time" - - - - - > Complex.aDateTime - - - "Future date time" - - - - - < Complex.aDateTime - - - "Past date time" - - - - - - - - - - - - - - - - Another Days and Time Duration - - - - - - Complex.aDaysAndTimeDuration - - - "Same duration" - - - - - > Complex.aDaysAndTimeDuration - - - "Longer duration" - - - - - < Complex.aDaysAndTimeDuration - - - "Shorter duration" - - - - - - - - - - - - - - - - Another Years and Months Duration - - - - - - Complex.aYearsAndMonthsDuration - - - "Same duration" - - - - - > Complex.aYearsAndMonthsDuration - - - "Longer duration" - - - - - < Complex.aYearsAndMonthsDuration - - - "Shorter duration" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + boolean + + + number + + + string + + + date + + + time + + + dateTime + + + dayTimeDuration + + + yearMonthDuration + + + + + + + + + + + + + + Another boolean + + + + + + Complex.aBoolean + + + "Same boolean" + + + + + not(Complex.aBoolean) + + + "Not same boolean" + + + + + + + + + + + + + + + + + + + + + + + + + + + + Another String + + + + + + Complex.aString + + + "Same String" + + + + + not(Complex.aString) + + + "Different String" + + + + + + + + + + + + + + + + Another number + + + + + + Complex.aNumber + + + "Equals" + + + + + >Complex.aNumber + + + "Bigger" + + + + + < Complex.aNumber + + + "Smaller" + + + + + + + + + + + + + + + + Another Date + + + + + + Complex.aDate + + + "Same Date" + + + + + > Complex.aDate + + + "Future Date" + + + + + < Complex.aDate + + + "Past Date" + + + + + + + + + + + + + + + + Another Time + + + + + + Complex.aTime + + + "Same Time" + + + + + > Complex.aTime + + + "Future Time" + + + + + < Complex.aTime + + + "Past Time" + + + + + + + + + + + + + + + + Another Date and Time + + + + + + Complex.aDateTime + + + "Same date time" + + + + + > Complex.aDateTime + + + "Future date time" + + + + + < Complex.aDateTime + + + "Past date time" + + + + + + + + + + + + + + + + Another Days and Time Duration + + + + + + Complex.aDaysAndTimeDuration + + + "Same duration" + + + + + > Complex.aDaysAndTimeDuration + + + "Longer duration" + + + + + < Complex.aDaysAndTimeDuration + + + "Shorter duration" + + + + + + + + + + + + + + + + Another Years and Months Duration + + + + + + Complex.aYearsAndMonthsDuration + + + "Same duration" + + + + + > Complex.aYearsAndMonthsDuration + + + "Longer duration" + + + + + < Complex.aYearsAndMonthsDuration + + + "Shorter duration" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0037-dt-on-bkm-implicit-params.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0037-dt-on-bkm-implicit-params.dmn index a8a8a31942d..b5ceaa15beb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0037-dt-on-bkm-implicit-params.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0037-dt-on-bkm-implicit-params.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - - "Male","Female" - - - - number - - - - - - - - - - - - - - - - Description - - - - - Person.Gender - - - - - - Person.Name - - - - - - Person.Children - - - - - - - - - - - - - - Person.Gender - - - "Male","Female" - - - - - Person.Name - - - - - Person.Children - - - - - - "Male" - - - - - - - - - - - Person.Name + " is a dad of " + string(decimal(Person.Children,0)) + " children." - - - - - "Female" - - - - - - - - - - - Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + + string + + "Male","Female" + + + + number + + + + + + + + + + + + + + + + Description + + + + + Person.Gender + + + + + + Person.Name + + + + + + Person.Children + + + + + + + + + + + + + + Person.Gender + + + "Male","Female" + + + + + Person.Name + + + + + Person.Children + + + + + + "Male" + + + - + + + - + + + Person.Name + " is a dad of " + string(decimal(Person.Children,0)) + " children." + + + + + "Female" + + + - + + + - + + + Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0038-dt-on-bkm-explicit-params.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0038-dt-on-bkm-explicit-params.dmn index 1a64943f9d4..cf3ebf127de 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0038-dt-on-bkm-explicit-params.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0038-dt-on-bkm-explicit-params.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - + + + + + string + + + string + + "Male","Female" + + + + number + + + + + + + + + + + + + + + + Description + + + + + Person + + + + + + + + + + + + + + + Person.Gender + + "Male","Female" - - - - number - - - - - - - - - - - - - - - - Description - - - - - Person - - - - - - - - - - - - - - - Person.Gender - - - "Male","Female" - - - - - - "Male" - - - Person.Name + " is a dad of " + string(decimal(Person.Children,0)) + " children." - - - - - "Female" - - - Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." - - - - - - - the description - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + "Male" + + + Person.Name + " is a dad of " + string(decimal(Person.Children,0)) + " children." + + + + + "Female" + + + Person.Name + " is a mother of " + string(decimal(Person.Children,0)) + " children." + + + + + + + the description + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0039-dt-list-semantics.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0039-dt-list-semantics.dmn index 135d5b15a1d..9a82e910a64 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0039-dt-list-semantics.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0039-dt-list-semantics.dmn @@ -1,4 +1,4 @@ - + - - - - string - - - - - - - - - - - - - - - - - - - Symptom - - - - - - "cough", "sore throat", "stuffy nose" - - - Symptom + " is in the list of Cold symptoms" - - - - - Flu Symtoms - - - Symptom + " is in the list of Flu symptoms" - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + string + + + + + + + + + + + + + + + + + + + Symptom + + + + + + "cough", "sore throat", "stuffy nose" + + + Symptom + " is in the list of Cold symptoms" + + + + + Flu Symtoms + + + Symptom + " is in the list of Flu symptoms" + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0040-singlenestedcontext.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0040-singlenestedcontext.dmn index 955c9555a68..62f4c807631 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0040-singlenestedcontext.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0040-singlenestedcontext.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - 0.0375 - - - - - - - - - 100 - - - - - - - - Principal - - - - - Term - - - - - Rate - - - - - Fees - - - - - - 600000 - - - 360 - - - 0.0375 - - - 100 - - - (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees - - - - - 30000 - - - 60 - - - 0.0375 - - - 100 - - - (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees - - - - - 600000 - - - 365 - - - 0.0375 - - - 100 - - - (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees - - - - - - - MonthlyPayment - - - - - - - Boxed Context - - + + + + + + + + + + + + + + + 0.0375 + + + + + + + + + 100 + + + + + + + + Principal + + + + + Term + + + + + Rate + + + + + Fees + + + + + + 600000 + + + 360 + + + 0.0375 + + + 100 + + + (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees + + + + + 30000 + + + 60 + + + 0.0375 + + + 100 + + + (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees + + + + + 600000 + + + 365 + + + 0.0375 + + + 100 + + + (Principal*Rate/12)/(1-(1+Rate/12)**-Term)+Fees + + + + + + + MonthlyPayment + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Boxed Context + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0041-multiple-nestedcontext.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0041-multiple-nestedcontext.dmn index 0928491da3c..bdacaab5a65 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0041-multiple-nestedcontext.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0041-multiple-nestedcontext.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - 0.0375 + + + + + + + + + + + + + + + 0.0375 + + + + + + + + + + + + + + Principal + + + + + Term + + + + + Rate + + + + + + 600000 + + + 360 + + + 0.0375 + + + (Principal*Rate/12)/(1-(1+Rate/12)**-Term) + + + + + 30000 + + + 60 + + + 0.0375 + + + (Principal*Rate/12)/(1-(1+Rate/12)**-Term) + + + + + 600000 + + + 365 + + + 0.0375 + + + (Principal*Rate/12)/(1-(1+Rate/12)**-Term) + + + + + + + MonthlyPayment - - - - - - - - - - - - - Principal - - - - - Term - - - - - Rate - - - - - - 600000 - - - 360 - - - 0.0375 - - - (Principal*Rate/12)/(1-(1+Rate/12)**-Term) - - - - - 30000 - - - 60 - - - 0.0375 - - - (Principal*Rate/12)/(1-(1+Rate/12)**-Term) - - - - - 600000 - - - 365 - - - 0.0375 - - - (Principal*Rate/12)/(1-(1+Rate/12)**-Term) - - - - - - - MonthlyPayment - - - - - - - BoxedContextOutput - - - - - - - Boxed Context - - + + + + + + BoxedContextOutput + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Boxed Context + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0050-feel-abs-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0050-feel-abs-function.dmn index 0d4789c639f..15273ec275c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0050-feel-abs-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0050-feel-abs-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'abs(number)' in category numeric functions - - Tests FEEL expression: 'abs(1)' and expects result: '1 (number)' - Result of FEEL expression 'abs(1)'? - 1 (number) - - - abs(1) - - - - Tests FEEL expression: 'abs(-1)' and expects result: '1 (number)' - Result of FEEL expression 'abs(-1)'? - 1 (number) - - - abs(-1) - - - - Tests FEEL expression: 'abs(0)' and expects result: '0 (number)' - Result of FEEL expression 'abs(0)'? - 0 (number) - - - abs(0) - - - - Tests FEEL expression: 'abs()' and expects result: 'null (number)' - Result of FEEL expression 'abs()'? - null (number) - - - abs() - - - - Tests FEEL expression: 'abs(1,1)' and expects result: 'null (number)' - Result of FEEL expression 'abs(1,1)'? - null (number) - - - abs(1,1) - - - - Tests FEEL expression: 'abs(n:-1)' and expects result: '1 (number)' - Result of FEEL expression 'abs(n:-1)'? - 1 (number) - - - abs(n:-1) - - - - Tests FEEL expression: 'abs(number:-1)' and expects result: 'null (number)' - Result of FEEL expression 'abs(number:-1)'? - null (number) - - - abs(number:-1) - - - - Tests FEEL expression: 'abs(null)' and expects result: 'null (number)' - Result of FEEL expression 'abs(null)'? - null (number) - - - abs(null) - - - - Tests FEEL expression: 'abs("-1")' and expects result: 'null (number)' - Result of FEEL expression 'abs("-1")'? - null (number) - - - abs("-1") - - - - Tests FEEL expression: 'abs(true)' and expects result: 'null (number)' - Result of FEEL expression 'abs(true)'? - null (number) - - - abs(true) - - - - Tests FEEL expression: 'abs(duration("-P1D"))' and expects result: 'null (number)' - Result of FEEL expression 'abs(duration("-P1D"))'? - null (number) - - - abs(duration("-P1D")) - - - - Tests FEEL expression: 'abs(duration("-P1Y"))' and expects result: 'null (number)' - Result of FEEL expression 'abs(duration("-P1Y"))'? - null (number) - - - abs(duration("-P1Y")) - - - - Tests FEEL expression: 'abs(date("-2018-12-06"))' and expects result: 'null (number)' - Result of FEEL expression 'abs(date("-2018-12-06"))'? - null (number) - - - abs(date("-2018-12-06")) - - - - Tests FEEL expression: 'abs(time("00:00:00"))' and expects result: 'null (number)' - Result of FEEL expression 'abs(time("00:00:00"))'? - null (number) - - - abs(time("00:00:00")) - - - - Tests FEEL expression: 'abs(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' - Result of FEEL expression 'abs(date and time("2018-12-06T00:00:00"))'? - null (number) - - - abs(date and time("2018-12-06T00:00:00")) - - + + FEEL built-in function 'abs(number)' in category numeric functions + + Tests FEEL expression: 'abs(1)' and expects result: '1 (number)' + Result of FEEL expression 'abs(1)'? + 1 (number) + + + abs(1) + + + + Tests FEEL expression: 'abs(-1)' and expects result: '1 (number)' + Result of FEEL expression 'abs(-1)'? + 1 (number) + + + abs(-1) + + + + Tests FEEL expression: 'abs(0)' and expects result: '0 (number)' + Result of FEEL expression 'abs(0)'? + 0 (number) + + + abs(0) + + + + Tests FEEL expression: 'abs()' and expects result: 'null (number)' + Result of FEEL expression 'abs()'? + null (number) + + + abs() + + + + Tests FEEL expression: 'abs(1,1)' and expects result: 'null (number)' + Result of FEEL expression 'abs(1,1)'? + null (number) + + + abs(1,1) + + + + Tests FEEL expression: 'abs(n:-1)' and expects result: '1 (number)' + Result of FEEL expression 'abs(n:-1)'? + 1 (number) + + + abs(n:-1) + + + + Tests FEEL expression: 'abs(number:-1)' and expects result: 'null (number)' + Result of FEEL expression 'abs(number:-1)'? + null (number) + + + abs(number:-1) + + + + Tests FEEL expression: 'abs(null)' and expects result: 'null (number)' + Result of FEEL expression 'abs(null)'? + null (number) + + + abs(null) + + + + Tests FEEL expression: 'abs("-1")' and expects result: 'null (number)' + Result of FEEL expression 'abs("-1")'? + null (number) + + + abs("-1") + + + + Tests FEEL expression: 'abs(true)' and expects result: 'null (number)' + Result of FEEL expression 'abs(true)'? + null (number) + + + abs(true) + + + + Tests FEEL expression: 'abs(duration("-P1D"))' and expects result: 'null (number)' + Result of FEEL expression 'abs(duration("-P1D"))'? + null (number) + + + abs(duration("-P1D")) + + + + Tests FEEL expression: 'abs(duration("-P1Y"))' and expects result: 'null (number)' + Result of FEEL expression 'abs(duration("-P1Y"))'? + null (number) + + + abs(duration("-P1Y")) + + + + Tests FEEL expression: 'abs(date("-2018-12-06"))' and expects result: 'null (number)' + Result of FEEL expression 'abs(date("-2018-12-06"))'? + null (number) + + + abs(date("-2018-12-06")) + + + + Tests FEEL expression: 'abs(time("00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'abs(time("00:00:00"))'? + null (number) + + + abs(time("00:00:00")) + + + + Tests FEEL expression: 'abs(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'abs(date and time("2018-12-06T00:00:00"))'? + null (number) + + + abs(date and time("2018-12-06T00:00:00")) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0051-feel-sqrt-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0051-feel-sqrt-function.dmn index 78dff150576..d9816704486 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0051-feel-sqrt-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0051-feel-sqrt-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'sqrt(number)' in category numeric functions - - Tests FEEL expression: 'sqrt(4)' and expects result: '2 (number)' - Result of FEEL expression 'sqrt(4)'? - 2 (number) - - - sqrt(4) - - - - Tests FEEL expression: 'sqrt(-1)' and expects result: 'null (number)' - Result of FEEL expression 'sqrt(-1)'? - null (number) - - - sqrt(-1) - - - - Tests FEEL expression: 'sqrt(0)' and expects result: '0 (number)' - Result of FEEL expression 'sqrt(0)'? - 0 (number) - - - sqrt(0) - - - - Tests FEEL expression: 'sqrt()' and expects result: 'null (number)' - Result of FEEL expression 'sqrt()'? - null (number) - - - sqrt() - - - - Tests FEEL expression: 'sqrt(4,4)' and expects result: 'null (number)' - Result of FEEL expression 'sqrt(4,4)'? - null (number) - - - sqrt(4,4) - - - - Tests FEEL expression: 'sqrt(number:4)' and expects result: '2 (number)' - Result of FEEL expression 'sqrt(number:4)'? - 2 (number) - - - sqrt(number:4) - - - - Tests FEEL expression: 'sqrt(n:4)' and expects result: 'null (number)' - Result of FEEL expression 'sqrt(n:4)'? - 2 (number) - - - sqrt(n:4) - - - - Tests FEEL expression: 'sqrt(null)' and expects result: 'null (number)' - Result of FEEL expression 'sqrt(null)'? - null (number) - - - sqrt(null) - - - - Tests FEEL expression: 'sqrt("4")' and expects result: 'null (number)' - Result of FEEL expression 'sqrt("4")'? - null (number) - - - sqrt("4") - - - - Tests FEEL expression: 'sqrt(true)' and expects result: 'null (number)' - Result of FEEL expression 'sqrt(true)'? - null (number) - - - sqrt(true) - - - - Tests FEEL expression: 'sqrt(duration("P4D"))' and expects result: 'null (number)' - Result of FEEL expression 'sqrt(duration("P4D"))'? - null (number) - - - sqrt(duration("P4D")) - - - - Tests FEEL expression: 'sqrt(duration("P4Y"))' and expects result: 'null (number)' - Result of FEEL expression 'sqrt(duration("P4Y"))'? - null (number) - - - sqrt(duration("P4Y")) - - - - Tests FEEL expression: 'sqrt(date("2018-12-06"))' and expects result: 'null (number)' - Result of FEEL expression 'sqrt(date("2018-12-06"))'? - null (number) - - - sqrt(date("2018-12-06")) - - - - Tests FEEL expression: 'sqrt(time("00:00:00"))' and expects result: 'null (number)' - Result of FEEL expression 'sqrt(time("00:00:00"))'? - null (number) - - - sqrt(time("00:00:00")) - - - - Tests FEEL expression: 'sqrt(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' - Result of FEEL expression 'sqrt(date and time("2018-12-06T00:00:00"))'? - null (number) - - - sqrt(date and time("2018-12-06T00:00:00")) - - + + FEEL built-in function 'sqrt(number)' in category numeric functions + + Tests FEEL expression: 'sqrt(4)' and expects result: '2 (number)' + Result of FEEL expression 'sqrt(4)'? + 2 (number) + + + sqrt(4) + + + + Tests FEEL expression: 'sqrt(-1)' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(-1)'? + null (number) + + + sqrt(-1) + + + + Tests FEEL expression: 'sqrt(0)' and expects result: '0 (number)' + Result of FEEL expression 'sqrt(0)'? + 0 (number) + + + sqrt(0) + + + + Tests FEEL expression: 'sqrt()' and expects result: 'null (number)' + Result of FEEL expression 'sqrt()'? + null (number) + + + sqrt() + + + + Tests FEEL expression: 'sqrt(4,4)' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(4,4)'? + null (number) + + + sqrt(4,4) + + + + Tests FEEL expression: 'sqrt(number:4)' and expects result: '2 (number)' + Result of FEEL expression 'sqrt(number:4)'? + 2 (number) + + + sqrt(number:4) + + + + Tests FEEL expression: 'sqrt(n:4)' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(n:4)'? + 2 (number) + + + sqrt(n:4) + + + + Tests FEEL expression: 'sqrt(null)' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(null)'? + null (number) + + + sqrt(null) + + + + Tests FEEL expression: 'sqrt("4")' and expects result: 'null (number)' + Result of FEEL expression 'sqrt("4")'? + null (number) + + + sqrt("4") + + + + Tests FEEL expression: 'sqrt(true)' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(true)'? + null (number) + + + sqrt(true) + + + + Tests FEEL expression: 'sqrt(duration("P4D"))' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(duration("P4D"))'? + null (number) + + + sqrt(duration("P4D")) + + + + Tests FEEL expression: 'sqrt(duration("P4Y"))' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(duration("P4Y"))'? + null (number) + + + sqrt(duration("P4Y")) + + + + Tests FEEL expression: 'sqrt(date("2018-12-06"))' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(date("2018-12-06"))'? + null (number) + + + sqrt(date("2018-12-06")) + + + + Tests FEEL expression: 'sqrt(time("00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(time("00:00:00"))'? + null (number) + + + sqrt(time("00:00:00")) + + + + Tests FEEL expression: 'sqrt(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'sqrt(date and time("2018-12-06T00:00:00"))'? + null (number) + + + sqrt(date and time("2018-12-06T00:00:00")) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0052-feel-exp-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0052-feel-exp-function.dmn index e0b68713b82..c6c4fed6700 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0052-feel-exp-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0052-feel-exp-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'exp(number)' in category numeric functions - - Tests FEEL expression: 'exp(4)' and expects result: '2 (number)' - Result of FEEL expression 'exp(4)'? - 2 (number) - - - exp(4) - - - - Tests FEEL expression: 'exp(-1)' and expects result: '0.36787944 (number)' - Result of FEEL expression 'exp(-1)'? - 0.36787944 (number) - - - exp(-1) - - - - Tests FEEL expression: 'exp(0)' and expects result: '0 (number)' - Result of FEEL expression 'exp(0)'? - 0 (number) - - - exp(0) - - - - Tests FEEL expression: 'exp()' and expects result: 'null (number)' - Result of FEEL expression 'exp()'? - null (number) - - - exp() - - - - Tests FEEL expression: 'exp(4,4)' and expects result: 'null (number)' - Result of FEEL expression 'exp(4,4)'? - null (number) - - - exp(4,4) - - - - Tests FEEL expression: 'exp(number:4)' and expects result: '2 (number)' - Result of FEEL expression 'exp(number:4)'? - 2 (number) - - - exp(number:4) - - - - Tests FEEL expression: 'exp(n:4)' and expects result: 'null (number)' - Result of FEEL expression 'exp(n:4)'? - 2 (number) - - - exp(n:4) - - - - Tests FEEL expression: 'exp(null)' and expects result: 'null (number)' - Result of FEEL expression 'exp(null)'? - null (number) - - - exp(null) - - - - Tests FEEL expression: 'exp("4")' and expects result: 'null (number)' - Result of FEEL expression 'exp("4")'? - null (number) - - - exp("4") - - - - Tests FEEL expression: 'exp(true)' and expects result: 'null (number)' - Result of FEEL expression 'exp(true)'? - null (number) - - - exp(true) - - - - Tests FEEL expression: 'exp(duration("P4D"))' and expects result: 'null (number)' - Result of FEEL expression 'exp(duration("P4D"))'? - null (number) - - - exp(duration("P4D")) - - - - Tests FEEL expression: 'exp(duration("P4Y"))' and expects result: 'null (number)' - Result of FEEL expression 'exp(duration("P4Y"))'? - null (number) - - - exp(duration("P4Y")) - - - - Tests FEEL expression: 'exp(date("2018-12-06"))' and expects result: 'null (number)' - Result of FEEL expression 'exp(date("2018-12-06"))'? - null (number) - - - exp(date("2018-12-06")) - - - - Tests FEEL expression: 'exp(time("00:00:00"))' and expects result: 'null (number)' - Result of FEEL expression 'exp(time("00:00:00"))'? - null (number) - - - exp(time("00:00:00")) - - - - Tests FEEL expression: 'exp(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' - Result of FEEL expression 'exp(date and time("2018-12-06T00:00:00"))'? - null (number) - - - exp(date and time("2018-12-06T00:00:00")) - - + + FEEL built-in function 'exp(number)' in category numeric functions + + Tests FEEL expression: 'exp(4)' and expects result: '2 (number)' + Result of FEEL expression 'exp(4)'? + 2 (number) + + + exp(4) + + + + Tests FEEL expression: 'exp(-1)' and expects result: '0.36787944 (number)' + Result of FEEL expression 'exp(-1)'? + 0.36787944 (number) + + + exp(-1) + + + + Tests FEEL expression: 'exp(0)' and expects result: '0 (number)' + Result of FEEL expression 'exp(0)'? + 0 (number) + + + exp(0) + + + + Tests FEEL expression: 'exp()' and expects result: 'null (number)' + Result of FEEL expression 'exp()'? + null (number) + + + exp() + + + + Tests FEEL expression: 'exp(4,4)' and expects result: 'null (number)' + Result of FEEL expression 'exp(4,4)'? + null (number) + + + exp(4,4) + + + + Tests FEEL expression: 'exp(number:4)' and expects result: '2 (number)' + Result of FEEL expression 'exp(number:4)'? + 2 (number) + + + exp(number:4) + + + + Tests FEEL expression: 'exp(n:4)' and expects result: 'null (number)' + Result of FEEL expression 'exp(n:4)'? + 2 (number) + + + exp(n:4) + + + + Tests FEEL expression: 'exp(null)' and expects result: 'null (number)' + Result of FEEL expression 'exp(null)'? + null (number) + + + exp(null) + + + + Tests FEEL expression: 'exp("4")' and expects result: 'null (number)' + Result of FEEL expression 'exp("4")'? + null (number) + + + exp("4") + + + + Tests FEEL expression: 'exp(true)' and expects result: 'null (number)' + Result of FEEL expression 'exp(true)'? + null (number) + + + exp(true) + + + + Tests FEEL expression: 'exp(duration("P4D"))' and expects result: 'null (number)' + Result of FEEL expression 'exp(duration("P4D"))'? + null (number) + + + exp(duration("P4D")) + + + + Tests FEEL expression: 'exp(duration("P4Y"))' and expects result: 'null (number)' + Result of FEEL expression 'exp(duration("P4Y"))'? + null (number) + + + exp(duration("P4Y")) + + + + Tests FEEL expression: 'exp(date("2018-12-06"))' and expects result: 'null (number)' + Result of FEEL expression 'exp(date("2018-12-06"))'? + null (number) + + + exp(date("2018-12-06")) + + + + Tests FEEL expression: 'exp(time("00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'exp(time("00:00:00"))'? + null (number) + + + exp(time("00:00:00")) + + + + Tests FEEL expression: 'exp(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'exp(date and time("2018-12-06T00:00:00"))'? + null (number) + + + exp(date and time("2018-12-06T00:00:00")) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0053-feel-log-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0053-feel-log-function.dmn index 4d084ec494e..8c7fd6bb02c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0053-feel-log-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0053-feel-log-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'log(number)' in category numeric functions - - Tests FEEL expression: 'log(4)' and expects result: '2 (number)' - Result of FEEL expression 'log(4)'? - 2 (number) - - - log(4) - - - - Tests FEEL expression: 'log(-1)' and expects result: 'null (number)' - Result of FEEL expression 'log(-1)'? - null (number) - - - log(-1) - - - - Tests FEEL expression: 'log(0)' and expects result: '0 (number)' - Result of FEEL expression 'log(0)'? - 0 (number) - - - log(0) - - - - Tests FEEL expression: 'log()' and expects result: 'null (number)' - Result of FEEL expression 'log()'? - null (number) - - - log() - - - - Tests FEEL expression: 'log(4,4)' and expects result: 'null (number)' - Result of FEEL expression 'log(4,4)'? - null (number) - - - log(4,4) - - - - Tests FEEL expression: 'log(number:4)' and expects result: '2 (number)' - Result of FEEL expression 'log(number:4)'? - 2 (number) - - - log(number:4) - - - - Tests FEEL expression: 'log(n:4)' and expects result: 'null (number)' - Result of FEEL expression 'log(n:4)'? - 2 (number) - - - log(n:4) - - - - Tests FEEL expression: 'log(null)' and expects result: 'null (number)' - Result of FEEL expression 'log(null)'? - null (number) - - - log(null) - - - - Tests FEEL expression: 'log("4")' and expects result: 'null (number)' - Result of FEEL expression 'log("4")'? - null (number) - - - log("4") - - - - Tests FEEL expression: 'log(true)' and expects result: 'null (number)' - Result of FEEL expression 'log(true)'? - null (number) - - - log(true) - - - - Tests FEEL expression: 'log(duration("P4D"))' and expects result: 'null (number)' - Result of FEEL expression 'log(duration("P4D"))'? - null (number) - - - log(duration("P4D")) - - - - Tests FEEL expression: 'log(duration("P4Y"))' and expects result: 'null (number)' - Result of FEEL expression 'log(duration("P4Y"))'? - null (number) - - - log(duration("P4Y")) - - - - Tests FEEL expression: 'log(date("2018-12-06"))' and expects result: 'null (number)' - Result of FEEL expression 'log(date("2018-12-06"))'? - null (number) - - - log(date("2018-12-06")) - - - - Tests FEEL expression: 'log(time("00:00:00"))' and expects result: 'null (number)' - Result of FEEL expression 'log(time("00:00:00"))'? - null (number) - - - log(time("00:00:00")) - - - - Tests FEEL expression: 'log(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' - Result of FEEL expression 'log(date and time("2018-12-06T00:00:00"))'? - null (number) - - - log(date and time("2018-12-06T00:00:00")) - - + + FEEL built-in function 'log(number)' in category numeric functions + + Tests FEEL expression: 'log(4)' and expects result: '2 (number)' + Result of FEEL expression 'log(4)'? + 2 (number) + + + log(4) + + + + Tests FEEL expression: 'log(-1)' and expects result: 'null (number)' + Result of FEEL expression 'log(-1)'? + null (number) + + + log(-1) + + + + Tests FEEL expression: 'log(0)' and expects result: '0 (number)' + Result of FEEL expression 'log(0)'? + 0 (number) + + + log(0) + + + + Tests FEEL expression: 'log()' and expects result: 'null (number)' + Result of FEEL expression 'log()'? + null (number) + + + log() + + + + Tests FEEL expression: 'log(4,4)' and expects result: 'null (number)' + Result of FEEL expression 'log(4,4)'? + null (number) + + + log(4,4) + + + + Tests FEEL expression: 'log(number:4)' and expects result: '2 (number)' + Result of FEEL expression 'log(number:4)'? + 2 (number) + + + log(number:4) + + + + Tests FEEL expression: 'log(n:4)' and expects result: 'null (number)' + Result of FEEL expression 'log(n:4)'? + 2 (number) + + + log(n:4) + + + + Tests FEEL expression: 'log(null)' and expects result: 'null (number)' + Result of FEEL expression 'log(null)'? + null (number) + + + log(null) + + + + Tests FEEL expression: 'log("4")' and expects result: 'null (number)' + Result of FEEL expression 'log("4")'? + null (number) + + + log("4") + + + + Tests FEEL expression: 'log(true)' and expects result: 'null (number)' + Result of FEEL expression 'log(true)'? + null (number) + + + log(true) + + + + Tests FEEL expression: 'log(duration("P4D"))' and expects result: 'null (number)' + Result of FEEL expression 'log(duration("P4D"))'? + null (number) + + + log(duration("P4D")) + + + + Tests FEEL expression: 'log(duration("P4Y"))' and expects result: 'null (number)' + Result of FEEL expression 'log(duration("P4Y"))'? + null (number) + + + log(duration("P4Y")) + + + + Tests FEEL expression: 'log(date("2018-12-06"))' and expects result: 'null (number)' + Result of FEEL expression 'log(date("2018-12-06"))'? + null (number) + + + log(date("2018-12-06")) + + + + Tests FEEL expression: 'log(time("00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'log(time("00:00:00"))'? + null (number) + + + log(time("00:00:00")) + + + + Tests FEEL expression: 'log(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'log(date and time("2018-12-06T00:00:00"))'? + null (number) + + + log(date and time("2018-12-06T00:00:00")) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0054-feel-even-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0054-feel-even-function.dmn index a7a1692ef68..088115a4738 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0054-feel-even-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0054-feel-even-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'even(number)' in category numeric functions - - Tests FEEL expression: 'even(2)' and expects result: 'true (boolean)' - Result of FEEL expression 'even(2)'? - true (boolean) - - - even(2) - - - - Tests FEEL expression: 'even(1)' and expects result: 'false (boolean)' - Result of FEEL expression 'even(1)'? - false (boolean) - - - even(1) - - - - Tests FEEL expression: 'even(-2)' and expects result: 'true (boolean)' - Result of FEEL expression 'even(-2)'? - true (boolean) - - - even(-2) - - - - Tests FEEL expression: 'even(-1)' and expects result: 'false (number)' - Result of FEEL expression 'even(-1)'? - false (boolean) - - - even(-1) - - - - Tests FEEL expression: 'even(0)' and expects result: 'true (boolean)' - Result of FEEL expression 'even(0)'? - true (boolean) - - - even(0) - - - - Tests FEEL expression: 'even()' and expects result: 'null (number)' - Result of FEEL expression 'even()'? - null (number) - - - even() - - - - Tests FEEL expression: 'even(4,4)' and expects result: 'null (number)' - Result of FEEL expression 'even(4,4)'? - null (number) - - - even(4,4) - - - - Tests FEEL expression: 'even(number:4)' and expects result: '2 (number)' - Result of FEEL expression 'even(number:4)'? - 2 (number) - - - even(number:4) - - - - Tests FEEL expression: 'even(n:4)' and expects result: 'null (boolean)' - Result of FEEL expression 'even(n:4)'? - null (boolean) - - - even(n:4) - - - - Tests FEEL expression: 'even(null)' and expects result: 'null (number)' - Result of FEEL expression 'even(null)'? - null (number) - - - even(null) - - - - Tests FEEL expression: 'even("4")' and expects result: 'null (number)' - Result of FEEL expression 'even("4")'? - null (number) - - - even("4") - - - - Tests FEEL expression: 'even(true)' and expects result: 'null (number)' - Result of FEEL expression 'even(true)'? - null (number) - - - even(true) - - - - Tests FEEL expression: 'even(duration("P4D"))' and expects result: 'null (number)' - Result of FEEL expression 'even(duration("P4D"))'? - null (number) - - - even(duration("P4D")) - - - - Tests FEEL expression: 'even(duration("P4Y"))' and expects result: 'null (number)' - Result of FEEL expression 'even(duration("P4Y"))'? - null (number) - - - even(duration("P4Y")) - - - - Tests FEEL expression: 'even(date("2018-12-06"))' and expects result: 'null (number)' - Result of FEEL expression 'even(date("2018-12-06"))'? - null (number) - - - even(date("2018-12-06")) - - - - Tests FEEL expression: 'even(time("00:00:00"))' and expects result: 'null (number)' - Result of FEEL expression 'even(time("00:00:00"))'? - null (number) - - - even(time("00:00:00")) - - - - Tests FEEL expression: 'even(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' - Result of FEEL expression 'even(date and time("2018-12-06T00:00:00"))'? - null (number) - - - even(date and time("2018-12-06T00:00:00")) - - + + FEEL built-in function 'even(number)' in category numeric functions + + Tests FEEL expression: 'even(2)' and expects result: 'true (boolean)' + Result of FEEL expression 'even(2)'? + true (boolean) + + + even(2) + + + + Tests FEEL expression: 'even(1)' and expects result: 'false (boolean)' + Result of FEEL expression 'even(1)'? + false (boolean) + + + even(1) + + + + Tests FEEL expression: 'even(-2)' and expects result: 'true (boolean)' + Result of FEEL expression 'even(-2)'? + true (boolean) + + + even(-2) + + + + Tests FEEL expression: 'even(-1)' and expects result: 'false (number)' + Result of FEEL expression 'even(-1)'? + false (boolean) + + + even(-1) + + + + Tests FEEL expression: 'even(0)' and expects result: 'true (boolean)' + Result of FEEL expression 'even(0)'? + true (boolean) + + + even(0) + + + + Tests FEEL expression: 'even()' and expects result: 'null (number)' + Result of FEEL expression 'even()'? + null (number) + + + even() + + + + Tests FEEL expression: 'even(4,4)' and expects result: 'null (number)' + Result of FEEL expression 'even(4,4)'? + null (number) + + + even(4,4) + + + + Tests FEEL expression: 'even(number:4)' and expects result: '2 (number)' + Result of FEEL expression 'even(number:4)'? + 2 (number) + + + even(number:4) + + + + Tests FEEL expression: 'even(n:4)' and expects result: 'null (boolean)' + Result of FEEL expression 'even(n:4)'? + null (boolean) + + + even(n:4) + + + + Tests FEEL expression: 'even(null)' and expects result: 'null (number)' + Result of FEEL expression 'even(null)'? + null (number) + + + even(null) + + + + Tests FEEL expression: 'even("4")' and expects result: 'null (number)' + Result of FEEL expression 'even("4")'? + null (number) + + + even("4") + + + + Tests FEEL expression: 'even(true)' and expects result: 'null (number)' + Result of FEEL expression 'even(true)'? + null (number) + + + even(true) + + + + Tests FEEL expression: 'even(duration("P4D"))' and expects result: 'null (number)' + Result of FEEL expression 'even(duration("P4D"))'? + null (number) + + + even(duration("P4D")) + + + + Tests FEEL expression: 'even(duration("P4Y"))' and expects result: 'null (number)' + Result of FEEL expression 'even(duration("P4Y"))'? + null (number) + + + even(duration("P4Y")) + + + + Tests FEEL expression: 'even(date("2018-12-06"))' and expects result: 'null (number)' + Result of FEEL expression 'even(date("2018-12-06"))'? + null (number) + + + even(date("2018-12-06")) + + + + Tests FEEL expression: 'even(time("00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'even(time("00:00:00"))'? + null (number) + + + even(time("00:00:00")) + + + + Tests FEEL expression: 'even(date and time("2018-12-06T00:00:00"))' and expects result: 'null (number)' + Result of FEEL expression 'even(date and time("2018-12-06T00:00:00"))'? + null (number) + + + even(date and time("2018-12-06T00:00:00")) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0055-feel-odd-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0055-feel-odd-function.dmn index a7b46901470..62f0bb113bf 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0055-feel-odd-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0055-feel-odd-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'odd(number)' in category numeric functions - - Tests FEEL expression: 'odd(2)' and expects result: 'false (boolean)' - Result of FEEL expression 'odd(2)'? - false (boolean) - - - odd(2) - - - - Tests FEEL expression: 'odd(1)' and expects result: 'true (boolean)' - Result of FEEL expression 'odd(1)'? - true (boolean) - - - odd(1) - - - - Tests FEEL expression: 'odd(-2)' and expects result: 'false (boolean)' - Result of FEEL expression 'odd(-2)'? - false (boolean) - - - odd(-2) - - - - Tests FEEL expression: 'odd(-1)' and expects result: 'true (boolean)' - Result of FEEL expression 'odd(-1)'? - true (boolean) - - - odd(-1) - - - - Tests FEEL expression: 'odd(0)' and expects result: 'false (boolean)' - Result of FEEL expression 'odd(0)'? - false (boolean) - - - odd(0) - - - - Tests FEEL expression: 'odd()' and expects result: 'null (boolean)' - Result of FEEL expression 'odd()'? - null (boolean) - - - odd() - - - - Tests FEEL expression: 'odd(4,4)' and expects result: 'null (boolean)' - Result of FEEL expression 'odd(4,4)'? - null (boolean) - - - odd(4,4) - - - - Tests FEEL expression: 'odd(number:4)' and expects result: 'false (boolean)' - Result of FEEL expression 'odd(number:4)'? - false (boolean) - - - odd(number:4) - - - - Tests FEEL expression: 'odd(n:4)' and expects result: 'null (boolean)' - Result of FEEL expression 'odd(n:4)'? - null (boolean) - - - odd(n:4) - - - - Tests FEEL expression: 'odd(null)' and expects result: 'null (boolean)' - Result of FEEL expression 'odd(null)'? - null (boolean) - - - odd(null) - - - - Tests FEEL expression: 'odd("4")' and expects result: 'null (boolean)' - Result of FEEL expression 'odd("4")'? - null (boolean) - - - odd("4") - - - - Tests FEEL expression: 'odd(true)' and expects result: 'null (boolean)' - Result of FEEL expression 'odd(true)'? - null (boolean) - - - odd(true) - - - - Tests FEEL expression: 'odd(duration("P4D"))' and expects result: 'null (boolean)' - Result of FEEL expression 'odd(duration("P4D"))'? - null (boolean) - - - odd(duration("P4D")) - - - - Tests FEEL expression: 'odd(duration("P4Y"))' and expects result: 'null (boolean)' - Result of FEEL expression 'odd(duration("P4Y"))'? - null (boolean) - - - odd(duration("P4Y")) - - - - Tests FEEL expression: 'odd(date("2018-12-06"))' and expects result: 'null (boolean)' - Result of FEEL expression 'odd(date("2018-12-06"))'? - null (boolean) - - - odd(date("2018-12-06")) - - - - Tests FEEL expression: 'odd(time("00:00:00"))' and expects result: 'null (boolean)' - Result of FEEL expression 'odd(time("00:00:00"))'? - null (boolean) - - - odd(time("00:00:00")) - - - - Tests FEEL expression: 'odd(date and time("2018-12-06T00:00:00"))' and expects result: 'null (boolean)' - Result of FEEL expression 'odd(date and time("2018-12-06T00:00:00"))'? - null (boolean) - - - odd(date and time("2018-12-06T00:00:00")) - - + + FEEL built-in function 'odd(number)' in category numeric functions + + Tests FEEL expression: 'odd(2)' and expects result: 'false (boolean)' + Result of FEEL expression 'odd(2)'? + false (boolean) + + + odd(2) + + + + Tests FEEL expression: 'odd(1)' and expects result: 'true (boolean)' + Result of FEEL expression 'odd(1)'? + true (boolean) + + + odd(1) + + + + Tests FEEL expression: 'odd(-2)' and expects result: 'false (boolean)' + Result of FEEL expression 'odd(-2)'? + false (boolean) + + + odd(-2) + + + + Tests FEEL expression: 'odd(-1)' and expects result: 'true (boolean)' + Result of FEEL expression 'odd(-1)'? + true (boolean) + + + odd(-1) + + + + Tests FEEL expression: 'odd(0)' and expects result: 'false (boolean)' + Result of FEEL expression 'odd(0)'? + false (boolean) + + + odd(0) + + + + Tests FEEL expression: 'odd()' and expects result: 'null (boolean)' + Result of FEEL expression 'odd()'? + null (boolean) + + + odd() + + + + Tests FEEL expression: 'odd(4,4)' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(4,4)'? + null (boolean) + + + odd(4,4) + + + + Tests FEEL expression: 'odd(number:4)' and expects result: 'false (boolean)' + Result of FEEL expression 'odd(number:4)'? + false (boolean) + + + odd(number:4) + + + + Tests FEEL expression: 'odd(n:4)' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(n:4)'? + null (boolean) + + + odd(n:4) + + + + Tests FEEL expression: 'odd(null)' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(null)'? + null (boolean) + + + odd(null) + + + + Tests FEEL expression: 'odd("4")' and expects result: 'null (boolean)' + Result of FEEL expression 'odd("4")'? + null (boolean) + + + odd("4") + + + + Tests FEEL expression: 'odd(true)' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(true)'? + null (boolean) + + + odd(true) + + + + Tests FEEL expression: 'odd(duration("P4D"))' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(duration("P4D"))'? + null (boolean) + + + odd(duration("P4D")) + + + + Tests FEEL expression: 'odd(duration("P4Y"))' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(duration("P4Y"))'? + null (boolean) + + + odd(duration("P4Y")) + + + + Tests FEEL expression: 'odd(date("2018-12-06"))' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(date("2018-12-06"))'? + null (boolean) + + + odd(date("2018-12-06")) + + + + Tests FEEL expression: 'odd(time("00:00:00"))' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(time("00:00:00"))'? + null (boolean) + + + odd(time("00:00:00")) + + + + Tests FEEL expression: 'odd(date and time("2018-12-06T00:00:00"))' and expects result: 'null (boolean)' + Result of FEEL expression 'odd(date and time("2018-12-06T00:00:00"))'? + null (boolean) + + + odd(date and time("2018-12-06T00:00:00")) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0056-feel-modulo-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0056-feel-modulo-function.dmn index a79c9c828e2..6ca001da227 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0056-feel-modulo-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0056-feel-modulo-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'modulo(dividend,divisor)' in category numeric functions - - Tests FEEL expression: 'modulo(10, 4)' and expects result: '2 (number)' - Result of FEEL expression 'modulo(10, 4)'? - 2 (number) - - - modulo(10, 4) - - - - Tests FEEL expression: 'modulo(10, -4)' and expects result: '-2 (number)' - Result of FEEL expression 'modulo(10, -4)'? - -2 (number) - - - modulo(10, -4) - - - - Tests FEEL expression: 'modulo(-10, 4)' and expects result: '2 (number)' - Result of FEEL expression 'modulo(v)'? - 2 (number) - - - modulo(-10, 4) - - - - Tests FEEL expression: 'modulo(0, 4)' and expects result: '0 (number)' - Result of FEEL expression 'modulo(0, 4)'? - 0 (number) - - - modulo(0, 4) - - - - Tests FEEL expression: 'modulo(10, 0)' and expects result: 'null (number)' - Result of FEEL expression 'modulo(10, 0)'? - null (number) - - - modulo(10, 0) - - - - Tests FEEL expression: 'modulo()' and expects result: 'null (number)' - Result of FEEL expression 'modulo()'? - null (number) - - - modulo() - - - - Tests FEEL expression: 'modulo(4)' and expects result: 'null (number)' - Result of FEEL expression 'modulo(4)'? - null (number) - - - modulo(4) - - - - Tests FEEL expression: 'modulo(4,4,4)' and expects result: 'null (number)' - Result of FEEL expression 'modulo(4,4,4)'? - null (number) - - - modulo(4,4,4) - - - - Tests FEEL expression: 'modulo(dividend:10, divisor:4)' and expects result: '2 (number)' - Result of FEEL expression 'modulo(dividend:10, divisor:4)'? - 2 (number) - - - modulo(dividend:10, divisor:4) - - - - Tests FEEL expression: 'modulo(dividend:10, foo:4)' and expects result: 'null (number)' - Result of FEEL expression 'modulo(dividend:10, foo:4)'? - null (number) - - - modulo(dividend:10, foo:4) - - - - Tests FEEL expression: 'modulo(null, null)' and expects result: 'null (number)' - Result of FEEL expression 'modulo(null, null)'? - null (number) - - - modulo(null, null) - - - - Tests FEEL expression: 'modulo(10, null)' and expects result: 'null (number)' - Result of FEEL expression 'modulo(10, null)'? - null (number) - - - modulo(10, null) - - - - Tests FEEL expression: 'modulo(null, 4)' and expects result: 'null (number)' - Result of FEEL expression 'modulo(null, 4)'? - null (number) - - - modulo(null, 4) - - - - Tests FEEL expression: 'modulo("10", "4")' and expects result: 'null (number)' - Result of FEEL expression 'modulo("10", "4")'? - null (number) - - - modulo("10", "4") - - - - Tests FEEL expression: 'modulo(true, true)' and expects result: 'null (number)' - Result of FEEL expression 'modulo(true, true)'? - null (number) - - - modulo(true, true) - - - - Tests FEEL expression: 'modulo(duration("P10D"), 4)' and expects result: 'null (number)' - Result of FEEL expression 'modulo(duration("P10D"), 4)'? - null (number) - - - modulo(duration("P10D"), 4) - - - - Tests FEEL expression: 'modulo(duration("P10Y"), 4)' and expects result: 'null (number)' - Result of FEEL expression 'modulo(duration("P10Y"), 4)'? - null (number) - - - modulo(duration("P10Y"), 4) - - - - Tests FEEL expression: 'modulo(date("2018-12-06"), 4)' and expects result: 'null (number)' - Result of FEEL expression 'modulo(date("2018-12-06"), 4)'? - null (number) - - - modulo(date("2018-12-06"), 4) - - - - Tests FEEL expression: 'modulo(time("10:00:00"), 4)' and expects result: 'null (number)' - Result of FEEL expression 'modulo(time("10:00:00"), 4)'? - null (number) - - - modulo(time("10:00:00"), 4) - - - - Tests FEEL expression: 'modulo(date and time("2018-12-06T00:00:00"), 4)' and expects result: 'null (number)' - Result of FEEL expression 'modulo(date and time("2018-12-06T00:00:00"), 4)'? - null (number) - - - modulo(date and time("2018-12-06T00:00:00"), 4) - - - - Example from the DMN Specification, ref DMN13-125 - - - modulo(12, 5) - - - - Example from the DMN Specification, ref DMN13-125 - - - modulo(-12, 5) - - - - Example from the DMN Specification, ref DMN13-125 - - - modulo(12, -5) - - - - Example from the DMN Specification, ref DMN13-125 - - - modulo(-12, -5) - - - - Example from the DMN Specification, ref DMN13-125 - - - modulo(10.1, 4.5) - - - - Example from the DMN Specification, ref DMN13-125 - - - modulo(-10.1, 4.5) - - - - Example from the DMN Specification, ref DMN13-125 - - - modulo(10.1, -4.5) - - - - Example from the DMN Specification, ref DMN13-125 - - - modulo(-10.1, -4.5) - - - + + FEEL built-in function 'modulo(dividend,divisor)' in category numeric functions + + Tests FEEL expression: 'modulo(10, 4)' and expects result: '2 (number)' + Result of FEEL expression 'modulo(10, 4)'? + 2 (number) + + + modulo(10, 4) + + + + Tests FEEL expression: 'modulo(10, -4)' and expects result: '-2 (number)' + Result of FEEL expression 'modulo(10, -4)'? + -2 (number) + + + modulo(10, -4) + + + + Tests FEEL expression: 'modulo(-10, 4)' and expects result: '2 (number)' + Result of FEEL expression 'modulo(v)'? + 2 (number) + + + modulo(-10, 4) + + + + Tests FEEL expression: 'modulo(0, 4)' and expects result: '0 (number)' + Result of FEEL expression 'modulo(0, 4)'? + 0 (number) + + + modulo(0, 4) + + + + Tests FEEL expression: 'modulo(10, 0)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(10, 0)'? + null (number) + + + modulo(10, 0) + + + + Tests FEEL expression: 'modulo()' and expects result: 'null (number)' + Result of FEEL expression 'modulo()'? + null (number) + + + modulo() + + + + Tests FEEL expression: 'modulo(4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(4)'? + null (number) + + + modulo(4) + + + + Tests FEEL expression: 'modulo(4,4,4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(4,4,4)'? + null (number) + + + modulo(4,4,4) + + + + Tests FEEL expression: 'modulo(dividend:10, divisor:4)' and expects result: '2 (number)' + Result of FEEL expression 'modulo(dividend:10, divisor:4)'? + 2 (number) + + + modulo(dividend:10, divisor:4) + + + + Tests FEEL expression: 'modulo(dividend:10, foo:4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(dividend:10, foo:4)'? + null (number) + + + modulo(dividend:10, foo:4) + + + + Tests FEEL expression: 'modulo(null, null)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(null, null)'? + null (number) + + + modulo(null, null) + + + + Tests FEEL expression: 'modulo(10, null)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(10, null)'? + null (number) + + + modulo(10, null) + + + + Tests FEEL expression: 'modulo(null, 4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(null, 4)'? + null (number) + + + modulo(null, 4) + + + + Tests FEEL expression: 'modulo("10", "4")' and expects result: 'null (number)' + Result of FEEL expression 'modulo("10", "4")'? + null (number) + + + modulo("10", "4") + + + + Tests FEEL expression: 'modulo(true, true)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(true, true)'? + null (number) + + + modulo(true, true) + + + + Tests FEEL expression: 'modulo(duration("P10D"), 4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(duration("P10D"), 4)'? + null (number) + + + modulo(duration("P10D"), 4) + + + + Tests FEEL expression: 'modulo(duration("P10Y"), 4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(duration("P10Y"), 4)'? + null (number) + + + modulo(duration("P10Y"), 4) + + + + Tests FEEL expression: 'modulo(date("2018-12-06"), 4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(date("2018-12-06"), 4)'? + null (number) + + + modulo(date("2018-12-06"), 4) + + + + Tests FEEL expression: 'modulo(time("10:00:00"), 4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(time("10:00:00"), 4)'? + null (number) + + + modulo(time("10:00:00"), 4) + + + + Tests FEEL expression: 'modulo(date and time("2018-12-06T00:00:00"), 4)' and expects result: 'null (number)' + Result of FEEL expression 'modulo(date and time("2018-12-06T00:00:00"), 4)'? + null (number) + + + modulo(date and time("2018-12-06T00:00:00"), 4) + + + + Example from the DMN Specification, ref DMN13-125 + + + modulo(12, 5) + + + + Example from the DMN Specification, ref DMN13-125 + + + modulo(-12, 5) + + + + Example from the DMN Specification, ref DMN13-125 + + + modulo(12, -5) + + + + Example from the DMN Specification, ref DMN13-125 + + + modulo(-12, -5) + + + + Example from the DMN Specification, ref DMN13-125 + + + modulo(10.1, 4.5) + + + + Example from the DMN Specification, ref DMN13-125 + + + modulo(-10.1, 4.5) + + + + Example from the DMN Specification, ref DMN13-125 + + + modulo(10.1, -4.5) + + + + Example from the DMN Specification, ref DMN13-125 + + + modulo(-10.1, -4.5) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0057-feel-context.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0057-feel-context.dmn index 35a883f8a62..a503f11cf57 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0057-feel-context.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0057-feel-context.dmn @@ -1,4 +1,4 @@ - + - - FEEL contexts + + FEEL contexts - - - - {a: "foo", b: "bar"} - - + + + + {a: "foo", b: "bar"} + + - - - - {a: "foo", b: {c: "bar", d: {e: "baz"}}} - - + + + + {a: "foo", b: {c: "bar", d: {e: "baz"}}} + + - - - - {a: 1 + 2, b: a + 3} - - + + + + {a: 1 + 2, b: a + 3} + + - - - - {a: 1 + 2, b: 3, c: {d: a + b}} - - + + + + {a: 1 + 2, b: 3, c: {d: a + b}} + + - - - - {foo bar: "foo"} - - + + + + {foo bar: "foo"} + + - - - - {foo+bar: "foo"} - - + + + + {foo+bar: "foo"} + + - - - - {"foo+bar((!!],foo": "foo"} - - + + + + {"foo+bar((!!],foo": "foo"} + + - - - - {"": "foo"} - - - - - - - {foo: "bar", foo: "baz"} - - + + + + {"": "foo"} + + + + + + {foo: "bar", foo: "baz"} + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0058-feel-number-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0058-feel-number-function.dmn index 427a480b348..d0acd71c13d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0058-feel-number-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0058-feel-number-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'modulo(dividend,divisor)' in category numeric functions - - Tests FEEL expression: 'number("1.000.000,01", ".", ","))' and expects result: '1000000.01 (number)' - Result of FEEL expression 'number("1.000.000,01", ".", ","))'? - 1000000.01 (number) - - - number("1.000.000,01", ".", ",") - - - - Tests FEEL expression: 'number("1,000,000.01", ",", "."))' and expects result: '1000000.01 (number)' - Result of FEEL expression 'number("1,000,000.01", ",", "."))'? - 1000000.01 (number) - - - number("1,000,000.01", ",", ".") - - - - Tests FEEL expression: 'number("1 000 000,01", " ", "."))' and expects result: '1000000.01 (number)' - Result of FEEL expression 'number("1 000 000,01", " ", "."))'? - 1000000.01 (number) - - - number("1 000 000.01", " ", ".") - - - - Tests FEEL expression: 'number("1,000,000.01", " ", "."))' and expects result: 'null (number)' - Result of FEEL expression 'number("1,000,000.01", " ", "."))'? - null (number) - - - number("1,000,000.01", " ", ".") - - - - Tests FEEL expression: 'number("1,000,000.01", ":", "."))' and expects result: 'null (number)' - Result of FEEL expression 'number("1,000,000.01", ":", "."))'? - null (number) - - - number("1,000,000.01", ":", ".") - - - - Tests FEEL expression: 'number("1,000,000.01", 123, "."))' and expects result: 'null (number)' - Result of FEEL expression 'number("1,000,000.01", 123, "."))'? - null (number) - - - number("1,000,000.01", 123, ".") - - - - Tests FEEL expression: 'number("1,000,000.01", ",", ":"))' and expects result: 'null (number)' - Result of FEEL expression 'number("1,000,000.01", ",", ":"))'? - null (number) - - - number("1,000,000.01", ",", ":") - - - - Tests FEEL expression: 'number("1,000,000.01", ",", 123))' and expects result: 'null (number)' - Result of FEEL expression 'number("1,000,000.01", ",", 123))'? - null (number) - - - number("1,000,000.01", ",", 123) - - - - Tests FEEL expression: 'number("1000000.01", null, "."))' and expects result: '1000000.01 (number)' - Result of FEEL expression 'number("1000000.01", null, "."))'? - 1000000.01 (number) - - - number("1000000.01", null, ".") - - - - Tests FEEL expression: 'number("1,000,000.01", null, "."))' and expects result: '1000000.01 (number)' - Result of FEEL expression 'number("1,000,000.01", null, "."))'? - 1000000.01 (number) - - - number("1,000,000.01", ",", ".") - - - - Tests FEEL expression: 'number("1,000,000", ",", null))' and expects result: '1000000 (number)' - Result of FEEL expression 'number("1,000,000", ",", null))'? - 1000000 (number) - - - number("1,000,000", ",", null) - - - - Tests FEEL expression: 'number("1,000,000.00", ",", null))' and expects result: '1000000.00 (number)' - Result of FEEL expression 'number("1,000,000.00", ",", null))'? - 1000000.00 (number) - - - number("1,000,000.00", ",", null) - - - - Tests FEEL expression: 'number("1,000,000.00", ",", ","))' and expects result: 'null (number)' - Result of FEEL expression 'number("1,000,000.00", ",", ","))'? - null (number) - - - number("1,000,000.00", ",", ",") - - - - Tests FEEL expression: 'number("1,000,000.00", ".", "."))' and expects result: 'null (number)' - Result of FEEL expression 'number("1,000,000.00", ".", "."))'? - null (number) - - - number("1,000,000.00", ".", ".") - - - - Tests FEEL expression: 'number(null, ".", "."))' and expects result: 'null (number)' - Result of FEEL expression 'number(null, ".", "."))'? - null (number) - - - number(null, ".", ".") - - - - Tests FEEL expression: 'number(123, ".", "."))' and expects result: 'null (number)' - Result of FEEL expression 'number(123, ".", "."))'? - null (number) - - - number(123, ".", ".") - - - - Tests FEEL expression: 'number(from: "1.000.000,01", decimal separator:",", grouping separator:"."))' and expects result: '1000000.01 (number)' - Result of FEEL expression 'number(from: "1.000.000,01", decimal separator:",", grouping separator:"."))'? - 1000000.01 (number) - - - number(from: "1.000.000,01", decimal separator:",", grouping separator:".") - - - - Tests FEEL expression: 'number(from: "1.000.000,01", decimal sep:",", grouping sep:"."))' and expects result: 'null (number)' - Result of FEEL expression 'number(from: "1.000.000,01", decimal sep:",", grouping sep:"."))'? - null (number) - - - number(from: "1.000.000,01", decimal sep:",", grouping sep:".") - - - - Tests FEEL expression: 'number("foo,bar.001", ".", ","))' and expects result: 'null (number)' - Result of FEEL expression 'number("foo,bar.001", ".", ","))'? - null (number) - - - number("foo,bar.001", ".", ",") - - - - Tests FEEL expression: 'number("1.000.000,01", "."))' and expects result: 'null (number)' - Result of FEEL expression 'number("1.000.000,01", "."))'? - null (number) - - - number("1.000.000,01", ".") - - - - Tests FEEL expression: 'number("1.000.000,01", ".", ",", ","))' and expects result: 'null (number)' - Result of FEEL expression 'number("1.000.000,01", ".", ",", ","))'? - null (number) - - - number("1.000.000,01", ".", ",", ",") - - + + FEEL built-in function 'modulo(dividend,divisor)' in category numeric functions + + Tests FEEL expression: 'number("1.000.000,01", ".", ","))' and expects result: '1000000.01 (number)' + Result of FEEL expression 'number("1.000.000,01", ".", ","))'? + 1000000.01 (number) + + + number("1.000.000,01", ".", ",") + + + + Tests FEEL expression: 'number("1,000,000.01", ",", "."))' and expects result: '1000000.01 (number)' + Result of FEEL expression 'number("1,000,000.01", ",", "."))'? + 1000000.01 (number) + + + number("1,000,000.01", ",", ".") + + + + Tests FEEL expression: 'number("1 000 000,01", " ", "."))' and expects result: '1000000.01 (number)' + Result of FEEL expression 'number("1 000 000,01", " ", "."))'? + 1000000.01 (number) + + + number("1 000 000.01", " ", ".") + + + + Tests FEEL expression: 'number("1,000,000.01", " ", "."))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.01", " ", "."))'? + null (number) + + + number("1,000,000.01", " ", ".") + + + + Tests FEEL expression: 'number("1,000,000.01", ":", "."))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.01", ":", "."))'? + null (number) + + + number("1,000,000.01", ":", ".") + + + + Tests FEEL expression: 'number("1,000,000.01", 123, "."))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.01", 123, "."))'? + null (number) + + + number("1,000,000.01", 123, ".") + + + + Tests FEEL expression: 'number("1,000,000.01", ",", ":"))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.01", ",", ":"))'? + null (number) + + + number("1,000,000.01", ",", ":") + + + + Tests FEEL expression: 'number("1,000,000.01", ",", 123))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.01", ",", 123))'? + null (number) + + + number("1,000,000.01", ",", 123) + + + + Tests FEEL expression: 'number("1000000.01", null, "."))' and expects result: '1000000.01 (number)' + Result of FEEL expression 'number("1000000.01", null, "."))'? + 1000000.01 (number) + + + number("1000000.01", null, ".") + + + + Tests FEEL expression: 'number("1,000,000.01", null, "."))' and expects result: '1000000.01 (number)' + Result of FEEL expression 'number("1,000,000.01", null, "."))'? + 1000000.01 (number) + + + number("1,000,000.01", ",", ".") + + + + Tests FEEL expression: 'number("1,000,000", ",", null))' and expects result: '1000000 (number)' + Result of FEEL expression 'number("1,000,000", ",", null))'? + 1000000 (number) + + + number("1,000,000", ",", null) + + + + Tests FEEL expression: 'number("1,000,000.00", ",", null))' and expects result: '1000000.00 (number)' + Result of FEEL expression 'number("1,000,000.00", ",", null))'? + 1000000.00 (number) + + + number("1,000,000.00", ",", null) + + + + Tests FEEL expression: 'number("1,000,000.00", ",", ","))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.00", ",", ","))'? + null (number) + + + number("1,000,000.00", ",", ",") + + + + Tests FEEL expression: 'number("1,000,000.00", ".", "."))' and expects result: 'null (number)' + Result of FEEL expression 'number("1,000,000.00", ".", "."))'? + null (number) + + + number("1,000,000.00", ".", ".") + + + + Tests FEEL expression: 'number(null, ".", "."))' and expects result: 'null (number)' + Result of FEEL expression 'number(null, ".", "."))'? + null (number) + + + number(null, ".", ".") + + + + Tests FEEL expression: 'number(123, ".", "."))' and expects result: 'null (number)' + Result of FEEL expression 'number(123, ".", "."))'? + null (number) + + + number(123, ".", ".") + + + + Tests FEEL expression: 'number(from: "1.000.000,01", decimal separator:",", grouping separator:"."))' and expects result: '1000000.01 (number)' + Result of FEEL expression 'number(from: "1.000.000,01", decimal separator:",", grouping separator:"."))'? + 1000000.01 (number) + + + number(from: "1.000.000,01", decimal separator:",", grouping separator:".") + + + + Tests FEEL expression: 'number(from: "1.000.000,01", decimal sep:",", grouping sep:"."))' and expects result: 'null (number)' + Result of FEEL expression 'number(from: "1.000.000,01", decimal sep:",", grouping sep:"."))'? + null (number) + + + number(from: "1.000.000,01", decimal sep:",", grouping sep:".") + + + + Tests FEEL expression: 'number("foo,bar.001", ".", ","))' and expects result: 'null (number)' + Result of FEEL expression 'number("foo,bar.001", ".", ","))'? + null (number) + + + number("foo,bar.001", ".", ",") + + + + Tests FEEL expression: 'number("1.000.000,01", "."))' and expects result: 'null (number)' + Result of FEEL expression 'number("1.000.000,01", "."))'? + null (number) + + + number("1.000.000,01", ".") + + + + Tests FEEL expression: 'number("1.000.000,01", ".", ",", ","))' and expects result: 'null (number)' + Result of FEEL expression 'number("1.000.000,01", ".", ",", ","))'? + null (number) + + + number("1.000.000,01", ".", ",", ",") + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0059-feel-all-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0059-feel-all-function.dmn index b54f975b164..161b7216c0e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0059-feel-all-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0059-feel-all-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'all(list)' in category list functions - - Tests FEEL expression: 'all([true, false, true])' and expects result: 'false (boolean)' - Result of FEEL expression 'all([true, false, true])'? - false (boolean) - - - all([true, false, true]) - - - - Tests FEEL expression: 'all([true, true, true])' and expects result: 'true (boolean)' - Result of FEEL expression 'all([true, true, true])'? - true (boolean) - - - all([true, true, true]) - - - - Tests FEEL expression: 'all([true, null, true])' and expects result: 'null (boolean)' - Result of FEEL expression 'all([true, null, true])'? - null (boolean) - - - all([true, null, true]) - - - - Tests FEEL expression: 'all([true, 123, true])' and expects result: 'null (boolean)' - Result of FEEL expression 'all([true, 123, true])'? - null (boolean) - - - all([true, 123, true]) - - - - Tests FEEL expression: 'all([])' and expects result: 'true (boolean)' - Result of FEEL expression 'all([])'? - true (boolean) - - - all([]) - - - - Tests FEEL expression: 'all(true)' and expects result: 'true (boolean)' - Result of FEEL expression 'all(true)'? - true (boolean) - - - all(true) - - - - Tests FEEL expression: 'all(false)' and expects result: 'false (boolean)' - Result of FEEL expression 'all(false)'? - false (boolean) - - - all(false) - - - - Tests FEEL expression: 'all(null)' and expects result: 'null (boolean)' - Result of FEEL expression 'all(null)'? - null (boolean) - - - all(null) - - - - Tests FEEL expression: 'all(123)' and expects result: 'null (boolean)' - Result of FEEL expression 'all(123)'? - null (boolean) - - - all(123) - - + + FEEL built-in function 'all(list)' in category list functions + + Tests FEEL expression: 'all([true, false, true])' and expects result: 'false (boolean)' + Result of FEEL expression 'all([true, false, true])'? + false (boolean) + + + all([true, false, true]) + + + + Tests FEEL expression: 'all([true, true, true])' and expects result: 'true (boolean)' + Result of FEEL expression 'all([true, true, true])'? + true (boolean) + + + all([true, true, true]) + + + + Tests FEEL expression: 'all([true, null, true])' and expects result: 'null (boolean)' + Result of FEEL expression 'all([true, null, true])'? + null (boolean) + + + all([true, null, true]) + + + + Tests FEEL expression: 'all([true, 123, true])' and expects result: 'null (boolean)' + Result of FEEL expression 'all([true, 123, true])'? + null (boolean) + + + all([true, 123, true]) + + + + Tests FEEL expression: 'all([])' and expects result: 'true (boolean)' + Result of FEEL expression 'all([])'? + true (boolean) + + + all([]) + + + + Tests FEEL expression: 'all(true)' and expects result: 'true (boolean)' + Result of FEEL expression 'all(true)'? + true (boolean) + + + all(true) + + + + Tests FEEL expression: 'all(false)' and expects result: 'false (boolean)' + Result of FEEL expression 'all(false)'? + false (boolean) + + + all(false) + + + + Tests FEEL expression: 'all(null)' and expects result: 'null (boolean)' + Result of FEEL expression 'all(null)'? + null (boolean) + + + all(null) + + + + Tests FEEL expression: 'all(123)' and expects result: 'null (boolean)' + Result of FEEL expression 'all(123)'? + null (boolean) + + + all(123) + + - - Tests FEEL expression: 'all(true, false, true)' and expects result: 'false (boolean)' - Result of FEEL expression 'all(true, false, true)'? - false (boolean) - - - all(true, false, true) - - + + Tests FEEL expression: 'all(true, false, true)' and expects result: 'false (boolean)' + Result of FEEL expression 'all(true, false, true)'? + false (boolean) + + + all(true, false, true) + + - - Tests FEEL expression: 'all(true, true, true)' and expects result: 'true (boolean)' - Result of FEEL expression 'all(true, true, true)'? - true (boolean) - - - all(true, true, true) - - + + Tests FEEL expression: 'all(true, true, true)' and expects result: 'true (boolean)' + Result of FEEL expression 'all(true, true, true)'? + true (boolean) + + + all(true, true, true) + + - - Tests FEEL expression: 'all(true, null, true)' and expects result: 'null (boolean)' - Result of FEEL expression 'all(true, null, true)'? - null (boolean) - - - all(true, null, true) - - + + Tests FEEL expression: 'all(true, null, true)' and expects result: 'null (boolean)' + Result of FEEL expression 'all(true, null, true)'? + null (boolean) + + + all(true, null, true) + + - - Tests FEEL expression: 'all(true, 123, true)' and expects result: 'null (boolean)' - Result of FEEL expression 'all(true, 123, true)'? - null (boolean) - - - all(true, 123, true) - - + + Tests FEEL expression: 'all(true, 123, true)' and expects result: 'null (boolean)' + Result of FEEL expression 'all(true, 123, true)'? + null (boolean) + + + all(true, 123, true) + + - - Tests FEEL expression: 'all()' and expects result: 'null (boolean)' - Result of FEEL expression 'all()'? - null (boolean) - - - all() - - + + Tests FEEL expression: 'all()' and expects result: 'null (boolean)' + Result of FEEL expression 'all()'? + null (boolean) + + + all() + + - - Tests FEEL expression: 'all(list:[true, false, true])' and expects result: 'false (boolean)' - Result of FEEL expression 'all(list:[true, false, true])'? - false (boolean) - - - all(list:[true, false, true]) - - + + Tests FEEL expression: 'all(list:[true, false, true])' and expects result: 'false (boolean)' + Result of FEEL expression 'all(list:[true, false, true])'? + false (boolean) + + + all(list:[true, false, true]) + + - - Tests FEEL expression: 'all(list:[true, true, true])' and expects result: 'true (boolean)' - Result of FEEL expression 'all(list:[true, true, true])'? - true (boolean) - - - all(list:[true, true, true]) - - + + Tests FEEL expression: 'all(list:[true, true, true])' and expects result: 'true (boolean)' + Result of FEEL expression 'all(list:[true, true, true])'? + true (boolean) + + + all(list:[true, true, true]) + + - - Tests FEEL expression: 'all(list:[true, null, true])' and expects result: 'null (boolean)' - Result of FEEL expression 'all(list:[true, null, true])'? - null (boolean) - - - all(list:[true, null, true]) - - + + Tests FEEL expression: 'all(list:[true, null, true])' and expects result: 'null (boolean)' + Result of FEEL expression 'all(list:[true, null, true])'? + null (boolean) + + + all(list:[true, null, true]) + + - - Tests FEEL expression: 'all(list:null)' and expects result: 'null (boolean)' - Result of FEEL expression 'all(list:null)'? - null (boolean) - - - all(list:null) - - + + Tests FEEL expression: 'all(list:null)' and expects result: 'null (boolean)' + Result of FEEL expression 'all(list:null)'? + null (boolean) + + + all(list:null) + + - - Tests FEEL expression: 'all(l:[true])' and expects result: 'null (boolean)' - Result of FEEL expression 'all(l:[true])'? - null (boolean) - - - all(l:[true]) - - + + Tests FEEL expression: 'all(l:[true])' and expects result: 'null (boolean)' + Result of FEEL expression 'all(l:[true])'? + null (boolean) + + + all(l:[true]) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0060-feel-any-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0060-feel-any-function.dmn index daf9ece3834..21e7cf4d88d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0060-feel-any-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0060-feel-any-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'any(list)' in category list functions - - Tests FEEL expression: 'any([true, false, true])' and expects result: 'true (boolean)' - Result of FEEL expression 'any([true, false, true])'? - true (boolean) - - - any([true, false, true]) - - - - - Tests FEEL expression: 'any([false, false, false])' and expects result: 'false (boolean)' - Result of FEEL expression 'any([false, false, false])'? - false (boolean) - - - any([false, false, false]) - - - - - Tests FEEL expression: 'any([123, false])' and expects result: 'null (boolean)' - Result of FEEL expression 'any([123, false])'? - null (boolean) - - - any([123, false]) - - - - - Tests FEEL expression: 'any([])' and expects result: 'false (boolean)' - Result of FEEL expression 'any([])'? - false (boolean) - - - any([]) - - - - - Tests FEEL expression: 'any(true)' and expects result: 'true (boolean)' - Result of FEEL expression 'any(true)'? - true (boolean) - - - any(true) - - - - - Tests FEEL expression: 'any(false)' and expects result: 'false (boolean)' - Result of FEEL expression 'any(false)'? - false (boolean) - - - any(false) - - - - - Tests FEEL expression: 'any(null)' and expects result: 'null (boolean)' - Result of FEEL expression 'any(null)'? - null (boolean) - - - any(null) - - - - - Tests FEEL expression: 'any(123)' and expects result: 'null (boolean)' - Result of FEEL expression 'any(123)'? - null (boolean) - - - any(123) - - - - - Tests FEEL expression: 'any(true, false, true)' and expects result: 'true (boolean)' - Result of FEEL expression 'any(true, false, true)'? - true (boolean) - - - any(true, false, true) - - - - - Tests FEEL expression: 'any(false, false)' and expects result: 'false (boolean)' - Result of FEEL expression 'any(false, false)'? - false (boolean) - - - any(false, false) - - - - - Tests FEEL expression: 'any(null, false)' and expects result: 'null (boolean)' - Result of FEEL expression 'any(null, false)'? - null (boolean) - - - any(null, false) - - - - - Tests FEEL expression: 'any()' and expects result: 'null (boolean)' - Result of FEEL expression 'any()'? - null (boolean) - - - any() - - - - - Tests FEEL expression: 'any(list:[true, false, true])' and expects result: 'true (boolean)' - Result of FEEL expression 'any(list:[true, false, true])'? - true (boolean) - - - any(list:[true, false, true]) - - - - - Tests FEEL expression: 'any(list:[false, false])' and expects result: 'false (boolean)' - Result of FEEL expression 'any(list:[false, false])'? - false (boolean) - - - any(list:[false, false]) - - - - - Tests FEEL expression: 'any(list:[null, false])' and expects result: 'null (boolean)' - Result of FEEL expression 'any(list:[null, false])'? - null (boolean) - - - any(list:[null, false]) - - - - - Tests FEEL expression: 'any(list:null)' and expects result: 'null (boolean)' - Result of FEEL expression 'any(list:null)'? - null (boolean) - - - any(list:null) - - - - - Tests FEEL expression: 'any(l:[true])' and expects result: 'null (boolean)' - Result of FEEL expression 'any(l:[true])'? - null (boolean) - - - any(l:[true]) - - + + FEEL built-in function 'any(list)' in category list functions + + Tests FEEL expression: 'any([true, false, true])' and expects result: 'true (boolean)' + Result of FEEL expression 'any([true, false, true])'? + true (boolean) + + + any([true, false, true]) + + + + + Tests FEEL expression: 'any([false, false, false])' and expects result: 'false (boolean)' + Result of FEEL expression 'any([false, false, false])'? + false (boolean) + + + any([false, false, false]) + + + + + Tests FEEL expression: 'any([123, false])' and expects result: 'null (boolean)' + Result of FEEL expression 'any([123, false])'? + null (boolean) + + + any([123, false]) + + + + + Tests FEEL expression: 'any([])' and expects result: 'false (boolean)' + Result of FEEL expression 'any([])'? + false (boolean) + + + any([]) + + + + + Tests FEEL expression: 'any(true)' and expects result: 'true (boolean)' + Result of FEEL expression 'any(true)'? + true (boolean) + + + any(true) + + + + + Tests FEEL expression: 'any(false)' and expects result: 'false (boolean)' + Result of FEEL expression 'any(false)'? + false (boolean) + + + any(false) + + + + + Tests FEEL expression: 'any(null)' and expects result: 'null (boolean)' + Result of FEEL expression 'any(null)'? + null (boolean) + + + any(null) + + + + + Tests FEEL expression: 'any(123)' and expects result: 'null (boolean)' + Result of FEEL expression 'any(123)'? + null (boolean) + + + any(123) + + + + + Tests FEEL expression: 'any(true, false, true)' and expects result: 'true (boolean)' + Result of FEEL expression 'any(true, false, true)'? + true (boolean) + + + any(true, false, true) + + + + + Tests FEEL expression: 'any(false, false)' and expects result: 'false (boolean)' + Result of FEEL expression 'any(false, false)'? + false (boolean) + + + any(false, false) + + + + + Tests FEEL expression: 'any(null, false)' and expects result: 'null (boolean)' + Result of FEEL expression 'any(null, false)'? + null (boolean) + + + any(null, false) + + + + + Tests FEEL expression: 'any()' and expects result: 'null (boolean)' + Result of FEEL expression 'any()'? + null (boolean) + + + any() + + + + + Tests FEEL expression: 'any(list:[true, false, true])' and expects result: 'true (boolean)' + Result of FEEL expression 'any(list:[true, false, true])'? + true (boolean) + + + any(list:[true, false, true]) + + + + + Tests FEEL expression: 'any(list:[false, false])' and expects result: 'false (boolean)' + Result of FEEL expression 'any(list:[false, false])'? + false (boolean) + + + any(list:[false, false]) + + + + + Tests FEEL expression: 'any(list:[null, false])' and expects result: 'null (boolean)' + Result of FEEL expression 'any(list:[null, false])'? + null (boolean) + + + any(list:[null, false]) + + + + + Tests FEEL expression: 'any(list:null)' and expects result: 'null (boolean)' + Result of FEEL expression 'any(list:null)'? + null (boolean) + + + any(list:null) + + + + + Tests FEEL expression: 'any(l:[true])' and expects result: 'null (boolean)' + Result of FEEL expression 'any(l:[true])'? + null (boolean) + + + any(l:[true]) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0061-feel-median-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0061-feel-median-function.dmn index cc95e52236d..15701854890 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0061-feel-median-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0061-feel-median-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'median(list)' in category list functions + + FEEL built-in function 'median(list)' in category list functions - - Tests FEEL expression: 'median([8, 2, 5, 3, 4])' and expects result: '4 (number)' - Result of FEEL expression 'median([8, 2, 5, 3, 4])'? - 4 (number) - - - median([8, 2, 5, 3, 4]) - - + + Tests FEEL expression: 'median([8, 2, 5, 3, 4])' and expects result: '4 (number)' + Result of FEEL expression 'median([8, 2, 5, 3, 4])'? + 4 (number) + + + median([8, 2, 5, 3, 4]) + + - - Tests FEEL expression: 'median([8, 2, 5, 7])' and expects result: '6 (number)' - Result of FEEL expression 'median([8, 2, 5, 7])'? - 6 (number) - - - median([8, 2, 5, 7]) - - + + Tests FEEL expression: 'median([8, 2, 5, 7])' and expects result: '6 (number)' + Result of FEEL expression 'median([8, 2, 5, 7])'? + 6 (number) + + + median([8, 2, 5, 7]) + + - - Tests FEEL expression: 'median()' and expects result: 'null (number)' - Result of FEEL expression 'median()'? - null (number) - - - median() - - + + Tests FEEL expression: 'median()' and expects result: 'null (number)' + Result of FEEL expression 'median()'? + null (number) + + + median() + + - - Tests FEEL expression: 'median(null)' and expects result: 'null (number)' - Result of FEEL expression 'median(null)'? - null (number) - - - median(null) - - + + Tests FEEL expression: 'median(null)' and expects result: 'null (number)' + Result of FEEL expression 'median(null)'? + null (number) + + + median(null) + + - - Tests FEEL expression: 'median([1,2,null,4])' and expects result: 'null (number)' - Result of FEEL expression 'median([1,2,null,4])'? - null (number) - - - median() - - + + Tests FEEL expression: 'median([1,2,null,4])' and expects result: 'null (number)' + Result of FEEL expression 'median([1,2,null,4])'? + null (number) + + + median() + + - - Tests FEEL expression: 'median([1,2,"foo",4])' and expects result: 'null (number)' - Result of FEEL expression 'median([1,2,"foo",4])'? - null (number) - - - median([1,2,"foo",4]) - - + + Tests FEEL expression: 'median([1,2,"foo",4])' and expects result: 'null (number)' + Result of FEEL expression 'median([1,2,"foo",4])'? + null (number) + + + median([1,2,"foo",4]) + + - - Tests FEEL expression: 'median([6, 1, 2, 3])' and expects result: '2.5 (number)' - Result of FEEL expression 'median([6, 1, 2, 3])'? - 2.5 (number) - - - median([6, 1, 2, 3]) - - + + Tests FEEL expression: 'median([6, 1, 2, 3])' and expects result: '2.5 (number)' + Result of FEEL expression 'median([6, 1, 2, 3])'? + 2.5 (number) + + + median([6, 1, 2, 3]) + + - - Tests FEEL expression: 'median([])' and expects result: 'null (number)' - Result of FEEL expression 'median([])'? - null (number) - - - median([]) - - + + Tests FEEL expression: 'median([])' and expects result: 'null (number)' + Result of FEEL expression 'median([])'? + null (number) + + + median([]) + + - - Tests FEEL expression: 'median(4)' and expects result: '4 (number)' - Result of FEEL expression 'median(4)'? - 4 (number) - - - median(4) - - + + Tests FEEL expression: 'median(4)' and expects result: '4 (number)' + Result of FEEL expression 'median(4)'? + 4 (number) + + + median(4) + + - - Tests FEEL expression: 'median(8, 2, 5, 3, 4)' and expects result: '4 (number)' - Result of FEEL expression 'median(8, 2, 5, 3, 4)'? - 4 (number) - - - median(8, 2, 5, 3, 4) - - + + Tests FEEL expression: 'median(8, 2, 5, 3, 4)' and expects result: '4 (number)' + Result of FEEL expression 'median(8, 2, 5, 3, 4)'? + 4 (number) + + + median(8, 2, 5, 3, 4) + + - - Tests FEEL expression: 'median(8, 2, 5, 7)' and expects result: '6 (number)' - Result of FEEL expression 'median(8, 2, 5, 7)'? - 6 (number) - - - median(8, 2, 5, 7) - - + + Tests FEEL expression: 'median(8, 2, 5, 7)' and expects result: '6 (number)' + Result of FEEL expression 'median(8, 2, 5, 7)'? + 6 (number) + + + median(8, 2, 5, 7) + + - - Tests FEEL expression: 'median(list:[8, 2, 5, 7])' and expects result: '6 (number)' - Result of FEEL expression 'median(list:[8, 2, 5, 7])'? - 6 (number) - - - median(list:[8, 2, 5, 7]) - - + + Tests FEEL expression: 'median(list:[8, 2, 5, 7])' and expects result: '6 (number)' + Result of FEEL expression 'median(list:[8, 2, 5, 7])'? + 6 (number) + + + median(list:[8, 2, 5, 7]) + + - - Tests FEEL expression: 'median(list:null)' and expects result: 'null (number)' - Result of FEEL expression 'median(list:null)'? - null (number) - - - median(list:null) - - - - - Tests FEEL expression: 'median(l:[2, 4, 7, 5])' and expects result: 'null (number)' - Result of FEEL expression 'median(l:[2, 4, 7, 5])'? - null (number) - - - median(l:[2, 4, 7, 5]) - - + + Tests FEEL expression: 'median(list:null)' and expects result: 'null (number)' + Result of FEEL expression 'median(list:null)'? + null (number) + + + median(list:null) + + + + Tests FEEL expression: 'median(l:[2, 4, 7, 5])' and expects result: 'null (number)' + Result of FEEL expression 'median(l:[2, 4, 7, 5])'? + null (number) + + + median(l:[2, 4, 7, 5]) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0062-feel-mode-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0062-feel-mode-function.dmn index 00ea9ec8220..f3acfb88008 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0062-feel-mode-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0062-feel-mode-function.dmn @@ -1,4 +1,4 @@ - + - - - FEEL built-in function 'mode(list)' in category list functions - - - number - - - - Tests FEEL expression: 'mode([6, 3, 9, 6, 6])' and expects result: '[6] (list)' - Result of FEEL expression 'mode([6, 3, 9, 6, 6])'? - [6] (list) - - - mode([6, 3, 9, 6, 6]) - - - - - Tests FEEL expression: 'mode([3, 6, 1, 9, 6, 1, 3])' and expects result: '[1,3,6] (list)' - Result of FEEL expression 'mode([3, 6, 1, 9, 6, 1, 3])'? - [1,3,6] (list) - - - mode([3, 6, 1, 9, 6, 1, 3]) - - - - - Tests FEEL expression: 'mode()' and expects result: 'null (list)' - Result of FEEL expression 'mode()'? - null (list) - - - mode() - - - - - Tests FEEL expression: 'mode(null)' and expects result: 'null (list)' - Result of FEEL expression 'mode(null)'? - null (list) - - - mode(null) - - - - - Tests FEEL expression: 'mode([1,2,null,4])' and expects result: 'null (list)' - Result of FEEL expression 'mode([1,2,null,4])'? - null (list) - - - mode() - - - - - Tests FEEL expression: 'mode([1,2,"foo",4])' and expects result: 'null (list)' - Result of FEEL expression 'mode([1,2,"foo",4])'? - null (list) - - - mode([1,2,"foo",4]) - - - - - Tests FEEL expression: 'mode([2.5, 1, 2.5, 3])' and expects result: '[2.5] (list)' - Result of FEEL expression 'mode([2.5, 1, 2.5, 3])'? - [2.5] (list) - - - mode([2.5, 1, 2.5, 3]) - - - - - Tests FEEL expression: 'mode([])' and expects result: '[] (list)' - Result of FEEL expression 'mode([])'? - [] (list) - - - mode([]) - - - - - Tests FEEL expression: 'mode(6)' and expects result: '[6] (list)' - Result of FEEL expression 'mode(6)'? - [6] (list) - - - mode(6) - - - - - Tests FEEL expression: 'mode(6, 3, 9, 6, 6)' and expects result: '[6] (list)' - Result of FEEL expression 'mode(6, 3, 9, 6, 6)'? - [6] (list) - - - mode(6, 3, 9, 6, 6) - - - - - - Tests FEEL expression: 'mode(list:[6, 3, 9, 6, 6])' and expects result: '[6] (list)' - Result of FEEL expression 'mode(list:[6, 3, 9, 6, 6])'? - [6] (list) - - - mode(list:[6, 3, 9, 6, 6]) - - - - - Tests FEEL expression: 'mode(list:null)' and expects result: 'null (list)' - Result of FEEL expression 'mode(list:null)'? - null (list) - - - mode(list:null) - - - - - Tests FEEL expression: 'mode(l:[2, 4, 7, 5])' and expects result: 'null (number)' - Result of FEEL expression 'mode(l:[2, 4, 7, 5])'? - null (number) - - - mode(l:[2, 4, 7, 5]) - - - + + Tests FEEL expression: 'mode(list:[6, 3, 9, 6, 6])' and expects result: '[6] (list)' + Result of FEEL expression 'mode(list:[6, 3, 9, 6, 6])'? + [6] (list) + + + mode(list:[6, 3, 9, 6, 6]) + + + + + Tests FEEL expression: 'mode(list:null)' and expects result: 'null (list)' + Result of FEEL expression 'mode(list:null)'? + null (list) + + + mode(list:null) + + + + + Tests FEEL expression: 'mode(l:[2, 4, 7, 5])' and expects result: 'null (number)' + Result of FEEL expression 'mode(l:[2, 4, 7, 5])'? + null (number) + + + mode(l:[2, 4, 7, 5]) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0063-feel-stddev-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0063-feel-stddev-function.dmn index 3efdc55256a..057e6bbebde 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0063-feel-stddev-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0063-feel-stddev-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'stddev(list)' in category list functions + + FEEL built-in function 'stddev(list)' in category list functions - - Tests FEEL expression: 'stddev([2, 4, 7, 5])' and expects result: '4 (number)' - Result of FEEL expression 'stddev([2, 4, 7, 5])'? - 4 (number) - - - stddev([2, 4, 7, 5]) - - + + Tests FEEL expression: 'stddev([2, 4, 7, 5])' and expects result: '4 (number)' + Result of FEEL expression 'stddev([2, 4, 7, 5])'? + 4 (number) + + + stddev([2, 4, 7, 5]) + + - - - Tests FEEL expression: 'stddev()' and expects result: 'null (number)' - Result of FEEL expression 'stddev()'? - null (number) - - - stddev() - - + + Tests FEEL expression: 'stddev()' and expects result: 'null (number)' + Result of FEEL expression 'stddev()'? + null (number) + + + stddev() + + - - Tests FEEL expression: 'stddev(null)' and expects result: 'null (number)' - Result of FEEL expression 'stddev(null)'? - null (number) - - - stddev(null) - - + + Tests FEEL expression: 'stddev(null)' and expects result: 'null (number)' + Result of FEEL expression 'stddev(null)'? + null (number) + + + stddev(null) + + - - Tests FEEL expression: 'stddev([1,2,null,4])' and expects result: 'null (number)' - Result of FEEL expression 'stddev([1,2,null,4])'? - null (number) - - - stddev() - - + + Tests FEEL expression: 'stddev([1,2,null,4])' and expects result: 'null (number)' + Result of FEEL expression 'stddev([1,2,null,4])'? + null (number) + + + stddev() + + - - Tests FEEL expression: 'stddev([1,2,"foo",4])' and expects result: 'null (number)' - Result of FEEL expression 'stddev([1,2,"foo",4])'? - null (number) - - - stddev([1,2,"foo",4]) - - + + Tests FEEL expression: 'stddev([1,2,"foo",4])' and expects result: 'null (number)' + Result of FEEL expression 'stddev([1,2,"foo",4])'? + null (number) + + + stddev([1,2,"foo",4]) + + - - - Tests FEEL expression: 'stddev([])' and expects result: 'null (number)' - Result of FEEL expression 'stddev([])'? - null (number) - - - stddev([]) - - + + Tests FEEL expression: 'stddev([])' and expects result: 'null (number)' + Result of FEEL expression 'stddev([])'? + null (number) + + + stddev([]) + + - - Tests FEEL expression: 'stddev(4)' and expects result: '4 (number)' - Result of FEEL expression 'stddev(4)'? - 4 (number) - - - stddev(4) - - + + Tests FEEL expression: 'stddev(4)' and expects result: '4 (number)' + Result of FEEL expression 'stddev(4)'? + 4 (number) + + + stddev(4) + + - - Tests FEEL expression: 'stddev(2, 4, 7, 5)' and expects result: '4 (number)' - Result of FEEL expression 'stddev(2, 4, 7, 5)'? - 4 (number) - - - stddev(2, 4, 7, 5) - - + + Tests FEEL expression: 'stddev(2, 4, 7, 5)' and expects result: '4 (number)' + Result of FEEL expression 'stddev(2, 4, 7, 5)'? + 4 (number) + + + stddev(2, 4, 7, 5) + + - - - Tests FEEL expression: 'stddev(list:[2, 4, 7, 5])' and expects result: '6 (number)' - Result of FEEL expression 'stddev(list:[2, 4, 7, 5])'? - 6 (number) - - - stddev(list:[2, 4, 7, 5]) - - + + Tests FEEL expression: 'stddev(list:[2, 4, 7, 5])' and expects result: '6 (number)' + Result of FEEL expression 'stddev(list:[2, 4, 7, 5])'? + 6 (number) + + + stddev(list:[2, 4, 7, 5]) + + - - Tests FEEL expression: 'stddev(list:null)' and expects result: 'null (number)' - Result of FEEL expression 'stddev(list:null)'? - null (number) - - - stddev(list:null) - - - - - Tests FEEL expression: 'stddev(l:[2, 4, 7, 5])' and expects result: 'null (number)' - Result of FEEL expression 'stddev(l:[2, 4, 7, 5])'? - null (number) - - - stddev(l:[2, 4, 7, 5]) - - + + Tests FEEL expression: 'stddev(list:null)' and expects result: 'null (number)' + Result of FEEL expression 'stddev(list:null)'? + null (number) + + + stddev(list:null) + + + + Tests FEEL expression: 'stddev(l:[2, 4, 7, 5])' and expects result: 'null (number)' + Result of FEEL expression 'stddev(l:[2, 4, 7, 5])'? + null (number) + + + stddev(l:[2, 4, 7, 5]) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0064-feel-conjunction.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0064-feel-conjunction.dmn index 4968f534f32..794fdf74af9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0064-feel-conjunction.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0064-feel-conjunction.dmn @@ -1,4 +1,4 @@ - + - - Semantics of conjunction - - Tests FEEL expression: 'true and true' and expects result: 'true (boolean)' - Result of FEEL expression 'true and true'? - true (boolean) - - - true and true - - - - Tests FEEL expression: 'true and false' and expects result: 'false (boolean)' - Result of FEEL expression 'true and false'? - false (boolean) - - - true and false - - - - Tests FEEL expression: 'true and null' and expects result: 'null (boolean)' - Result of FEEL expression 'true and null'? - null (boolean) - - - true and null - - - - Tests FEEL expression: 'true and 123' and expects result: 'null (boolean)' - Result of FEEL expression 'true and 123'? - null (boolean) - - - true and 123 - - - - Tests FEEL expression: 'true and "true"' and expects result: 'null (boolean)' - Result of FEEL expression 'true and "true"'? - null (boolean) - - - true and "true" - - - - Tests FEEL expression: 'false and true' and expects result: 'false (boolean)' - Result of FEEL expression 'false and true'? - false (boolean) - - - false and true - - - - Tests FEEL expression: 'false and false' and expects result: 'false (boolean)' - Result of FEEL expression 'false and false'? - false (boolean) - - - false and false - - - - Tests FEEL expression: 'false and null' and expects result: 'false (boolean)' - Result of FEEL expression 'false and null'? - false (boolean) - - - false and null - - - - Tests FEEL expression: 'false and 123' and expects result: 'false (boolean)' - Result of FEEL expression 'false and 123'? - false (boolean) - - - false and 123 - - - - Tests FEEL expression: 'false and "true"' and expects result: 'false (boolean)' - Result of FEEL expression 'false and "true"'? - false (boolean) - - - false and "true" - - - - Tests FEEL expression: 'null and true' and expects result: 'null (boolean)' - Result of FEEL expression 'null and true'? - null (boolean) - - - null and true - - - - Tests FEEL expression: '123 and true' and expects result: 'null (boolean)' - Result of FEEL expression '123 and true'? - null (boolean) - - - 123 and true - - - - Tests FEEL expression: '"true" and true' and expects result: 'null (boolean)' - Result of FEEL expression '"true" and true'? - null (boolean) - - - "true" and true - - - - Tests FEEL expression: 'null and false' and expects result: 'false (boolean)' - Result of FEEL expression 'null and false'? - false (boolean) - - - null and false - - - - Tests FEEL expression: '123 and false' and expects result: 'false (boolean)' - Result of FEEL expression '123 and false'? - false (boolean) - - - 123 and false - - - - Tests FEEL expression: '"true" and false' and expects result: 'false (boolean)' - Result of FEEL expression '"true" and false'? - false (boolean) - - - "true" and false - - - - Tests FEEL expression: 'null and null' and expects result: 'null (boolean)' - Result of FEEL expression 'null and null'? - null (boolean) - - - null and null - - - - Tests FEEL expression: '"true" and "true"' and expects result: 'null (boolean)' - Result of FEEL expression '"true" and "true"'? - null (boolean) - - - "true" and "true" - - - - Tests FEEL expression: '0 and 0' and expects result: 'null (boolean)' - Result of FEEL expression '0 and 0'? - null (boolean) - - - 0 and 0 - - + + Semantics of conjunction + + Tests FEEL expression: 'true and true' and expects result: 'true (boolean)' + Result of FEEL expression 'true and true'? + true (boolean) + + + true and true + + + + Tests FEEL expression: 'true and false' and expects result: 'false (boolean)' + Result of FEEL expression 'true and false'? + false (boolean) + + + true and false + + + + Tests FEEL expression: 'true and null' and expects result: 'null (boolean)' + Result of FEEL expression 'true and null'? + null (boolean) + + + true and null + + + + Tests FEEL expression: 'true and 123' and expects result: 'null (boolean)' + Result of FEEL expression 'true and 123'? + null (boolean) + + + true and 123 + + + + Tests FEEL expression: 'true and "true"' and expects result: 'null (boolean)' + Result of FEEL expression 'true and "true"'? + null (boolean) + + + true and "true" + + + + Tests FEEL expression: 'false and true' and expects result: 'false (boolean)' + Result of FEEL expression 'false and true'? + false (boolean) + + + false and true + + + + Tests FEEL expression: 'false and false' and expects result: 'false (boolean)' + Result of FEEL expression 'false and false'? + false (boolean) + + + false and false + + + + Tests FEEL expression: 'false and null' and expects result: 'false (boolean)' + Result of FEEL expression 'false and null'? + false (boolean) + + + false and null + + + + Tests FEEL expression: 'false and 123' and expects result: 'false (boolean)' + Result of FEEL expression 'false and 123'? + false (boolean) + + + false and 123 + + + + Tests FEEL expression: 'false and "true"' and expects result: 'false (boolean)' + Result of FEEL expression 'false and "true"'? + false (boolean) + + + false and "true" + + + + Tests FEEL expression: 'null and true' and expects result: 'null (boolean)' + Result of FEEL expression 'null and true'? + null (boolean) + + + null and true + + + + Tests FEEL expression: '123 and true' and expects result: 'null (boolean)' + Result of FEEL expression '123 and true'? + null (boolean) + + + 123 and true + + + + Tests FEEL expression: '"true" and true' and expects result: 'null (boolean)' + Result of FEEL expression '"true" and true'? + null (boolean) + + + "true" and true + + + + Tests FEEL expression: 'null and false' and expects result: 'false (boolean)' + Result of FEEL expression 'null and false'? + false (boolean) + + + null and false + + + + Tests FEEL expression: '123 and false' and expects result: 'false (boolean)' + Result of FEEL expression '123 and false'? + false (boolean) + + + 123 and false + + + + Tests FEEL expression: '"true" and false' and expects result: 'false (boolean)' + Result of FEEL expression '"true" and false'? + false (boolean) + + + "true" and false + + + + Tests FEEL expression: 'null and null' and expects result: 'null (boolean)' + Result of FEEL expression 'null and null'? + null (boolean) + + + null and null + + + + Tests FEEL expression: '"true" and "true"' and expects result: 'null (boolean)' + Result of FEEL expression '"true" and "true"'? + null (boolean) + + + "true" and "true" + + + + Tests FEEL expression: '0 and 0' and expects result: 'null (boolean)' + Result of FEEL expression '0 and 0'? + null (boolean) + + + 0 and 0 + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0065-feel-disjunction.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0065-feel-disjunction.dmn index d6154499135..f1d60d56f7d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0065-feel-disjunction.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0065-feel-disjunction.dmn @@ -1,4 +1,4 @@ - + - - Semantics of conjunction - - Tests FEEL expression: 'true or true' and expects result: 'true (boolean)' - Result of FEEL expression 'true or true'? - true (boolean) - - - true or true - - - - Tests FEEL expression: 'true or false' and expects result: 'true (boolean)' - Result of FEEL expression 'true or false'? - true (boolean) - - - true or false - - - - Tests FEEL expression: 'true or null' and expects result: 'true (boolean)' - Result of FEEL expression 'true or null'? - true (boolean) - - - true or null - - - - Tests FEEL expression: 'true or 123' and expects result: 'true (boolean)' - Result of FEEL expression 'true or 123'? - true (boolean) - - - true or 123 - - - - Tests FEEL expression: 'true or "true"' and expects result: 'true (boolean)' - Result of FEEL expression 'true or "true"'? - true (boolean) - - - true or "true" - - - - Tests FEEL expression: 'false or true' and expects result: 'true (boolean)' - Result of FEEL expression 'false or true'? - true (boolean) - - - false or true - - - - Tests FEEL expression: 'false or false' and expects result: 'false (boolean)' - Result of FEEL expression 'false or false'? - false (boolean) - - - false or false - - - - Tests FEEL expression: 'false or null' and expects result: 'false (boolean)' - Result of FEEL expression 'false or null'? - null (boolean) - - - false or null - - - - Tests FEEL expression: 'false or 123' and expects result: 'null (boolean)' - Result of FEEL expression 'false or 123'? - null (boolean) - - - false or 123 - - - - Tests FEEL expression: 'false or "true"' and expects result: 'null (boolean)' - Result of FEEL expression 'false or "true"'? - null (boolean) - - - false or "true" - - - - Tests FEEL expression: 'null or true' and expects result: 'true (boolean)' - Result of FEEL expression 'null or true'? - true (boolean) - - - null or true - - - - Tests FEEL expression: '123 or true' and expects result: 'true (boolean)' - Result of FEEL expression '123 or true'? - true (boolean) - - - 123 or true - - - - Tests FEEL expression: '"true" or true' and expects result: 'true (boolean)' - Result of FEEL expression '"true" or true'? - true (boolean) - - - "true" or true - - - - Tests FEEL expression: 'null or false' and expects result: 'null (boolean)' - Result of FEEL expression 'null or false'? - null (boolean) - - - null or false - - - - Tests FEEL expression: '123 or false' and expects result: 'null (boolean)' - Result of FEEL expression '123 or false'? - null (boolean) - - - 123 or false - - - - Tests FEEL expression: '"true" or false' and expects result: 'null (boolean)' - Result of FEEL expression '"true" or false'? - null (boolean) - - - "true" or false - - - - Tests FEEL expression: 'null or null' and expects result: 'null (boolean)' - Result of FEEL expression 'null or null'? - null (boolean) - - - null or null - - - - Tests FEEL expression: '"true" or "true"' and expects result: 'null (boolean)' - Result of FEEL expression '"true" or "true"'? - null (boolean) - - - "true" or "true" - - - - Tests FEEL expression: '0 or 0' and expects result: 'null (boolean)' - Result of FEEL expression '0 or 0'? - null (boolean) - - - 0 or 0 - - + + Semantics of conjunction + + Tests FEEL expression: 'true or true' and expects result: 'true (boolean)' + Result of FEEL expression 'true or true'? + true (boolean) + + + true or true + + + + Tests FEEL expression: 'true or false' and expects result: 'true (boolean)' + Result of FEEL expression 'true or false'? + true (boolean) + + + true or false + + + + Tests FEEL expression: 'true or null' and expects result: 'true (boolean)' + Result of FEEL expression 'true or null'? + true (boolean) + + + true or null + + + + Tests FEEL expression: 'true or 123' and expects result: 'true (boolean)' + Result of FEEL expression 'true or 123'? + true (boolean) + + + true or 123 + + + + Tests FEEL expression: 'true or "true"' and expects result: 'true (boolean)' + Result of FEEL expression 'true or "true"'? + true (boolean) + + + true or "true" + + + + Tests FEEL expression: 'false or true' and expects result: 'true (boolean)' + Result of FEEL expression 'false or true'? + true (boolean) + + + false or true + + + + Tests FEEL expression: 'false or false' and expects result: 'false (boolean)' + Result of FEEL expression 'false or false'? + false (boolean) + + + false or false + + + + Tests FEEL expression: 'false or null' and expects result: 'false (boolean)' + Result of FEEL expression 'false or null'? + null (boolean) + + + false or null + + + + Tests FEEL expression: 'false or 123' and expects result: 'null (boolean)' + Result of FEEL expression 'false or 123'? + null (boolean) + + + false or 123 + + + + Tests FEEL expression: 'false or "true"' and expects result: 'null (boolean)' + Result of FEEL expression 'false or "true"'? + null (boolean) + + + false or "true" + + + + Tests FEEL expression: 'null or true' and expects result: 'true (boolean)' + Result of FEEL expression 'null or true'? + true (boolean) + + + null or true + + + + Tests FEEL expression: '123 or true' and expects result: 'true (boolean)' + Result of FEEL expression '123 or true'? + true (boolean) + + + 123 or true + + + + Tests FEEL expression: '"true" or true' and expects result: 'true (boolean)' + Result of FEEL expression '"true" or true'? + true (boolean) + + + "true" or true + + + + Tests FEEL expression: 'null or false' and expects result: 'null (boolean)' + Result of FEEL expression 'null or false'? + null (boolean) + + + null or false + + + + Tests FEEL expression: '123 or false' and expects result: 'null (boolean)' + Result of FEEL expression '123 or false'? + null (boolean) + + + 123 or false + + + + Tests FEEL expression: '"true" or false' and expects result: 'null (boolean)' + Result of FEEL expression '"true" or false'? + null (boolean) + + + "true" or false + + + + Tests FEEL expression: 'null or null' and expects result: 'null (boolean)' + Result of FEEL expression 'null or null'? + null (boolean) + + + null or null + + + + Tests FEEL expression: '"true" or "true"' and expects result: 'null (boolean)' + Result of FEEL expression '"true" or "true"'? + null (boolean) + + + "true" or "true" + + + + Tests FEEL expression: '0 or 0' and expects result: 'null (boolean)' + Result of FEEL expression '0 or 0'? + null (boolean) + + + 0 or 0 + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0066-feel-negation.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0066-feel-negation.dmn index 825177b2ba3..1fa968c8b59 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0066-feel-negation.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0066-feel-negation.dmn @@ -1,4 +1,4 @@ - + - - Semantics of negation - - Tests FEEL expression: 'not(true)' and expects result: 'false (boolean)' - Result of FEEL expression 'not(true)'? - false (boolean) - - - not(true) - - + + Semantics of negation + + Tests FEEL expression: 'not(true)' and expects result: 'false (boolean)' + Result of FEEL expression 'not(true)'? + false (boolean) + + + not(true) + + - - Tests FEEL expression: 'not(false)' and expects result: 'true (boolean)' - Result of FEEL expression 'not(false)'? - true (boolean) - - - not(false) - - + + Tests FEEL expression: 'not(false)' and expects result: 'true (boolean)' + Result of FEEL expression 'not(false)'? + true (boolean) + + + not(false) + + - - Tests FEEL expression: 'not(null)' and expects result: 'null (boolean)' - Result of FEEL expression 'not(null)'? - null (boolean) - - - not(null) - - + + Tests FEEL expression: 'not(null)' and expects result: 'null (boolean)' + Result of FEEL expression 'not(null)'? + null (boolean) + + + not(null) + + - - Tests FEEL expression: 'not(0)' and expects result: 'null (boolean)' - Result of FEEL expression 'not(0)'? - null (boolean) - - - not(0) - - + + Tests FEEL expression: 'not(0)' and expects result: 'null (boolean)' + Result of FEEL expression 'not(0)'? + null (boolean) + + + not(0) + + - - Tests FEEL expression: 'not(1)' and expects result: 'null (boolean)' - Result of FEEL expression 'not(1)'? - null (boolean) - - - not(1) - - - - - Tests FEEL expression: 'not("true")' and expects result: 'null (boolean)' - Result of FEEL expression 'not("true")'? - null (boolean) - - - not("true") - - + + Tests FEEL expression: 'not(1)' and expects result: 'null (boolean)' + Result of FEEL expression 'not(1)'? + null (boolean) + + + not(1) + + + + Tests FEEL expression: 'not("true")' and expects result: 'null (boolean)' + Result of FEEL expression 'not("true")'? + null (boolean) + + + not("true") + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0067-feel-split-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0067-feel-split-function.dmn index b667fc9eed9..88438c711af 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0067-feel-split-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0067-feel-split-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'split(string,delimiter)' in category string functions + + FEEL built-in function 'split(string,delimiter)' in category string functions - - string - + + string + - - Tests FEEL expression: 'split("John Doe", "\s")' and expects result: '["John", "Doe"] (list)' - Result of FEEL expression 'split("John Doe", "\s")'? - ["John", "Doe"] (list) - - - split("John Doe", "\s") - - + + Tests FEEL expression: 'split("John Doe", "\s")' and expects result: '["John", "Doe"] (list)' + Result of FEEL expression 'split("John Doe", "\s")'? + ["John", "Doe"] (list) + + + split("John Doe", "\s") + + - - Tests FEEL expression: 'split("a;b;c;;", ";")' and expects result: '["a", "b", "c", "", ""] (list)' - Result of FEEL expression 'split(10, -4)'? - ["a", "b", "c", "", ""] - - - split("a;b;c;;", ";") - - + + Tests FEEL expression: 'split("a;b;c;;", ";")' and expects result: '["a", "b", "c", "", ""] (list)' + Result of FEEL expression 'split(10, -4)'? + ["a", "b", "c", "", ""] + + + split("a;b;c;;", ";") + + - - Tests FEEL expression: 'split()' and expects result: 'null (list)' - Result of FEEL expression 'split()'? - null (list) - - - split() - - + + Tests FEEL expression: 'split()' and expects result: 'null (list)' + Result of FEEL expression 'split()'? + null (list) + + + split() + + - - Tests FEEL expression: 'split("foo")' and expects result: 'null (list)' - Result of FEEL expression 'split("foo")'? - null (list) - - - split("foo") - - + + Tests FEEL expression: 'split("foo")' and expects result: 'null (list)' + Result of FEEL expression 'split("foo")'? + null (list) + + + split("foo") + + - - - - - - - - - + + + + + + + + + - - Tests FEEL expression: 'split(delimiter: ",", string:"foo,bar")' and expects result: '["foo", "bar"] (lost)' - Result of FEEL expression 'split(delimiter: ",", string:"foo,bar")'? - 2 (list) - - - split(delimiter: ",", string:"foo,bar") - - + + Tests FEEL expression: 'split(delimiter: ",", string:"foo,bar")' and expects result: '["foo", "bar"] (lost)' + Result of FEEL expression 'split(delimiter: ",", string:"foo,bar")'? + 2 (list) + + + split(delimiter: ",", string:"foo,bar") + + - - Tests FEEL expression: 'split(delimiter: ",", str:"foo,bar")' and expects result: 'null (list)' - Result of FEEL expression 'split(delimiter: ",", str:"foo,bar")'? - null (list) - - - split(delimiter: ",", str:"foo,bar") - - + + Tests FEEL expression: 'split(delimiter: ",", str:"foo,bar")' and expects result: 'null (list)' + Result of FEEL expression 'split(delimiter: ",", str:"foo,bar")'? + null (list) + + + split(delimiter: ",", str:"foo,bar") + + - - Tests FEEL expression: 'split(null, null)' and expects result: 'null (list)' - Result of FEEL expression 'split(null, null)'? - null (list) - - - split(null, null) - - + + Tests FEEL expression: 'split(null, null)' and expects result: 'null (list)' + Result of FEEL expression 'split(null, null)'? + null (list) + + + split(null, null) + + - - Tests FEEL expression: 'split("foo", null)' and expects result: 'null (list)' - Result of FEEL expression 'split("foo", null)'? - null (list) - - - split("foo", null) - - - - - Tests FEEL expression: 'split(null, ",")' and expects result: 'null (list)' - Result of FEEL expression 'split(null, ",")'? - null (list) - - - split(null, ",") - - + + Tests FEEL expression: 'split("foo", null)' and expects result: 'null (list)' + Result of FEEL expression 'split("foo", null)'? + null (list) + + + split("foo", null) + + + + Tests FEEL expression: 'split(null, ",")' and expects result: 'null (list)' + Result of FEEL expression 'split(null, ",")'? + null (list) + + + split(null, ",") + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0068-feel-equality.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0068-feel-equality.dmn index 0f32450aca4..5859054ad1a 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0068-feel-equality.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0068-feel-equality.dmn @@ -1,4 +1,4 @@ - + - - FEEL equality - - - Tests FEEL expression: 'null = null' and expects result: 'true (boolean)' - Result of FEEL expression 'null = null'? - true (boolean) - - - null = null - - - - - Tests FEEL expression: 'null != null' and expects result: 'false (boolean)' - Result of FEEL expression 'null != null'? - false (boolean) - - - null != null - - - - - Tests FEEL expression: 'true = true' and expects result: 'true (boolean)' - Result of FEEL expression 'true = true'? - true (boolean) - - - true = true - - - - - Tests FEEL expression: 'true != true' and expects result: 'false (boolean)' - Result of FEEL expression 'true != true'? - false (boolean) - - - true != true - - - - - Tests FEEL expression: 'false = false' and expects result: 'true (boolean)' - Result of FEEL expression 'false = false'? - true (boolean) - - - false = false - - - - - Tests FEEL expression: 'false != false' and expects result: 'true (boolean)' - Result of FEEL expression 'false != false'? - true (boolean) - - - false != false - - - - - Tests FEEL expression: 'true = false' and expects result: 'false (boolean)' - Result of FEEL expression 'true = false'? - false (boolean) - - - true = false - - - - - Tests FEEL expression: 'true = null' and expects result: 'false (boolean)' - Result of FEEL expression 'true = null'? - false (boolean) - - - true = null - - - - - Tests FEEL expression: 'false = null' and expects result: 'false (boolean)' - Result of FEEL expression 'false = null'? - false (boolean) - - - false = null - - - - - Tests FEEL expression: 'false = 0' and expects result: 'null (boolean)' - Result of FEEL expression 'false = 0'? - null (boolean) - - - false = 0 - - - - - Tests FEEL expression: 'true = 1' and expects result: 'null (boolean)' - Result of FEEL expression 'true = 1'? - null (boolean) - - - true = 1 - - - - - Tests FEEL expression: '123 = 123' and expects result: 'true (boolean)' - Result of FEEL expression '123 = 123'? - true (boolean) - - - 123 = 123 - - - - - Tests FEEL expression: '123.01 = 123.01' and expects result: 'true (boolean)' - Result of FEEL expression '123.01 = 123.01'? - true (boolean) - - - 123.01 = 123.01 - - - - - Tests FEEL expression: '0 = 0.00' and expects result: 'true (boolean)' - Result of FEEL expression '0 = 0.00'? - true (boolean) - - - 0 = 0.00 - - - - - Tests FEEL expression: '-0 = 0' and expects result: 'true (boolean)' - Result of FEEL expression '-0 = 0'? - true (boolean) - - - -0 = 0 - - - - - Tests FEEL expression: '-1 = 1' and expects result: 'false (boolean)' - Result of FEEL expression '-1 = 1'? - false (boolean) - - - -1 = 1 - - - - - Tests FEEL expression: '100 = null' and expects result: 'false (boolean)' - Result of FEEL expression '100 = null'? - false (boolean) - - - 100 = null - - - - - Tests FEEL expression: '100 = "100"' and expects result: 'null (boolean)' - Result of FEEL expression '100 = "100"'? - null (boolean) - - - 100 = "100" - - - - - Tests FEEL expression: '"foo" = "foo"' and expects result: 'true (boolean)' - Result of FEEL expression '"foo" = "foo"'? - true (boolean) - - - "foo" = "foo" - - - - - Tests FEEL expression: '"foo" = "Foo"' and expects result: 'false (boolean)' - Result of FEEL expression '"foo" = "Foo"'? - false (boolean) - - - "foo" = "Foo" - - - - - Tests FEEL expression: '"foo" != "Foo"' and expects result: 'true (boolean)' - Result of FEEL expression '"foo" != "Foo"'? - true (boolean) - - - "foo" != "Foo" - - - - - Tests FEEL expression: '"foo" = null' and expects result: 'false (boolean)' - Result of FEEL expression '"foo" = null'? - false (boolean) - - - "foo" = null - - - - - Tests FEEL expression: '"foo" = 100' and expects result: 'null (boolean)' - Result of FEEL expression '"foo" = 100'? - null (boolean) - - - "foo" = 100 - - - - - Tests FEEL expression: '[1,2,3] = [1,2,3]' and expects result: 'true (boolean)' - Result of FEEL expression '[1,2,3] = [1,2,3]'? - true (boolean) - - - [1,2,3] = [1,2,3] - - - - - Tests FEEL expression: '[1,1,1] = [1,1,1,1]' and expects result: 'false (boolean)' - Result of FEEL expression '[1,1,1] = [1,1,1,1]'? - false (boolean) - - - [1,1,1] = [1,1,1,1] - - - - - Tests FEEL expression: '[1,1,1] = [1,1,2]' and expects result: 'false (boolean)' - Result of FEEL expression '[1,1,1] = [1,1,2]'? - false (boolean) - - - [1,1,1] = [1,1,2] - - - - - Tests FEEL expression: '[] = []' and expects result: 'true (boolean)' - Result of FEEL expression '[] = []'? - true (boolean) - - - [] = [] - - - - - Tests FEEL expression: '[1,2,3] = [3,2,1]' and expects result: 'false (boolean)' - Result of FEEL expression '[1,2,3] = [3,2,1]'? - false (boolean) - - - [1,2,3] = [3,2,1] - - - - - Tests FEEL expression: 'true[1] = true' and expects result: 'true (boolean)' - Result of FEEL expression 'true[1] = true'? - true (boolean) - - - true[1] = true - - - - - Tests FEEL expression: '100[1] = 100' and expects result: 'true (boolean)' - Result of FEEL expression '100[1] = 100'? - true (boolean) - - - 100[1] = 100 - - - - - Tests FEEL expression: '"foo"[1] = "foo"' and expects result: 'true (boolean)' - Result of FEEL expression '"foo"[1] = "foo"'? - true (boolean) - - - "foo"[1] = "foo" - - - - - Tests FEEL expression: 'date("2018-12-08")[1] = date("2018-12-08")' and expects result: 'true (boolean)' - Result of FEEL expression 'date("2018-12-08")[1] = date("2018-12-08")'? - true (boolean) - - - date("2018-12-08")[1] = date("2018-12-08") - - - - - Tests FEEL expression: 'time("10:30:12")[1] = time("10:30:12")' and expects result: 'true (boolean)' - Result of FEEL expression 'time("10:30:12")[1] = time("10:30:12")'? - true (boolean) - - - time("10:30:12")[1] = time("10:30:12") - - - - - Tests FEEL expression: 'date and time("2018-12-08")[1] = date and time("2018-12-08")' and expects result: 'true (boolean)' - Result of FEEL expression 'date and time("2018-12-08")[1] = date and time("2018-12-08")'? - true (boolean) - - - date and time("2018-12-08")[1] = date and time("2018-12-08") - - - - - Tests FEEL expression: 'duration("P1D")[1] = duration("P1D")' and expects result: 'true (boolean)' - Result of FEEL expression 'duration("P1D")[1] = duration("P1D")'? - true (boolean) - - - duration("P1D")[1] = duration("P1D") - - - - - Tests FEEL expression: 'duration("P1Y")[1] = duration("P1Y")' and expects result: 'true (boolean)' - Result of FEEL expression 'duration("P1Y")[1] = duration("P1Y")'? - true (boolean) - - - duration("P1Y")[1] = duration("P1Y") - - - - - Tests FEEL expression: '{a: "foo"}[1] = {a: "foo"}' and expects result: 'true (boolean)' - Result of FEEL expression '{a: "foo"}[1] = {a: "foo"}'? - true (boolean) - - - {a: "foo"}[1] = {a: "foo"} - - - - - Tests FEEL expression: '[] = null' and expects result: 'false (boolean)' - Result of FEEL expression '[] = null'? - false (boolean) - - - [] = null - - - - - Tests FEEL expression: '[] = 0' and expects result: 'null (boolean)' - Result of FEEL expression '[] = 0'? - null (boolean) - - - [] = 0 - - - - - Tests FEEL expression: '{} = {}' and expects result: 'true (boolean)' - Result of FEEL expression '{} = {}'? - true (boolean) - - - {} = {} - - - - - Tests FEEL expression: '{foo: "bar", bar: "baz"} = {foo: "bar", bar: "baz"}' and expects result: 'true (boolean)' - Result of FEEL expression '{foo: "bar", bar: "baz"} = {foo: "bar", bar: "baz"}'? - true (boolean) - - - {foo: "bar", bar: "baz"} = {foo: "bar", bar: "baz"} - - - - - Tests FEEL expression: '{foo: "bar", bar: "baz"} = {bar: "baz", foo: "bar"}' and expects result: 'true (boolean)' - Result of FEEL expression '{foo: "bar", bar: "baz"} = {bar: "baz", foo: "bar"}'? - true (boolean) - - - {foo: "bar", bar: "baz"} = {bar: "baz", foo: "bar"} - - - - - Tests FEEL expression: '{foo: "bar"} = {"foo": "bar"}' and expects result: 'true (boolean)' - Result of FEEL expression '{foo: "bar"} = {"foo": "bar"}'? - true (boolean) - - - {foo: "bar"} = {"foo": "bar"} - - - - - Tests FEEL expression: '{foo: "bar"} = {foo: "baz"}' and expects result: 'false (boolean)' - Result of FEEL expression '{foo: "bar"} = {foo: "baz"}'? - false (boolean) - - - {foo: "bar"} = {foo: "baz"} - - - - - Tests FEEL expression: '{} = null' and expects result: 'false (boolean)' - Result of FEEL expression '{} = null'? - false (boolean) - - - {} = null - - - - - Tests FEEL expression: '{} = []' and expects result: 'null (boolean)' - Result of FEEL expression '{} = []'? - null (boolean) - - - {} = [] - - - - - Tests FEEL expression: 'date("2018-12-08") = date("2018-12-08")' and expects result: 'true (boolean)' - Result of FEEL expression 'date("2018-12-08") = date("2018-12-08")'? - true (boolean) - - - date("2018-12-08") = date("2018-12-08") - - - - - Tests FEEL expression: 'date("2018-12-07") = date("2018-12-08")' and expects result: 'false (boolean)' - Result of FEEL expression 'date("2018-12-07") = date("2018-12-08")'? - false (boolean) - - - date("2018-12-07") = date("2018-12-08") - - - - - Tests FEEL expression: 'date("2018-12-07") = null' and expects result: 'false (boolean)' - Result of FEEL expression 'date("2018-12-07") = null'? - false (boolean) - - - date("2018-12-07") = null - - - - - Tests FEEL expression: 'date("2018-12-07") = 100' and expects result: 'null (boolean)' - Result of FEEL expression 'date("2018-12-07") = 100'? - null (boolean) - - - date("2018-12-07") = 100 - - - - - - - Tests FEEL expression: 'duration("P1D") = duration("P1D")' and expects result: 'true (boolean)' - Result of FEEL expression 'duration("P1D") = duration("P1D")'? - true (boolean) - - - duration("P1D") = duration("P1D") - - - - - Tests FEEL expression: 'duration("P1D") = duration("PT24H")' and expects result: 'true (boolean)' - Result of FEEL expression 'duration("P1D") = duration("PT24H")'? - true (boolean) - - - duration("P1D") = duration("PT24H") - - - - - Tests FEEL expression: 'duration("P1D") = duration("P2D")' and expects result: 'false (boolean)' - Result of FEEL expression 'duration("P1D") = duration("P2D")'? - false (boolean) - - - duration("P1D") = duration("P2D") - - - - - Tests FEEL expression: 'duration("P1D") = duration("-P1D")' and expects result: 'false (boolean)' - Result of FEEL expression 'duration("P1D") = duration("-P1D")'? - false (boolean) - - - duration("P1D") = duration("-P1D") - - - - - Tests FEEL expression: 'duration("P0D") = duration("-P0D")' and expects result: 'true (boolean)' - Result of FEEL expression 'duration("P0D") = duration("-P0D")'? - true (boolean) - - - duration("P0D") = duration("-P0D") - - - - - Tests FEEL expression: 'duration("P0D") = null' and expects result: 'false (boolean)' - Result of FEEL expression 'duration("P0D") = null'? - false (boolean) - - - duration("P0D") = null - - - - - Tests FEEL expression: 'duration("P0D") = 0' and expects result: 'null (boolean)' - Result of FEEL expression 'duration("P0D") = 0'? - null (boolean) - - - duration("P0D") = 0 - - - - - Tests FEEL expression: 'duration("P1Y") = duration("P1Y")' and expects result: 'true (boolean)' - Result of FEEL expression 'duration("P1Y") = duration("P1Y")'? - true (boolean) - - - duration("P1Y") = duration("P1Y") - - - - - Tests FEEL expression: 'duration("P1Y") = duration("P12M")' and expects result: 'true (boolean)' - Result of FEEL expression 'duration("P1Y") = duration("P12M")'? - true (boolean) - - - duration("P1Y") = duration("P12M") - - - - - Tests FEEL expression: 'duration("P1Y") = duration("P2Y")' and expects result: 'false (boolean)' - Result of FEEL expression 'duration("P1Y") = duration("P2Y")'? - false (boolean) - - - duration("P1Y") = duration("P2Y") - - - - - Tests FEEL expression: 'duration("P1Y") = duration("-P1Y")' and expects result: 'false (boolean)' - Result of FEEL expression 'duration("P1Y") = duration("-P1Y")'? - false (boolean) - - - duration("P1Y") = duration("-P1Y") - - - - - Tests FEEL expression: 'duration("P0Y") = duration("-P0Y")' and expects result: 'true (boolean)' - Result of FEEL expression 'duration("P0Y") = duration("-P0Y")'? - true (boolean) - - - duration("P0Y") = duration("-P0Y") - - - - - Tests FEEL expression: 'duration("P1Y") = duration("P365D")' and expects result: 'null (boolean)' - Result of FEEL expression 'duration("P1Y") = duration("P365D")'? - null (boolean) - - - duration("P1Y") = duration("P365D") - - - - - Tests FEEL expression: 'duration("P0Y") = null' and expects result: 'false (boolean)' - Result of FEEL expression 'duration("P0Y") = null'? - false (boolean) - - - duration("P0Y") = null - - - - - Tests FEEL expression: 'duration("P0Y") = 0' and expects result: 'null (boolean)' - Result of FEEL expression 'duration("P0Y") = 0'? - null (boolean) - - - duration("P0Y") = 0 - - - - - Tests FEEL expression: '[1,2,[3, 4]] = [1,2,[3, 4]]' and expects result: 'true (boolean)' - Result of FEEL expression '[1,2,[3, 4]] = [1,2,[3, 4]]'? - true (boolean) - - - [1,2,[3, 4]] = [1,2,[3, 4]] - - - - - Tests FEEL expression: '[1,2,{a: [3,4]}] = [1,2,{a: [3,4]}]' and expects result: 'true (boolean)' - Result of FEEL expression '[1,2,{a: [3,4]}] = [1,2,{a: [3,4]}]'? - true (boolean) - - - [1,2,{a: [3,4]}] = [1,2,{a: [3,4]}] - - - - - Tests FEEL expression: '[1,2,[3, 4]] = [1,2,[4, 3]]' and expects result: 'false (boolean)' - Result of FEEL expression '[1,2,[3, 4]] = [1,2,[4, 3]]'? - false (boolean) - - - [1,2,[3, 4]] = [1,2,[4, 3]] - - - - - Tests FEEL expression: '[1,2,{a: [3,4]}] = [1,2,{a: [3,4], b: "foo"}]' and expects result: 'false (boolean)' - Result of FEEL expression '[1,2,{a: [3,4]}] = [1,2,{a: [3,4], b: "foo"}]'? - false (boolean) - - - [1,2,{a: [3,4]}] = [1,2,{a: [3,4], b: "foo"}] - - - - - Tests FEEL expression: '{a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [1,2]}}' and expects result: 'true (boolean)' - Result of FEEL expression '{a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [1,2]}}'? - true (boolean) - - - {a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [1,2]}} - - - - - Tests FEEL expression: '{a: {c: [1,2], b: "foo"}} = {a: {b: "foo", c: [1,2]}}' and expects result: 'true (boolean)' - Result of FEEL expression '{a: {c: [1,2], b: "foo"}} = {a: {b: "foo", c: [1,2]}}'? - true (boolean) - - - {a: {c: "bar", b: "foo"}} = {a: {b: "foo", c: "bar"}} - - - - - Tests FEEL expression: '{a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [2,1]}}' and expects result: 'false (boolean)' - Result of FEEL expression '{a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [2,1]}}'? - false (boolean) - - - {a: {b: "foo", c: [1,2]}} = {a: {b: "foo", c: [2,1]}} - - - - - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0069-feel-list.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0069-feel-list.dmn index 7c9e7d9a8e6..aa45a321d4d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0069-feel-list.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0069-feel-list.dmn @@ -1,4 +1,4 @@ - + - - FEEL lists - - - - - [1,2,3] - - - - - - - [] - - - - - - - [1,2,3][0] - - - - - - - [1,2,3][4] - - - - - - - [1,2,3][1] - - - - - - - [1,2,3][3] - - - - - - - [1,2,3][-1] - - - - - - - [1,2,3][-3] - - - - - - - [1,2,3][-4] - - - - - - - [1,2,3][true] - - - - - - - [1,2,3][false] - - - - - - - [1,2,3][item >= 2] - - - - - - - true[true] - - - - - - - true[false] - - - - - - - 100[true] - - - - - - - 100[false] - - - - - - - "foo"[true] - - - - - - - "foo"[false] - - - - - - - true[1] - - - - - - - 100[1] - - - - - - - "foo"[1] - - - - - - - true[0] - - - - - - - 100[0] - - - - - - - "foo"[0] - - - - - - - [{a: 1}, {a: 2}, {a: 3}][item.a >= 2] - - - - - - - [{a: 1}, {a: 2}, {a: 3}][a >= 2] - - - - - - - [{item: 1}, {item: 2}, {item: 3}][item >= 2] - - - + + FEEL lists + + + + + [1,2,3] + + + + + + + [] + + + + + + + [1,2,3][0] + + + + + + + [1,2,3][4] + + + + + + + [1,2,3][1] + + + + + + + [1,2,3][3] + + + + + + + [1,2,3][-1] + + + + + + + [1,2,3][-3] + + + + + + + [1,2,3][-4] + + + + + + + [1,2,3][true] + + + + + + + [1,2,3][false] + + + + + + + [1,2,3][item >= 2] + + + + + + + true[true] + + + + + + + true[false] + + + + + + + 100[true] + + + + + + + 100[false] + + + + + + + "foo"[true] + + + + + + + "foo"[false] + + + + + + + true[1] + + + + + + + 100[1] + + + + + + + "foo"[1] + + + + + + + true[0] + + + + + + + 100[0] + + + + + + + "foo"[0] + + + + + + + [{a: 1}, {a: 2}, {a: 3}][item.a >= 2] + + + + + + + [{a: 1}, {a: 2}, {a: 3}][a >= 2] + + + + + + + [{item: 1}, {item: 2}, {item: 3}][item >= 2] + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0070-feel-instance-of.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0070-feel-instance-of.dmn index 2bcd7633df4..2c1c0797288 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0070-feel-instance-of.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0070-feel-instance-of.dmn @@ -1,4 +1,4 @@ - + - - FEEL instance of - - - - string - - - string - - - - - number - - - - Any - - - - - - null instance of Any - - - - - - - null instance of number - - - - - - - null instance of string - - - - - - - null instance of boolean - - - - - - - null instance of date - - - - - - - null instance of time - - - - - - - null instance of date and time - - - - - - - - null instance of years and months duration - - - - - - - null instance of days and time duration - - - - - - - - - 123.01 instance of Any - - - - - - - 123.01 instance of number - - - - - - - 123.01 instance of boolean - - - - - - - 123.01 instance of boolean - - - - - - - 123.01 instance of date - - - - - - - 123.01 instance of time - - - - - - - 123.01 instance of date and time - - - - - - - - 123.01 instance of years and months duration - - - - - - - 123.01 instance of days and time duration - - - - - - - - - "foo" instance of Any - - - - - - - "foo" instance of number - - - - - - - "foo" instance of string - - - - - - - "foo" instance of boolean - - - - - - - "foo" instance of date - - - - - - - "foo" instance of time - - - - - - - "foo" instance of date and time - - - - - - - - "foo" instance of years and months duration - - - - - - - "foo" instance of days and time duration - - - - - - - - - - true instance of Any - - - - - - - true instance of number - - - - - - - true instance of string - - - - - - - true instance of boolean - - - - - - - true instance of date - - - - - - - true instance of time - - - - - - - true instance of date and time - - - - - - - - true instance of years and months duration - - - - - - - true instance of days and time duration - - - - - - - - - - date("2018-12-08") instance of Any - - - - - - - date("2018-12-08") instance of number - - - - - - - date("2018-12-08") instance of string - - - - - - - date("2018-12-08") instance of boolean - - - - - - - date("2018-12-08") instance of date - - - - - - - date("2018-12-08") instance of time - - - - - - - date("2018-12-08") instance of date and time - - - - - - - - date("2018-12-08") instance of years and months duration - - - - - - - date("2018-12-08") instance of days and time duration - - - - - - - - - time("10:30:00") instance of Any - - - - - - - time("10:30:00") instance of number - - - - - - - time("10:30:00") instance of string - - - - - - - time("10:30:00") instance of boolean - - - - - - - time("10:30:00") instance of date - - - - - - - time("10:30:00") instance of time - - - - - - - time("10:30:00") instance of date and time - - - - - - - - time("10:30:00") instance of years and months duration - - - - - - - time("10:30:00") instance of days and time duration - - - - - - - - - [1,2,3] instance of Any - - - - - - - [1,2,3] instance of number - - - - - - - [1,2,3] instance of string - - - - - - - [1,2,3] instance of boolean - - - - - - - [1,2,3] instance of date - - - - - - - [1,2,3] instance of time - - - - - - - [1,2,3] instance of date and time - - - - - - - - [1,2,3] instance of years and months duration - - - - - - - [1,2,3] instance of days and time duration - - - - - - - - - - - - [1] instance of number - - + + + + [1] instance of number + + - - - - - duration("P1Y") instance of Any - - - - - - - duration("P1Y") instance of number - - - - - - - duration("P1Y") instance of string - - - - - - - duration("P1Y") instance of boolean - - - - - - - duration("P1Y") instance of date - - - - - - - duration("P1Y") instance of time - - - - - - - duration("P1Y") instance of date and time - - - - - - - - duration("P1Y") instance of years and months duration - - - - - - - duration("P1Y") instance of days and time duration - - - - - - - - - - duration("P1D") instance of Any - - - - - - - duration("P1D") instance of number - - - - - - - duration("P1D") instance of string - - - - - - - duration("P1D") instance of boolean - - - - - - - duration("P1D") instance of date - - - - - - - duration("P1D") instance of time - - - - - - - duration("P1D") instance of date and time - - - - - - - - duration("P1D") instance of years and months duration - - - - - - - duration("P1D") instance of days and time duration - - - - - - - - - - {a: "foo"} instance of Any - - - - - - - {a: "foo"} instance of number - - - - - - - {a: "foo"} instance of string - - - - - - - {a: "foo"} instance of boolean - - - - - - - {a: "foo"} instance of date - - - - - - - {a: "foo"} instance of time - - - - - - - {a: "foo"} instance of date and time - - - - - - - - {a: "foo"} instance of years and months duration - - - - - - - {a: "foo"} instance of days and time duration - - - - - - - - - - - (function() "foo") instance of Any - - - - - - - (function() "foo") instance of number - - - - - - - (function() "foo") instance of string - - - - - - - (function() "foo") instance of boolean - - - - - - - (function() "foo") instance of date - - - - - - - (function() "foo") instance of time - - - - - - - (function() "foo") instance of date and time - - - - - - - - (function() "foo") instance of years and months duration - - - - - - - (function() "foo") instance of days and time duration - - - - - - - - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0071-feel-between.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0071-feel-between.dmn index d7db57f85b5..95e98f366ec 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0071-feel-between.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0071-feel-between.dmn @@ -1,4 +1,4 @@ - + - - FEEL instance of - - - - - 0 between 1 and 10 - - - - - - - 1 between 1 and 10 - - - - - - - - 5 between 1 and 10 - - - - - - - - 10 between 1 and 10 - - - - - - - 11 between 1 and 10 - - - - - - - "a" between "b" and "d" - - - - - - - "b" between "b" and "d" - - - - - - - "c" between "b" and "d" - - - - - - - "d" between "b" and "d" - - - - - - - "e" between "b" and "d" - - - - - - - date("2018-12-01") between date("2018-12-02") and date("2018-12-04") - - - - - - - date("2018-12-02") between date("2018-12-02") and date("2018-12-04") - - - - - - - date("2018-12-03") between date("2018-12-02") and date("2018-12-04") - - - - - - - date("2018-12-04") between date("2018-12-02") and date("2018-12-04") - - - - - - - date("2018-12-05") between date("2018-12-02") and date("2018-12-04") - - - - - - - time("10:31:00") between time("10:32:00") and time("10:34:00") - - - - - - - time("10:32:00") between time("10:32:00") and time("10:34:00") - - - - - - - time("10:33:00") between time("10:32:00") and time("10:34:00") - - - - - - - time("10:34:00") between time("10:32:00") and time("10:34:00") - - - - - - - time("10:35:00") between time("10:32:00") and time("10:34:00") - - - - - - - date and time("2018-12-01T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") - - - - - - - date and time("2018-12-02T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") - - - - - - - date and time("2018-12-03T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") - - - - - - - date and time("2018-12-04T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") - - - - - - - date and time("2018-12-05T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") - - - - - - - duration("P1Y") between duration("P2Y") and duration("P4Y") - - - - - - - duration("P2Y") between duration("P2Y") and duration("P4Y") - - - - - - - duration("P3Y") between duration("P2Y") and duration("P4Y") - - - - - - - duration("P4Y") between duration("P2Y") and duration("P4Y") - - - - - - - duration("P5Y") between duration("P2Y") and duration("P4Y") - - - - - - - duration("P1D") between duration("P2D") and duration("P4D") - - - - - - - duration("P2D") between duration("P2D") and duration("P4D") - - - - - - - duration("P3D") between duration("P2D") and duration("P4D") - - - - - - - duration("P4D") between duration("P2D") and duration("P4D") - - - - - - - duration("P5D") between duration("P2D") and duration("P4D") - - - + + FEEL instance of + + + + + 0 between 1 and 10 + + + + + + + 1 between 1 and 10 + + + + + + + 5 between 1 and 10 + + + + + + + 10 between 1 and 10 + + + + + + + 11 between 1 and 10 + + + + + + + "a" between "b" and "d" + + + + + + + "b" between "b" and "d" + + + + + + + "c" between "b" and "d" + + + + + + + "d" between "b" and "d" + + + + + + + "e" between "b" and "d" + + + + + + + date("2018-12-01") between date("2018-12-02") and date("2018-12-04") + + + + + + + date("2018-12-02") between date("2018-12-02") and date("2018-12-04") + + + + + + + date("2018-12-03") between date("2018-12-02") and date("2018-12-04") + + + + + + + date("2018-12-04") between date("2018-12-02") and date("2018-12-04") + + + + + + + date("2018-12-05") between date("2018-12-02") and date("2018-12-04") + + + + + + + time("10:31:00") between time("10:32:00") and time("10:34:00") + + + + + + + time("10:32:00") between time("10:32:00") and time("10:34:00") + + + + + + + time("10:33:00") between time("10:32:00") and time("10:34:00") + + + + + + + time("10:34:00") between time("10:32:00") and time("10:34:00") + + + + + + + time("10:35:00") between time("10:32:00") and time("10:34:00") + + + + + + + date and time("2018-12-01T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") + + + + + + + date and time("2018-12-02T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") + + + + + + + date and time("2018-12-03T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") + + + + + + + date and time("2018-12-04T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") + + + + + + + date and time("2018-12-05T10:30:00") between date and time("2018-12-02T10:30:00") and date and time("2018-12-04T10:30:00") + + + + + + + duration("P1Y") between duration("P2Y") and duration("P4Y") + + + + + + + duration("P2Y") between duration("P2Y") and duration("P4Y") + + + + + + + duration("P3Y") between duration("P2Y") and duration("P4Y") + + + + + + + duration("P4Y") between duration("P2Y") and duration("P4Y") + + + + + + + duration("P5Y") between duration("P2Y") and duration("P4Y") + + + + + + + duration("P1D") between duration("P2D") and duration("P4D") + + + + + + + duration("P2D") between duration("P2D") and duration("P4D") + + + + + + + duration("P3D") between duration("P2D") and duration("P4D") + + + + + + + duration("P4D") between duration("P2D") and duration("P4D") + + + + + + + duration("P5D") between duration("P2D") and duration("P4D") + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0072-feel-in.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0072-feel-in.dmn index 9c564670515..b91dfb2d466 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0072-feel-in.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0072-feel-in.dmn @@ -1,4 +1,4 @@ - + - - FEEL in - - - - - 1 in [2,3,1] - - - - - - - 1 in [2,3,4] - - - - - - - 1 in [[2..4], [1..3]] - - - - - - - 5 in [[2..4], [1..3]] - - - - - - - 1 in <= 10 - - - - - - - 10 in <= 10 - - - - - - - 11 in <= 10 - - - - - - - 1 in < 10 - - - - - - - 10 in < 10 - - - - - - - 11 in >= 10 - - - - - - - 10 in >= 10 - - - - - - - 9 in >= 10 - - - - - - - 11 in > 10 - - - - - - - 10 in > 10 - - - - - - - 1 in (2..4) - - - - - - - 2 in (2..4) - - - - - - - 3 in (2..4) - - - - - - - 4 in (2..4) - - - - - - - 5 in (2..4) - - - - - - - 1 in (2..4] - - - - - - - 2 in (2..4] - - - - - - - 3 in (2..4] - - - - - - - 4 in (2..4] - - - - - - - 5 in (2..4] - - - - - - - 1 in [2..4) - - - - - - - 2 in [2..4) - - - - - - - 3 in [2..4) - - - - - - - 4 in [2..4) - - - - - - - 5 in [2..4) - - - - - - - 1 in [2..4] - - - - - - - 2 in [2..4] - - - - - - - 3 in [2..4] - - - - - - - 4 in [2..4] - - - - - - - 5 in [2..4] - - - - - - - 1 in 1 - - - - - - - 1 in 2 - - - - - - - - 10 in (1, < 5, >=10) - - - - - - - 10 in (1, 5, 9) - - - - - - - - "a" in ["b","c","a"] - - - - - - - "a" in ["b","c","d"] - - - - - - - "b" in [["f".."h"], ["a".."c"]] - - - - - - - "i" in [["f".."h"], ["a".."c"]] - - - - - - - "a" in <= "b" - - - - - - - "b" in <= "b" - - - - - - - "c" in <= "b" - - - - - - - "a" in < "b" - - - - - - - "b" in < "b" - - - - - - - "b" in >= "a" - - - - - - - "b" in >= "b" - - - - - - - "a" in >= "b" - - - - - - - "b" in > "a" - - - - - - - "b" in > "b" - - - - - - - "a" in ("b".."d") - - - - - - - "b" in ("b".."d") - - - - - - - "c" in ("b".."d") - - - - - - - "d" in ("b".."d") - - - - - - - "e" in ("b".."d") - - - - - - - "a" in ("b".."d"] - - - - - - - "b" in ("b".."d"] - - - - - - - "c" in ("b".."d"] - - - - - - - "d" in ("b".."d"] - - - - - - - "e" in ("b".."d"] - - - - - - - "a" in ["b".."d") - - - - - - - "b" in ["b".."d") - - - - - - - "c" in ["b".."d") - - - - - - - "d" in ["b".."d") - - - - - - - "e" in ["b".."d") - - - - - - - "a" in ["b".."d"] - - - - - - - "b" in ["b".."d"] - - - - - - - "c" in ["b".."d"] - - - - - - - "d" in ["b".."d"] - - - - - - - "e" in ["b".."d"] - - - - - - - "a" in "a" - - - - - - - "a" in "b" - - - - - - - "d" in ("c", < "c", >="d") - - - - - - - "d" in ("c", >="e") - - - - - - - - true in [true, false] - - - - - - - true in [false, 2, 3] - - - - - - - true in true - - - - - - - true in false - - - - - - - - true in (false, true) - - - - - - - true in (false, false) - - - - - - - date("2018-12-08") in [date("2018-12-08"),date("2018-12-09"),date("2018-12-10")] - - - - - - - date("2018-12-11") in [date("2018-12-08"),date("2018-12-09"),date("2018-12-10")] - - - - - - - date("2018-12-11") in [[date("2018-12-05") .. date("2018-12-07")], [date("2018-12-10") .. date("2018-12-12")]] - - - - - - - date("2018-12-04") in [[date("2018-12-05") .. date("2018-12-07")], [date("2018-12-10") .. date("2018-12-12")]] - - - - - - - date("2018-12-04") in <= date("2018-12-05") - - - - - - - date("2018-12-04") in <= date("2018-12-04") - - - - - - - date("2018-12-05") in <= date("2018-12-04") - - - - - - - date("2018-12-01") in < date("2018-12-10") - - - - - - - date("2018-12-10") in < date("2018-12-10") - - - - - - - date("2018-12-11") in >= date("2018-12-10") - - - - - - - date("2018-12-10") in >= date("2018-12-10") - - - - - - - date("2018-12-09") in >= date("2018-12-10") - - - - - - - date("2018-12-11") in > date("2018-12-10") - - - - - - - date("2018-12-10") in > date("2018-12-10") - - - - - - - date("2018-12-01") in (date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-02") in (date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-03") in (date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-04") in (date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-05") in (date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-01") in (date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-02") in (date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-03") in (date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-04") in (date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-05") in (date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-01") in [date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-02") in [date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-03") in [date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-04") in [date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-05") in [date("2018-12-02")..date("2018-12-04")) - - - - - - - date("2018-12-01") in [date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-02") in [date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-03") in [date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-04") in [date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-05") in [date("2018-12-02")..date("2018-12-04")] - - - - - - - date("2018-12-05") in date("2018-12-05") - - - - - - - date("2018-12-05") in date("2018-12-06") - - - - - - - date("2018-12-05") in (date("2018-12-04"), >=date("2018-12-05")) - - - - - - - date("2018-12-05") in (date("2018-12-04"), >=date("2018-12-06")) - - - - - - - - time("10:30:08") in [time("10:30:08"),time("10:30:09"),time("10:30:10")] - - - - - - - time("10:30:11") in [time("10:30:08"),time("10:30:09"),time("10:30:10")] - - - - - - - time("10:30:11") in [[time("10:30:05") .. time("10:30:07")], [time("10:30:10") .. time("10:30:12")]] - - - - - - - time("10:30:04") in [[time("10:30:05") .. time("10:30:07")], [time("10:30:10") .. time("10:30:12")]] - - - - - - - time("10:30:04") in <= time("10:30:05") - - - - - - - time("10:30:04") in <= time("10:30:04") - - - - - - - time("10:30:05") in <= time("10:30:04") - - - - - - - time("10:30:01") in < time("10:30:10") - - - - - - - time("10:30:10") in < time("10:30:10") - - - - - - - time("10:30:11") in >= time("10:30:10") - - - - - - - time("10:30:10") in >= time("10:30:10") - - - - - - - time("10:30:09") in >= time("10:30:10") - - - - - - - time("10:30:11") in > time("10:30:10") - - - - - - - time("10:30:10") in > time("10:30:10") - - - - - - - time("10:30:01") in (time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:02") in (time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:03") in (time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:04") in (time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:05") in (time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:01") in (time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:02") in (time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:03") in (time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:04") in (time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:05") in (time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:01") in [time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:02") in [time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:03") in [time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:04") in [time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:05") in [time("10:30:02")..time("10:30:04")) - - - - - - - time("10:30:01") in [time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:02") in [time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:03") in [time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:04") in [time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:05") in [time("10:30:02")..time("10:30:04")] - - - - - - - time("10:30:05") in time("10:30:05") - - - - - - - time("10:30:05") in time("10:30:06") - - - - - - - time("10:30:05") in (time("10:30:04"), >=time("10:30:05")) - - - - - - - time("10:30:05") in (time("10:30:04"), >=time("10:30:06")) - - - - - - - - date and time("2018-12-08T10:30:08") in [date and time("2018-12-08T10:30:08"),date and time("2018-12-08T10:30:09"),date and time("2018-12-08T10:30:10")] - - - - - - - date and time("2018-12-08T10:30:11") in [date and time("2018-12-08T10:30:08"),date and time("2018-12-08T10:30:09"),date and time("2018-12-08T10:30:10")] - - - - - - - date and time("2018-12-08T10:30:11") in [[date and time("2018-12-08T10:30:05") .. date and time("2018-12-08T10:30:07")], [date and time("2018-12-08T10:30:10") .. date and time("2018-12-08T10:30:12")]] - - - - - - - date and time("2018-12-08T10:30:04") in [[date and time("2018-12-08T10:30:05") .. date and time("2018-12-08T10:30:07")], [date and time("2018-12-08T10:30:10") .. date and time("2018-12-08T10:30:12")]] - - - - - - - date and time("2018-12-08T10:30:04") in <= date and time("2018-12-08T10:30:05") - - - - - - - date and time("2018-12-08T10:30:04") in <= date and time("2018-12-08T10:30:04") - - - - - - - date and time("2018-12-08T10:30:05") in <= date and time("2018-12-08T10:30:04") - - - - - - - date and time("2018-12-08T10:30:01") in < date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:10") in < date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:11") in >= date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:10") in >= date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:09") in >= date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:11") in > date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:10") in > date and time("2018-12-08T10:30:10") - - - - - - - date and time("2018-12-08T10:30:01") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:02") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:03") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:04") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:01") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:02") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:03") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:04") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:01") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:02") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:03") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:04") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:05") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) - - - - - - - date and time("2018-12-08T10:30:01") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:02") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:03") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:04") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:05") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] - - - - - - - date and time("2018-12-08T10:30:05") in date and time("2018-12-08T10:30:05") - - - - - - - date and time("2018-12-08T10:30:05") in date and time("2018-12-08T10:30:06") - - - - - - - date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:04"), >=date and time("2018-12-08T10:30:05")) - - - - - - - date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:04"), >=date and time("2018-12-08T10:30:06")) - - - - - - - [1,2,3] in [[1,2,3,4], [1,2,3]] - - - - - - - [1,2,3,5] in [[1,2,3,4], [1,2,3]] - - - - - - - - - [1,2,3] in [[1,2,3], [1,2,3,4]] - - - - - - - [1,2,2] in [[1,2,3], [1,2,3,4]] - - - - - - - - - [1,2,3] in ([[1,2,3,4]], [[1,2,3,5]]) - - - - - - - - - {a: "foo"} in [{b: "bar"}, {a: "foo"}] - - - - - - - {c: "baz"} in [{b: "bar"}, {a: "foo"}] - - - - - - - {a: "foo"} in {a: "foo"} - - - - - - - {a: "foo"} in {b: "bar"} - - - - - - - {a: "foo"} in ({a: "bar"}, {a: "foo"}) - - - - - - - {a: "foo"} in ({a: "bar"}, {a: "baz"}) - - - - - - - - - duration("P8Y") in [duration("P8Y"),duration("P9Y"),duration("P10Y")] - - - - - - - duration("P11Y") in [duration("P8Y"),duration("P9Y"),duration("P10Y")] - - - - - - - duration("P11Y") in [[duration("P5Y") .. duration("P7Y")], [duration("P10Y") .. duration("P12Y")]] - - - - - - - duration("P4Y") in [[duration("P5Y") .. duration("P7Y")], [duration("P10Y") .. duration("P12Y")]] - - - - - - - duration("P4Y") in <= duration("P5Y") - - - - - - - duration("P4Y") in <= duration("P4Y") - - - - - - - duration("P5Y") in <= duration("P4Y") - - - - - - - duration("P1Y") in < duration("P10Y") - - - - - - - duration("P10Y") in < duration("P10Y") - - - - - - - duration("P11Y") in >= duration("P10Y") - - - - - - - duration("P10Y") in >= duration("P10Y") - - - - - - - duration("P9Y") in >= duration("P10Y") - - - - - - - duration("P11Y") in > duration("P10Y") - - - - - - - duration("P10Y") in > duration("P10Y") - - - - - - - duration("P1Y") in (duration("P2Y")..duration("P4Y")) - - - - - - - duration("P2Y") in (duration("P2Y")..duration("P4Y")) - - - - - - - duration("P3Y") in (duration("P2Y")..duration("P4Y")) - - - - - - - duration("P4Y") in (duration("P2Y")..duration("P4Y")) - - - - - - - duration("P5Y") in (duration("P2Y")..duration("P4Y")) - - - - - - - duration("P1Y") in (duration("P2Y")..duration("P4Y")] - - - - - - - duration("P2Y") in (duration("P2Y")..duration("P4Y")] - - - - - - - duration("P3Y") in (duration("P2Y")..duration("P4Y")] - - - - - - - duration("P4Y") in (duration("P2Y")..duration("P4Y")] - - - - - - - duration("P5Y") in (duration("P2Y")..duration("P4Y")] - - - - - - - duration("P1Y") in [duration("P2Y")..duration("P4Y")) - - - - - - - duration("P2Y") in [duration("P2Y")..duration("P4Y")) - - - - - - - duration("P3Y") in [duration("P2Y")..duration("P4Y")) - - - - - - - duration("P4Y") in [duration("P2Y")..duration("P4Y")) - - - - - - - duration("P5Y") in [duration("P2Y")..duration("P4Y")) - - - - - - - duration("P1Y") in [duration("P2Y")..duration("P4Y")] - - - - - - - duration("P2Y") in [duration("P2Y")..duration("P4Y")] - - - - - - - duration("P3Y") in [duration("P2Y")..duration("P4Y")] - - - - - - - duration("P4Y") in [duration("P2Y")..duration("P4Y")] - - - - - - - duration("P5Y") in [duration("P2Y")..duration("P4Y")] - - - - - - - duration("P5Y") in duration("P5Y") - - - - - - - duration("P5Y") in duration("P6Y") - - - - - - - duration("P5Y") in (duration("P4Y"), >=duration("P5Y")) - - - - - - - duration("P5Y") in (duration("P4Y"), >=duration("P6Y")) - - - - - - - - duration("P8D") in [duration("P8D"),duration("P9D"),duration("P10D")] - - - - - - - duration("P11D") in [duration("P8D"),duration("P9D"),duration("P10D")] - - - - - - - duration("P11D") in [[duration("P5D") .. duration("P7D")], [duration("P10D") .. duration("P12D")]] - - - - - - - duration("P4D") in [[duration("P5D") .. duration("P7D")], [duration("P10D") .. duration("P12D")]] - - - - - - - duration("P4D") in <= duration("P5D") - - - - - - - duration("P4D") in <= duration("P4D") - - - - - - - duration("P5D") in <= duration("P4D") - - - - - - - duration("P1D") in < duration("P10D") - - - - - - - duration("P10D") in < duration("P10D") - - - - - - - duration("P11D") in >= duration("P10D") - - - - - - - duration("P10D") in >= duration("P10D") - - - - - - - duration("P9D") in >= duration("P10D") - - - - - - - duration("P11D") in > duration("P10D") - - - - - - - duration("P10D") in > duration("P10D") - - - - - - - duration("P1D") in (duration("P2D")..duration("P4D")) - - - - - - - duration("P2D") in (duration("P2D")..duration("P4D")) - - - - - - - duration("P3D") in (duration("P2D")..duration("P4D")) - - - - - - - duration("P4D") in (duration("P2D")..duration("P4D")) - - - - - - - duration("P5D") in (duration("P2D")..duration("P4D")) - - - - - - - duration("P1D") in (duration("P2D")..duration("P4D")] - - - - - - - duration("P2D") in (duration("P2D")..duration("P4D")] - - - - - - - duration("P3D") in (duration("P2D")..duration("P4D")] - - - - - - - duration("P4D") in (duration("P2D")..duration("P4D")] - - - - - - - duration("P5D") in (duration("P2D")..duration("P4D")] - - - - - - - duration("P1D") in [duration("P2D")..duration("P4D")) - - - - - - - duration("P2D") in [duration("P2D")..duration("P4D")) - - - - - - - duration("P3D") in [duration("P2D")..duration("P4D")) - - - - - - - duration("P4D") in [duration("P2D")..duration("P4D")) - - - - - - - duration("P5D") in [duration("P2D")..duration("P4D")) - - - - - - - duration("P1D") in [duration("P2D")..duration("P4D")] - - - - - - - duration("P2D") in [duration("P2D")..duration("P4D")] - - - - - - - duration("P3D") in [duration("P2D")..duration("P4D")] - - - - - - - duration("P4D") in [duration("P2D")..duration("P4D")] - - - - - + + FEEL in + + + + + 1 in [2,3,1] + + + + + + + 1 in [2,3,4] + + + + + + + 1 in [[2..4], [1..3]] + + + + + + + 5 in [[2..4], [1..3]] + + + + + + + 1 in <= 10 + + + + + + + 10 in <= 10 + + + + + + + 11 in <= 10 + + + + + + + 1 in < 10 + + + + + + + 10 in < 10 + + + + + + + 11 in >= 10 + + + + + + + 10 in >= 10 + + + + + + + 9 in >= 10 + + + + + + + 11 in > 10 + + + + + + + 10 in > 10 + + + + + + + 1 in (2..4) + + + + + + + 2 in (2..4) + + + + + + + 3 in (2..4) + + + + + + + 4 in (2..4) + + + + + + + 5 in (2..4) + + + + + + + 1 in (2..4] + + + + + + + 2 in (2..4] + + + + + + + 3 in (2..4] + + + + + + + 4 in (2..4] + + + + + + + 5 in (2..4] + + + + + + + 1 in [2..4) + + + + + + + 2 in [2..4) + + + + + + + 3 in [2..4) + + + + + + + 4 in [2..4) + + + + + + + 5 in [2..4) + + + + + + + 1 in [2..4] + + + + + + + 2 in [2..4] + + + + + + + 3 in [2..4] + + + + + + + 4 in [2..4] + + + + + + + 5 in [2..4] + + + + + + + 1 in 1 + + + + + + + 1 in 2 + + + + + + + 10 in (1, < 5, >=10) + + + + + + + 10 in (1, 5, 9) + + + + + + + "a" in ["b","c","a"] + + + + + + + "a" in ["b","c","d"] + + + + + + + "b" in [["f".."h"], ["a".."c"]] + + + + + + + "i" in [["f".."h"], ["a".."c"]] + + + + + + + "a" in <= "b" + + + + + + + "b" in <= "b" + + + + + + + "c" in <= "b" + + + + + + + "a" in < "b" + + + + + + + "b" in < "b" + + + + + + + "b" in >= "a" + + + + + + + "b" in >= "b" + + + + + + + "a" in >= "b" + + + + + + + "b" in > "a" + + + + + + + "b" in > "b" + + + + + + + "a" in ("b".."d") + + + + + + + "b" in ("b".."d") + + + + + + + "c" in ("b".."d") + + + + + + + "d" in ("b".."d") + + + + + + + "e" in ("b".."d") + + + + + + + "a" in ("b".."d"] + + + + + + + "b" in ("b".."d"] + + + + + + + "c" in ("b".."d"] + + + + + + + "d" in ("b".."d"] + + + + + + + "e" in ("b".."d"] + + + + + + + "a" in ["b".."d") + + + + + + + "b" in ["b".."d") + + + + + + + "c" in ["b".."d") + + + + + + + "d" in ["b".."d") + + + + + + + "e" in ["b".."d") + + + + + + + "a" in ["b".."d"] + + + + + + + "b" in ["b".."d"] + + + + + + + "c" in ["b".."d"] + + + + + + + "d" in ["b".."d"] + + + + + + + "e" in ["b".."d"] + + + + + + + "a" in "a" + + + + + + + "a" in "b" + + + + + + + "d" in ("c", < "c", >="d") + + + + + + + "d" in ("c", >="e") + + + + + + + true in [true, false] + + + + + + + true in [false, 2, 3] + + + + + + + true in true + + + + + + + true in false + + + + + + + true in (false, true) + + + + + + + true in (false, false) + + + + + + + date("2018-12-08") in [date("2018-12-08"),date("2018-12-09"),date("2018-12-10")] + + + + + + + date("2018-12-11") in [date("2018-12-08"),date("2018-12-09"),date("2018-12-10")] + + + + + + + date("2018-12-11") in [[date("2018-12-05") .. date("2018-12-07")], [date("2018-12-10") .. date("2018-12-12")]] + + + + + + + date("2018-12-04") in [[date("2018-12-05") .. date("2018-12-07")], [date("2018-12-10") .. date("2018-12-12")]] + + + + + + + date("2018-12-04") in <= date("2018-12-05") + + + + + + + date("2018-12-04") in <= date("2018-12-04") + + + + + + + date("2018-12-05") in <= date("2018-12-04") + + + + + + + date("2018-12-01") in < date("2018-12-10") + + + + + + + date("2018-12-10") in < date("2018-12-10") + + + + + + + date("2018-12-11") in >= date("2018-12-10") + + + + + + + date("2018-12-10") in >= date("2018-12-10") + + + + + + + date("2018-12-09") in >= date("2018-12-10") + + + + + + + date("2018-12-11") in > date("2018-12-10") + + + + + + + date("2018-12-10") in > date("2018-12-10") + + + + + + + date("2018-12-01") in (date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-02") in (date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-03") in (date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-04") in (date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-05") in (date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-01") in (date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-02") in (date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-03") in (date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-04") in (date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-05") in (date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-01") in [date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-02") in [date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-03") in [date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-04") in [date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-05") in [date("2018-12-02")..date("2018-12-04")) + + + + + + + date("2018-12-01") in [date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-02") in [date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-03") in [date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-04") in [date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-05") in [date("2018-12-02")..date("2018-12-04")] + + + + + + + date("2018-12-05") in date("2018-12-05") + + + + + + + date("2018-12-05") in date("2018-12-06") + + + + + + + date("2018-12-05") in (date("2018-12-04"), >=date("2018-12-05")) + + + + + + + date("2018-12-05") in (date("2018-12-04"), >=date("2018-12-06")) + + + + + + + time("10:30:08") in [time("10:30:08"),time("10:30:09"),time("10:30:10")] + + + + + + + time("10:30:11") in [time("10:30:08"),time("10:30:09"),time("10:30:10")] + + + + + + + time("10:30:11") in [[time("10:30:05") .. time("10:30:07")], [time("10:30:10") .. time("10:30:12")]] + + + + + + + time("10:30:04") in [[time("10:30:05") .. time("10:30:07")], [time("10:30:10") .. time("10:30:12")]] + + + + + + + time("10:30:04") in <= time("10:30:05") + + + + + + + time("10:30:04") in <= time("10:30:04") + + + + + + + time("10:30:05") in <= time("10:30:04") + + + + + + + time("10:30:01") in < time("10:30:10") + + + + + + + time("10:30:10") in < time("10:30:10") + + + + + + + time("10:30:11") in >= time("10:30:10") + + + + + + + time("10:30:10") in >= time("10:30:10") + + + + + + + time("10:30:09") in >= time("10:30:10") + + + + + + + time("10:30:11") in > time("10:30:10") + + + + + + + time("10:30:10") in > time("10:30:10") + + + + + + + time("10:30:01") in (time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:02") in (time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:03") in (time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:04") in (time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:05") in (time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:01") in (time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:02") in (time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:03") in (time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:04") in (time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:05") in (time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:01") in [time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:02") in [time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:03") in [time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:04") in [time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:05") in [time("10:30:02")..time("10:30:04")) + + + + + + + time("10:30:01") in [time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:02") in [time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:03") in [time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:04") in [time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:05") in [time("10:30:02")..time("10:30:04")] + + + + + + + time("10:30:05") in time("10:30:05") + + + + + + + time("10:30:05") in time("10:30:06") + + + + + + + time("10:30:05") in (time("10:30:04"), >=time("10:30:05")) + + + + + + + time("10:30:05") in (time("10:30:04"), >=time("10:30:06")) + + + + + + + date and time("2018-12-08T10:30:08") in [date and time("2018-12-08T10:30:08"),date and time("2018-12-08T10:30:09"),date and time("2018-12-08T10:30:10")] + + + + + + + date and time("2018-12-08T10:30:11") in [date and time("2018-12-08T10:30:08"),date and time("2018-12-08T10:30:09"),date and time("2018-12-08T10:30:10")] + + + + + + + date and time("2018-12-08T10:30:11") in [[date and time("2018-12-08T10:30:05") .. date and time("2018-12-08T10:30:07")], [date and time("2018-12-08T10:30:10") .. date and time("2018-12-08T10:30:12")]] + + + + + + + date and time("2018-12-08T10:30:04") in [[date and time("2018-12-08T10:30:05") .. date and time("2018-12-08T10:30:07")], [date and time("2018-12-08T10:30:10") .. date and time("2018-12-08T10:30:12")]] + + + + + + + date and time("2018-12-08T10:30:04") in <= date and time("2018-12-08T10:30:05") + + + + + + + date and time("2018-12-08T10:30:04") in <= date and time("2018-12-08T10:30:04") + + + + + + + date and time("2018-12-08T10:30:05") in <= date and time("2018-12-08T10:30:04") + + + + + + + date and time("2018-12-08T10:30:01") in < date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:10") in < date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:11") in >= date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:10") in >= date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:09") in >= date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:11") in > date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:10") in > date and time("2018-12-08T10:30:10") + + + + + + + date and time("2018-12-08T10:30:01") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:02") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:03") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:04") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:01") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:02") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:03") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:04") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:01") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:02") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:03") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:04") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:05") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")) + + + + + + + date and time("2018-12-08T10:30:01") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:02") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:03") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:04") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:05") in [date and time("2018-12-08T10:30:02")..date and time("2018-12-08T10:30:04")] + + + + + + + date and time("2018-12-08T10:30:05") in date and time("2018-12-08T10:30:05") + + + + + + + date and time("2018-12-08T10:30:05") in date and time("2018-12-08T10:30:06") + + + + + + + date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:04"), >=date and time("2018-12-08T10:30:05")) + + + + + + + date and time("2018-12-08T10:30:05") in (date and time("2018-12-08T10:30:04"), >=date and time("2018-12-08T10:30:06")) + + + + + + + [1,2,3] in [[1,2,3,4], [1,2,3]] + + + + + + + [1,2,3,5] in [[1,2,3,4], [1,2,3]] + + + + - - + + + + [1,2,3] in [[1,2,3], [1,2,3,4]] + + + + + + + [1,2,2] in [[1,2,3], [1,2,3,4]] + + + + - - - - duration("P5D") in duration("P6D") - - + + + + [1,2,3] in ([[1,2,3,4]], [[1,2,3,5]]) + + - - + + + + + {a: "foo"} in [{b: "bar"}, {a: "foo"}] + + + + + + + {c: "baz"} in [{b: "bar"}, {a: "foo"}] + + + + + + + {a: "foo"} in {a: "foo"} + + + + + + + {a: "foo"} in {b: "bar"} + + + + + + + {a: "foo"} in ({a: "bar"}, {a: "foo"}) + + + + + + + {a: "foo"} in ({a: "bar"}, {a: "baz"}) + + + + + + + duration("P8Y") in [duration("P8Y"),duration("P9Y"),duration("P10Y")] + + + + + + + duration("P11Y") in [duration("P8Y"),duration("P9Y"),duration("P10Y")] + + + + + + + duration("P11Y") in [[duration("P5Y") .. duration("P7Y")], [duration("P10Y") .. duration("P12Y")]] + + + + + + + duration("P4Y") in [[duration("P5Y") .. duration("P7Y")], [duration("P10Y") .. duration("P12Y")]] + + + + + + + duration("P4Y") in <= duration("P5Y") + + + + + + + duration("P4Y") in <= duration("P4Y") + + + + + + + duration("P5Y") in <= duration("P4Y") + + + + + + + duration("P1Y") in < duration("P10Y") + + + + + + + duration("P10Y") in < duration("P10Y") + + + + + + + duration("P11Y") in >= duration("P10Y") + + + + + + + duration("P10Y") in >= duration("P10Y") + + + + + + + duration("P9Y") in >= duration("P10Y") + + + + + + + duration("P11Y") in > duration("P10Y") + + + + + + + duration("P10Y") in > duration("P10Y") + + + + + + + duration("P1Y") in (duration("P2Y")..duration("P4Y")) + + + + + + + duration("P2Y") in (duration("P2Y")..duration("P4Y")) + + + + + + + duration("P3Y") in (duration("P2Y")..duration("P4Y")) + + + + + + + duration("P4Y") in (duration("P2Y")..duration("P4Y")) + + + + + + + duration("P5Y") in (duration("P2Y")..duration("P4Y")) + + + + + + + duration("P1Y") in (duration("P2Y")..duration("P4Y")] + + + + + + + duration("P2Y") in (duration("P2Y")..duration("P4Y")] + + + + + + + duration("P3Y") in (duration("P2Y")..duration("P4Y")] + + + + + + + duration("P4Y") in (duration("P2Y")..duration("P4Y")] + + + + + + + duration("P5Y") in (duration("P2Y")..duration("P4Y")] + + + + + + + duration("P1Y") in [duration("P2Y")..duration("P4Y")) + + + + + + + duration("P2Y") in [duration("P2Y")..duration("P4Y")) + + + + + + + duration("P3Y") in [duration("P2Y")..duration("P4Y")) + + + + + + + duration("P4Y") in [duration("P2Y")..duration("P4Y")) + + + + + + + duration("P5Y") in [duration("P2Y")..duration("P4Y")) + + + + + + + duration("P1Y") in [duration("P2Y")..duration("P4Y")] + + + + + + + duration("P2Y") in [duration("P2Y")..duration("P4Y")] + + + + + + + duration("P3Y") in [duration("P2Y")..duration("P4Y")] + + + + + + + duration("P4Y") in [duration("P2Y")..duration("P4Y")] + + + + + + + duration("P5Y") in [duration("P2Y")..duration("P4Y")] + + + + + + + duration("P5Y") in duration("P5Y") + + + + + + + duration("P5Y") in duration("P6Y") + + + + + + + duration("P5Y") in (duration("P4Y"), >=duration("P5Y")) + + + + + + + duration("P5Y") in (duration("P4Y"), >=duration("P6Y")) + + + + + + + duration("P8D") in [duration("P8D"),duration("P9D"),duration("P10D")] + + + + + + + duration("P11D") in [duration("P8D"),duration("P9D"),duration("P10D")] + + + + + + + duration("P11D") in [[duration("P5D") .. duration("P7D")], [duration("P10D") .. duration("P12D")]] + + + + + + + duration("P4D") in [[duration("P5D") .. duration("P7D")], [duration("P10D") .. duration("P12D")]] + + + + + + + duration("P4D") in <= duration("P5D") + + + + + + + duration("P4D") in <= duration("P4D") + + + + + + + duration("P5D") in <= duration("P4D") + + + + + + + duration("P1D") in < duration("P10D") + + + + + + + duration("P10D") in < duration("P10D") + + + + + + + duration("P11D") in >= duration("P10D") + + + + + + + duration("P10D") in >= duration("P10D") + + + + + + + duration("P9D") in >= duration("P10D") + + + + + + + duration("P11D") in > duration("P10D") + + + + + + + duration("P10D") in > duration("P10D") + + + + + + + duration("P1D") in (duration("P2D")..duration("P4D")) + + + + + + + duration("P2D") in (duration("P2D")..duration("P4D")) + + + + + + + duration("P3D") in (duration("P2D")..duration("P4D")) + + + + + + + duration("P4D") in (duration("P2D")..duration("P4D")) + + + + + + + duration("P5D") in (duration("P2D")..duration("P4D")) + + + + + + + duration("P1D") in (duration("P2D")..duration("P4D")] + + + + + + + duration("P2D") in (duration("P2D")..duration("P4D")] + + + + + + + duration("P3D") in (duration("P2D")..duration("P4D")] + + + + + + + duration("P4D") in (duration("P2D")..duration("P4D")] + + + + + + + duration("P5D") in (duration("P2D")..duration("P4D")] + + + + + + + duration("P1D") in [duration("P2D")..duration("P4D")) + + + + + + + duration("P2D") in [duration("P2D")..duration("P4D")) + + + + + + + duration("P3D") in [duration("P2D")..duration("P4D")) + + + + + + + duration("P4D") in [duration("P2D")..duration("P4D")) + + + + + + + duration("P5D") in [duration("P2D")..duration("P4D")) + + + + + + + duration("P1D") in [duration("P2D")..duration("P4D")] + + + + + + + duration("P2D") in [duration("P2D")..duration("P4D")] + + + + + + + duration("P3D") in [duration("P2D")..duration("P4D")] + + + + + + + duration("P4D") in [duration("P2D")..duration("P4D")] + + + + + + + duration("P5D") in [duration("P2D")..duration("P4D")] + + + + + + + duration("P5D") in duration("P5D") + + + + + + + duration("P5D") in duration("P6D") + + + + + + + duration("P5D") in (duration("P4D"), >=duration("P5D")) + + + + + + + duration("P5D") in (duration("P4D"), >=duration("P6D")) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0073-feel-comments.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0073-feel-comments.dmn index a85ee26d532..67b4aaae227 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0073-feel-comments.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0073-feel-comments.dmn @@ -1,4 +1,4 @@ - + - - FEEL in + + FEEL in - - - - 1 + /* 1 + */ 1 - - + + + + 1 + /* 1 + */ 1 + + - - - - 1 + // eol comment + + + + 1 + // eol comment 1 - - + + - - - - + + + + /* some intro waffle */ 1 + 1 // and stuff - - - - + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0074-feel-properties.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0074-feel-properties.dmn index 05386c2bdf4..d5ab08cd94a 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0074-feel-properties.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0074-feel-properties.dmn @@ -1,4 +1,4 @@ - + - - FEEL properties - - - - - {a: "foo"}.a - - - - - - - date("2018-12-10").year - - - - - - - date("2018-12-10").month - - - - - - - date("2018-12-10").day - - - - - - - date("2018-12-10").weekday - - - - - - - date and time("2018-12-10T10:30:01").year - - - - - - - date and time("2018-12-10T10:30:01").month - - - - - - - date and time("2018-12-10T10:30:01").day - - - - - - - date and time("2018-12-10T10:30:01").weekday - - - - - - - date and time("2018-12-10T10:30:01").hour - - - - - - - date and time("2018-12-10").hour - - - - - - - date and time("2018-12-10T10:30:01").minute - - - - - - - date and time("2018-12-10").minute - - - - - - - date and time("2018-12-10T10:30:01").second - - - - - - - date and time("2018-12-10").second - - - - - - - date and time("2018-12-10T10:30:00+05:00").time offset - - - - - - - date and time("2018-12-10T10:30:00").time offset - - - - - - - date and time("2018-12-10T10:30:00@Etc/UTC").timezone - - - - - - - date and time("2018-12-10T10:30:00").timezone - - - - - - - time("10:30:01").hour - - - - - - - time("10:30:01").minute - - - - - - - time("10:30:01").second - - - - - - - time("10:30:00+05:00").time offset - - - - - - - time("10:30:00").time offset - - - - - - - time("10:30:00@Etc/UTC").timezone - - - - - - - time("10:30:00").timezone - - - - - - - duration("P1Y2M").years - - - - - - - duration("P2M").years - - - - - - - duration("P2M").months - - - - - - - duration("P1Y").months - - - - - - - duration("P1Y").days - - - - - - - duration("P1Y").hours - - - - - - - duration("P1Y").minutes - - - - - - - duration("P1Y").seconds - - - - - - - duration("P1D").years - - - - - - - duration("P1D").months - - - - - - - duration("P1D").days - - - - - - - duration("PT2H").days - - - - - - - duration("PT2H").hours - - - - - - - duration("P1D").hours - - - - - - - duration("PT2M").minutes - - - - - - - duration("P1D").minutes - - - - - - - duration("PT2S").seconds - - - - - - - duration("P1D").seconds - - - - \ No newline at end of file + + FEEL properties + + + + + {a: "foo"}.a + + + + + + + date("2018-12-10").year + + + + + + + date("2018-12-10").month + + + + + + + date("2018-12-10").day + + + + + + + date("2018-12-10").weekday + + + + + + + date and time("2018-12-10T10:30:01").year + + + + + + + date and time("2018-12-10T10:30:01").month + + + + + + + date and time("2018-12-10T10:30:01").day + + + + + + + date and time("2018-12-10T10:30:01").weekday + + + + + + + date and time("2018-12-10T10:30:01").hour + + + + + + + date and time("2018-12-10").hour + + + + + + + date and time("2018-12-10T10:30:01").minute + + + + + + + date and time("2018-12-10").minute + + + + + + + date and time("2018-12-10T10:30:01").second + + + + + + + date and time("2018-12-10").second + + + + + + + date and time("2018-12-10T10:30:00+05:00").time offset + + + + + + + date and time("2018-12-10T10:30:00").time offset + + + + + + + date and time("2018-12-10T10:30:00@Etc/UTC").timezone + + + + + + + date and time("2018-12-10T10:30:00").timezone + + + + + + + time("10:30:01").hour + + + + + + + time("10:30:01").minute + + + + + + + time("10:30:01").second + + + + + + + time("10:30:00+05:00").time offset + + + + + + + time("10:30:00").time offset + + + + + + + time("10:30:00@Etc/UTC").timezone + + + + + + + time("10:30:00").timezone + + + + + + + duration("P1Y2M").years + + + + + + + duration("P2M").years + + + + + + + duration("P2M").months + + + + + + + duration("P1Y").months + + + + + + + duration("P1Y").days + + + + + + + duration("P1Y").hours + + + + + + + duration("P1Y").minutes + + + + + + + duration("P1Y").seconds + + + + + + + duration("P1D").years + + + + + + + duration("P1D").months + + + + + + + duration("P1D").days + + + + + + + duration("PT2H").days + + + + + + + duration("PT2H").hours + + + + + + + duration("P1D").hours + + + + + + + duration("PT2M").minutes + + + + + + + duration("P1D").minutes + + + + + + + duration("PT2S").seconds + + + + + + + duration("P1D").seconds + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0075-feel-exponent.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0075-feel-exponent.dmn index 3106e339900..58b52ece184 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0075-feel-exponent.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0075-feel-exponent.dmn @@ -1,4 +1,4 @@ - + - - FEEL properties + + FEEL properties - - - - 3 ** 4 ** 5 - - + + + + 3 ** 4 ** 5 + + - - - - -3 ** 2 - - + + + + -3 ** 2 + + - - - - "foo" ** 4 - - + + + + "foo" ** 4 + + - - - - true ** 4 - - + + + + true ** 4 + + - - - - date("2018-12-10") ** 4 - - + + + + date("2018-12-10") ** 4 + + - - - - time("10:30:00") ** 4 - - + + + + time("10:30:00") ** 4 + + - - - - date and time("2018-12-10") ** 4 - - + + + + date and time("2018-12-10") ** 4 + + - - - - duration("P2Y") ** 4 - - + + + + duration("P2Y") ** 4 + + - - - - duration("P2D") ** 4 - - + + + + duration("P2D") ** 4 + + - - - - {a: 2} ** 4 - - + + + + {a: 2} ** 4 + + - - - - [2] ** 4 - - + + + + [2] ** 4 + + - - - - (function() "foo") ** 4 - - - - - \ No newline at end of file + + + + (function() "foo") ** 4 + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0076-feel-external-java.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0076-feel-external-java.dmn index 7ecafff3b8c..1c28e012fed 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0076-feel-external-java.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0076-feel-external-java.dmn @@ -1,4 +1,4 @@ - + - - FEEL external Java functions + + FEEL external Java functions - - - - - - - - - - - - - "java.lang.Math" - - - - - - "max(double, double)" - - - - - - - - maxDouble(123,456) - - - - + + + + + + + + + + + + + "java.lang.Math" + + + + + + "max(double, double)" + + + + + + + + maxDouble(123,456) + + + + - - - - - - - function(n1) external {java:{class:"java.lang.Math",method signature:"cos(double)"}} - - - - - cos(123) - - - - + + + + + + + function(n1) external {java:{class:"java.lang.Math",method signature:"cos(double)"}} + + + + + cos(123) + + + + - - - - - - - function(n1) external {java:{class:"java.lang.Math",method signature:"foo(double)"}} - - - - - mathFoo(123) - - - - + + + + + + + function(n1) external {java:{class:"java.lang.Math",method signature:"foo(double)"}} + + + + + mathFoo(123) + + + + - - - - - - - function(n1) external {java:{class:"java.lang.Foo",method signature:"valueOf(double)"}} - - - - - fooValueOf(123) - - - - + + + + + + + function(n1) external {java:{class:"java.lang.Foo",method signature:"valueOf(double)"}} + + + + + fooValueOf(123) + + + + - - - - - - - function(s1, s2) external {java:{class:"java.lang.Math",method signature:"max(java.lang.String, java.lang.String)"}} - - - - - mathMaxString("123", "456") - - - - + + + + + + + function(s1, s2) external {java:{class:"java.lang.Math",method signature:"max(java.lang.String, java.lang.String)"}} + + + + + mathMaxString("123", "456") + + + + - - - - - - - function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(double,double)"}} - - - - - maxDouble(123.45,456.78) - - - - + + + + + + + function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(double,double)"}} + + + + + maxDouble(123.45,456.78) + + + + - - - - - - - function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(double,double)"}} - - - - - max(123,456) - - - - + + + + + + + function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(double,double)"}} + + + + + max(123,456) + + + + - - - - - - - function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(int,int)"}} - - - - - max(123,456) - - - - + + + + + + + function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(int,int)"}} + + + + + max(123,456) + + + + - - - - - - - function(s1) external {java:{class:"java.lang.Short",method signature:"valueOf(short)"}} - - - - - valueOf(123) - - - - + + + + + + + function(s1) external {java:{class:"java.lang.Short",method signature:"valueOf(short)"}} + + + + + valueOf(123) + + + + - - - - - - - function(b1) external {java:{class:"java.lang.Byte",method signature:"valueOf(byte)"}} - - - - - valueOf(3) - - - - + + + + + + + function(b1) external {java:{class:"java.lang.Byte",method signature:"valueOf(byte)"}} + + + + + valueOf(3) + + + + - - - - - - - function(c1) external {java:{class:"java.lang.String",method signature:"valueOf(char)"}} - - - - - valueOf("a") - - - - - - - - - - - - function(c1) external {java:{class:"java.lang.String",method signature:"valueOf(char)"}} - - - - - valueOf("abc") - - - - + + + + + + + function(c1) external {java:{class:"java.lang.String",method signature:"valueOf(char)"}} + + + + + valueOf("a") + + + + - - - - - - - function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(long,long)"}} - - - - - max(123,456) - - - - + + + + + + + function(c1) external {java:{class:"java.lang.String",method signature:"valueOf(char)"}} + + + + + valueOf("abc") + + + + - - - - - - - function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(float,float)"}} - - - - - max(123.46,456.78) - - - - + + + + + + + function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(long,long)"}} + + + + + max(123,456) + + + + - - - - - - - function(n1) external {java:{class:"java.lang.Integer",method signature:"valueOf(java.lang.String)"}} - - - - - valueOf("123") - - - - + + + + + + + function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(float,float)"}} + + + + + max(123.46,456.78) + + + + - - - - - - - function(n1) external {java:{class:"java.lang.Float",method signature:"valueOf(java.lang.String)"}} - - - - - valueOf("1234.56") - - - - + + + + + + + function(n1) external {java:{class:"java.lang.Integer",method signature:"valueOf(java.lang.String)"}} + + + + + valueOf("123") + + + + - - - - - - - function(n1) external {java:{class:"java.lang.Double",method signature:"valueOf(java.lang.String)"}} - - - - - valueOf("1234.56") - - - - + + + + + + + function(n1) external {java:{class:"java.lang.Float",method signature:"valueOf(java.lang.String)"}} + + + + + valueOf("1234.56") + + + + - - - - - - - function(s1, n1) external {java:{class:"java.lang.String",method signature:"format(java.lang.String, [Ljava.lang.Object;)"}} - - - - - format("foo %s", "bar") - - - - + + + + + + + function(n1) external {java:{class:"java.lang.Double",method signature:"valueOf(java.lang.String)"}} + + + + + valueOf("1234.56") + + + + - \ No newline at end of file + + + + + + + function(s1, n1) external {java:{class:"java.lang.String",method signature:"format(java.lang.String, [Ljava.lang.Object;)"}} + + + + + format("foo %s", "bar") + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0077-feel-nan.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0077-feel-nan.dmn index be76f7e568f..2369cc77380 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0077-feel-nan.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0077-feel-nan.dmn @@ -1,4 +1,4 @@ - + - - FEEL NaN + + FEEL NaN - - - - 0.0 / 0.0 - - - - \ No newline at end of file + + + + 0.0 / 0.0 + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0078-feel-infinity.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0078-feel-infinity.dmn index fac30a129d8..3cb67f18148 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0078-feel-infinity.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0078-feel-infinity.dmn @@ -1,4 +1,4 @@ - + - - FEEL Infinity + + FEEL Infinity - - - - 1.0 / 0.0 - - + + + + 1.0 / 0.0 + + - - - - -1.0 / 0.0 - - - - \ No newline at end of file + + + + -1.0 / 0.0 + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0080-feel-getvalue-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0080-feel-getvalue-function.dmn index 193c4befcd1..c9055a823eb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0080-feel-getvalue-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0080-feel-getvalue-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'get value(m, key)' in unspecified category + + FEEL built-in function 'get value(m, key)' in unspecified category - - Tests FEEL expression: 'get value()' and expects result: 'null' - Result of FEEL expression 'get value()'? - null - - - get value() - - + + Tests FEEL expression: 'get value()' and expects result: 'null' + Result of FEEL expression 'get value()'? + null + + + get value() + + - - Tests FEEL expression: 'get value({a: "foo"})' and expects result: 'null' - Result of FEEL expression 'get value({a: "foo"})'? - null - - - get value({a: "foo"}) - - + + Tests FEEL expression: 'get value({a: "foo"})' and expects result: 'null' + Result of FEEL expression 'get value({a: "foo"})'? + null + + + get value({a: "foo"}) + + - - Tests FEEL expression: 'get value({a: "foo"}, "a", "bar")' and expects result: 'null' - Result of FEEL expression 'get value({a: "foo"}, "a", "bar")'? - null - - - get value({a: "foo"}, "a", "bar") - - + + Tests FEEL expression: 'get value({a: "foo"}, "a", "bar")' and expects result: 'null' + Result of FEEL expression 'get value({a: "foo"}, "a", "bar")'? + null + + + get value({a: "foo"}, "a", "bar") + + - - Tests FEEL expression: 'get value({a: "foo"}, "a")' and expects result: 'foo' - Result of FEEL expression 'get value({a: "foo"}, "a")'? - foo - - - get value({a: "foo"}, "a") - - + + Tests FEEL expression: 'get value({a: "foo"}, "a")' and expects result: 'foo' + Result of FEEL expression 'get value({a: "foo"}, "a")'? + foo + + + get value({a: "foo"}, "a") + + - - Tests FEEL expression: 'get value("foo", "foo")' and expects result: 'null' - Result of FEEL expression 'get value("foo", "foo")'? - null - - - get value("foo", "foo") - - + + Tests FEEL expression: 'get value("foo", "foo")' and expects result: 'null' + Result of FEEL expression 'get value("foo", "foo")'? + null + + + get value("foo", "foo") + + - - Tests FEEL expression: 'get value({a: "foo"}, 123)' and expects result: 'null' - Result of FEEL expression 'get value({a: "foo"}, 123)'? - null - - - get value({a: "foo"}, 123) - - + + Tests FEEL expression: 'get value({a: "foo"}, 123)' and expects result: 'null' + Result of FEEL expression 'get value({a: "foo"}, 123)'? + null + + + get value({a: "foo"}, 123) + + - - - Tests FEEL expression: 'get value(null, "a")' and expects result: 'null' - Result of FEEL expression 'get value(null, "a")'? - null - - - get value(null, "a") - - - - - Tests FEEL expression: 'get value({a: "foo"}, null)' and expects result: 'null' - Result of FEEL expression 'get value({a: "foo"}, null)'? - null - - - get value({a: "foo"}, null) - - - - - Tests FEEL expression: 'get value(null, null)' and expects result: 'null' - Result of FEEL expression 'get value(null, null)'? - null - - - get value(null, null) - - - - - Tests FEEL expression: 'get value({a: null}, "a")' and expects result: 'null' - Result of FEEL expression 'get value({a: null}, "a")'? - null - - - get value({a: null}, "a") - - + + Tests FEEL expression: 'get value(null, "a")' and expects result: 'null' + Result of FEEL expression 'get value(null, "a")'? + null + + + get value(null, "a") + + + + Tests FEEL expression: 'get value({a: "foo"}, null)' and expects result: 'null' + Result of FEEL expression 'get value({a: "foo"}, null)'? + null + + + get value({a: "foo"}, null) + + + + Tests FEEL expression: 'get value(null, null)' and expects result: 'null' + Result of FEEL expression 'get value(null, null)'? + null + + + get value(null, null) + + + + Tests FEEL expression: 'get value({a: null}, "a")' and expects result: 'null' + Result of FEEL expression 'get value({a: null}, "a")'? + null + + + get value({a: null}, "a") + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0081-feel-getentries-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0081-feel-getentries-function.dmn index 27bbc2a00db..d214ac4db26 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0081-feel-getentries-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0081-feel-getentries-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'get entries(m)' in unspecified category + + FEEL built-in function 'get entries(m)' in unspecified category - - Tests FEEL expression: 'get entries()' and expects result: 'null' - Result of FEEL expression 'get entries()'? - null - - - get entries() - - + + Tests FEEL expression: 'get entries()' and expects result: 'null' + Result of FEEL expression 'get entries()'? + null + + + get entries() + + - - Tests FEEL expression: 'get entries({a: "foo"}, {b: "bar"})' and expects result: 'null' - Result of FEEL expression 'get entries({a: "foo"}, {b: "bar"})'? - null - - - get entries({a: "foo"}, {b: "bar"}) - - + + Tests FEEL expression: 'get entries({a: "foo"}, {b: "bar"})' and expects result: 'null' + Result of FEEL expression 'get entries({a: "foo"}, {b: "bar"})'? + null + + + get entries({a: "foo"}, {b: "bar"}) + + - - Tests FEEL expression: 'get entries(null)' and expects result: 'null' - Result of FEEL expression 'get entries(null)'? - null - - - get entries(null) - - + + Tests FEEL expression: 'get entries(null)' and expects result: 'null' + Result of FEEL expression 'get entries(null)'? + null + + + get entries(null) + + - - Tests FEEL expression: 'get entries({a: "foo", b: "bar"})' and expects result: '[{key: "a": value: "foo"}, {key: "b": value: "bar"}]' - Result of FEEL expression 'get entries({a: "foo", b: "bar"})'? - [{key: "a": value: "foo"}, {key: "b": value: "bar"}] - - - get entries({a: "foo", b: "bar"}) - - + + Tests FEEL expression: 'get entries({a: "foo", b: "bar"})' and expects result: '[{key: "a": value: "foo"}, {key: "b": value: "bar"}]' + Result of FEEL expression 'get entries({a: "foo", b: "bar"})'? + [{key: "a": value: "foo"}, {key: "b": value: "bar"}] + + + get entries({a: "foo", b: "bar"}) + + - - - - Tests FEEL expression: 'get entries(123)' and expects result: 'null' - Result of FEEL expression 'get entries(123)'? - null - - - get entries(123) - - - - - Tests FEEL expression: 'get entries([1,2,3])' and expects result: 'null' - Result of FEEL expression 'get entries([1,2,3])'? - null - - - get entries([1,2,3]) - - + + Tests FEEL expression: 'get entries(123)' and expects result: 'null' + Result of FEEL expression 'get entries(123)'? + null + + + get entries(123) + + - - Tests FEEL expression: 'get entries({})' and expects result: '[]' - Result of FEEL expression 'get entries({})'? - [] - - - get entries({}) - - + + Tests FEEL expression: 'get entries([1,2,3])' and expects result: 'null' + Result of FEEL expression 'get entries([1,2,3])'? + null + + + get entries([1,2,3]) + + + + Tests FEEL expression: 'get entries({})' and expects result: '[]' + Result of FEEL expression 'get entries({})'? + [] + + + get entries({}) + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0082-feel-coercion.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0082-feel-coercion.dmn index 275dde2fcfb..8aee52189eb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0082-feel-coercion.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0082-feel-coercion.dmn @@ -1,4 +1,4 @@ - + - - FEEL type conformance of DT and BKM results - - - number - - - - string - - - - - string - - - - - - string - - - number - - - - - - - 1+1 - - - - - - + + + + [1,2,"foo"] + + + + + + + {name: "foo", surname: "bar", age: 10} + + + + + + + {name: "foo"} + + + + + + + "foo" + + + + + + + "foo" + + + + + + + ["foo"] + + + + + + + [1] + + + + + + + null + + + + + + + + + nameAndAge != null + + + + + + + + + + + bkm_001({name: "foo", surname: "bar", age: 10}) + + + + + + + + + + bkm_001({name: "foo"}) + + + + + + + + + + nameAndAge != null + + + + + + + + + + + bkm_002({name: "foo"}) + + + + + + + + + arg + + + + + + + + + + [arg] + + + + + + + + + + + bkm_004(10) + + + + + + + + + + bkm_004("foo") + + + + + + + + + + bkm_004(null) + + + + + + + + + + bkm_005(10) + + + + + + + + + + bkm_005("foo") + + + + + + + + + + + bkm_001 + + + + - [1,2,"foo"] + {name: "foo"} - - - - + + + + + + + + + + + + + bkm_001 + + + + - {name: "foo", surname: "bar", age: 10} + {name: "foo", age: 10} - - - - + + + + + + + + + + + + + bkm_005 + + + - {name: "foo"} + 10 - - - - + + + + + + + + + + + + + bkm_005 + + + - "foo" + "foo" - - - - + + + + + + + + + + + + + bkm_005 + + + - "foo" + [10] - - - - + + + + + + + + + + + + + bkm_005 + + + - ["foo"] + ["foo"] - - - - + + + + + + + + + - [1] + function(arg: number) arg - - - - + + - null + fn(10) - - - - - - - - nameAndAge != null - - - - - - - - - + + + + + + + + + - bkm_001({name: "foo", surname: "bar", age: 10}) + function(arg: number) arg - - - - - - - + + - bkm_001({name: "foo"}) - - - - - - - - - - nameAndAge != null - - - - - - - - - - - bkm_002({name: "foo"}) - - - - - - - - - arg - - - - - - - - - - [arg] - - - - - - - - - - - bkm_004(10) - - - - - - - - - - bkm_004("foo") - - - - - - - - - - bkm_004(null) - - - - - - - - - - bkm_005(10) - - - - - - - - - - bkm_005("foo") - - - - - - - - - - - bkm_001 - - - - - - {name: "foo"} - - - - - - - - - - - - - bkm_001 - - - - - - {name: "foo", age: 10} - - - - - - - - - - - - - bkm_005 - - - - - 10 - - - - - - - - - - - - - bkm_005 - - - - - "foo" - - - - - - - - - - - - - - bkm_005 - - - - - [10] - - - - - - - - - - - - - bkm_005 - - - - - ["foo"] - - - - - - - - - - - - function(arg: number) arg - - - - - fn(10) - - - - - - - - - - - - function(arg: number) arg - - - - - fn("foo") - - - - - - - - - - 5+5 + fn("foo") - - - - - - "foo" - - - - - - - 10 - - - - - - - "foo" - - - - - - - [10] - - - - - - - ["foo"] - - - - - - - - - - - - - - - - 1000 - - - - - - - - - - - - - - - - - - - - decisionService_002_input_1 - - - - - - - - - - - - - - - decisionService_002(10) - - - - - - - - - - - decisionService_002(["foo"]) - - - - - - - - - - - - - - - - - - - - decisionService_003_input_1 - - - - - - - - - - - - - - - decisionService_003("foo") - - - - - \ No newline at end of file + + + + + + + + 5+5 + + + + + + + "foo" + + + + + + + 10 + + + + + + + "foo" + + + + + + + [10] + + + + + + + ["foo"] + + + + + + + + + + + + + + + 1000 + + + + + + + + + + + + + + + + + + + + decisionService_002_input_1 + + + + + + + + + + + + + + + decisionService_002(10) + + + + + + + + + + + decisionService_002(["foo"]) + + + + + + + + + + + + + + + + + + + + decisionService_003_input_1 + + + + + + + + + + + + + + + decisionService_003("foo") + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0083-feel-unicode.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0083-feel-unicode.dmn index c8327258f7a..77264b771e5 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0083-feel-unicode.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0083-feel-unicode.dmn @@ -1,4 +1,4 @@ - + - - FEEL unicode tests - - - - - string length("\u0009") - - - - - - - string length("\\u0009") - - - - - - - - string length("\uD83D\uDCA9") - - - - - - - - string length("\ud83d\udca9") - - - - - - - - string length("\ud83d\udc0e\uD83D\uDE00") - - - - - - - - string length("🐎😀") - - - - - - - - contains("\ud83d\udc0e\uD83D\uDE00", "\uD83D\uDE00") - - - - - - - - contains("\ud83d\udc0e\uD83D\uDE00", "😀") - - - - - - - {🐎: "bar"} - - - - - - - {🐎: "😀"} - - - - + string length("\uD83D\uDCA9") + + + + + + + + string length("\ud83d\udca9") + + + + + + + + string length("\ud83d\udc0e\uD83D\uDE00") + + + + + + + + string length("🐎😀") + + + + + + + + contains("\ud83d\udc0e\uD83D\uDE00", "\uD83D\uDE00") + + + + + + + + contains("\ud83d\udc0e\uD83D\uDE00", "😀") + + + + + + + {🐎: "bar"} + + + + + + + {🐎: "😀"} + + + + - - - - - ends with("\ud83d\udc0e\uD83D\uDE00", "\uD83D\uDE00") - - - - - - - - ends with("\ud83d\udc0e\uD83D\uDE00", "😀") - - - - + ends with("\ud83d\udc0e\uD83D\uDE00", "\uD83D\uDE00") + + + + + + + + ends with("\ud83d\udc0e\uD83D\uDE00", "😀") + + + + - - diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0084-feel-for-loops.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0084-feel-for-loops.dmn index b2a2d55f905..29b26a9d11f 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0084-feel-for-loops.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0084-feel-for-loops.dmn @@ -1,4 +1,4 @@ - + - - FEEL for loops + + FEEL for loops - - - - for i in [1,2,3] return i + 1 - - + + + + for i in [1,2,3] return i + 1 + + - - - - for i in [1,2,3], j in [4,5] return i + j - - + + + + for i in [1,2,3], j in [4,5] return i + j + + - - - - for i in [] return i - - + + + + for i in [] return i + + - - - - for i in 2..4 return i - - + + + + for i in 2..4 return i + + - - - - for i in 4..2 return i - - + + + + for i in 4..2 return i + + - - - - for i in -1..1 return i - - + + + + for i in -1..1 return i + + - - - - for i in 1..-1 return i - - + + + + for i in 1..-1 return i + + - - - - for i in 1..1 return i - - + + + + for i in 1..1 return i + + - - - - for i in 1+1..1+3 return i - - + + + + for i in 1+1..1+3 return i + + - - - - for i in 0..4 return if i = 0 then 1 else i * partial[-1] - - - - \ No newline at end of file + + + + for i in 0..4 return if i = 0 then 1 else i * partial[-1] + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0085-decision-services.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0085-decision-services.dmn index eb9ae5a9784..bdb1c4573d5 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0085-decision-services.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0085-decision-services.dmn @@ -1,4 +1,4 @@ - + - - Decision Services - - - - - - - - - - - - "foo" - - - - - - - - - - - - - - - - - - "foo " + decision_002_input - - - - - - - "bar" - - - - - - - - - - - - - - - - - - - - - - - - - - "A " + decision_003_input_1 + " " + decision_003_input_2 + " " + inputData_003 - - - - - - - "d3_1" - - - - - - - "d3_2" - - - - - - - - - - - - - - - - - - - - - decisionService_004() - - - - - - - "foo" - - - - - - - - - - - - - - - - - decisionService_005("bar") - - - - - - - "foo" - - - - - - - - - - - - - - - - - - decisionService_006("bar") - - - - - - - - - - "foo " + decision_006_3 - - - - - - - - "I never get invoked" - - - - - - - - - - - - - - - - - - - decisionService_007(123) - - - - - - - - - - decision_007_3 = null - - - - - - - - "I never get invoked" - - - - - - - - - - - - - - - - - - - decisionService_008() - - - - - - - - - - decision_008_3 = null - - - - - - - - "I never get invoked" - - - - - - - - - - - - - - - - - - decisionService_009(decision_009_3: "bar") - - - - - - - - - - "foo " + decision_009_3 - - - - - - - - "I never get invoked" - - - - - - - - - - - - - - - - - - decisionService_010(foo: "bar") - - - - - - - - - - "foo " + decision_010_3 - - - - - - - - "I never get invoked" - - - - - - - - - - - - - - - - - - - - - decisionService_011("A", "B", "C", "D") - - - - - - - - - - - - - - - - - - - inputData_011_1 + " " + inputData_011_2 + " " + decision_011_3 + " " + decision_011_4 - - - - - - - - "I never get invoked" - - - - - - - - "I never get invoked" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - decisionService_012(decision_012_3: "C", inputData_012_1: "A", decision_012_4: "D", inputData_012_2: "B") - - - - - - - - - - - - - - - - - - - inputData_012_1 + " " + inputData_012_2 + " " + decision_012_3 + " " + decision_012_4 - - - - - - - - "I never get invoked" - - - - - - - - "I never get invoked" - - - - - - - - - - - - - - + + + + + + + + + + "foo" + + + + + + + + + + + + + + + + + + "foo " + decision_002_input + + + + + + + "bar" + + + + + + + + + + + + + + + + + + + + + + + + + + "A " + decision_003_input_1 + " " + decision_003_input_2 + " " + inputData_003 + + + + + + + "d3_1" + + + + + + + "d3_2" + + + + + + + + + + + + + + + + + + + + + decisionService_004() + + + + + + + "foo" + + + + + + + + + + + + + + + + + decisionService_005("bar") + + + + + + + "foo" + + + + + + + + + + + + + + + + + + decisionService_006("bar") + + + + + + + + + + "foo " + decision_006_3 + + + + + + + + "I never get invoked" + + + + + + + + + + + + + + + + + + decisionService_007(123) + + + + + + + + + + decision_007_3 = null + + + + + + + + "I never get invoked" + + + + + + + + + + + + + + + + + + decisionService_008() + + + + + + + + + + decision_008_3 = null + + + + + + + + "I never get invoked" + + + + + + + + + + + + + + + + + + decisionService_009(decision_009_3: "bar") + + + + + + + + + + "foo " + decision_009_3 + + + + + + + + "I never get invoked" + + + + + + + + + + + + + + + + + + decisionService_010(foo: "bar") + + + + + + + + + + "foo " + decision_010_3 + + + + + + + + "I never get invoked" + + + + + + + + + + + + + + + + + + + + + decisionService_011("A", "B", "C", "D") + + + + + + + + + + + + + + + + + + + inputData_011_1 + " " + inputData_011_2 + " " + decision_011_3 + " " + decision_011_4 + + + + + + + + "I never get invoked" + + + + + + + + "I never get invoked" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + decisionService_012(decision_012_3: "C", inputData_012_1: "A", decision_012_4: "D", inputData_012_2: "B") + + + + + + + + + + + + + + + + + + + inputData_012_1 + " " + inputData_012_2 + " " + decision_012_3 + " " + decision_012_4 + + + + + + + + "I never get invoked" + + + + + + + + "I never get invoked" + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - decisionService_013("A", "B") - - - - - - inputData_013_1 - - - - - - decision_013_3 - - - - - - - - - - - - - - - - inputData_013_1 + " " + decision_013_3 - - - - - - - "D" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - inputData_014_1 - - - - - - decision_014_3 - - - - - - decisionService_014("A", "B") - - - - - - - - - - - - - - - - inputData_014_1 + " " + decision_014_3 - - - - - - - "D" - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + decisionService_013("A", "B") + + + + + + inputData_013_1 + + + + + + decision_013_3 + + + + + + + + + + + + + + + + inputData_013_1 + " " + decision_013_3 + + + + + + + "D" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + inputData_014_1 + + + + + + decision_014_3 + + + + + + decisionService_014("A", "B") + + + + + + + + + + + + + + + + inputData_014_1 + " " + decision_014_3 + + + + + + + "D" + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0086-import.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0086-import.dmn index 616c604766a..11fe1f4cb71 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0086-import.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0086-import.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - - myimport.Say Hello(A Person) - - - - - - - - A Person.age - - - - - - - <=30 - - - normal greeting - - - - - - - - >30 - - - "Respectfully, "+normal greeting - - - - - - - - - - override greeting - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + myimport.Say Hello(A Person) + + + + + + + + A Person.age + + + + + + + <=30 + + + normal greeting + + + + + + + + >30 + + + "Respectfully, "+normal greeting + + + + + + + + + + override greeting + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0087-chapter-11-example.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0087-chapter-11-example.dmn index 2d4d8beea13..a8ef86df847 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0087-chapter-11-example.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0087-chapter-11-example.dmn @@ -1,4 +1,4 @@ - + - - - - string - - "DECLINE","BUREAU","THROUGH" - - - - string - - "INELIGIBLE","ELIGIBLE" - - - - string - - "FULL","MINI","NONE" - - - - string - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - number - - - string - - "S","M" - - - - string - - "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" - - - - boolean - - - - number - - - number - - - number - - - - - - boolean - - - number - - [0..999], null - - - - - string - - "DECLINE","REFER","ACCEPT" - - - - - string - - "STANDARD LOAN","SPECIAL LOAN" - - - - number - - - number - - - number - - - - - - - - - - - - - - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Bureau call type&nbsp;</span>table, passing the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter.</span></p> - - - - - - - - - - Bureau call type table - - - - - Pre-bureau risk category - - - - - - <p><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Strategy&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, unique-hit decision table deriving Strategy from&nbsp;</span>Eligibility and Bureau call type.</span></p> - - - - - - - - - - - Eligibility - - - "INELIGIBLE","ELIGIBLE" - - - - - Bureau call type - - - "FULL","MINI","NONE" - - - - - "DECLINE","BUREAU","THROUGH" - - - - - "INELIGIBLE" - - - - - - - "DECLINE" - - - - - "ELIGIBLE" - - - "FULL", "MINI" - - - "BUREAU" - - - - - "ELIGIBLE" - - - "NONE" - - - "THROUGH" - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility&nbsp;</span></strong><span lang="JA">decision logic invokes the Eligibility rules business&nbsp;</span>knowledge model, passing Applicant data.Age as the Age parameter, the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter, and the output of the Pre-bureau affordability decision as the Pre-Bureau Affordability parameter.</span></p> - - - - - - - - - - - - - - - - Eligibility rules - - - - - Applicant data.Age - - - - - - Pre-bureau risk category - - - - - - Pre-bureau affordability - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility rules&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Eligibility from Pre-Bureau Risk Category, Pre-Bureau Affordability and Age.</span></p> - - - - - - - - - Pre-Bureau Risk Category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - Pre-Bureau Affordability - - - - - Age - - - - - "INELIGIBLE","ELIGIBLE" - - - - - "DECLINE" - - - - - - - - - - - "INELIGIBLE" - - - - - - - - - false - - - - - - - "INELIGIBLE" - - - - - - - - - - - - - < 18 - - - "INELIGIBLE" - - - - - - - - - - - - - - - - - "ELIGIBLE" - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing Rules&nbsp;</span></strong><span lang="JA">decision logic defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Routing from Post-Bureau Risk Category, Post-Bureau Affordability, Bankrupt and Credit Score.</span></p> - - - - - - - - - - Post-bureau risk category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - Post-bureau affordability - - - - - Bankrupt - - - - - Credit score - - - null, [0..999] - - - - - "DECLINE","REFER","ACCEPT" - - - - - - - - - false - - - - - - - - - - - "DECLINE" - - - - - - - - - - - - - true - - - - - - - "DECLINE" - - - - - "HIGH" - - - - - - - - - - - - - - - "REFER" - - - - - - - - - - - - - - - - - < 580 - - - "REFER" - - - - - - - - - - - - - - - - - - - - - "ACCEPT" - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing&nbsp;</span></strong><span lang="JA">decision logic invokes the Routing rules business&nbsp;</span>knowledge model, passing Bureau data . Bankrupt as the Bankrupt parameter, Bureau data . CreditScore as the Credit Score parameter, the output of the Post-bureau risk category decision as the Post-Bureau Risk Category parameter, and the output of the Post-bureau affordability decision as the Post-Bureau Affordability parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Bankrupt and Credit Score parameters will be null.</span></p> - - - - - - - - - - - - - - - - Routing rules - - - - - Bureau data.Bankrupt - - - - - - Bureau data.CreditScore - - - - - - Post-bureau risk category - - - - - - Post-bureau affordability - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table deriving&nbsp;</span>Bureau Call Type from Pre-Bureau Risk Category.</span></p> - - - - - - - Pre-Bureau Risk Category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - "FULL","MINI","NONE" - - - - - "HIGH", "MEDIUM" - - - "FULL" - - - - - "LOW" - - - "MINI" - - - - - "VERY LOW", "DECLINE" - - - "NONE" - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"></span><span lang="JA">The&nbsp;</span><strong><span lang="JA">Credit contingency factor table&nbsp;</span></strong><span lang="JA"><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;">decision</span> logic defines a complete, unique-hit decision table&nbsp;</span>deriving Credit contingency factor from Risk Category.</p> + + + + string + + "DECLINE","BUREAU","THROUGH" + + + + string + + "INELIGIBLE","ELIGIBLE" + + + + string + + "FULL","MINI","NONE" + + + + string + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + number + + + string + + "S","M" + + + + string + + "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" + + + + boolean + + + + number + + + number + + + number + + + + + + boolean + + + number + + [0..999], null + + + + + string + + "DECLINE","REFER","ACCEPT" + + + + + string + + "STANDARD LOAN","SPECIAL LOAN" + + + + number + + + number + + + number + + + + + + + + + + + + + + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Bureau call type&nbsp;</span>table, passing the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter.</span></p> + + + + + + + + + + Bureau call type table + + + + + Pre-bureau risk category + + + + + + <p><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Strategy&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, unique-hit decision table deriving Strategy from&nbsp;</span>Eligibility and Bureau call type.</span></p> + + + + + + + + + + + Eligibility + + + "INELIGIBLE","ELIGIBLE" + + + + + Bureau call type + + + "FULL","MINI","NONE" + + + + + "DECLINE","BUREAU","THROUGH" + + + + + "INELIGIBLE" + + + - + + + "DECLINE" + + + + + "ELIGIBLE" + + + "FULL", "MINI" + + + "BUREAU" + + + + + "ELIGIBLE" + + + "NONE" + + + "THROUGH" + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility&nbsp;</span></strong><span lang="JA">decision logic invokes the Eligibility rules business&nbsp;</span>knowledge model, passing Applicant data.Age as the Age parameter, the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter, and the output of the Pre-bureau affordability decision as the Pre-Bureau Affordability parameter.</span></p> + + + + + + + + + + + + + + + + Eligibility rules + + + + + Applicant data.Age + + + + + + Pre-bureau risk category + + + + + + Pre-bureau affordability + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility rules&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Eligibility from Pre-Bureau Risk Category, Pre-Bureau Affordability and Age.</span></p> + + + + + + + + + Pre-Bureau Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + Pre-Bureau Affordability + + + + + Age + + + + + "INELIGIBLE","ELIGIBLE" + + + + + "DECLINE" + + + - + + + - + + + "INELIGIBLE" + + + + + - + + + false + + + - + + + "INELIGIBLE" + + + + + - + + + - + + + < 18 + + + "INELIGIBLE" + + + + + - + + + - + + + - + + + "ELIGIBLE" + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing Rules&nbsp;</span></strong><span lang="JA">decision logic defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Routing from Post-Bureau Risk Category, Post-Bureau Affordability, Bankrupt and Credit Score.</span></p> + + + + + + + + + + Post-bureau risk category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + Post-bureau affordability + + + + + Bankrupt + + + + + Credit score + + + null, [0..999] + + + + + "DECLINE","REFER","ACCEPT" + + + + + - + + + false + + + - + + + - + + + "DECLINE" + + + + + - + + + - + + + true + + + - + + + "DECLINE" + + + + + "HIGH" + + + - + + + - + + + - + + + "REFER" + + + + + - + + + - + + + - + + + < 580 + + + "REFER" + + + + + - + + + - + + + - + + + - + + + "ACCEPT" + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing&nbsp;</span></strong><span lang="JA">decision logic invokes the Routing rules business&nbsp;</span>knowledge model, passing Bureau data . Bankrupt as the Bankrupt parameter, Bureau data . CreditScore as the Credit Score parameter, the output of the Post-bureau risk category decision as the Post-Bureau Risk Category parameter, and the output of the Post-bureau affordability decision as the Post-Bureau Affordability parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Bankrupt and Credit Score parameters will be null.</span></p> + + + + + + + + + + + + + + + + Routing rules + + + + + Bureau data.Bankrupt + + + + + + Bureau data.CreditScore + + + + + + Post-bureau risk category + + + + + + Post-bureau affordability + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table deriving&nbsp;</span>Bureau Call Type from Pre-Bureau Risk Category.</span></p> + + + + + + + Pre-Bureau Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + "FULL","MINI","NONE" + + + + + "HIGH", "MEDIUM" + + + "FULL" + + + + + "LOW" + + + "MINI" + + + + + "VERY LOW", "DECLINE" + + + "NONE" + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"></span><span lang="JA">The&nbsp;</span><strong><span lang="JA">Credit contingency factor table&nbsp;</span></strong><span lang="JA"><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;">decision</span> logic defines a complete, unique-hit decision table&nbsp;</span>deriving Credit contingency factor from Risk Category.</p> <p>&nbsp;</p> - - - - - - - Risk Category - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - - "HIGH", "DECLINE" - - - 0.6 - - - - - "MEDIUM" - - - 0.7 - - - - - "LOW", "VERY LOW" - - - 0.8 - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Affordability calculation&nbsp;</span></strong><span lang="JA">decision logic defines a boxed function deriving Affordability from&nbsp;</span>Monthly Income, Monthly Repayments, Monthly Expenses and Required Monthly Installment. One step in this calculation derives Credit contingency factor by invoking the Credit contingency factor table business</span></p> - - - - - - - - - - - - Monthly Income - (Monthly Repayments + Monthly Expenses) - - - - - - - Credit contingency factor table - - - - - Risk Category - - - - - - - - if Disposable Income * Credit Contingency Factor > Required Monthly Installment + + + + + + + Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + + "HIGH", "DECLINE" + + + 0.6 + + + + + "MEDIUM" + + + 0.7 + + + + + "LOW", "VERY LOW" + + + 0.8 + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Affordability calculation&nbsp;</span></strong><span lang="JA">decision logic defines a boxed function deriving Affordability from&nbsp;</span>Monthly Income, Monthly Repayments, Monthly Expenses and Required Monthly Installment. One step in this calculation derives Credit contingency factor by invoking the Credit contingency factor table business</span></p> + + + + + + + + + + + + Monthly Income - (Monthly Repayments + Monthly Expenses) + + + + + + + Credit contingency factor table + + + + + Risk Category + + + + + + + + if Disposable Income * Credit Contingency Factor > Required Monthly Installment then true else false - - - - - Affordability - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Pre-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> - - - - - - - - - - - - - - - - Affordability calculation - - - - - Applicant data.Monthly.Income - - - - - - Applicant data.Monthly.Repayments - - - - - - Applicant data.Monthly.Expenses - - - - - - Pre-bureau risk category - - - - - - Required monthly installment - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Post-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> - - - - - - - - - - - - - - - - Affordability calculation - - - - - Applicant data.Monthly.Income - - - - - - Applicant data.Monthly.Repayments - - - - - - Applicant data.Monthly.Expenses - - - - - - Post-bureau risk category - - - - - - Required monthly installment - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category&nbsp;</span></strong><span lang="JA">decision logic invokes the Post-bureau&nbsp;</span>risk category business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter, Bureau data.CreditScore as the Credit Score parameter, and the output of the Application risk score decision as the Application Risk Score parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Credit Score parameter will be null.</span></p> - - - - - - - - - - - - - - - - Post-bureau risk category table - - - - - Applicant data.ExistingCustomer - - - - - - Bureau data.CreditScore - - - - - - Application risk score - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Post-Bureau Risk Category from Existing Customer, Application Risk Score and Credit Score.</span></p> - - - - - - - - - Existing Customer - - - - - Application Risk Score - - - - - Credit Score - - - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - false - - - < 120 - - - < 590 - - - "HIGH" - - - - - false - - - < 120 - - - [590..610] - - - "MEDIUM" - - - - - false - - - < 120 - - - > 610 - - - "LOW" - - - - - false - - - [120..130] - - - < 600 - - - "HIGH" - - - - - false - - - [120..130] - - - [600..625] - - - "MEDIUM" - - - - - false - - - [120..130] - - - > 625 - - - "LOW" - - - - - false - - - > 130 - - - - - - - "VERY LOW" - - - - - true - - - <= 100 - - - < 580 - - - "HIGH" - - - - - true - - - <= 100 - - - [580..600] - - - "MEDIUM" - - - - - true - - - <= 100 - - - > 600 - - - "LOW" - - - - - true - - - > 100 - - - < 590 - - - "HIGH" - - - - - true - - - > 100 - - - [590..615] - - - "MEDIUM" - - - - - true - - - > 100 - - - > 615 - - - "LOW" - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-Bureau Risk Category&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Pre-bureau&nbsp;</span>risk category table business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter and the output of the Application risk score decision as the Application Risk Score parameter.</span></p> - - - - - - - - - - - - - Pre-bureau risk category table - - - - - Applicant data.ExistingCustomer - - - - - - Application risk score - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Pre-bureau risk category from Existing Customer and Application Risk Score.</span></p> - - - - - - - - Existing Customer - - - - - Application Risk Score - - - - - "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" - - - - - false - - - < 100 - - - "HIGH" - - - - - false - - - [100..120) - - - "MEDIUM" - - - - - false - - - [120..130] - - - "LOW" - - - - - false - - - > 130 - - - "VERY LOW" - - - - - true - - - < 80 - - - "DECLINE" - - - - - true - - - [80..90) - - - "HIGH" - - - - - true - - - [90..110] - - - "MEDIUM" - - - - - true - - - > 110 - - - "LOW" - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application Risk Score&nbsp;</span></strong><span lang="JA">decision logic invokes the Application&nbsp;</span>risk score model business knowledge model, passing Applicant data.Age as the Age parameter, Applicant data.MaritalStatus as the Marital Status parameter and Applicant data.EmploymentStatus as the Employment Status parameter.</span></p> - - - - - - - - - - Application risk score model - - - - - Applicant data.Age - - - - - - Applicant data.MartitalStatus - - - - - - Applicant data.EmploymentStatus - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application risk score model&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, no-order multiple-hit table&nbsp;</span>with aggregation, deriving Application risk score from Age, Marital Status and Employment Status, as the sum of the Partial scores of all matching rows (this is therefore a predictive scorecard represented as a decision table).</span></p> - - - - - - - - - Age - - - [18..120] - - - - - Marital Status - - - "S","M" - - - - - Employment Status - - - "UNEMPLOYED","STUDENT","EMPLOYED","SELF-EMPLOYED" - - - - - - [18..22) - - - - - - - - - - - 32 - - - - - [22..26) - - - - - - - - - - - 35 - - - - - [26..36) - - - - - - - - - - - 40 - - - - - [36..50) - - - - - - - - - - - 43 - - - - - >=50 - - - - - - - - - - - 48 - - - - - - - - - "S" - - - - - - - 25 - - - - - - - - - "M" - - - - - - - 45 - - - - - - - - - - - - - "UNEMPLOYED" - - - 15 - - - - - - - - - - - - - "STUDENT" - - - 18 - - - - - - - - - - - - - "EMPLOYED" - - - 45 - - - - - - - - - - - - - "SELF-EMPLOYED" - - - 36 - - - - - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Required monthly installment&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Installment calculation business knowledge model, passing Requested product.ProductType as the Product Type parameter, Requested product.Rate as the Rate parameter, Requested product.Term as the Term parameter, and Requested product.Amount as the Amount parameter.</span></p> - - - - - - - - - - Installment calculation - - - - - Requested product.ProductType - - - - - - Requested product.Rate - - - - - - Requested product.Term - - - - - - Requested product.Amount - - - - - - - - - <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Installment calculation&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a boxed function deriving monthly installment&nbsp;</span>from Product Type, Rate, Term and Amount.</span></p> - - - - - - - - - - - if Product Type = "STANDARD LOAN" + + + + + Affordability + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Pre-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + + + + + + + + + + + + + + + + Affordability calculation + + + + + Applicant data.Monthly.Income + + + + + + Applicant data.Monthly.Repayments + + + + + + Applicant data.Monthly.Expenses + + + + + + Pre-bureau risk category + + + + + + Required monthly installment + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Post-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + + + + + + + + + + + + + + + + Affordability calculation + + + + + Applicant data.Monthly.Income + + + + + + Applicant data.Monthly.Repayments + + + + + + Applicant data.Monthly.Expenses + + + + + + Post-bureau risk category + + + + + + Required monthly installment + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category&nbsp;</span></strong><span lang="JA">decision logic invokes the Post-bureau&nbsp;</span>risk category business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter, Bureau data.CreditScore as the Credit Score parameter, and the output of the Application risk score decision as the Application Risk Score parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Credit Score parameter will be null.</span></p> + + + + + + + + + + + + + + + + Post-bureau risk category table + + + + + Applicant data.ExistingCustomer + + + + + + Bureau data.CreditScore + + + + + + Application risk score + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Post-Bureau Risk Category from Existing Customer, Application Risk Score and Credit Score.</span></p> + + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + Credit Score + + + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + false + + + < 120 + + + < 590 + + + "HIGH" + + + + + false + + + < 120 + + + [590..610] + + + "MEDIUM" + + + + + false + + + < 120 + + + > 610 + + + "LOW" + + + + + false + + + [120..130] + + + < 600 + + + "HIGH" + + + + + false + + + [120..130] + + + [600..625] + + + "MEDIUM" + + + + + false + + + [120..130] + + + > 625 + + + "LOW" + + + + + false + + + > 130 + + + - + + + "VERY LOW" + + + + + true + + + <= 100 + + + < 580 + + + "HIGH" + + + + + true + + + <= 100 + + + [580..600] + + + "MEDIUM" + + + + + true + + + <= 100 + + + > 600 + + + "LOW" + + + + + true + + + > 100 + + + < 590 + + + "HIGH" + + + + + true + + + > 100 + + + [590..615] + + + "MEDIUM" + + + + + true + + + > 100 + + + > 615 + + + "LOW" + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-Bureau Risk Category&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Pre-bureau&nbsp;</span>risk category table business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter and the output of the Application risk score decision as the Application Risk Score parameter.</span></p> + + + + + + + + + + + + + Pre-bureau risk category table + + + + + Applicant data.ExistingCustomer + + + + + + Application risk score + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Pre-bureau risk category from Existing Customer and Application Risk Score.</span></p> + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + false + + + < 100 + + + "HIGH" + + + + + false + + + [100..120) + + + "MEDIUM" + + + + + false + + + [120..130] + + + "LOW" + + + + + false + + + > 130 + + + "VERY LOW" + + + + + true + + + < 80 + + + "DECLINE" + + + + + true + + + [80..90) + + + "HIGH" + + + + + true + + + [90..110] + + + "MEDIUM" + + + + + true + + + > 110 + + + "LOW" + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application Risk Score&nbsp;</span></strong><span lang="JA">decision logic invokes the Application&nbsp;</span>risk score model business knowledge model, passing Applicant data.Age as the Age parameter, Applicant data.MaritalStatus as the Marital Status parameter and Applicant data.EmploymentStatus as the Employment Status parameter.</span></p> + + + + + + + + + + Application risk score model + + + + + Applicant data.Age + + + + + + Applicant data.MartitalStatus + + + + + + Applicant data.EmploymentStatus + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application risk score model&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, no-order multiple-hit table&nbsp;</span>with aggregation, deriving Application risk score from Age, Marital Status and Employment Status, as the sum of the Partial scores of all matching rows (this is therefore a predictive scorecard represented as a decision table).</span></p> + + + + + + + + + Age + + + [18..120] + + + + + Marital Status + + + "S","M" + + + + + Employment Status + + + "UNEMPLOYED","STUDENT","EMPLOYED","SELF-EMPLOYED" + + + + + + [18..22) + + + - + + + - + + + 32 + + + + + [22..26) + + + - + + + - + + + 35 + + + + + [26..36) + + + - + + + - + + + 40 + + + + + [36..50) + + + - + + + - + + + 43 + + + + + >=50 + + + - + + + - + + + 48 + + + + + - + + + "S" + + + - + + + 25 + + + + + - + + + "M" + + + - + + + 45 + + + + + - + + + - + + + "UNEMPLOYED" + + + 15 + + + + + - + + + - + + + "STUDENT" + + + 18 + + + + + - + + + - + + + "EMPLOYED" + + + 45 + + + + + - + + + - + + + "SELF-EMPLOYED" + + + 36 + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Required monthly installment&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Installment calculation business knowledge model, passing Requested product.ProductType as the Product Type parameter, Requested product.Rate as the Rate parameter, Requested product.Term as the Term parameter, and Requested product.Amount as the Amount parameter.</span></p> + + + + + + + + + + Installment calculation + + + + + Requested product.ProductType + + + + + + Requested product.Rate + + + + + + Requested product.Term + + + + + + Requested product.Amount + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Installment calculation&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a boxed function deriving monthly installment&nbsp;</span>from Product Type, Rate, Term and Amount.</span></p> + + + + + + + + + + + if Product Type = "STANDARD LOAN" then 20.00 else if Product Type = "SPECIAL LOAN" then 25.00 else null - - - - - - PMT(Rate, Term, Amount) - - - - - Monthly Repayment + Monthly Fee - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + PMT(Rate, Term, Amount) + + + + + Monthly Repayment + Monthly Fee + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0088-no-decision-logic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0088-no-decision-logic.dmn index d8f794f9083..351dc439fdc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0088-no-decision-logic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0088-no-decision-logic.dmn @@ -1,4 +1,4 @@ - + - - + + string @@ -26,9 +38,9 @@ - + - + @@ -36,7 +48,7 @@ Grade - + "A" @@ -88,48 +100,49 @@ - + - + - + - + - + - Student's name + " is " + Graduation DT + " with grade: " + Grade + " and evaluation: " + Teacher's Evaluation + Student's name + " is " + Graduation DT + " with grade: " + Grade + " and evaluation: " + Teacher's Evaluation - + - + - + - + - + - - - - - - + + + + + + - + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0089-nested-inputdata-imports.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0089-nested-inputdata-imports.dmn index df21d0ccbd3..7244de50379 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0089-nested-inputdata-imports.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0089-nested-inputdata-imports.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - "B: " + Model B.Evaluating Say Hello + "; B2: " + Model B2.Evaluating B2 Say Hello - - - \ No newline at end of file + + + + + + + + + + + + + "B: " + Model B.Evaluating Say Hello + "; B2: " + Model B2.Evaluating B2 Say Hello + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0090-feel-paths.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0090-feel-paths.dmn index a2880ffc090..f806a2a2a8f 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0090-feel-paths.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0090-feel-paths.dmn @@ -1,4 +1,4 @@ - + - - FEEL path and qualified names + + FEEL path and qualified names - - - - + + + + [{a: {b: 1}}, {a: {b: [2.1, 2.2]}}, {a: {b: 3}}, {a: {b: 4}}, {a: {b: 5}}].a.b = [{b: 1}, {b: [2.1, 2.2]}, {b: 3}, {b: 4}, {b: 5}].b - - + + - - - - + + + + [{b: 1}, {b: [2.1, 2.2]}, {b: 3}, {b: 4}, {b: 5}].b = [1, [2.1, 2.2], 3, 4, 5] - - - - - - - + + + + + + + [{a: {b: [1]}}, {a: {b: [2.1, 2.2]}}, {a: {b: [3]}}, {a: {b: [4, 5]}}].a.b = [{b: [1]}, {b: [2.1,2.2]}, {b: [3]}, {b: [4, 5]}].b - - + + - - - - + + + + [{b: [1]}, {b: [2.1,2.2]}, {b: [3]}, {b: [4, 5]}].b = [[1], [2.1, 2.2], [3], [4, 5]] - - - + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0100-feel-constants.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0100-feel-constants.dmn index 61c5addfa59..a04c34da90c 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0100-feel-constants.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0100-feel-constants.dmn @@ -1,4 +1,4 @@ - + - - - - - true - - - - - - false - - - - - - - - - - - - + + + + + true + + + + + + false + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0101-feel-constants.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0101-feel-constants.dmn index 610d97e3696..11cce434b08 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0101-feel-constants.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0101-feel-constants.dmn @@ -1,4 +1,4 @@ - + - - - - - .872 - - - - - - -.872 - - - - - - 50 - - - - - - -50 - - - - - - 125.4321987654 - - - - - - -125.4321987654 - - - - - - - - - - - - - - - - - - - - - - - - + + + + + .872 + + + + + + -.872 + + + + + + 50 + + + + + + -50 + + + + + + 125.4321987654 + + + + + + -125.4321987654 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0102-feel-constants.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0102-feel-constants.dmn index df2ca47108f..181d93b6c41 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0102-feel-constants.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0102-feel-constants.dmn @@ -1,4 +1,4 @@ - + - - - - - "foo bar" - - - - - - "šomeÚnicodeŠtriňg" - - - - - - "横綱" - - - - - - "thisIsSomeLongStringThatMustBeProcessedSoHopefullyThisTestPassWithItAndIMustWriteSomethingMoreSoItIsLongerAndLongerAndLongerAndLongerAndLongerTillItIsReallyLong" - - - - - - - - - - - - - - - - - - + + + + + "foo bar" + + + + + + "šomeÚnicodeŠtriňg" + + + + + + "横綱" + + + + + + "thisIsSomeLongStringThatMustBeProcessedSoHopefullyThisTestPassWithItAndIMustWriteSomethingMoreSoItIsLongerAndLongerAndLongerAndLongerAndLongerTillItIsReallyLong" + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0105-feel-math.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0105-feel-math.dmn index 73539c89fab..beaba6fc915 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0105-feel-math.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0105-feel-math.dmn @@ -1,4 +1,4 @@ - + - - - - - 10+5 - - - - - - -10+-5 - - - - - - (-10)+(-5) - - - - - - 10-5 - - - - - - -10--5 - - - - - - (-10)-(-5) - - - - - - (10+20)-(-5+3) - - - - - - 10*5 - - - - - - -10*-5 - - - - - - (-10)*(-5) - - - - - - (10+5)*(-5*3) - - - - - - 10/5 - - - - - - -10/-5 - - - - - - (-10)/(-5) - - - - - - (10+20)/(-5*3) - - - - - - (10+20)/0 - - - - - - 10**5 - - - - - - 10**-5 - - - - - - (5+2)**5 - - - - - - 5+2**5 - - - - - - 5+2**5+3 - - - - - - 5+2**(5+3) - - - - - - 10+null - - - - - - null + 10 - - - - - - 10 - null - - - - - - null - 10 - - - - - - 10 * null - - - - - - null * 10 - - - - - - 10 / null - - - - - - null / 10 - - - - - - 10 + 20 / -5 - 3 - - - - - - 10 + 20 / (-5 - 3) - - - - - - 1.2*10**3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + 10+5 + + + + + + -10+-5 + + + + + + (-10)+(-5) + + + + + + 10-5 + + + + + + -10--5 + + + + + + (-10)-(-5) + + + + + + (10+20)-(-5+3) + + + + + + 10*5 + + + + + + -10*-5 + + + + + + (-10)*(-5) + + + + + + (10+5)*(-5*3) + + + + + + 10/5 + + + + + + -10/-5 + + + + + + (-10)/(-5) + + + + + + (10+20)/(-5*3) + + + + + + (10+20)/0 + + + + + + 10**5 + + + + + + 10**-5 + + + + + + (5+2)**5 + + + + + + 5+2**5 + + + + + + 5+2**5+3 + + + + + + 5+2**(5+3) + + + + + + 10+null + + + + + + null + 10 + + + + + + 10 - null + + + + + + null - 10 + + + + + + 10 * null + + + + + + null * 10 + + + + + + 10 / null + + + + + + null / 10 + + + + + + 10 + 20 / -5 - 3 + + + + + + 10 + 20 / (-5 - 3) + + + + + + 1.2*10**3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0106-feel-ternary-logic.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0106-feel-ternary-logic.dmn index 565b691314f..f66ae4542e7 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0106-feel-ternary-logic.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0106-feel-ternary-logic.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - A and B - - - - - - - - - - - - A or B - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + A and B + + + + + + + + + + + + A or B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0107-feel-ternary-logic-not.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0107-feel-ternary-logic-not.dmn index 6376ad67127..82f89683aba 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0107-feel-ternary-logic-not.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0107-feel-ternary-logic-not.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - not(A) - - - - - - - - - - - - - - - - - + + + + + + + + + + + not(A) + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0108-first-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0108-first-hitpolicy.dmn index a63ddb5b073..a6ac198624e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0108-first-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0108-first-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - "Declined" - - - - - "Best", "Standard" - - - "Standard" - - - - - >=18 - - - "Medium" - - - true - - - "Approved" - - - "Best" - - - - - >=12 - - - "Medium" - - - true - - - "Approved" - - - "Standard" - - - - - <12 - - - "Low" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + "Declined" + + + + + "Best", "Standard" + + + "Standard" + + + + + >=18 + + + "Medium" + + + true + + + "Approved" + + + "Best" + + + + + >=12 + + + "Medium" + + + true + + + "Approved" + + + "Standard" + + + + + <12 + + + "Low" + + + true + + + "Declined" + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0109-ruleOrder-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0109-ruleOrder-hitpolicy.dmn index 51215cb7df1..53eca5fbb3f 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0109-ruleOrder-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0109-ruleOrder-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - - - - - string - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Declined" - - - - - "Standard" - - - - - >=18 - - - "Medium" - - - true - - - "Approved" - - - "Best" - - - - - >=12 - - - "Medium" - - - true - - - "Approved" - - - "Standard" - - - - - <12 - - - "Low" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + + string + + + + + string + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Declined" + + + + + "Standard" + + + + + >=18 + + + "Medium" + + + true + + + "Approved" + + + "Best" + + + + + >=12 + + + "Medium" + + + true + + + "Approved" + + + "Standard" + + + + + <12 + + + "Low" + + + true + + + "Declined" + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0110-outputOrder-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0110-outputOrder-hitpolicy.dmn index 5d460e2dfe4..71aeef85a33 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0110-outputOrder-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0110-outputOrder-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - "Approved", "Declined" - - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - "Basic" - - - - - <18 - - - - - - - - - - - "Declined" - - - "Standard" - - - - - - - - - "High" - - - - - - - "Approved" - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + "Approved", "Declined" + + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + "Basic" + + + + + <18 + + + - + + + - + + + "Declined" + + + "Standard" + + + + + - + + + "High" + + + - + + + "Approved" + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0111-first-hitpolicy-singleoutputcol.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0111-first-hitpolicy-singleoutputcol.dmn index e61234ea036..90da1e26667 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0111-first-hitpolicy-singleoutputcol.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0111-first-hitpolicy-singleoutputcol.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0112-ruleOrder-hitpolicy-singleinoutcol.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0112-ruleOrder-hitpolicy-singleinoutcol.dmn index 8f545b289d4..30d91921376 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0112-ruleOrder-hitpolicy-singleinoutcol.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0112-ruleOrder-hitpolicy-singleinoutcol.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - - - - string - - - - - - - - - - Age - - - - - - >=18 - - - "Best" - - - - - >=12 - - - "Standard" - - - - - <12 - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + + string + + + + string + + + + + + + + + + Age + + + + + + >=18 + + + "Best" + + + + + >=12 + + + "Standard" + + + + + <12 + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0113-outputOrder-hitpolicy-singleinoutcol.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0113-outputOrder-hitpolicy-singleinoutcol.dmn index 8a772bbf08a..a69a8735d9a 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0113-outputOrder-hitpolicy-singleinoutcol.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0113-outputOrder-hitpolicy-singleinoutcol.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - "Approved", "Declined" - - - - string - - - - string - - "Approved","Declined" - - - - - - - - - - - Age - - - - - "Approved","Declined" - - - - - >=18 - - - "Approved" - - - - - <18 - - - "Declined" - - - - - >=0 - - - "Approved" - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + "Approved", "Declined" + + + + string + + + + string + + "Approved","Declined" + + + + + + + + + + + Age + + + + + "Approved","Declined" + + + + + >=18 + + + "Approved" + + + + + <18 + + + "Declined" + + + + + >=0 + + + "Approved" + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0114-min-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0114-min-collect-hitpolicy.dmn index 909f6e250fb..2a923b8ddc1 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0114-min-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0114-min-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - NumOfYears - - - - - - >1 - - - 98.83 - - - - - >2 - - - 150.21 - - - - - >3 - - - 205.43 - - - - - >4 - - - 64.32 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + NumOfYears + + + + + + >1 + + + 98.83 + + + + + >2 + + + 150.21 + + + + + >3 + + + 205.43 + + + + + >4 + + + 64.32 + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0115-sum-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0115-sum-collect-hitpolicy.dmn index 236bec0ab51..eba010df6fe 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0115-sum-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0115-sum-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - NumOfYears - - - - - - >1 - - - 100 - - - - - >2 - - - 200 - - - - - >3 - - - 300 - - - - - >5 - - - 500 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + NumOfYears + + + + + + >1 + + + 100 + + + + + >2 + + + 200 + + + + + >3 + + + 300 + + + + + >5 + + + 500 + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0116-count-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0116-count-collect-hitpolicy.dmn index 6161e908c41..a64e5c7ac69 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0116-count-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0116-count-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - NumOfYears - - - - - - >1 - - - 100 - - - - - >2 - - - 200 - - - - - >3 - - - 300 - - - - - >5 - - - 500 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + NumOfYears + + + + + + >1 + + + 100 + + + + + >2 + + + 200 + + + + + >3 + + + 300 + + + + + >5 + + + 500 + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0117-multi-any-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0117-multi-any-hitpolicy.dmn index 6cda8d20a33..7a8582957ae 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0117-multi-any-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0117-multi-any-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - "Declined" - - - - - "Best", "Standard" - - - "Standard" - - - - - >=18 - - - "Low" - - - true - - - "Approved" - - - "Best" - - - - - >=18 - - - "Medium" - - - true - - - "Approved" - - - "Standard" - - - - - <18 - - - "Medium","Low" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - "High" - - - true - - - "Declined" - - - "Standard" - - - - - - - - - - - - - false - - - "Declined" - - - "Standard" - - - - - >=19 - - - "Low" - - - true - - - "Approved" - - - "Best" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + "Declined" + + + + + "Best", "Standard" + + + "Standard" + + + + + >=18 + + + "Low" + + + true + + + "Approved" + + + "Best" + + + + + >=18 + + + "Medium" + + + true + + + "Approved" + + + "Standard" + + + + + <18 + + + "Medium","Low" + + + true + + + "Declined" + + + "Standard" + + + + + - + + + "High" + + + true + + + "Declined" + + + "Standard" + + + + + - + + + - + + + false + + + "Declined" + + + "Standard" + + + + + >=19 + + + "Low" + + + true + + + "Approved" + + + "Best" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0118-multi-priority-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0118-multi-priority-hitpolicy.dmn index ee5bdded6d5..466972e07bb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0118-multi-priority-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0118-multi-priority-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - "Approved", "Declined" - - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - "Basic" - - - - - <18 - - - - - - - - - - - "Declined" - - - "Standard" - - - - - - - - - "High" - - - - - - - "Approved" - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + "Approved", "Declined" + + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + "Basic" + + + + + <18 + + + - + + + - + + + "Declined" + + + "Standard" + + + + + - + + + "High" + + + - + + + "Approved" + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0119-multi-collect-hitpolicy.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0119-multi-collect-hitpolicy.dmn index 73a07221681..54c2a143307 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0119-multi-collect-hitpolicy.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/0119-multi-collect-hitpolicy.dmn @@ -1,4 +1,4 @@ - + - - - - - string - - "Approved", "Declined" - - - - string - - - - - - - - - - - - - - - - - Age - - - - - RiskCategory - - - "High", "Low", "Medium" - - - - - isAffordable - - - - - "Approved", "Declined" - - - - - - >=18 - - - "Medium","Low" - - - true - - - "Approved" - - - "Basic" - - - - - <18 - - - - - - - - - - - "Declined" - - - "Standard" - - - - - - - - - "High" - - - - - - - "Approved" - - - "Standard" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + string + + "Approved", "Declined" + + + + string + + + + + + + + + + + + + + + + + Age + + + + + RiskCategory + + + "High", "Low", "Medium" + + + + + isAffordable + + + + + "Approved", "Declined" + + + + + + >=18 + + + "Medium","Low" + + + true + + + "Approved" + + + "Basic" + + + + + <18 + + + - + + + - + + + "Declined" + + + "Standard" + + + + + - + + + "High" + + + - + + + "Approved" + + + "Standard" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1100-feel-decimal-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1100-feel-decimal-function.dmn index 199166babb0..8ddecea9b63 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1100-feel-decimal-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1100-feel-decimal-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'decimal(n, scale)' in category numeric functions - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - number - - - Tests FEEL expression: 'decimal(1/3, 2)' and expects result: '0.33 (number)' - Result of FEEL expression 'decimal(1/3, 2)'? - 0.33 (number) - - - decimal(1/3, 2) - - - - Tests FEEL expression: 'decimal(1/3, 2.5)' and expects result: '0.33 (number)' - Result of FEEL expression 'decimal(1/3, 2.5)'? - 0.33 (number) - - - decimal(1/3, 2.5) - - - - Tests FEEL expression: 'decimal(1.5, 0)' and expects result: '2 (number)' - Result of FEEL expression 'decimal(1.5, 0)'? - 2 (number) - - - decimal(1.5, 0) - - - - Tests FEEL expression: 'decimal(2.5, 0)' and expects result: '2 (number)' - Result of FEEL expression 'decimal(2.5, 0)'? - 2 (number) - - - decimal(2.5, 0) - - - - Tests FEEL expression: 'decimal(0, 0)' and expects result: '0 (number)' - Result of FEEL expression 'decimal(0, 0)'? - 0 (number) - - - decimal(0, 0) - - - - Tests FEEL expression: 'decimal(0.0, 1)' and expects result: '0.0 (number)' - Result of FEEL expression 'decimal(0.0, 1)'? - 0.0 (number) - - - decimal(0.0, 1) - - - - Tests FEEL expression: 'decimal(0.515, 2)' and expects result: '0.52 (number)' - Result of FEEL expression 'decimal(0.515, 2)'? - 0.52 (number) - - - decimal(0.515, 2) - - - - Tests FEEL expression: 'decimal(65.123456, 6)' and expects result: '65.123456 (number)' - Result of FEEL expression 'decimal(65.123456, 6)'? - 65.123456 (number) - - - decimal(65.123456, 6) - - - - Tests FEEL expression: 'decimal(n:15/7,scale:3)' and expects result: '2.143 (number)' - Result of FEEL expression 'decimal(n:15/7,scale:3)'? - 2.143 (number) - - - decimal(n:15/7,scale:3) - - - - Tests FEEL expression: 'decimal(n:15/78*2,scale:3)' and expects result: '0.385 (number)' - Result of FEEL expression 'decimal(n:15/78*2,scale:3)'? - 0.385 (number) - - - decimal(n:15/78*2,scale:3) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'decimal(n, scale)' in category numeric functions + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + Tests FEEL expression: 'decimal(1/3, 2)' and expects result: '0.33 (number)' + Result of FEEL expression 'decimal(1/3, 2)'? + 0.33 (number) + + + decimal(1/3, 2) + + + + Tests FEEL expression: 'decimal(1/3, 2.5)' and expects result: '0.33 (number)' + Result of FEEL expression 'decimal(1/3, 2.5)'? + 0.33 (number) + + + decimal(1/3, 2.5) + + + + Tests FEEL expression: 'decimal(1.5, 0)' and expects result: '2 (number)' + Result of FEEL expression 'decimal(1.5, 0)'? + 2 (number) + + + decimal(1.5, 0) + + + + Tests FEEL expression: 'decimal(2.5, 0)' and expects result: '2 (number)' + Result of FEEL expression 'decimal(2.5, 0)'? + 2 (number) + + + decimal(2.5, 0) + + + + Tests FEEL expression: 'decimal(0, 0)' and expects result: '0 (number)' + Result of FEEL expression 'decimal(0, 0)'? + 0 (number) + + + decimal(0, 0) + + + + Tests FEEL expression: 'decimal(0.0, 1)' and expects result: '0.0 (number)' + Result of FEEL expression 'decimal(0.0, 1)'? + 0.0 (number) + + + decimal(0.0, 1) + + + + Tests FEEL expression: 'decimal(0.515, 2)' and expects result: '0.52 (number)' + Result of FEEL expression 'decimal(0.515, 2)'? + 0.52 (number) + + + decimal(0.515, 2) + + + + Tests FEEL expression: 'decimal(65.123456, 6)' and expects result: '65.123456 (number)' + Result of FEEL expression 'decimal(65.123456, 6)'? + 65.123456 (number) + + + decimal(65.123456, 6) + + + + Tests FEEL expression: 'decimal(n:15/7,scale:3)' and expects result: '2.143 (number)' + Result of FEEL expression 'decimal(n:15/7,scale:3)'? + 2.143 (number) + + + decimal(n:15/7,scale:3) + + + + Tests FEEL expression: 'decimal(n:15/78*2,scale:3)' and expects result: '0.385 (number)' + Result of FEEL expression 'decimal(n:15/78*2,scale:3)'? + 0.385 (number) + + + decimal(n:15/78*2,scale:3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1101-feel-floor-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1101-feel-floor-function.dmn index 8f51c72cdb7..ea1ad80fce8 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1101-feel-floor-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1101-feel-floor-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'floor(n)' in category numeric functions - - number - - - number - - - number - - - number - - - number - - - number - - - Tests FEEL expression: 'floor(1.5)' and expects result: '1 (number)' - Result of FEEL expression 'floor(1.5)'? - 1 (number) - - - floor(1.5) - - - - Tests FEEL expression: 'floor(-1.5)' and expects result: '-2 (number)' - Result of FEEL expression 'floor(-1.5)'? - -2 (number) - - - floor(-1.5) - - - - Tests FEEL expression: 'floor(--1)' and expects result: '1 (number)' - Result of FEEL expression 'floor(--1)'? - 1 (number) - - - floor(--1) - - - - Tests FEEL expression: 'floor(-5/2.3*5)' and expects result: '-11 (number)' - Result of FEEL expression 'floor(-5/2.3*5)'? - -11 (number) - - - floor(-5/2.3*5) - - - - Tests FEEL expression: 'floor(n:5.777)' and expects result: '5 (number)' - Result of FEEL expression 'floor(n:5.777)'? - 5 (number) - - - floor(n:5.777) - - - - Tests FEEL expression: 'floor(n:-.33333)' and expects result: '-1 (number)' - Result of FEEL expression 'floor(n:-.33333)'? - -1 (number) - - - floor(n:-.33333) - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'floor(n)' in category numeric functions + + number + + + number + + + number + + + number + + + number + + + number + + + Tests FEEL expression: 'floor(1.5)' and expects result: '1 (number)' + Result of FEEL expression 'floor(1.5)'? + 1 (number) + + + floor(1.5) + + + + Tests FEEL expression: 'floor(-1.5)' and expects result: '-2 (number)' + Result of FEEL expression 'floor(-1.5)'? + -2 (number) + + + floor(-1.5) + + + + Tests FEEL expression: 'floor(--1)' and expects result: '1 (number)' + Result of FEEL expression 'floor(--1)'? + 1 (number) + + + floor(--1) + + + + Tests FEEL expression: 'floor(-5/2.3*5)' and expects result: '-11 (number)' + Result of FEEL expression 'floor(-5/2.3*5)'? + -11 (number) + + + floor(-5/2.3*5) + + + + Tests FEEL expression: 'floor(n:5.777)' and expects result: '5 (number)' + Result of FEEL expression 'floor(n:5.777)'? + 5 (number) + + + floor(n:5.777) + + + + Tests FEEL expression: 'floor(n:-.33333)' and expects result: '-1 (number)' + Result of FEEL expression 'floor(n:-.33333)'? + -1 (number) + + + floor(n:-.33333) + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1102-feel-ceiling-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1102-feel-ceiling-function.dmn index 568a28efb02..6ff62b11bf9 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1102-feel-ceiling-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1102-feel-ceiling-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'ceiling(n)' in category numeric functions - - number - - - number - - - number - - - number - - - number - - - number - - - Tests FEEL expression: 'ceiling(1.5)' and expects result: '2 (number)' - Result of FEEL expression 'ceiling(1.5)'? - 2 (number) - - - ceiling(1.5) - - - - Tests FEEL expression: 'ceiling(-1.5)' and expects result: '-1 (number)' - Result of FEEL expression 'ceiling(-1.5)'? - -1 (number) - - - ceiling(-1.5) - - - - Tests FEEL expression: 'ceiling(--1)' and expects result: '1 (number)' - Result of FEEL expression 'ceiling(--1)'? - 1 (number) - - - ceiling(--1) - - - - Tests FEEL expression: 'ceiling(-5/2.3*5)' and expects result: '-10 (number)' - Result of FEEL expression 'ceiling(-5/2.3*5)'? - -10 (number) - - - ceiling(-5/2.3*5) - - - - Tests FEEL expression: 'ceiling(n:5.777)' and expects result: '6 (number)' - Result of FEEL expression 'ceiling(n:5.777)'? - 6 (number) - - - ceiling(n:5.777) - - - - Tests FEEL expression: 'ceiling(n:-.33333)' and expects result: '0 (number)' - Result of FEEL expression 'ceiling(n:-.33333)'? - 0 (number) - - - ceiling(n:-.33333) - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'ceiling(n)' in category numeric functions + + number + + + number + + + number + + + number + + + number + + + number + + + Tests FEEL expression: 'ceiling(1.5)' and expects result: '2 (number)' + Result of FEEL expression 'ceiling(1.5)'? + 2 (number) + + + ceiling(1.5) + + + + Tests FEEL expression: 'ceiling(-1.5)' and expects result: '-1 (number)' + Result of FEEL expression 'ceiling(-1.5)'? + -1 (number) + + + ceiling(-1.5) + + + + Tests FEEL expression: 'ceiling(--1)' and expects result: '1 (number)' + Result of FEEL expression 'ceiling(--1)'? + 1 (number) + + + ceiling(--1) + + + + Tests FEEL expression: 'ceiling(-5/2.3*5)' and expects result: '-10 (number)' + Result of FEEL expression 'ceiling(-5/2.3*5)'? + -10 (number) + + + ceiling(-5/2.3*5) + + + + Tests FEEL expression: 'ceiling(n:5.777)' and expects result: '6 (number)' + Result of FEEL expression 'ceiling(n:5.777)'? + 6 (number) + + + ceiling(n:5.777) + + + + Tests FEEL expression: 'ceiling(n:-.33333)' and expects result: '0 (number)' + Result of FEEL expression 'ceiling(n:-.33333)'? + 0 (number) + + + ceiling(n:-.33333) + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1103-feel-substring-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1103-feel-substring-function.dmn index 9184a8c4abe..d98c1734002 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1103-feel-substring-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1103-feel-substring-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'substring(string, start, position, length?) in category string functions - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - Tests FEEL expression: 'substring("f",1)' and expects result: '"f" (string)' - Result of FEEL expression 'substring("f",1)'? - "f" (string) - - - substring("f",1) - - - - Tests FEEL expression: 'substring("f",1,1)' and expects result: '"f" (string)' - Result of FEEL expression 'substring("f",1,1)'? - "f" (string) - - - substring("f",1,1) - - - - Tests FEEL expression: 'substring("foobar",6)' and expects result: '"r" (string)' - Result of FEEL expression 'substring("foobar",6)'? - "r" (string) - - - substring("foobar",6) - - - - Tests FEEL expression: 'substring("foobar",1,6)' and expects result: '"foobar" (string)' - Result of FEEL expression 'substring("foobar",1,6)'? - "foobar" (string) - - - substring("foobar",1,6) - - - - Tests FEEL expression: 'substring("foobar",3)' and expects result: '"obar" (string)' - Result of FEEL expression 'substring("foobar",3)'? - "obar" (string) - - - substring("foobar",3) - - - - Tests FEEL expression: 'substring("foobar",3,3)' and expects result: '"oba" (string)' - Result of FEEL expression 'substring("foobar",3,3)'? - "oba" (string) - - - substring("foobar",3,3) - - - - Tests FEEL expression: 'substring("foobar",-2,1)' and expects result: '"a" (string)' - Result of FEEL expression 'substring("foobar",-2,1)'? - "a" (string) - - - substring("foobar",-2,1) - - - - Tests FEEL expression: 'substring("foob r",-2,1)' and expects result: '" " (string)' - Result of FEEL expression 'substring("foob r",-2,1)'? - " " (string) - - - substring("foob r",-2,1) - - - - Tests FEEL expression: 'substring("foobar",-6,6)' and expects result: '"foobar" (string)' - Result of FEEL expression 'substring("foobar",-6,6)'? - "foobar" (string) - - - substring("foobar",-6,6) - - - - Tests FEEL expression: 'substring("foobar",3,3.8)' and expects result: '"oba" (string)' - Result of FEEL expression 'substring("foobar",3,3.8)'? - "oba" (string) - - - substring("foobar",3,3.8) - - - - Tests FEEL expression: 'substring(string:"foobar",start position :3)' and expects result: '"obar" (string)' - Result of FEEL expression 'substring(string:"foobar",start position :3)'? - "obar" (string) - - - substring(string:"foobar",start position :3) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'substring(string, start, position, length?) in category string functions + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + Tests FEEL expression: 'substring("f",1)' and expects result: '"f" (string)' + Result of FEEL expression 'substring("f",1)'? + "f" (string) + + + substring("f",1) + + + + Tests FEEL expression: 'substring("f",1,1)' and expects result: '"f" (string)' + Result of FEEL expression 'substring("f",1,1)'? + "f" (string) + + + substring("f",1,1) + + + + Tests FEEL expression: 'substring("foobar",6)' and expects result: '"r" (string)' + Result of FEEL expression 'substring("foobar",6)'? + "r" (string) + + + substring("foobar",6) + + + + Tests FEEL expression: 'substring("foobar",1,6)' and expects result: '"foobar" (string)' + Result of FEEL expression 'substring("foobar",1,6)'? + "foobar" (string) + + + substring("foobar",1,6) + + + + Tests FEEL expression: 'substring("foobar",3)' and expects result: '"obar" (string)' + Result of FEEL expression 'substring("foobar",3)'? + "obar" (string) + + + substring("foobar",3) + + + + Tests FEEL expression: 'substring("foobar",3,3)' and expects result: '"oba" (string)' + Result of FEEL expression 'substring("foobar",3,3)'? + "oba" (string) + + + substring("foobar",3,3) + + + + Tests FEEL expression: 'substring("foobar",-2,1)' and expects result: '"a" (string)' + Result of FEEL expression 'substring("foobar",-2,1)'? + "a" (string) + + + substring("foobar",-2,1) + + + + Tests FEEL expression: 'substring("foob r",-2,1)' and expects result: '" " (string)' + Result of FEEL expression 'substring("foob r",-2,1)'? + " " (string) + + + substring("foob r",-2,1) + + + + Tests FEEL expression: 'substring("foobar",-6,6)' and expects result: '"foobar" (string)' + Result of FEEL expression 'substring("foobar",-6,6)'? + "foobar" (string) + + + substring("foobar",-6,6) + + + + Tests FEEL expression: 'substring("foobar",3,3.8)' and expects result: '"oba" (string)' + Result of FEEL expression 'substring("foobar",3,3.8)'? + "oba" (string) + + + substring("foobar",3,3.8) + + + + Tests FEEL expression: 'substring(string:"foobar",start position :3)' and expects result: '"obar" (string)' + Result of FEEL expression 'substring(string:"foobar",start position :3)'? + "obar" (string) + + + substring(string:"foobar",start position :3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1104-feel-string-length-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1104-feel-string-length-function.dmn index 9eac70f16f8..bb4a8209697 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1104-feel-string-length-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1104-feel-string-length-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'string length(string)' in category string functions - - number - - - number - - - number - - - number - - - number - - - number - - - Tests FEEL expression: 'string length("")' and expects result: '0 (number)' - Result of FEEL expression 'string length("")'? - 0 (number) - - - string length("") - - - - Tests FEEL expression: 'string length("a")' and expects result: '1 (number)' - Result of FEEL expression 'string length("a")'? - 1 (number) - - - string length("a") - - - - Tests FEEL expression: 'string length("abc")' and expects result: '3 (number)' - Result of FEEL expression 'string length("abc")'? - 3 (number) - - - string length("abc") - - - - Tests FEEL expression: 'string length(string:"xyz123")' and expects result: '6 (number)' - Result of FEEL expression 'string length(string:"xyz123")'? - 6 (number) - - - string length(string:"xyz123") - - - - Tests FEEL expression: 'string length(string:"aaaaa dddd")' and expects result: '10 (number)' - Result of FEEL expression 'string length(string:"aaaaa dddd")'? - 10 (number) - - - string length(string:"aaaaa dddd") - - - - Tests FEEL expression: 'string length(string:"aaaaa dddd ")' and expects result: '11 (number)' - Result of FEEL expression 'string length(string:"aaaaa dddd ")'? - 11 (number) - - - string length(string:"aaaaa dddd ") - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'string length(string)' in category string functions + + number + + + number + + + number + + + number + + + number + + + number + + + Tests FEEL expression: 'string length("")' and expects result: '0 (number)' + Result of FEEL expression 'string length("")'? + 0 (number) + + + string length("") + + + + Tests FEEL expression: 'string length("a")' and expects result: '1 (number)' + Result of FEEL expression 'string length("a")'? + 1 (number) + + + string length("a") + + + + Tests FEEL expression: 'string length("abc")' and expects result: '3 (number)' + Result of FEEL expression 'string length("abc")'? + 3 (number) + + + string length("abc") + + + + Tests FEEL expression: 'string length(string:"xyz123")' and expects result: '6 (number)' + Result of FEEL expression 'string length(string:"xyz123")'? + 6 (number) + + + string length(string:"xyz123") + + + + Tests FEEL expression: 'string length(string:"aaaaa dddd")' and expects result: '10 (number)' + Result of FEEL expression 'string length(string:"aaaaa dddd")'? + 10 (number) + + + string length(string:"aaaaa dddd") + + + + Tests FEEL expression: 'string length(string:"aaaaa dddd ")' and expects result: '11 (number)' + Result of FEEL expression 'string length(string:"aaaaa dddd ")'? + 11 (number) + + + string length(string:"aaaaa dddd ") + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1105-feel-upper-case-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1105-feel-upper-case-function.dmn index 17865ebba82..e3c0f998de2 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1105-feel-upper-case-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1105-feel-upper-case-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'upper case(string) in category string functions - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - Tests FEEL expression: 'upper case("a")' and expects result: '"A" (string)' - Result of FEEL expression 'upper case("a")'? - "A" (string) - - - upper case("a") - - - - Tests FEEL expression: 'upper case("abc")' and expects result: '"ABC" (string)' - Result of FEEL expression 'upper case("abc")'? - "ABC" (string) - - - upper case("abc") - - - - Tests FEEL expression: 'upper case("")' and expects result: '"" (string)' - Result of FEEL expression 'upper case("")'? - "" (string) - - - upper case("") - - - - Tests FEEL expression: 'upper case("1")' and expects result: '"1" (string)' - Result of FEEL expression 'upper case("1")'? - "1" (string) - - - upper case("1") - - - - Tests FEEL expression: 'upper case("?@{")' and expects result: '"?@{" (string)' - Result of FEEL expression 'upper case("?@{")'? - "?@{" (string) - - - upper case("?@{") - - - - Tests FEEL expression: 'upper case(string:"AbDcF")' and expects result: '"ABDCF" (string)' - Result of FEEL expression 'upper case(string:"AbDcF")'? - "ABDCF" (string) - - - upper case(string:"AbDcF") - - - - Tests FEEL expression: 'upper case(string:"xyZ ")' and expects result: '"XYZ " (string)' - Result of FEEL expression 'upper case(string:"xyZ ")'? - "XYZ " (string) - - - upper case(string:"xyZ ") - - - - Tests FEEL expression: 'upper case(string:"123ABC")' and expects result: '"123ABC" (string)' - Result of FEEL expression 'upper case(string:"123ABC")'? - "123ABC" (string) - - - upper case(string:"123ABC") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'upper case(string) in category string functions + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + Tests FEEL expression: 'upper case("a")' and expects result: '"A" (string)' + Result of FEEL expression 'upper case("a")'? + "A" (string) + + + upper case("a") + + + + Tests FEEL expression: 'upper case("abc")' and expects result: '"ABC" (string)' + Result of FEEL expression 'upper case("abc")'? + "ABC" (string) + + + upper case("abc") + + + + Tests FEEL expression: 'upper case("")' and expects result: '"" (string)' + Result of FEEL expression 'upper case("")'? + "" (string) + + + upper case("") + + + + Tests FEEL expression: 'upper case("1")' and expects result: '"1" (string)' + Result of FEEL expression 'upper case("1")'? + "1" (string) + + + upper case("1") + + + + Tests FEEL expression: 'upper case("?@{")' and expects result: '"?@{" (string)' + Result of FEEL expression 'upper case("?@{")'? + "?@{" (string) + + + upper case("?@{") + + + + Tests FEEL expression: 'upper case(string:"AbDcF")' and expects result: '"ABDCF" (string)' + Result of FEEL expression 'upper case(string:"AbDcF")'? + "ABDCF" (string) + + + upper case(string:"AbDcF") + + + + Tests FEEL expression: 'upper case(string:"xyZ ")' and expects result: '"XYZ " (string)' + Result of FEEL expression 'upper case(string:"xyZ ")'? + "XYZ " (string) + + + upper case(string:"xyZ ") + + + + Tests FEEL expression: 'upper case(string:"123ABC")' and expects result: '"123ABC" (string)' + Result of FEEL expression 'upper case(string:"123ABC")'? + "123ABC" (string) + + + upper case(string:"123ABC") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1106-feel-lower-case-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1106-feel-lower-case-function.dmn index b2f28b5929b..a79d04b121f 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1106-feel-lower-case-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1106-feel-lower-case-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'lower case(string)' in category string functions - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - Tests FEEL expression: 'lower case("A")' and expects result: '"a" (string)' - Result of FEEL expression 'lower case("A")'? - "a" (string) - - - lower case("A") - - - - Tests FEEL expression: 'lower case("ABC")' and expects result: '"abc" (string)' - Result of FEEL expression 'lower case("ABC")'? - "abc" (string) - - - lower case("ABC") - - - - Tests FEEL expression: 'lower case("abc")' and expects result: '"abc" (string)' - Result of FEEL expression 'lower case("abc")'? - "abc" (string) - - - lower case("abc") - - - - Tests FEEL expression: 'lower case("aBc4")' and expects result: '"abc4" (string)' - Result of FEEL expression 'lower case("aBc4")'? - "abc4" (string) - - - lower case("aBc4") - - - - Tests FEEL expression: 'lower case("")' and expects result: '"" (string)' - Result of FEEL expression 'lower case("")'? - "" (string) - - - lower case("") - - - - Tests FEEL expression: 'lower case("?@{")' and expects result: '"?@{" (string)' - Result of FEEL expression 'lower case("?@{")'? - "?@{" (string) - - - lower case("?@{") - - - - Tests FEEL expression: 'lower case(string:"AbDcF")' and expects result: '"abdcf" (string)' - Result of FEEL expression 'lower case(string:"AbDcF")'? - "abdcf" (string) - - - lower case(string:"AbDcF") - - - - Tests FEEL expression: 'lower case(string:"xyZ ")' and expects result: '"xyz " (string)' - Result of FEEL expression 'lower case(string:"xyZ ")'? - "xyz " (string) - - - lower case(string:"xyZ ") - - - - Tests FEEL expression: 'lower case(string:"123ABC")' and expects result: '"123abc" (string)' - Result of FEEL expression 'lower case(string:"123ABC")'? - "123abc" (string) - - - lower case(string:"123ABC") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'lower case(string)' in category string functions + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + Tests FEEL expression: 'lower case("A")' and expects result: '"a" (string)' + Result of FEEL expression 'lower case("A")'? + "a" (string) + + + lower case("A") + + + + Tests FEEL expression: 'lower case("ABC")' and expects result: '"abc" (string)' + Result of FEEL expression 'lower case("ABC")'? + "abc" (string) + + + lower case("ABC") + + + + Tests FEEL expression: 'lower case("abc")' and expects result: '"abc" (string)' + Result of FEEL expression 'lower case("abc")'? + "abc" (string) + + + lower case("abc") + + + + Tests FEEL expression: 'lower case("aBc4")' and expects result: '"abc4" (string)' + Result of FEEL expression 'lower case("aBc4")'? + "abc4" (string) + + + lower case("aBc4") + + + + Tests FEEL expression: 'lower case("")' and expects result: '"" (string)' + Result of FEEL expression 'lower case("")'? + "" (string) + + + lower case("") + + + + Tests FEEL expression: 'lower case("?@{")' and expects result: '"?@{" (string)' + Result of FEEL expression 'lower case("?@{")'? + "?@{" (string) + + + lower case("?@{") + + + + Tests FEEL expression: 'lower case(string:"AbDcF")' and expects result: '"abdcf" (string)' + Result of FEEL expression 'lower case(string:"AbDcF")'? + "abdcf" (string) + + + lower case(string:"AbDcF") + + + + Tests FEEL expression: 'lower case(string:"xyZ ")' and expects result: '"xyz " (string)' + Result of FEEL expression 'lower case(string:"xyZ ")'? + "xyz " (string) + + + lower case(string:"xyZ ") + + + + Tests FEEL expression: 'lower case(string:"123ABC")' and expects result: '"123abc" (string)' + Result of FEEL expression 'lower case(string:"123ABC")'? + "123abc" (string) + + + lower case(string:"123ABC") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1107-feel-substring-before-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1107-feel-substring-before-function.dmn index 95b3896a89c..afe41179463 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1107-feel-substring-before-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1107-feel-substring-before-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'substring before(string, match) in category string functions - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - Tests FEEL expression: 'substring before("foobar","bar")' and expects result: '"foo" (string)' - Result of FEEL expression 'substring before("foobar","bar")'? - "foo" (string) - - - substring before("foobar","bar") - - - - Tests FEEL expression: 'substring before("foobar","o")' and expects result: '"f" (string)' - Result of FEEL expression 'substring before("foobar","o")'? - "f" (string) - - - substring before("foobar","o") - - - - Tests FEEL expression: 'substring before("foobar","x")' and expects result: '"" (string)' - Result of FEEL expression 'substring before("foobar","x")'? - "" (string) - - - substring before("foobar","x") - - - - Tests FEEL expression: 'substring before("","")' and expects result: '"" (string)' - Result of FEEL expression 'substring before("","")'? - "" (string) - - - substring before("","") - - - - Tests FEEL expression: 'substring before("abc","")' and expects result: '"" (string)' - Result of FEEL expression 'substring before("abc","")'? - "" (string) - - - substring before("abc","") - - - - Tests FEEL expression: 'substring before("abc","a")' and expects result: '"" (string)' - Result of FEEL expression 'substring before("abc","a")'? - "" (string) - - - substring before("abc","a") - - - - Tests FEEL expression: 'substring before("abc","c")' and expects result: '"ab" (string)' - Result of FEEL expression 'substring before("abc","c")'? - "ab" (string) - - - substring before("abc","c") - - - - Tests FEEL expression: 'substring before(string:"foobar",match:"bar")' and expects result: '"foo" (string)' - Result of FEEL expression 'substring before(string:"foobar",match:"bar")'? - "foo" (string) - - - substring before(string:"foobar",match:"bar") - - - - Tests FEEL expression: 'substring before(string:"foobar",match:"b")' and expects result: '"foo" (string)' - Result of FEEL expression 'substring before(string:"foobar",match:"b")'? - "foo" (string) - - - substring before(string:"foobar",match:"b") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'substring before(string, match) in category string functions + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + Tests FEEL expression: 'substring before("foobar","bar")' and expects result: '"foo" (string)' + Result of FEEL expression 'substring before("foobar","bar")'? + "foo" (string) + + + substring before("foobar","bar") + + + + Tests FEEL expression: 'substring before("foobar","o")' and expects result: '"f" (string)' + Result of FEEL expression 'substring before("foobar","o")'? + "f" (string) + + + substring before("foobar","o") + + + + Tests FEEL expression: 'substring before("foobar","x")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("foobar","x")'? + "" (string) + + + substring before("foobar","x") + + + + Tests FEEL expression: 'substring before("","")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("","")'? + "" (string) + + + substring before("","") + + + + Tests FEEL expression: 'substring before("abc","")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("abc","")'? + "" (string) + + + substring before("abc","") + + + + Tests FEEL expression: 'substring before("abc","a")' and expects result: '"" (string)' + Result of FEEL expression 'substring before("abc","a")'? + "" (string) + + + substring before("abc","a") + + + + Tests FEEL expression: 'substring before("abc","c")' and expects result: '"ab" (string)' + Result of FEEL expression 'substring before("abc","c")'? + "ab" (string) + + + substring before("abc","c") + + + + Tests FEEL expression: 'substring before(string:"foobar",match:"bar")' and expects result: '"foo" (string)' + Result of FEEL expression 'substring before(string:"foobar",match:"bar")'? + "foo" (string) + + + substring before(string:"foobar",match:"bar") + + + + Tests FEEL expression: 'substring before(string:"foobar",match:"b")' and expects result: '"foo" (string)' + Result of FEEL expression 'substring before(string:"foobar",match:"b")'? + "foo" (string) + + + substring before(string:"foobar",match:"b") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1108-feel-substring-after-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1108-feel-substring-after-function.dmn index 45600cf10e9..d632398b5eb 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1108-feel-substring-after-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1108-feel-substring-after-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'substring after(string, match) in category string functions - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - Tests FEEL expression: 'substring after("foobar","ob")' and expects result: '"ar" (string)' - Result of FEEL expression 'substring after("foobar","ob")'? - "ar" (string) - - - substring after("foobar","ob") - - - - Tests FEEL expression: 'substring after("foobar","o")' and expects result: '"obar" (string)' - Result of FEEL expression 'substring after("foobar","o")'? - "obar" (string) - - - substring after("foobar","o") - - - - Tests FEEL expression: 'substring after("foobar","x")' and expects result: '"" (string)' - Result of FEEL expression 'substring after("foobar","x")'? - "" (string) - - - substring after("foobar","x") - - - - Tests FEEL expression: 'substring after("","")' and expects result: '"" (string)' - Result of FEEL expression 'substring after("","")'? - "" (string) - - - substring after("","") - - - - Tests FEEL expression: 'substring after("","a")' and expects result: '"" (string)' - Result of FEEL expression 'substring after("","a")'? - "" (string) - - - substring after("","a") - - - - Tests FEEL expression: 'substring after("abc","")' and expects result: '"abc" (string)' - Result of FEEL expression 'substring after("abc","")'? - "abc" (string) - - - substring after("abc","") - - - - Tests FEEL expression: 'substring after("abc","c")' and expects result: '"" (string)' - Result of FEEL expression 'substring after("abc","c")'? - "" (string) - - - substring after("abc","c") - - - - Tests FEEL expression: 'substring after("abc","a")' and expects result: '"bc" (string)' - Result of FEEL expression 'substring after("abc","a")'? - "bc" (string) - - - substring after("abc","a") - - - - Tests FEEL expression: 'substring after(string:"foobar",match:"ob")' and expects result: '"ar" (string)' - Result of FEEL expression 'substring after(string:"foobar",match:"ob")'? - "ar" (string) - - - substring after(string:"foobar",match:"ob") - - - - Tests FEEL expression: 'substring after(string:"foobar",match:"b")' and expects result: '"ar" (string)' - Result of FEEL expression 'substring after(string:"foobar",match:"b")'? - "ar" (string) - - - substring after(string:"foobar",match:"b") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'substring after(string, match) in category string functions + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + Tests FEEL expression: 'substring after("foobar","ob")' and expects result: '"ar" (string)' + Result of FEEL expression 'substring after("foobar","ob")'? + "ar" (string) + + + substring after("foobar","ob") + + + + Tests FEEL expression: 'substring after("foobar","o")' and expects result: '"obar" (string)' + Result of FEEL expression 'substring after("foobar","o")'? + "obar" (string) + + + substring after("foobar","o") + + + + Tests FEEL expression: 'substring after("foobar","x")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("foobar","x")'? + "" (string) + + + substring after("foobar","x") + + + + Tests FEEL expression: 'substring after("","")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("","")'? + "" (string) + + + substring after("","") + + + + Tests FEEL expression: 'substring after("","a")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("","a")'? + "" (string) + + + substring after("","a") + + + + Tests FEEL expression: 'substring after("abc","")' and expects result: '"abc" (string)' + Result of FEEL expression 'substring after("abc","")'? + "abc" (string) + + + substring after("abc","") + + + + Tests FEEL expression: 'substring after("abc","c")' and expects result: '"" (string)' + Result of FEEL expression 'substring after("abc","c")'? + "" (string) + + + substring after("abc","c") + + + + Tests FEEL expression: 'substring after("abc","a")' and expects result: '"bc" (string)' + Result of FEEL expression 'substring after("abc","a")'? + "bc" (string) + + + substring after("abc","a") + + + + Tests FEEL expression: 'substring after(string:"foobar",match:"ob")' and expects result: '"ar" (string)' + Result of FEEL expression 'substring after(string:"foobar",match:"ob")'? + "ar" (string) + + + substring after(string:"foobar",match:"ob") + + + + Tests FEEL expression: 'substring after(string:"foobar",match:"b")' and expects result: '"ar" (string)' + Result of FEEL expression 'substring after(string:"foobar",match:"b")'? + "ar" (string) + + + substring after(string:"foobar",match:"b") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1109-feel-replace-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1109-feel-replace-function.dmn index a6002b4850a..ad3d98f6e5d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1109-feel-replace-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1109-feel-replace-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'replace(input, pattern, replacement, flags?)' in category string functions - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - string - - - Tests FEEL expression: 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")' and expects result: '"[1=ab][2=]cd" (string)' - Result of FEEL expression 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")'? - "[1=ab][2=]cd" (string) - - - replace("abcd","(ab)|(a)", "[1=$1][2=$2]") - - - - Tests FEEL expression: 'replace("a","[b-z]","#")' and expects result: '"a" (string)' - Result of FEEL expression 'replace("a","[b-z]","#")'? - "a" (string) - - - replace("a","[b-z]","#") - - - - Tests FEEL expression: 'replace("a","[a-z]","#")' and expects result: '"#" (string)' - Result of FEEL expression 'replace("a","[a-z]","#")'? - "#" (string) - - - replace("a","[a-z]","#") - - - - Tests FEEL expression: 'replace("abc","def","#")' and expects result: '"abc" (string)' - Result of FEEL expression 'replace("abc","def","#")'? - "abc" (string) - - - replace("abc","def","#") - - - - Tests FEEL expression: 'replace("abc","e","#")' and expects result: '"abc" (string)' - Result of FEEL expression 'replace("abc","e","#")'? - "abc" (string) - - - replace("abc","e","#") - - - - Tests FEEL expression: 'replace("foobar","^fo*b*","#")' and expects result: '"#ar" (string)' - Result of FEEL expression 'replace("foobar","^fo*b*","#")'? - "#ar" (string) - - - replace("foobar","^fo*b*","#") - - - - Tests FEEL expression: 'replace("abc",".^[d-z]","#")' and expects result: '"abc" (string)' - Result of FEEL expression 'replace("abc",".^[d-z]","#")'? - "abc" (string) - - - replace("abc",".^[d-z]","#") - - - - Tests FEEL expression: 'replace("abracadabra","bra","*")' and expects result: '"a*cada*" (string)' - Result of FEEL expression 'replace("abracadabra","bra","*")'? - "a*cada*" (string) - - - replace("abracadabra","bra","*") - - - - Tests FEEL expression: 'replace("abracadabra","a.*a","*")' and expects result: '"*" (string)' - Result of FEEL expression 'replace("abracadabra","a.*a","*")'? - "*" (string) - - - replace("abracadabra","a.*a","*") - - - - Tests FEEL expression: 'replace("abracadabra","a.*?a","*")' and expects result: '"*c*bra" (string)' - Result of FEEL expression 'replace("abracadabra","a.*?a","*")'? - "*c*bra" (string) - - - replace("abracadabra","a.*?a","*") - - - - Tests FEEL expression: 'replace("abracadabra","a","")' and expects result: '"brcdbr" (string)' - Result of FEEL expression 'replace("abracadabra","a","")'? - "brcdbr" (string) - - - replace("abracadabra","a","") - - - - Tests FEEL expression: 'replace("abracadabra","a(.)","a$1$1")' and expects result: '"abbraccaddabbra" (string)' - Result of FEEL expression 'replace("abracadabra","a(.)","a$1$1")'? - "abbraccaddabbra" (string) - - - replace("abracadabra","a(.)","a$1$1") - - - - Tests FEEL expression: 'replace("AAAA","A+","b")' and expects result: '"b" (string)' - Result of FEEL expression 'replace("AAAA","A+","b")'? - "b" (string) - - - replace("AAAA","A+","b") - - - - Tests FEEL expression: 'replace("AAAA","A+?","b")' and expects result: '"bbbb" (string)' - Result of FEEL expression 'replace("AAAA","A+?","b")'? - "bbbb" (string) - - - replace("AAAA","A+?","b") - - - - Tests FEEL expression: 'replace("darted","^(.*?)d(.*)$","$1c$2")' and expects result: '"carted" (string)' - Result of FEEL expression 'replace("darted","^(.*?)d(.*)$","$1c$2")'? - "carted" (string) - - - replace("darted","^(.*?)d(.*)$","$1c$2") - - - - Tests FEEL expression: 'replace("reluctant","r.*?t","X")' and expects result: '"Xant" (string)' - Result of FEEL expression 'replace("reluctant","r.*?t","X")'? - "Xant" (string) - - - replace("reluctant","r.*?t","X") - - - - Tests FEEL expression: 'replace("0123456789","(\d{3})(\d{3})(\d{4})","($1) $2-$3")' and expects result: '"(012) 345-6789" (string)' - Result of FEEL expression 'replace("0123456789","(\d{3})(\d{3})(\d{4})","($1) $2-$3")'? - "(012) 345-6789" (string) - - - replace("0123456789","(\d{3})(\d{3})(\d{4})","($1) $2-$3") - - - - Tests FEEL expression: 'replace("facetiously","[iouy]","[$0]")' and expects result: '"facet[i][o][u]sl[y]" (string)' - Result of FEEL expression 'replace("facetiously","[iouy]","[$0]")'? - "facet[i][o][u]sl[y]" (string) - - - replace("facetiously","[iouy]","[$0]") - - - - Tests FEEL expression: 'replace("abc","[a-z]","#","")' and expects result: '"###" (string)' - Result of FEEL expression 'replace("abc","[a-z]","#","")'? - "###" (string) - - - replace("abc","[a-z]","#","") - - - - Tests FEEL expression: 'replace("a.b.c.","[a-z]","#","s")' and expects result: '"#.#.#." (string)' - Result of FEEL expression 'replace("a.b.c.","[a-z]","#","s")'? - "#.#.#." (string) - - - replace("a.b.c.","[a-z]","#","s") - - - - Tests FEEL expression: 'replace("abc","[A-Z]","#","i")' and expects result: '"###" (string)' - Result of FEEL expression 'replace("abc","[A-Z]","#","i")'? - "###" (string) - - - replace("abc","[A-Z]","#","i") - - - - Tests FEEL expression: 'replace("abc","[a-z]","#","s")' and expects result: '"###" (string)' - Result of FEEL expression 'replace("abc","[a-z]","#","s")'? - "###" (string) - - - replace("abc","[a-z]","#","s") - - - - Tests FEEL expression: 'replace("a b c d ","[a-z]","#","x")' and expects result: '"# # # # " (string)' - Result of FEEL expression 'replace("a b c d ","[a-z]","#","x")'? - "# # # # " (string) - - - replace("a b c d ","[a-z]","#","x") - - - - Tests FEEL expression: 'replace("abc",".^[d-z]*","smix")' and expects result: '"abc" (string)' - Result of FEEL expression 'replace("abc",".^[d-z]*","smix")'? - "abc" (string) - - - replace("abc",".^[d-z]*","smix") - - - - Tests FEEL expression: 'replace(input:"abc",pattern:"[a-z]",replacement:"#")' and expects result: '"###" (string)' - Result of FEEL expression 'replace(input:"abc",pattern:"[a-z]",replacement:"#")'? - "###" (string) - - - replace(input:"abc",pattern:"[a-z]",replacement:"#") - - - - Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")' and expects result: '"abc" (string)' - Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")'? - "abc" (string) - - - replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"") - - - - Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")' and expects result: '"###" (string)' - Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")'? - "###" (string) - - - replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i") - - - - Tests FEEL expression: 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")' and expects result: '"abc" (string)' - Result of FEEL expression 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")'? - "abc" (string) - - - replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'replace(input, pattern, replacement, flags?)' in category string functions + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + Tests FEEL expression: 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")' and expects result: '"[1=ab][2=]cd" (string)' + Result of FEEL expression 'replace("abcd","(ab)|(a)", "[1=$1][2=$2]")'? + "[1=ab][2=]cd" (string) + + + replace("abcd","(ab)|(a)", "[1=$1][2=$2]") + + + + Tests FEEL expression: 'replace("a","[b-z]","#")' and expects result: '"a" (string)' + Result of FEEL expression 'replace("a","[b-z]","#")'? + "a" (string) + + + replace("a","[b-z]","#") + + + + Tests FEEL expression: 'replace("a","[a-z]","#")' and expects result: '"#" (string)' + Result of FEEL expression 'replace("a","[a-z]","#")'? + "#" (string) + + + replace("a","[a-z]","#") + + + + Tests FEEL expression: 'replace("abc","def","#")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc","def","#")'? + "abc" (string) + + + replace("abc","def","#") + + + + Tests FEEL expression: 'replace("abc","e","#")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc","e","#")'? + "abc" (string) + + + replace("abc","e","#") + + + + Tests FEEL expression: 'replace("foobar","^fo*b*","#")' and expects result: '"#ar" (string)' + Result of FEEL expression 'replace("foobar","^fo*b*","#")'? + "#ar" (string) + + + replace("foobar","^fo*b*","#") + + + + Tests FEEL expression: 'replace("abc",".^[d-z]","#")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc",".^[d-z]","#")'? + "abc" (string) + + + replace("abc",".^[d-z]","#") + + + + Tests FEEL expression: 'replace("abracadabra","bra","*")' and expects result: '"a*cada*" (string)' + Result of FEEL expression 'replace("abracadabra","bra","*")'? + "a*cada*" (string) + + + replace("abracadabra","bra","*") + + + + Tests FEEL expression: 'replace("abracadabra","a.*a","*")' and expects result: '"*" (string)' + Result of FEEL expression 'replace("abracadabra","a.*a","*")'? + "*" (string) + + + replace("abracadabra","a.*a","*") + + + + Tests FEEL expression: 'replace("abracadabra","a.*?a","*")' and expects result: '"*c*bra" (string)' + Result of FEEL expression 'replace("abracadabra","a.*?a","*")'? + "*c*bra" (string) + + + replace("abracadabra","a.*?a","*") + + + + Tests FEEL expression: 'replace("abracadabra","a","")' and expects result: '"brcdbr" (string)' + Result of FEEL expression 'replace("abracadabra","a","")'? + "brcdbr" (string) + + + replace("abracadabra","a","") + + + + Tests FEEL expression: 'replace("abracadabra","a(.)","a$1$1")' and expects result: '"abbraccaddabbra" (string)' + Result of FEEL expression 'replace("abracadabra","a(.)","a$1$1")'? + "abbraccaddabbra" (string) + + + replace("abracadabra","a(.)","a$1$1") + + + + Tests FEEL expression: 'replace("AAAA","A+","b")' and expects result: '"b" (string)' + Result of FEEL expression 'replace("AAAA","A+","b")'? + "b" (string) + + + replace("AAAA","A+","b") + + + + Tests FEEL expression: 'replace("AAAA","A+?","b")' and expects result: '"bbbb" (string)' + Result of FEEL expression 'replace("AAAA","A+?","b")'? + "bbbb" (string) + + + replace("AAAA","A+?","b") + + + + Tests FEEL expression: 'replace("darted","^(.*?)d(.*)$","$1c$2")' and expects result: '"carted" (string)' + Result of FEEL expression 'replace("darted","^(.*?)d(.*)$","$1c$2")'? + "carted" (string) + + + replace("darted","^(.*?)d(.*)$","$1c$2") + + + + Tests FEEL expression: 'replace("reluctant","r.*?t","X")' and expects result: '"Xant" (string)' + Result of FEEL expression 'replace("reluctant","r.*?t","X")'? + "Xant" (string) + + + replace("reluctant","r.*?t","X") + + + + Tests FEEL expression: 'replace("0123456789","(\d{3})(\d{3})(\d{4})","($1) $2-$3")' and expects result: '"(012) 345-6789" (string)' + Result of FEEL expression 'replace("0123456789","(\d{3})(\d{3})(\d{4})","($1) $2-$3")'? + "(012) 345-6789" (string) + + + replace("0123456789","(\d{3})(\d{3})(\d{4})","($1) $2-$3") + + + + Tests FEEL expression: 'replace("facetiously","[iouy]","[$0]")' and expects result: '"facet[i][o][u]sl[y]" (string)' + Result of FEEL expression 'replace("facetiously","[iouy]","[$0]")'? + "facet[i][o][u]sl[y]" (string) + + + replace("facetiously","[iouy]","[$0]") + + + + Tests FEEL expression: 'replace("abc","[a-z]","#","")' and expects result: '"###" (string)' + Result of FEEL expression 'replace("abc","[a-z]","#","")'? + "###" (string) + + + replace("abc","[a-z]","#","") + + + + Tests FEEL expression: 'replace("a.b.c.","[a-z]","#","s")' and expects result: '"#.#.#." (string)' + Result of FEEL expression 'replace("a.b.c.","[a-z]","#","s")'? + "#.#.#." (string) + + + replace("a.b.c.","[a-z]","#","s") + + + + Tests FEEL expression: 'replace("abc","[A-Z]","#","i")' and expects result: '"###" (string)' + Result of FEEL expression 'replace("abc","[A-Z]","#","i")'? + "###" (string) + + + replace("abc","[A-Z]","#","i") + + + + Tests FEEL expression: 'replace("abc","[a-z]","#","s")' and expects result: '"###" (string)' + Result of FEEL expression 'replace("abc","[a-z]","#","s")'? + "###" (string) + + + replace("abc","[a-z]","#","s") + + + + Tests FEEL expression: 'replace("a b c d ","[a-z]","#","x")' and expects result: '"# # # # " (string)' + Result of FEEL expression 'replace("a b c d ","[a-z]","#","x")'? + "# # # # " (string) + + + replace("a b c d ","[a-z]","#","x") + + + + Tests FEEL expression: 'replace("abc",".^[d-z]*","smix")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace("abc",".^[d-z]*","smix")'? + "abc" (string) + + + replace("abc",".^[d-z]*","smix") + + + + Tests FEEL expression: 'replace(input:"abc",pattern:"[a-z]",replacement:"#")' and expects result: '"###" (string)' + Result of FEEL expression 'replace(input:"abc",pattern:"[a-z]",replacement:"#")'? + "###" (string) + + + replace(input:"abc",pattern:"[a-z]",replacement:"#") + + + + Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"")'? + "abc" (string) + + + replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"") + + + + Tests FEEL expression: 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")' and expects result: '"###" (string)' + Result of FEEL expression 'replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i")'? + "###" (string) + + + replace(input:"abc",pattern:"[A-Z]",replacement:"#",flags:"i") + + + + Tests FEEL expression: 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")' and expects result: '"abc" (string)' + Result of FEEL expression 'replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix")'? + "abc" (string) + + + replace(input:"abc",pattern:".^[d-z]*",replacement:"#",flags:"smix") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1110-feel-contains-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1110-feel-contains-function.dmn index e06052a6209..fca7c2e3e77 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1110-feel-contains-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1110-feel-contains-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'contains(string, match)' in category string functions - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - boolean - - - Tests FEEL expression: 'contains(null,null)' and expects result: 'null (boolean)' - Result of FEEL expression 'contains(null,null)'? - null (boolean) - - - contains(null,null) - - - - Tests FEEL expression: 'contains(null,"bar")' and expects result: 'null (boolean)' - Result of FEEL expression 'contains(null,"bar")'? - null (boolean) - - - contains(null,"bar") - - - - Tests FEEL expression: 'contains("bar",null)' and expects result: 'null (boolean)' - Result of FEEL expression 'contains("bar",null)'? - null (boolean) - - - contains("bar",null) - - - - Tests FEEL expression: 'contains("foobar","bar")' and expects result: 'true (boolean)' - Result of FEEL expression 'contains("foobar","bar")'? - true (boolean) - - - contains("foobar","bar") - - - - Tests FEEL expression: 'contains("foobar","o")' and expects result: 'true (boolean)' - Result of FEEL expression 'contains("foobar","o")'? - true (boolean) - - - contains("foobar","o") - - - - Tests FEEL expression: 'contains("abc","")' and expects result: 'true (boolean)' - Result of FEEL expression 'contains("abc","")'? - true (boolean) - - - contains("abc","") - - - - Tests FEEL expression: 'contains("","ab")' and expects result: 'false (boolean)' - Result of FEEL expression 'contains("","ab")'? - false (boolean) - - - contains("","ab") - - - - Tests FEEL expression: 'contains("","")' and expects result: 'true (boolean)' - Result of FEEL expression 'contains("","")'? - true (boolean) - - - contains("","") - - - - Tests FEEL expression: 'contains(string:"foobar",match:"bar")' and expects result: 'true (boolean)' - Result of FEEL expression 'contains(string:"foobar",match:"bar")'? - true (boolean) - - - contains(string:"foobar",match:"bar") - - - - Tests FEEL expression: 'contains(string:"foobar",match:"b")' and expects result: 'true (boolean)' - Result of FEEL expression 'contains(string:"foobar",match:"b")'? - true (boolean) - - - contains(string:"foobar",match:"b") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'contains(string, match)' in category string functions + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + boolean + + + Tests FEEL expression: 'contains(null,null)' and expects result: 'null (boolean)' + Result of FEEL expression 'contains(null,null)'? + null (boolean) + + + contains(null,null) + + + + Tests FEEL expression: 'contains(null,"bar")' and expects result: 'null (boolean)' + Result of FEEL expression 'contains(null,"bar")'? + null (boolean) + + + contains(null,"bar") + + + + Tests FEEL expression: 'contains("bar",null)' and expects result: 'null (boolean)' + Result of FEEL expression 'contains("bar",null)'? + null (boolean) + + + contains("bar",null) + + + + Tests FEEL expression: 'contains("foobar","bar")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains("foobar","bar")'? + true (boolean) + + + contains("foobar","bar") + + + + Tests FEEL expression: 'contains("foobar","o")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains("foobar","o")'? + true (boolean) + + + contains("foobar","o") + + + + Tests FEEL expression: 'contains("abc","")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains("abc","")'? + true (boolean) + + + contains("abc","") + + + + Tests FEEL expression: 'contains("","ab")' and expects result: 'false (boolean)' + Result of FEEL expression 'contains("","ab")'? + false (boolean) + + + contains("","ab") + + + + Tests FEEL expression: 'contains("","")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains("","")'? + true (boolean) + + + contains("","") + + + + Tests FEEL expression: 'contains(string:"foobar",match:"bar")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains(string:"foobar",match:"bar")'? + true (boolean) + + + contains(string:"foobar",match:"bar") + + + + Tests FEEL expression: 'contains(string:"foobar",match:"b")' and expects result: 'true (boolean)' + Result of FEEL expression 'contains(string:"foobar",match:"b")'? + true (boolean) + + + contains(string:"foobar",match:"b") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1115-feel-date-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1115-feel-date-function.dmn index 168ab820cb4..b88bd7b2cd8 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1115-feel-date-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1115-feel-date-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'date(from [string])', 'date(from [date and time])' and 'date(year,month,day)' in category conversion functions - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - string - - - string - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - string - - - string - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - date - - - Tests FEEL expression: 'date(null)' and expects result: 'null (date)' - Result of FEEL expression 'date(null)'? - null (date) - - - date(null) - - - - Tests FEEL expression: 'date(null,null)' and expects result: 'null (date)' - Result of FEEL expression 'date(null,null)'? - null (date) - - - date(null,null) - - - - Tests FEEL expression: 'date(null,2,1)' and expects result: 'null (date)' - Result of FEEL expression 'date(null,2,1)'? - null (date) - - - date(null,2,1) - - - - Tests FEEL expression: 'date(2017,null,1)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,null,1)'? - null (date) - - - date(2017,null,1) - - - - Tests FEEL expression: 'date(2017,1,null)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,1,null)'? - null (date) - - - date(2017,1,null) - - - - Tests FEEL expression: 'date(null,null,1)' and expects result: 'null (date)' - Result of FEEL expression 'date(null,null,1)'? - null (date) - - - date(null,null,1) - - - - Tests FEEL expression: 'date(null,02,null)' and expects result: 'null (date)' - Result of FEEL expression 'date(null,02,null)'? - null (date) - - - date(null,02,null) - - - - Tests FEEL expression: 'date(2017,null,null)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,null,null)'? - null (date) - - - date(2017,null,null) - - - - Tests FEEL expression: 'date(null,null,null)' and expects result: 'null (date)' - Result of FEEL expression 'date(null,null,null)'? - null (date) - - - date(null,null,null) - - - - Tests FEEL expression: 'date()' and expects result: 'null (date)' - Result of FEEL expression 'date()'? - null (date) - - - date() - - - - Tests FEEL expression: 'date("2017-12-31")' and expects result: '2017-12-31 (date)' - Result of FEEL expression 'date("2017-12-31")'? - 2017-12-31 (date) - - - date("2017-12-31") - - - - Tests FEEL expression: 'date("2017-01-01")' and expects result: '2017-01-01 (date)' - Result of FEEL expression 'date("2017-01-01")'? - 2017-01-01 (date) - - - date("2017-01-01") - - - - Tests FEEL expression: 'date("-2017-12-31")' and expects result: '-2017-12-31 (date)' - Result of FEEL expression 'date("-2017-12-31")'? - -2017-12-31 (date) - - - date("-2017-12-31") - - - - Tests FEEL expression: 'date("-2017-01-01")' and expects result: '-2017-01-01 (date)' - Result of FEEL expression 'date("-2017-01-01")'? - -2017-01-01 (date) - - - date("-2017-01-01") - - - - Tests FEEL expression: 'string(date("999999999-12-31"))' and expects result: '"999999999-12-31" (string)' - Result of FEEL expression 'string(date("999999999-12-31"))'? - "999999999-12-31" (string) - - - string(date("999999999-12-31")) - - - - Tests FEEL expression: 'string(date("-999999999-12-31"))' and expects result: '"-999999999-12-31" (string)' - Result of FEEL expression 'string(date("-999999999-12-31"))'? - "-999999999-12-31" (string) - - - string(date("-999999999-12-31")) - - - - Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00"))' and expects result: '2017-08-14 (date)' - Result of FEEL expression 'date(date and time("2017-08-14T14:25:00"))'? - 2017-08-14 (date) - - - date(date and time("2017-08-14T14:25:00")) - - - - Tests FEEL expression: 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))' and expects result: '2017-08-14 (date)' - Result of FEEL expression 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))'? - 2017-08-14 (date) - - - date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00"))) - - - - Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00.123456789"))' and expects result: '2017-08-14 (date)' - Result of FEEL expression 'date(date and time("2017-08-14T14:25:00.123456789"))'? - 2017-08-14 (date) - - - date(date and time("2017-08-14T14:25:00.123456789")) - - - - Tests FEEL expression: 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))' and expects result: '2017-09-03 (date)' - Result of FEEL expression 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))'? - 2017-09-03 (date) - - - date(date and time("2017-09-03T09:45:30@Europe/Paris")) - - - - Tests FEEL expression: 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))' and expects result: '2017-09-06 (date)' - Result of FEEL expression 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))'? - 2017-09-06 (date) - - - date(date and time("2017-09-06T09:45:30@Asia/Dhaka")) - - - - Tests FEEL expression: 'date(date and time("2012-12-25T11:00:00Z"))' and expects result: '2012-12-25 (date)' - Result of FEEL expression 'date(date and time("2012-12-25T11:00:00Z"))'? - 2012-12-25 (date) - - - date(date and time("2012-12-25T11:00:00Z")) - - - - Tests FEEL expression: 'date(date and time("2017-08-03T10:15:30+01:00"))' and expects result: '2017-08-03 (date)' - Result of FEEL expression 'date(date and time("2017-08-03T10:15:30+01:00"))'? - 2017-08-03 (date) - - - date(date and time("2017-08-03T10:15:30+01:00")) - - - - Tests FEEL expression: 'date(date("2017-10-11"))' and expects result: '2017-10-11 (date)' - Result of FEEL expression 'date(date("2017-10-11"))'? - 2017-10-11 (date) - - - date(date("2017-10-11")) - - - - Tests FEEL expression: 'date(2017,12,31)' and expects result: '2017-12-31 (date)' - Result of FEEL expression 'date(2017,12,31)'? - 2017-12-31 (date) - - - date(2017,12,31) - - - - Tests FEEL expression: 'date(2017,01,01)' and expects result: '2017-01-01 (date)' - Result of FEEL expression 'date(2017,01,01)'? - 2017-01-01 (date) - - - date(2017,01,01) - - - - Tests FEEL expression: 'date(-2017,12,31)' and expects result: '-2017-12-31 (date)' - Result of FEEL expression 'date(-2017,12,31)'? - -2017-12-31 (date) - - - date(-2017,12,31) - - - - Tests FEEL expression: 'date(-2017,01,01)' and expects result: '-2017-01-01 (date)' - Result of FEEL expression 'date(-2017,01,01)'? - -2017-01-01 (date) - - - date(-2017,01,01) - - - - Tests FEEL expression: 'string(date(999999999,12,31))' and expects result: '"999999999-12-31" (string)' - Result of FEEL expression 'string(date(999999999,12,31))'? - "999999999-12-31" (string) - - - string(date(999999999,12,31)) - - - - Tests FEEL expression: 'string(date(-999999999,12,31))' and expects result: '"-999999999-12-31" (string)' - Result of FEEL expression 'string(date(-999999999,12,31))'? - "-999999999-12-31" (string) - - - string(date(-999999999,12,31)) - - - - Tests FEEL expression: 'date("2012-12-25T")' and expects result: 'null (date)' - Result of FEEL expression 'date("2012-12-25T")'? - null (date) - - - date("2012-12-25T") - - - - Tests FEEL expression: 'date("")' and expects result: 'null (date)' - Result of FEEL expression 'date("")'? - null (date) - - - date("") - - - - Tests FEEL expression: 'date("2012/12/25")' and expects result: 'null (date)' - Result of FEEL expression 'date("2012/12/25")'? - null (date) - - - date("2012/12/25") - - - - Tests FEEL expression: 'date("0000-12-25T")' and expects result: 'null (date)' - Result of FEEL expression 'date("0000-12-25T")'? - null (date) - - - date("0000-12-25T") - - - - Tests FEEL expression: 'date("9999999999-12-25")' and expects result: 'null (date)' - Result of FEEL expression 'date("9999999999-12-25")'? - null (date) - - - date("9999999999-12-25") - - - - Tests FEEL expression: 'date("2017-13-10")' and expects result: 'null (date)' - Result of FEEL expression 'date("2017-13-10")'? - null (date) - - - date("2017-13-10") - - - - Tests FEEL expression: 'date("2017-12-32")' and expects result: 'null (date)' - Result of FEEL expression 'date("2017-12-32")'? - null (date) - - - date("2017-12-32") - - - - Tests FEEL expression: 'date("998-12-31")' and expects result: 'null (date)' - Result of FEEL expression 'date("998-12-31")'? - null (date) - - - date("998-12-31") - - - - Tests FEEL expression: 'date("01211-12-31")' and expects result: 'null (date)' - Result of FEEL expression 'date("01211-12-31")'? - null (date) - - - date("01211-12-31") - - - - Tests FEEL expression: 'date("2012T-12-2511:00:00Z")' and expects result: 'null (date)' - Result of FEEL expression 'date("2012T-12-2511:00:00Z")'? - null (date) - - - date("2012T-12-2511:00:00Z") - - - - Tests FEEL expression: 'date("+2012-12-02")' and expects result: 'null (date)' - Result of FEEL expression 'date("+2012-12-02")'? - null (date) - - - date("+2012-12-02") - - - - Tests FEEL expression: 'date(2017,13,31)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,13,31)'? - null (date) - - - date(2017,13,31) - - - - Tests FEEL expression: 'date(2017,12,32)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,12,32)'? - null (date) - - - date(2017,12,32) - - - - Tests FEEL expression: 'date(2017,-8,2)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,-8,2)'? - null (date) - - - date(2017,-8,2) - - - - Tests FEEL expression: 'date(2017,8,-2)' and expects result: 'null (date)' - Result of FEEL expression 'date(2017,8,-2)'? - null (date) - - - date(2017,8,-2) - - - - Tests FEEL expression: 'date(-1000999999,12,01)' and expects result: 'null (date)' - Result of FEEL expression 'date(-1000999999,12,01)'? - null (date) - - - date(-1000999999,12,01) - - - - Tests FEEL expression: 'date(1000999999,12,32)' and expects result: 'null (date)' - Result of FEEL expression 'date(1000999999,12,32)'? - null (date) - - - date(1000999999,12,32) - - - - Tests FEEL expression: 'date(1)' and expects result: 'null (date)' - Result of FEEL expression 'date(1)'? - null (date) - - - date(1) - - - - Tests FEEL expression: 'date([])' and expects result: 'null (date)' - Result of FEEL expression 'date([])'? - null (date) - - - date([]) - - - - Tests FEEL expression: 'date(from:"2012-12-25")' and expects result: '2012-12-25 (date)' - Result of FEEL expression 'date(from:"2012-12-25")'? - 2012-12-25 (date) - - - date(from:"2012-12-25") - - - - Tests FEEL expression: 'date(from:date and time("2017-08-30T10:25:00"))' and expects result: '2017-08-30 (date)' - Result of FEEL expression 'date(from:date and time("2017-08-30T10:25:00"))'? - 2017-08-30 (date) - - - date(from:date and time("2017-08-30T10:25:00")) - - - - Tests FEEL expression: 'date(year:2017,month:08,day:30)' and expects result: '2017-08-30 (date)' - Result of FEEL expression 'date(year:2017,month:08,day:30)'? - 2017-08-30 (date) - - - date(year:2017,month:08,day:30) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'date(from [string])', 'date(from [date and time])' and 'date(year,month,day)' in category conversion functions + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + string + + + string + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + string + + + string + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + date + + + Tests FEEL expression: 'date(null)' and expects result: 'null (date)' + Result of FEEL expression 'date(null)'? + null (date) + + + date(null) + + + + Tests FEEL expression: 'date(null,null)' and expects result: 'null (date)' + Result of FEEL expression 'date(null,null)'? + null (date) + + + date(null,null) + + + + Tests FEEL expression: 'date(null,2,1)' and expects result: 'null (date)' + Result of FEEL expression 'date(null,2,1)'? + null (date) + + + date(null,2,1) + + + + Tests FEEL expression: 'date(2017,null,1)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,null,1)'? + null (date) + + + date(2017,null,1) + + + + Tests FEEL expression: 'date(2017,1,null)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,1,null)'? + null (date) + + + date(2017,1,null) + + + + Tests FEEL expression: 'date(null,null,1)' and expects result: 'null (date)' + Result of FEEL expression 'date(null,null,1)'? + null (date) + + + date(null,null,1) + + + + Tests FEEL expression: 'date(null,02,null)' and expects result: 'null (date)' + Result of FEEL expression 'date(null,02,null)'? + null (date) + + + date(null,02,null) + + + + Tests FEEL expression: 'date(2017,null,null)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,null,null)'? + null (date) + + + date(2017,null,null) + + + + Tests FEEL expression: 'date(null,null,null)' and expects result: 'null (date)' + Result of FEEL expression 'date(null,null,null)'? + null (date) + + + date(null,null,null) + + + + Tests FEEL expression: 'date()' and expects result: 'null (date)' + Result of FEEL expression 'date()'? + null (date) + + + date() + + + + Tests FEEL expression: 'date("2017-12-31")' and expects result: '2017-12-31 (date)' + Result of FEEL expression 'date("2017-12-31")'? + 2017-12-31 (date) + + + date("2017-12-31") + + + + Tests FEEL expression: 'date("2017-01-01")' and expects result: '2017-01-01 (date)' + Result of FEEL expression 'date("2017-01-01")'? + 2017-01-01 (date) + + + date("2017-01-01") + + + + Tests FEEL expression: 'date("-2017-12-31")' and expects result: '-2017-12-31 (date)' + Result of FEEL expression 'date("-2017-12-31")'? + -2017-12-31 (date) + + + date("-2017-12-31") + + + + Tests FEEL expression: 'date("-2017-01-01")' and expects result: '-2017-01-01 (date)' + Result of FEEL expression 'date("-2017-01-01")'? + -2017-01-01 (date) + + + date("-2017-01-01") + + + + Tests FEEL expression: 'string(date("999999999-12-31"))' and expects result: '"999999999-12-31" (string)' + Result of FEEL expression 'string(date("999999999-12-31"))'? + "999999999-12-31" (string) + + + string(date("999999999-12-31")) + + + + Tests FEEL expression: 'string(date("-999999999-12-31"))' and expects result: '"-999999999-12-31" (string)' + Result of FEEL expression 'string(date("-999999999-12-31"))'? + "-999999999-12-31" (string) + + + string(date("-999999999-12-31")) + + + + Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00"))' and expects result: '2017-08-14 (date)' + Result of FEEL expression 'date(date and time("2017-08-14T14:25:00"))'? + 2017-08-14 (date) + + + date(date and time("2017-08-14T14:25:00")) + + + + Tests FEEL expression: 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))' and expects result: '2017-08-14 (date)' + Result of FEEL expression 'date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00")))'? + 2017-08-14 (date) + + + date(date and time(date and time("2017-08-14T14:25:00"),time("10:50:00"))) + + + + Tests FEEL expression: 'date(date and time("2017-08-14T14:25:00.123456789"))' and expects result: '2017-08-14 (date)' + Result of FEEL expression 'date(date and time("2017-08-14T14:25:00.123456789"))'? + 2017-08-14 (date) + + + date(date and time("2017-08-14T14:25:00.123456789")) + + + + Tests FEEL expression: 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))' and expects result: '2017-09-03 (date)' + Result of FEEL expression 'date(date and time("2017-09-03T09:45:30@Europe/Paris"))'? + 2017-09-03 (date) + + + date(date and time("2017-09-03T09:45:30@Europe/Paris")) + + + + Tests FEEL expression: 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))' and expects result: '2017-09-06 (date)' + Result of FEEL expression 'date(date and time("2017-09-06T09:45:30@Asia/Dhaka"))'? + 2017-09-06 (date) + + + date(date and time("2017-09-06T09:45:30@Asia/Dhaka")) + + + + Tests FEEL expression: 'date(date and time("2012-12-25T11:00:00Z"))' and expects result: '2012-12-25 (date)' + Result of FEEL expression 'date(date and time("2012-12-25T11:00:00Z"))'? + 2012-12-25 (date) + + + date(date and time("2012-12-25T11:00:00Z")) + + + + Tests FEEL expression: 'date(date and time("2017-08-03T10:15:30+01:00"))' and expects result: '2017-08-03 (date)' + Result of FEEL expression 'date(date and time("2017-08-03T10:15:30+01:00"))'? + 2017-08-03 (date) + + + date(date and time("2017-08-03T10:15:30+01:00")) + + + + Tests FEEL expression: 'date(date("2017-10-11"))' and expects result: '2017-10-11 (date)' + Result of FEEL expression 'date(date("2017-10-11"))'? + 2017-10-11 (date) + + + date(date("2017-10-11")) + + + + Tests FEEL expression: 'date(2017,12,31)' and expects result: '2017-12-31 (date)' + Result of FEEL expression 'date(2017,12,31)'? + 2017-12-31 (date) + + + date(2017,12,31) + + + + Tests FEEL expression: 'date(2017,01,01)' and expects result: '2017-01-01 (date)' + Result of FEEL expression 'date(2017,01,01)'? + 2017-01-01 (date) + + + date(2017,01,01) + + + + Tests FEEL expression: 'date(-2017,12,31)' and expects result: '-2017-12-31 (date)' + Result of FEEL expression 'date(-2017,12,31)'? + -2017-12-31 (date) + + + date(-2017,12,31) + + + + Tests FEEL expression: 'date(-2017,01,01)' and expects result: '-2017-01-01 (date)' + Result of FEEL expression 'date(-2017,01,01)'? + -2017-01-01 (date) + + + date(-2017,01,01) + + + + Tests FEEL expression: 'string(date(999999999,12,31))' and expects result: '"999999999-12-31" (string)' + Result of FEEL expression 'string(date(999999999,12,31))'? + "999999999-12-31" (string) + + + string(date(999999999,12,31)) + + + + Tests FEEL expression: 'string(date(-999999999,12,31))' and expects result: '"-999999999-12-31" (string)' + Result of FEEL expression 'string(date(-999999999,12,31))'? + "-999999999-12-31" (string) + + + string(date(-999999999,12,31)) + + + + Tests FEEL expression: 'date("2012-12-25T")' and expects result: 'null (date)' + Result of FEEL expression 'date("2012-12-25T")'? + null (date) + + + date("2012-12-25T") + + + + Tests FEEL expression: 'date("")' and expects result: 'null (date)' + Result of FEEL expression 'date("")'? + null (date) + + + date("") + + + + Tests FEEL expression: 'date("2012/12/25")' and expects result: 'null (date)' + Result of FEEL expression 'date("2012/12/25")'? + null (date) + + + date("2012/12/25") + + + + Tests FEEL expression: 'date("0000-12-25T")' and expects result: 'null (date)' + Result of FEEL expression 'date("0000-12-25T")'? + null (date) + + + date("0000-12-25T") + + + + Tests FEEL expression: 'date("9999999999-12-25")' and expects result: 'null (date)' + Result of FEEL expression 'date("9999999999-12-25")'? + null (date) + + + date("9999999999-12-25") + + + + Tests FEEL expression: 'date("2017-13-10")' and expects result: 'null (date)' + Result of FEEL expression 'date("2017-13-10")'? + null (date) + + + date("2017-13-10") + + + + Tests FEEL expression: 'date("2017-12-32")' and expects result: 'null (date)' + Result of FEEL expression 'date("2017-12-32")'? + null (date) + + + date("2017-12-32") + + + + Tests FEEL expression: 'date("998-12-31")' and expects result: 'null (date)' + Result of FEEL expression 'date("998-12-31")'? + null (date) + + + date("998-12-31") + + + + Tests FEEL expression: 'date("01211-12-31")' and expects result: 'null (date)' + Result of FEEL expression 'date("01211-12-31")'? + null (date) + + + date("01211-12-31") + + + + Tests FEEL expression: 'date("2012T-12-2511:00:00Z")' and expects result: 'null (date)' + Result of FEEL expression 'date("2012T-12-2511:00:00Z")'? + null (date) + + + date("2012T-12-2511:00:00Z") + + + + Tests FEEL expression: 'date("+2012-12-02")' and expects result: 'null (date)' + Result of FEEL expression 'date("+2012-12-02")'? + null (date) + + + date("+2012-12-02") + + + + Tests FEEL expression: 'date(2017,13,31)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,13,31)'? + null (date) + + + date(2017,13,31) + + + + Tests FEEL expression: 'date(2017,12,32)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,12,32)'? + null (date) + + + date(2017,12,32) + + + + Tests FEEL expression: 'date(2017,-8,2)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,-8,2)'? + null (date) + + + date(2017,-8,2) + + + + Tests FEEL expression: 'date(2017,8,-2)' and expects result: 'null (date)' + Result of FEEL expression 'date(2017,8,-2)'? + null (date) + + + date(2017,8,-2) + + + + Tests FEEL expression: 'date(-1000999999,12,01)' and expects result: 'null (date)' + Result of FEEL expression 'date(-1000999999,12,01)'? + null (date) + + + date(-1000999999,12,01) + + + + Tests FEEL expression: 'date(1000999999,12,32)' and expects result: 'null (date)' + Result of FEEL expression 'date(1000999999,12,32)'? + null (date) + + + date(1000999999,12,32) + + + + Tests FEEL expression: 'date(1)' and expects result: 'null (date)' + Result of FEEL expression 'date(1)'? + null (date) + + + date(1) + + + + Tests FEEL expression: 'date([])' and expects result: 'null (date)' + Result of FEEL expression 'date([])'? + null (date) + + + date([]) + + + + Tests FEEL expression: 'date(from:"2012-12-25")' and expects result: '2012-12-25 (date)' + Result of FEEL expression 'date(from:"2012-12-25")'? + 2012-12-25 (date) + + + date(from:"2012-12-25") + + + + Tests FEEL expression: 'date(from:date and time("2017-08-30T10:25:00"))' and expects result: '2017-08-30 (date)' + Result of FEEL expression 'date(from:date and time("2017-08-30T10:25:00"))'? + 2017-08-30 (date) + + + date(from:date and time("2017-08-30T10:25:00")) + + + + Tests FEEL expression: 'date(year:2017,month:08,day:30)' and expects result: '2017-08-30 (date)' + Result of FEEL expression 'date(year:2017,month:08,day:30)'? + 2017-08-30 (date) + + + date(year:2017,month:08,day:30) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1116-feel-time-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1116-feel-time-function.dmn index 9575645ab8a..3e260553749 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1116-feel-time-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1116-feel-time-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'time(from [string])', 'time(from [time, date and time])' and 'time(hour,minute,second,offset)' in category conversion functions - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - string - - - string - - - time - - - time - - - time - - - time - - - time - - - time - - - string - - - string - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - string - - - string - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - time - - - Tests FEEL expression: 'time(null)' and expects result: 'null (time)' - Result of FEEL expression 'time(null)'? - null (time) - - - time(null) - - - - Tests FEEL expression: 'time(null,11,45,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(null,11,45,duration("P0D"))'? - null (time) - - - time(null,11,45,duration("P0D")) - - - - Tests FEEL expression: 'time(12,null,45,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(12,null,45,duration("P0D"))'? - null (time) - - - time(12,null,45,duration("P0D")) - - - - Tests FEEL expression: 'time(12,0,null,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(12,0,null,duration("P0D"))'? - null (time) - - - time(12,0,null,duration("P0D")) - - - - Tests FEEL expression: 'time(null,null,45,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(null,null,45,duration("P0D"))'? - null (time) - - - time(null,null,45,duration("P0D")) - - - - Tests FEEL expression: 'time(null,11,null,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(null,11,null,duration("P0D"))'? - null (time) - - - time(null,11,null,duration("P0D")) - - - - Tests FEEL expression: 'time(null,11,45,null)' and expects result: 'null (time)' - Result of FEEL expression 'time(null,11,45,null)'? - null (time) - - - time(null,11,45,null) - - - - Tests FEEL expression: 'time(12,null,null,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(12,null,null,duration("P0D"))'? - null (time) - - - time(12,null,null,duration("P0D")) - - - - Tests FEEL expression: 'time(12,11,null,null)' and expects result: 'null (time)' - Result of FEEL expression 'time(12,11,null,null)'? - null (time) - - - time(12,11,null,null) - - - - Tests FEEL expression: 'time(12,null,null,null)' and expects result: 'null (time)' - Result of FEEL expression 'time(12,null,null,null)'? - null (time) - - - time(12,null,null,null) - - - - Tests FEEL expression: 'time(null,0,null,null)' and expects result: 'null (time)' - Result of FEEL expression 'time(null,0,null,null)'? - null (time) - - - time(null,0,null,null) - - - - Tests FEEL expression: 'time(null,null,15,null)' and expects result: 'null (time)' - Result of FEEL expression 'time(null,null,15,null)'? - null (time) - - - time(null,null,15,null) - - - - Tests FEEL expression: 'time(null,null,null,duration("P0D"))' and expects result: 'null (time)' - Result of FEEL expression 'time(null,null,null,duration("P0D"))'? - null (time) - - - time(null,null,null,duration("P0D")) - - - - Tests FEEL expression: 'time(null,null,null,null)' and expects result: 'null (time)' - Result of FEEL expression 'time(null,null,null,null)'? - null (time) - - - time(null,null,null,null) - - - - Tests FEEL expression: 'time(12,00,00,null)' and expects result: '12:00:00 (time)' - Result of FEEL expression 'time(12,00,00,null)'? - 12:00:00 (time) - - - time(12,00,00,null) - - - - Tests FEEL expression: 'time()' and expects result: 'null (time)' - Result of FEEL expression 'time()'? - null (time) - - - time() - - - - Tests FEEL expression: 'time("01:02:03")' and expects result: '01:02:03 (time)' - Result of FEEL expression 'time("01:02:03")'? - 01:02:03 (time) - - - time("01:02:03") - - - - Tests FEEL expression: 'time("00:00:00")' and expects result: '00:00:00 (time)' - Result of FEEL expression 'time("00:00:00")'? - 00:00:00 (time) - - - time("00:00:00") - - - - Tests FEEL expression: 'time("11:22:33.444")' and expects result: '11:22:33.444 (time)' - Result of FEEL expression 'time("11:22:33.444")'? - 11:22:33.444 (time) - - - time("11:22:33.444") - - - - Tests FEEL expression: 'time("11:22:33.123456789")' and expects result: '11:22:33.123456789 (time)' - Result of FEEL expression 'time("11:22:33.123456789")'? - 11:22:33.123456789 (time) - - - time("11:22:33.123456789") - - - - Tests FEEL expression: 'time("23:59:00Z")' and expects result: '23:59:00Z (time)' - Result of FEEL expression 'time("23:59:00Z")'? - 23:59:00Z (time) - - - time("23:59:00Z") - - - - Tests FEEL expression: 'time("11:00:00Z")' and expects result: '11:00:00Z (time)' - Result of FEEL expression 'time("11:00:00Z")'? - 11:00:00Z (time) - - - time("11:00:00Z") - - - - Tests FEEL expression: 'time("00:00:00Z")' and expects result: '00:00:00Z (time)' - Result of FEEL expression 'time("00:00:00Z")'? - 00:00:00Z (time) - - - time("00:00:00Z") - - - - Tests FEEL expression: 'time("13:20:00+02:00")' and expects result: '13:20:00+02:00 (time)' - Result of FEEL expression 'time("13:20:00+02:00")'? - 13:20:00+02:00 (time) - - - time("13:20:00+02:00") - - - - Tests FEEL expression: 'time("13:20:00-05:00")' and expects result: '13:20:00-05:00 (time)' - Result of FEEL expression 'time("13:20:00-05:00")'? - 13:20:00-05:00 (time) - - - time("13:20:00-05:00") - - - - Tests FEEL expression: 'time("11:22:33-00:00")' and expects result: '11:22:33Z (time)' - Result of FEEL expression 'time("11:22:33-00:00")'? - 11:22:33Z (time) - - - time("11:22:33-00:00") - - - - Tests FEEL expression: 'time("11:22:33+00:00")' and expects result: '11:22:33Z (time)' - Result of FEEL expression 'time("11:22:33+00:00")'? - 11:22:33Z (time) - - - time("11:22:33+00:00") - - - - Tests FEEL expression: 'string(time("00:01:00@Etc/UTC"))' and expects result: '"00:01:00@Etc/UTC" (string)' - Result of FEEL expression 'string(time("00:01:00@Etc/UTC"))'? - "00:01:00@Etc/UTC" (string) - - - string(time("00:01:00@Etc/UTC")) - - - - Tests FEEL expression: 'string(time("00:01:00@Europe/Paris"))' and expects result: '"00:01:00@Europe/Paris" (string)' - Result of FEEL expression 'string(time("00:01:00@Europe/Paris"))'? - "00:01:00@Europe/Paris" (string) - - - string(time("00:01:00@Europe/Paris")) - - - - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00"))' and expects result: '10:20:00 (time)' - Result of FEEL expression 'time(date and time("2017-08-10T10:20:00"))'? - 10:20:00 (time) - - - time(date and time("2017-08-10T10:20:00")) - - - - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+00:00"))' and expects result: '10:20:00Z (time)' - Result of FEEL expression 'time(date and time("2017-08-10T10:20:00+00:00"))'? - 10:20:00Z (time) - - - time(date and time("2017-08-10T10:20:00+00:00")) - - - - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-00:00"))' and expects result: '10:20:00Z (time)' - Result of FEEL expression 'time(date and time("2017-08-10T10:20:00-00:00"))'? - 10:20:00Z (time) - - - time(date and time("2017-08-10T10:20:00-00:00")) - - - - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+01:00"))' and expects result: '10:20:00+01:00 (time)' - Result of FEEL expression 'time(date and time("2017-08-10T10:20:00+01:00"))'? - 10:20:00+01:00 (time) - - - time(date and time("2017-08-10T10:20:00+01:00")) - - - - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-01:00"))' and expects result: '10:20:00-01:00 (time)' - Result of FEEL expression 'time(date and time("2017-08-10T10:20:00-01:00"))'? - 10:20:00-01:00 (time) - - - time(date and time("2017-08-10T10:20:00-01:00")) - - - - Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00Z"))' and expects result: '10:20:00Z (time)' - Result of FEEL expression 'time(date and time("2017-08-10T10:20:00Z"))'? - 10:20:00Z (time) - - - time(date and time("2017-08-10T10:20:00Z")) - - - - Tests FEEL expression: 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))' and expects result: '"10:20:00@Europe/Paris" (string)' - Result of FEEL expression 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))'? - "10:20:00@Europe/Paris" (string) - - - string(time(date and time("2017-08-10T10:20:00@Europe/Paris"))) - - - - Tests FEEL expression: 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))' and expects result: '"11:20:00@Asia/Dhaka" (string)' - Result of FEEL expression 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))'? - "11:20:00@Asia/Dhaka" (string) - - - string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka"))) - - - - Tests FEEL expression: 'time(11, 59, 45, null)' and expects result: '11:59:45 (time)' - Result of FEEL expression 'time(11, 59, 45, null)'? - 11:59:45 (time) - - - time(11, 59, 45, null) - - - - Tests FEEL expression: 'time(11, 59, 45, duration("PT0H"))' and expects result: '11:59:45Z (time)' - Result of FEEL expression 'time(11, 59, 45, duration("PT0H"))'? - 11:59:45Z (time) - - - time(11, 59, 45, duration("PT0H")) - - - - Tests FEEL expression: 'time(11, 59, 45, duration("PT2H"))' and expects result: '11:59:45+02:00 (time)' - Result of FEEL expression 'time(11, 59, 45, duration("PT2H"))'? - 11:59:45+02:00 (time) - - - time(11, 59, 45, duration("PT2H")) - - - - Tests FEEL expression: 'time(11, 59, 45, duration("-PT2H"))' and expects result: '11:59:45-02:00 (time)' - Result of FEEL expression 'time(11, 59, 45, duration("-PT2H"))'? - 11:59:45-02:00 (time) - - - time(11, 59, 45, duration("-PT2H")) - - - - Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M"))' and expects result: '11:59:00+02:01 (time)' - Result of FEEL expression 'time(11, 59, 00, duration("PT2H1M"))'? - 11:59:00+02:01 (time) - - - time(11, 59, 00, duration("PT2H1M")) - - - - Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M"))' and expects result: '11:59:00-02:01 (time)' - Result of FEEL expression 'time(11, 59, 00, duration("-PT2H1M"))'? - 11:59:00-02:01 (time) - - - time(11, 59, 00, duration("-PT2H1M")) - - - - Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' - Result of FEEL expression 'time(11, 59, 00, duration("PT2H1M0S"))'? - 11:59:00+02:01 (time) - - - time(11, 59, 00, duration("PT2H1M0S")) - - - - Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M0S"))' and expects result: '11:59:00-02:01 (time)' - Result of FEEL expression 'time(11, 59, 00, duration("-PT2H1M0S"))'? - 11:59:00-02:01 (time) - - - time(11, 59, 00, duration("-PT2H1M0S")) - - - - Tests FEEL expression: 'string(time(11, 59, 45, duration("PT2H45M55S")))' and expects result: '"11:59:45+02:45:55" (string)' - Result of FEEL expression 'string(time(11, 59, 45, duration("PT2H45M55S")))'? - "11:59:45+02:45:55" (string) - - - string(time(11, 59, 45, duration("PT2H45M55S"))) - - - - Tests FEEL expression: 'string(time(11, 59, 45, duration("-PT2H45M55S")))' and expects result: '"11:59:45-02:45:55" (string)' - Result of FEEL expression 'string(time(11, 59, 45, duration("-PT2H45M55S")))'? - "11:59:45-02:45:55" (string) - - - string(time(11, 59, 45, duration("-PT2H45M55S"))) - - - - Tests FEEL expression: 'time(11, 59, 45, duration("-PT0H"))' and expects result: '11:59:45Z (time)' - Result of FEEL expression 'time(11, 59, 45, duration("-PT0H"))'? - 11:59:45Z (time) - - - time(11, 59, 45, duration("-PT0H")) - - - - Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))' and expects result: '23:59:01 (time)' - Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))'? - 23:59:01 (time) - - - time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))) - - - - Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))' and expects result: '23:59:01.987654321 (time)' - Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))'? - 23:59:01.987654321 (time) - - - time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))) - - - - Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))' and expects result: '09:15:30+02:00 (time)' - Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))'? - 09:15:30+02:00 (time) - - - time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))) - - - - Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))' and expects result: '09:15:30Z (time)' - Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))'? - 09:15:30Z (time) - - - time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))) - - - - Tests FEEL expression: 'time(date("2017-08-10"))' and expects result: '00:00:00Z (time)' - Result of FEEL expression 'time(date("2017-08-10"))'? - 00:00:00Z (time) - - - time(date("2017-08-10")) - - - - Tests FEEL expression: 'time(2017)' and expects result: 'null (time)' - Result of FEEL expression 'time(2017)'? - null (time) - - - time(2017) - - - - Tests FEEL expression: 'time([])' and expects result: 'null (time)' - Result of FEEL expression 'time([])'? - null (time) - - - time([]) - - - - Tests FEEL expression: 'time("")' and expects result: 'null (time)' - Result of FEEL expression 'time("")'? - null (time) - - - time("") - - - - Tests FEEL expression: 'time("23:59:60")' and expects result: 'null (time)' - Result of FEEL expression 'time("23:59:60")'? - null (time) - - - time("23:59:60") - - - - Tests FEEL expression: 'time("24:00:01")' and expects result: 'null (time)' - Result of FEEL expression 'time("24:00:01")'? - null (time) - - - time("24:00:01") - - - - Tests FEEL expression: 'time("24:01:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("24:01:00")'? - null (time) - - - time("24:01:00") - - - - Tests FEEL expression: 'time("25:00:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("25:00:00")'? - null (time) - - - time("25:00:00") - - - - Tests FEEL expression: 'time("00:60:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("00:60:00")'? - null (time) - - - time("00:60:00") - - - - Tests FEEL expression: 'time("00:00:61")' and expects result: 'null (time)' - Result of FEEL expression 'time("00:00:61")'? - null (time) - - - time("00:00:61") - - - - Tests FEEL expression: 'time("7:00:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("7:00:00")'? - null (time) - - - time("7:00:00") - - - - Tests FEEL expression: 'time("07:1:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("07:1:00")'? - null (time) - - - time("07:1:00") - - - - Tests FEEL expression: 'time("07:01:2")' and expects result: 'null (time)' - Result of FEEL expression 'time("07:01:2")'? - null (time) - - - time("07:01:2") - - - - Tests FEEL expression: 'time("13:20:00@xyz/abc")' and expects result: 'null (time)' - Result of FEEL expression 'time("13:20:00@xyz/abc")'? - null (time) - - - time("13:20:00@xyz/abc") - - - - Tests FEEL expression: 'time("13:20:00+19:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("13:20:00+19:00")'? - null (time) - - - time("13:20:00+19:00") - - - - Tests FEEL expression: 'time("13:20:00-19:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("13:20:00-19:00")'? - null (time) - - - time("13:20:00-19:00") - - - - Tests FEEL expression: 'time("13:20:00+5:00")' and expects result: 'null (time)' - Result of FEEL expression 'time("13:20:00+5:00")'? - null (time) - - - time("13:20:00+5:00") - - - - Tests FEEL expression: 'time("13:20:00+5")' and expects result: 'null (time)' - Result of FEEL expression 'time("13:20:00+5")'? - null (time) - - - time("13:20:00+5") - - - - Tests FEEL expression: 'time("13:20:00+02:00@Europe/Paris")' and expects result: 'null (time)' - Result of FEEL expression 'time("13:20:00+02:00@Europe/Paris")'? - null (time) - - - time("13:20:00+02:00@Europe/Paris") - - - - Tests FEEL expression: 'time("7:20")' and expects result: 'null (time)' - Result of FEEL expression 'time("7:20")'? - null (time) - - - time("7:20") - - - - Tests FEEL expression: 'time("07:2")' and expects result: 'null (time)' - Result of FEEL expression 'time("07:2")'? - null (time) - - - time("07:2") - - - - Tests FEEL expression: 'time("11:30:00T")' and expects result: 'null (time)' - Result of FEEL expression 'time("11:30:00T")'? - null (time) - - - time("11:30:00T") - - - - Tests FEEL expression: 'time("2012T-12-2511:00:00Z")' and expects result: 'null (time)' - Result of FEEL expression 'time("2012T-12-2511:00:00Z")'? - null (time) - - - time("2012T-12-2511:00:00Z") - - - - Tests FEEL expression: 'time(24, 59, 45, null)' and expects result: 'null (time)' - Result of FEEL expression 'time(24, 59, 45, null)'? - null (time) - - - time(24, 59, 45, null) - - - - Tests FEEL expression: 'time(-24, 59, 45, null)' and expects result: 'null (time)' - Result of FEEL expression 'time(-24, 59, 45, null)'? - null (time) - - - time(-24, 59, 45, null) - - - - Tests FEEL expression: 'time(23, 60, 45, null)' and expects result: 'null (time)' - Result of FEEL expression 'time(23, 60, 45, null)'? - null (time) - - - time(23, 60, 45, null) - - - - Tests FEEL expression: 'time(23, 59, 60, null)' and expects result: 'null (time)' - Result of FEEL expression 'time(23, 59, 60, null)'? - null (time) - - - time(23, 59, 60, null) - - - - Tests FEEL expression: 'time(from:date and time("2012-12-24T23:59:00"))' and expects result: '23:59:00 (time)' - Result of FEEL expression 'time(from:date and time("2012-12-24T23:59:00"))'? - 23:59:00 (time) - - - time(from:date and time("2012-12-24T23:59:00")) - - - - Tests FEEL expression: 'time(from: "12:45:00")' and expects result: '12:45:00 (time)' - Result of FEEL expression 'time(from: "12:45:00")'? - 12:45:00 (time) - - - time(from: "12:45:00") - - - - Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' - Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))'? - 11:59:00+02:01 (time) - - - time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S")) - - - - Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))' and expects result: '11:59:00-02:00 (time)' - Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))'? - 11:59:00-02:00 (time) - - - time(hour:11, minute:59, second:0, offset: duration("-PT2H")) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'time(from [string])', 'time(from [time, date and time])' and 'time(hour,minute,second,offset)' in category conversion functions + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + string + + + string + + + time + + + time + + + time + + + time + + + time + + + time + + + string + + + string + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + string + + + string + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + time + + + Tests FEEL expression: 'time(null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null)'? + null (time) + + + time(null) + + + + Tests FEEL expression: 'time(null,11,45,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,11,45,duration("P0D"))'? + null (time) + + + time(null,11,45,duration("P0D")) + + + + Tests FEEL expression: 'time(12,null,45,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(12,null,45,duration("P0D"))'? + null (time) + + + time(12,null,45,duration("P0D")) + + + + Tests FEEL expression: 'time(12,0,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(12,0,null,duration("P0D"))'? + null (time) + + + time(12,0,null,duration("P0D")) + + + + Tests FEEL expression: 'time(null,null,45,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,45,duration("P0D"))'? + null (time) + + + time(null,null,45,duration("P0D")) + + + + Tests FEEL expression: 'time(null,11,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,11,null,duration("P0D"))'? + null (time) + + + time(null,11,null,duration("P0D")) + + + + Tests FEEL expression: 'time(null,11,45,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null,11,45,null)'? + null (time) + + + time(null,11,45,null) + + + + Tests FEEL expression: 'time(12,null,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(12,null,null,duration("P0D"))'? + null (time) + + + time(12,null,null,duration("P0D")) + + + + Tests FEEL expression: 'time(12,11,null,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(12,11,null,null)'? + null (time) + + + time(12,11,null,null) + + + + Tests FEEL expression: 'time(12,null,null,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(12,null,null,null)'? + null (time) + + + time(12,null,null,null) + + + + Tests FEEL expression: 'time(null,0,null,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null,0,null,null)'? + null (time) + + + time(null,0,null,null) + + + + Tests FEEL expression: 'time(null,null,15,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,15,null)'? + null (time) + + + time(null,null,15,null) + + + + Tests FEEL expression: 'time(null,null,null,duration("P0D"))' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,null,duration("P0D"))'? + null (time) + + + time(null,null,null,duration("P0D")) + + + + Tests FEEL expression: 'time(null,null,null,null)' and expects result: 'null (time)' + Result of FEEL expression 'time(null,null,null,null)'? + null (time) + + + time(null,null,null,null) + + + + Tests FEEL expression: 'time(12,00,00,null)' and expects result: '12:00:00 (time)' + Result of FEEL expression 'time(12,00,00,null)'? + 12:00:00 (time) + + + time(12,00,00,null) + + + + Tests FEEL expression: 'time()' and expects result: 'null (time)' + Result of FEEL expression 'time()'? + null (time) + + + time() + + + + Tests FEEL expression: 'time("01:02:03")' and expects result: '01:02:03 (time)' + Result of FEEL expression 'time("01:02:03")'? + 01:02:03 (time) + + + time("01:02:03") + + + + Tests FEEL expression: 'time("00:00:00")' and expects result: '00:00:00 (time)' + Result of FEEL expression 'time("00:00:00")'? + 00:00:00 (time) + + + time("00:00:00") + + + + Tests FEEL expression: 'time("11:22:33.444")' and expects result: '11:22:33.444 (time)' + Result of FEEL expression 'time("11:22:33.444")'? + 11:22:33.444 (time) + + + time("11:22:33.444") + + + + Tests FEEL expression: 'time("11:22:33.123456789")' and expects result: '11:22:33.123456789 (time)' + Result of FEEL expression 'time("11:22:33.123456789")'? + 11:22:33.123456789 (time) + + + time("11:22:33.123456789") + + + + Tests FEEL expression: 'time("23:59:00Z")' and expects result: '23:59:00Z (time)' + Result of FEEL expression 'time("23:59:00Z")'? + 23:59:00Z (time) + + + time("23:59:00Z") + + + + Tests FEEL expression: 'time("11:00:00Z")' and expects result: '11:00:00Z (time)' + Result of FEEL expression 'time("11:00:00Z")'? + 11:00:00Z (time) + + + time("11:00:00Z") + + + + Tests FEEL expression: 'time("00:00:00Z")' and expects result: '00:00:00Z (time)' + Result of FEEL expression 'time("00:00:00Z")'? + 00:00:00Z (time) + + + time("00:00:00Z") + + + + Tests FEEL expression: 'time("13:20:00+02:00")' and expects result: '13:20:00+02:00 (time)' + Result of FEEL expression 'time("13:20:00+02:00")'? + 13:20:00+02:00 (time) + + + time("13:20:00+02:00") + + + + Tests FEEL expression: 'time("13:20:00-05:00")' and expects result: '13:20:00-05:00 (time)' + Result of FEEL expression 'time("13:20:00-05:00")'? + 13:20:00-05:00 (time) + + + time("13:20:00-05:00") + + + + Tests FEEL expression: 'time("11:22:33-00:00")' and expects result: '11:22:33Z (time)' + Result of FEEL expression 'time("11:22:33-00:00")'? + 11:22:33Z (time) + + + time("11:22:33-00:00") + + + + Tests FEEL expression: 'time("11:22:33+00:00")' and expects result: '11:22:33Z (time)' + Result of FEEL expression 'time("11:22:33+00:00")'? + 11:22:33Z (time) + + + time("11:22:33+00:00") + + + + Tests FEEL expression: 'string(time("00:01:00@Etc/UTC"))' and expects result: '"00:01:00@Etc/UTC" (string)' + Result of FEEL expression 'string(time("00:01:00@Etc/UTC"))'? + "00:01:00@Etc/UTC" (string) + + + string(time("00:01:00@Etc/UTC")) + + + + Tests FEEL expression: 'string(time("00:01:00@Europe/Paris"))' and expects result: '"00:01:00@Europe/Paris" (string)' + Result of FEEL expression 'string(time("00:01:00@Europe/Paris"))'? + "00:01:00@Europe/Paris" (string) + + + string(time("00:01:00@Europe/Paris")) + + + + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00"))' and expects result: '10:20:00 (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00"))'? + 10:20:00 (time) + + + time(date and time("2017-08-10T10:20:00")) + + + + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+00:00"))' and expects result: '10:20:00Z (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00+00:00"))'? + 10:20:00Z (time) + + + time(date and time("2017-08-10T10:20:00+00:00")) + + + + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-00:00"))' and expects result: '10:20:00Z (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00-00:00"))'? + 10:20:00Z (time) + + + time(date and time("2017-08-10T10:20:00-00:00")) + + + + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00+01:00"))' and expects result: '10:20:00+01:00 (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00+01:00"))'? + 10:20:00+01:00 (time) + + + time(date and time("2017-08-10T10:20:00+01:00")) + + + + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00-01:00"))' and expects result: '10:20:00-01:00 (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00-01:00"))'? + 10:20:00-01:00 (time) + + + time(date and time("2017-08-10T10:20:00-01:00")) + + + + Tests FEEL expression: 'time(date and time("2017-08-10T10:20:00Z"))' and expects result: '10:20:00Z (time)' + Result of FEEL expression 'time(date and time("2017-08-10T10:20:00Z"))'? + 10:20:00Z (time) + + + time(date and time("2017-08-10T10:20:00Z")) + + + + Tests FEEL expression: 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))' and expects result: '"10:20:00@Europe/Paris" (string)' + Result of FEEL expression 'string(time(date and time("2017-08-10T10:20:00@Europe/Paris")))'? + "10:20:00@Europe/Paris" (string) + + + string(time(date and time("2017-08-10T10:20:00@Europe/Paris"))) + + + + Tests FEEL expression: 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))' and expects result: '"11:20:00@Asia/Dhaka" (string)' + Result of FEEL expression 'string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka")))'? + "11:20:00@Asia/Dhaka" (string) + + + string(time(date and time("2017-09-04T11:20:00@Asia/Dhaka"))) + + + + Tests FEEL expression: 'time(11, 59, 45, null)' and expects result: '11:59:45 (time)' + Result of FEEL expression 'time(11, 59, 45, null)'? + 11:59:45 (time) + + + time(11, 59, 45, null) + + + + Tests FEEL expression: 'time(11, 59, 45, duration("PT0H"))' and expects result: '11:59:45Z (time)' + Result of FEEL expression 'time(11, 59, 45, duration("PT0H"))'? + 11:59:45Z (time) + + + time(11, 59, 45, duration("PT0H")) + + + + Tests FEEL expression: 'time(11, 59, 45, duration("PT2H"))' and expects result: '11:59:45+02:00 (time)' + Result of FEEL expression 'time(11, 59, 45, duration("PT2H"))'? + 11:59:45+02:00 (time) + + + time(11, 59, 45, duration("PT2H")) + + + + Tests FEEL expression: 'time(11, 59, 45, duration("-PT2H"))' and expects result: '11:59:45-02:00 (time)' + Result of FEEL expression 'time(11, 59, 45, duration("-PT2H"))'? + 11:59:45-02:00 (time) + + + time(11, 59, 45, duration("-PT2H")) + + + + Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M"))' and expects result: '11:59:00+02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("PT2H1M"))'? + 11:59:00+02:01 (time) + + + time(11, 59, 00, duration("PT2H1M")) + + + + Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M"))' and expects result: '11:59:00-02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("-PT2H1M"))'? + 11:59:00-02:01 (time) + + + time(11, 59, 00, duration("-PT2H1M")) + + + + Tests FEEL expression: 'time(11, 59, 00, duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("PT2H1M0S"))'? + 11:59:00+02:01 (time) + + + time(11, 59, 00, duration("PT2H1M0S")) + + + + Tests FEEL expression: 'time(11, 59, 00, duration("-PT2H1M0S"))' and expects result: '11:59:00-02:01 (time)' + Result of FEEL expression 'time(11, 59, 00, duration("-PT2H1M0S"))'? + 11:59:00-02:01 (time) + + + time(11, 59, 00, duration("-PT2H1M0S")) + + + + Tests FEEL expression: 'string(time(11, 59, 45, duration("PT2H45M55S")))' and expects result: '"11:59:45+02:45:55" (string)' + Result of FEEL expression 'string(time(11, 59, 45, duration("PT2H45M55S")))'? + "11:59:45+02:45:55" (string) + + + string(time(11, 59, 45, duration("PT2H45M55S"))) + + + + Tests FEEL expression: 'string(time(11, 59, 45, duration("-PT2H45M55S")))' and expects result: '"11:59:45-02:45:55" (string)' + Result of FEEL expression 'string(time(11, 59, 45, duration("-PT2H45M55S")))'? + "11:59:45-02:45:55" (string) + + + string(time(11, 59, 45, duration("-PT2H45M55S"))) + + + + Tests FEEL expression: 'time(11, 59, 45, duration("-PT0H"))' and expects result: '11:59:45Z (time)' + Result of FEEL expression 'time(11, 59, 45, duration("-PT0H"))'? + 11:59:45Z (time) + + + time(11, 59, 45, duration("-PT0H")) + + + + Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))' and expects result: '23:59:01 (time)' + Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")))'? + 23:59:01 (time) + + + time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))) + + + + Tests FEEL expression: 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))' and expects result: '23:59:01.987654321 (time)' + Result of FEEL expression 'time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")))'? + 23:59:01.987654321 (time) + + + time(date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))) + + + + Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))' and expects result: '09:15:30+02:00 (time)' + Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")))'? + 09:15:30+02:00 (time) + + + time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))) + + + + Tests FEEL expression: 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))' and expects result: '09:15:30Z (time)' + Result of FEEL expression 'time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")))'? + 09:15:30Z (time) + + + time(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))) + + + + Tests FEEL expression: 'time(date("2017-08-10"))' and expects result: '00:00:00Z (time)' + Result of FEEL expression 'time(date("2017-08-10"))'? + 00:00:00Z (time) + + + time(date("2017-08-10")) + + + + Tests FEEL expression: 'time(2017)' and expects result: 'null (time)' + Result of FEEL expression 'time(2017)'? + null (time) + + + time(2017) + + + + Tests FEEL expression: 'time([])' and expects result: 'null (time)' + Result of FEEL expression 'time([])'? + null (time) + + + time([]) + + + + Tests FEEL expression: 'time("")' and expects result: 'null (time)' + Result of FEEL expression 'time("")'? + null (time) + + + time("") + + + + Tests FEEL expression: 'time("23:59:60")' and expects result: 'null (time)' + Result of FEEL expression 'time("23:59:60")'? + null (time) + + + time("23:59:60") + + + + Tests FEEL expression: 'time("24:00:01")' and expects result: 'null (time)' + Result of FEEL expression 'time("24:00:01")'? + null (time) + + + time("24:00:01") + + + + Tests FEEL expression: 'time("24:01:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("24:01:00")'? + null (time) + + + time("24:01:00") + + + + Tests FEEL expression: 'time("25:00:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("25:00:00")'? + null (time) + + + time("25:00:00") + + + + Tests FEEL expression: 'time("00:60:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("00:60:00")'? + null (time) + + + time("00:60:00") + + + + Tests FEEL expression: 'time("00:00:61")' and expects result: 'null (time)' + Result of FEEL expression 'time("00:00:61")'? + null (time) + + + time("00:00:61") + + + + Tests FEEL expression: 'time("7:00:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("7:00:00")'? + null (time) + + + time("7:00:00") + + + + Tests FEEL expression: 'time("07:1:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("07:1:00")'? + null (time) + + + time("07:1:00") + + + + Tests FEEL expression: 'time("07:01:2")' and expects result: 'null (time)' + Result of FEEL expression 'time("07:01:2")'? + null (time) + + + time("07:01:2") + + + + Tests FEEL expression: 'time("13:20:00@xyz/abc")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00@xyz/abc")'? + null (time) + + + time("13:20:00@xyz/abc") + + + + Tests FEEL expression: 'time("13:20:00+19:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00+19:00")'? + null (time) + + + time("13:20:00+19:00") + + + + Tests FEEL expression: 'time("13:20:00-19:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00-19:00")'? + null (time) + + + time("13:20:00-19:00") + + + + Tests FEEL expression: 'time("13:20:00+5:00")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00+5:00")'? + null (time) + + + time("13:20:00+5:00") + + + + Tests FEEL expression: 'time("13:20:00+5")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00+5")'? + null (time) + + + time("13:20:00+5") + + + + Tests FEEL expression: 'time("13:20:00+02:00@Europe/Paris")' and expects result: 'null (time)' + Result of FEEL expression 'time("13:20:00+02:00@Europe/Paris")'? + null (time) + + + time("13:20:00+02:00@Europe/Paris") + + + + Tests FEEL expression: 'time("7:20")' and expects result: 'null (time)' + Result of FEEL expression 'time("7:20")'? + null (time) + + + time("7:20") + + + + Tests FEEL expression: 'time("07:2")' and expects result: 'null (time)' + Result of FEEL expression 'time("07:2")'? + null (time) + + + time("07:2") + + + + Tests FEEL expression: 'time("11:30:00T")' and expects result: 'null (time)' + Result of FEEL expression 'time("11:30:00T")'? + null (time) + + + time("11:30:00T") + + + + Tests FEEL expression: 'time("2012T-12-2511:00:00Z")' and expects result: 'null (time)' + Result of FEEL expression 'time("2012T-12-2511:00:00Z")'? + null (time) + + + time("2012T-12-2511:00:00Z") + + + + Tests FEEL expression: 'time(24, 59, 45, null)' and expects result: 'null (time)' + Result of FEEL expression 'time(24, 59, 45, null)'? + null (time) + + + time(24, 59, 45, null) + + + + Tests FEEL expression: 'time(-24, 59, 45, null)' and expects result: 'null (time)' + Result of FEEL expression 'time(-24, 59, 45, null)'? + null (time) + + + time(-24, 59, 45, null) + + + + Tests FEEL expression: 'time(23, 60, 45, null)' and expects result: 'null (time)' + Result of FEEL expression 'time(23, 60, 45, null)'? + null (time) + + + time(23, 60, 45, null) + + + + Tests FEEL expression: 'time(23, 59, 60, null)' and expects result: 'null (time)' + Result of FEEL expression 'time(23, 59, 60, null)'? + null (time) + + + time(23, 59, 60, null) + + + + Tests FEEL expression: 'time(from:date and time("2012-12-24T23:59:00"))' and expects result: '23:59:00 (time)' + Result of FEEL expression 'time(from:date and time("2012-12-24T23:59:00"))'? + 23:59:00 (time) + + + time(from:date and time("2012-12-24T23:59:00")) + + + + Tests FEEL expression: 'time(from: "12:45:00")' and expects result: '12:45:00 (time)' + Result of FEEL expression 'time(from: "12:45:00")'? + 12:45:00 (time) + + + time(from: "12:45:00") + + + + Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))' and expects result: '11:59:00+02:01 (time)' + Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S"))'? + 11:59:00+02:01 (time) + + + time(hour:11, minute:59, second:0, offset: duration("PT2H1M0S")) + + + + Tests FEEL expression: 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))' and expects result: '11:59:00-02:00 (time)' + Result of FEEL expression 'time(hour:11, minute:59, second:0, offset: duration("-PT2H"))'? + 11:59:00-02:00 (time) + + + time(hour:11, minute:59, second:0, offset: duration("-PT2H")) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1117-feel-date-and-time-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1117-feel-date-and-time-function.dmn index 357507c0229..131fd3fbddc 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1117-feel-date-and-time-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1117-feel-date-and-time-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'date and time(from [string])' and 'date and time(date, time)' in category conversion functions - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - string - - - string - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - string - - - string - - - string - - - string - - - string - - - string - - - dateTime - - - dateTime - - - dateTime - - - string - - - string - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - string - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - string - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - string - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - dateTime - - - Tests FEEL expression: 'date and time(null)' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time(null)'? - null (date and time) - - - date and time(null) - - - - Tests FEEL expression: 'date and time(null,null)' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time(null,null)'? - null (date and time) - - - date and time(null,null) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),null)' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),null)'? - null (date and time) - - - date and time(date and time("2017-08-10T10:20:00"),null) - - - - Tests FEEL expression: 'date and time(date("2017-08-10"),null)' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time(date("2017-08-10"),null)'? - null (date and time) - - - date and time(date("2017-08-10"),null) - - - - Tests FEEL expression: 'date and time(null,time("23:59:01"))' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time(null,time("23:59:01"))'? - null (date and time) - - - date and time(null,time("23:59:01")) - - - - Tests FEEL expression: 'date and time()' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time()'? - null (date and time) - - - date and time() - - - - Tests FEEL expression: 'date and time("2012-12-24")' and expects result: '2012-12-24T00:00:00 (date and time)' - Result of FEEL expression 'date and time("2012-12-24")'? - 2012-12-24T00:00:00 (date and time) - - - date and time("2012-12-24") - - - - Tests FEEL expression: 'date and time("2017-12-31T00:00:00")' and expects result: '2017-12-31T00:00:00 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T00:00:00")'? - 2017-12-31T00:00:00 (date and time) - - - date and time("2017-12-31T00:00:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33")' and expects result: '2017-12-31T11:22:33 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33")'? - 2017-12-31T11:22:33 (date and time) - - - date and time("2017-12-31T11:22:33") - - - - Tests FEEL expression: 'date and time("-2017-12-31T11:22:33")' and expects result: '-2017-12-31T11:22:33 (date and time)' - Result of FEEL expression 'date and time("-2017-12-31T11:22:33")'? - -2017-12-31T11:22:33 (date and time) - - - date and time("-2017-12-31T11:22:33") - - - - Tests FEEL expression: 'string(date and time("99999-12-31T11:22:33"))' and expects result: '"99999-12-31T11:22:33" (string)' - Result of FEEL expression 'string(date and time("99999-12-31T11:22:33"))'? - "99999-12-31T11:22:33" (string) - - - string(date and time("99999-12-31T11:22:33")) - - - - Tests FEEL expression: 'string(date and time("-99999-12-31T11:22:33"))' and expects result: '"-99999-12-31T11:22:33" (string)' - Result of FEEL expression 'string(date and time("-99999-12-31T11:22:33"))'? - "-99999-12-31T11:22:33" (string) - - - string(date and time("-99999-12-31T11:22:33")) - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.345")' and expects result: '2017-12-31T11:22:33.345 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33.345")'? - 2017-12-31T11:22:33.345 (date and time) - - - date and time("2017-12-31T11:22:33.345") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.123456789")' and expects result: '2017-12-31T11:22:33.123456789 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33.123456789")'? - 2017-12-31T11:22:33.123456789 (date and time) - - - date and time("2017-12-31T11:22:33.123456789") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33Z")' and expects result: '2017-12-31T11:22:33Z (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33Z")'? - 2017-12-31T11:22:33Z (date and time) - - - date and time("2017-12-31T11:22:33Z") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.567Z")' and expects result: '2017-12-31T11:22:33.567Z (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33.567Z")'? - 2017-12-31T11:22:33.567Z (date and time) - - - date and time("2017-12-31T11:22:33.567Z") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:00")' and expects result: '2017-12-31T11:22:33+01:00 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33+01:00")'? - 2017-12-31T11:22:33+01:00 (date and time) - - - date and time("2017-12-31T11:22:33+01:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33-02:00")' and expects result: '2017-12-31T11:22:33-02:00 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33-02:00")'? - 2017-12-31T11:22:33-02:00 (date and time) - - - date and time("2017-12-31T11:22:33-02:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:35")' and expects result: '2017-12-31T11:22:33+01:35 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33+01:35")'? - 2017-12-31T11:22:33+01:35 (date and time) - - - date and time("2017-12-31T11:22:33+01:35") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33-01:35")' and expects result: '2017-12-31T11:22:33-01:35 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33-01:35")'? - 2017-12-31T11:22:33-01:35 (date and time) - - - date and time("2017-12-31T11:22:33-01:35") - - - - Tests FEEL expression: 'date and time("2017-12-31T11:22:33.456+01:35")' and expects result: '2017-12-31T11:22:33.456+01:35 (date and time)' - Result of FEEL expression 'date and time("2017-12-31T11:22:33.456+01:35")'? - 2017-12-31T11:22:33.456+01:35 (date and time) - - - date and time("2017-12-31T11:22:33.456+01:35") - - - - Tests FEEL expression: 'date and time("-2017-12-31T11:22:33.456+01:35")' and expects result: '-2017-12-31T11:22:33.456+01:35 (date and time)' - Result of FEEL expression 'date and time("-2017-12-31T11:22:33.456+01:35")'? - -2017-12-31T11:22:33.456+01:35 (date and time) - - - date and time("-2017-12-31T11:22:33.456+01:35") - - - - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))'? - "2011-12-31T10:15:30@Europe/Paris" (string) - - - string(date and time("2011-12-31T10:15:30@Europe/Paris")) - - - - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))' and expects result: '"2011-12-31T10:15:30@Etc/UTC" (string)' - Result of FEEL expression 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))'? - "2011-12-31T10:15:30@Etc/UTC" (string) - - - string(date and time("2011-12-31T10:15:30@Etc/UTC")) - - - - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.987@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))'? - "2011-12-31T10:15:30.987@Europe/Paris" (string) - - - string(date and time("2011-12-31T10:15:30.987@Europe/Paris")) - - - - Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.123456789@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))'? - "2011-12-31T10:15:30.123456789@Europe/Paris" (string) - - - string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris")) - - - - Tests FEEL expression: 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))' and expects result: '"999999999-12-31T23:59:59.999999999@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))'? - "999999999-12-31T23:59:59.999999999@Europe/Paris" (string) - - - string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris")) - - - - Tests FEEL expression: 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))' and expects result: '"-999999999-12-31T23:59:59.999999999+02:00" (string)' - Result of FEEL expression 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))'? - "-999999999-12-31T23:59:59.999999999+02:00" (string) - - - string(date and time("-999999999-12-31T23:59:59.999999999+02:00")) - - - - Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' - Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01"))'? - 2017-01-01T23:59:01 (date and time) - - - date and time(date("2017-01-01"),time("23:59:01")) - - - - Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01Z"))' and expects result: '2017-01-01T23:59:01Z (date and time)' - Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01Z"))'? - 2017-01-01T23:59:01Z (date and time) - - - date and time(date("2017-01-01"),time("23:59:01Z")) - - - - Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01+02:00"))' and expects result: '2017-01-01T23:59:01+02:00 (date and time)' - Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01+02:00"))'? - 2017-01-01T23:59:01+02:00 (date and time) - - - date and time(date("2017-01-01"),time("23:59:01+02:00")) - - - - Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))'? - "2017-01-01T23:59:01@Europe/Paris" (string) - - - string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris"))) - - - - Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01.123456789@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))'? - "2017-01-01T23:59:01.123456789@Europe/Paris" (string) - - - string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris"))) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))'? - 2017-08-10T23:59:01 (date and time) - - - date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))'? - 2017-08-10T23:59:01.987654321 (date and time) - - - date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))'? - 2017-09-05T09:15:30+02:00 (date and time) - - - date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))'? - 2017-09-05T09:15:30Z (date and time) - - - date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))'? - 2017-09-05T09:15:30.987654321+02:00 (date and time) - - - date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))'? - 2017-09-05T09:15:30.123456Z (date and time) - - - date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z")) - - - - Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))'? - "2017-09-05T09:15:30.987654321@Europe/Paris" (string) - - - string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris"))) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))'? - 2017-08-10T23:59:01 (date and time) - - - date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01")) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))'? - 2017-08-10T23:59:01.987654321 (date and time) - - - date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))'? - 2017-09-05T09:15:30+02:00 (date and time) - - - date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))'? - 2017-09-05T09:15:30Z (date and time) - - - date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))'? - 2017-09-05T09:15:30.987654321+02:00 (date and time) - - - date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))'? - 2017-09-05T09:15:30.123456Z (date and time) - - - date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z")) - - - - Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))'? - "2017-09-05T09:15:30.987654321@Europe/Paris" (string) - - - string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris"))) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))'? - 2017-08-10T23:59:01 (date and time) - - - date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01")) - - - - Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))'? - 2017-08-10T23:59:01.987654321 (date and time) - - - date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))'? - 2017-09-05T09:15:30+02:00 (date and time) - - - date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))'? - 2017-09-05T09:15:30Z (date and time) - - - date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))'? - 2017-09-05T09:15:30.987654321+02:00 (date and time) - - - date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00")) - - - - Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' - Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))'? - 2017-09-05T09:15:30.123456Z (date and time) - - - date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z")) - - - - Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' - Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))'? - "2017-09-05T09:15:30.987654321@Europe/Paris" (string) - - - string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris"))) - - - - Tests FEEL expression: 'date and time(2017)' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time(2017)'? - null (date and time) - - - date and time(2017) - - - - Tests FEEL expression: 'date and time([])' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time([])'? - null (date and time) - - - date and time([]) - - - - Tests FEEL expression: 'date and time("")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("")'? - null (date and time) - - - date and time("") - - - - Tests FEEL expression: 'date and time("11:00:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("11:00:00")'? - null (date and time) - - - date and time("11:00:00") - - - - Tests FEEL expression: 'date and time("2011-12-0310:15:30")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2011-12-0310:15:30")'? - null (date and time) - - - date and time("2011-12-0310:15:30") - - - - Tests FEEL expression: 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")'? - null (date and time) - - - date and time("2011-12-03T10:15:30+01:00@Europe/Paris") - - - - Tests FEEL expression: 'date and time("9999999999-12-27T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("9999999999-12-27T11:22:33")'? - null (date and time) - - - date and time("9999999999-12-27T11:22:33") - - - - Tests FEEL expression: 'date and time("2017-13-10T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-13-10T11:22:33")'? - null (date and time) - - - date and time("2017-13-10T11:22:33") - - - - Tests FEEL expression: 'date and time("2017-00-10T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-00-10T11:22:33")'? - null (date and time) - - - date and time("2017-00-10T11:22:33") - - - - Tests FEEL expression: 'date and time("2017-13-32T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-13-32T11:22:33")'? - null (date and time) - - - date and time("2017-13-32T11:22:33") - - - - Tests FEEL expression: 'date and time("2017-13-0T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-13-0T11:22:33")'? - null (date and time) - - - date and time("2017-13-0T11:22:33") - - - - Tests FEEL expression: 'date and time("998-12-31T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("998-12-31T11:22:33")'? - null (date and time) - - - date and time("998-12-31T11:22:33") - - - - Tests FEEL expression: 'date and time("01211-12-31T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("01211-12-31T11:22:33")'? - null (date and time) - - - date and time("01211-12-31T11:22:33") - - - - Tests FEEL expression: 'date and time("+99999-12-01T11:22:33")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("+99999-12-01T11:22:33")'? - null (date and time) - - - date and time("+99999-12-01T11:22:33") - - - - Tests FEEL expression: 'date and time("2017-12-31T24:00:01")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T24:00:01")'? - null (date and time) - - - date and time("2017-12-31T24:00:01") - - - - Tests FEEL expression: 'date and time("2017-12-31T24:01:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T24:01:00")'? - null (date and time) - - - date and time("2017-12-31T24:01:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T25:00:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T25:00:00")'? - null (date and time) - - - date and time("2017-12-31T25:00:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T00:60:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T00:60:00")'? - null (date and time) - - - date and time("2017-12-31T00:60:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T00:00:61")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T00:00:61")'? - null (date and time) - - - date and time("2017-12-31T00:00:61") - - - - Tests FEEL expression: 'date and time("2017-12-31T7:00:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T7:00:00")'? - null (date and time) - - - date and time("2017-12-31T7:00:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T07:1:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T07:1:00")'? - null (date and time) - - - date and time("2017-12-31T07:1:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T07:01:2")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T07:01:2")'? - null (date and time) - - - date and time("2017-12-31T07:01:2") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00@xyz/abc")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00@xyz/abc")'? - null (date and time) - - - date and time("2017-12-31T13:20:00@xyz/abc") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+19:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00+19:00")'? - null (date and time) - - - date and time("2017-12-31T13:20:00+19:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00-19:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00-19:00")'? - null (date and time) - - - date and time("2017-12-31T13:20:00-19:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+05:0")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00+05:0")'? - null (date and time) - - - date and time("2017-12-31T13:20:00+05:0") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5:00")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00+5:00")'? - null (date and time) - - - date and time("2017-12-31T13:20:00+5:00") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00+5")'? - null (date and time) - - - date and time("2017-12-31T13:20:00+5") - - - - Tests FEEL expression: 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")'? - null (date and time) - - - date and time("2017-12-31T13:20:00+02:00@Europe/Paris") - - - - Tests FEEL expression: 'date and time("2017-12-31T7:20")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T7:20")'? - null (date and time) - - - date and time("2017-12-31T7:20") - - - - Tests FEEL expression: 'date and time("2017-12-31T07:2")' and expects result: 'null (date and time)' - Result of FEEL expression 'date and time("2017-12-31T07:2")'? - null (date and time) - - - date and time("2017-12-31T07:2") - - - - Tests FEEL expression: 'date and time(from:"2012-12-24T23:59:00")' and expects result: '2012-12-24T23:59:00 (date and time)' - Result of FEEL expression 'date and time(from:"2012-12-24T23:59:00")'? - 2012-12-24T23:59:00 (date and time) - - - date and time(from:"2012-12-24T23:59:00") - - - - Tests FEEL expression: 'date and time(date:date("2017-01-01"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' - Result of FEEL expression 'date and time(date:date("2017-01-01"),time:time("23:59:01"))'? - 2017-01-01T23:59:01 (date and time) - - - date and time(date:date("2017-01-01"),time:time("23:59:01")) - - - - Tests FEEL expression: 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' - Result of FEEL expression 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))'? - 2017-01-01T23:59:01 (date and time) - - - date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01")) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'date and time(from [string])' and 'date and time(date, time)' in category conversion functions + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + string + + + string + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + string + + + string + + + string + + + string + + + string + + + string + + + dateTime + + + dateTime + + + dateTime + + + string + + + string + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + string + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + string + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + string + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + dateTime + + + Tests FEEL expression: 'date and time(null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(null)'? + null (date and time) + + + date and time(null) + + + + Tests FEEL expression: 'date and time(null,null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(null,null)'? + null (date and time) + + + date and time(null,null) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),null)'? + null (date and time) + + + date and time(date and time("2017-08-10T10:20:00"),null) + + + + Tests FEEL expression: 'date and time(date("2017-08-10"),null)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(date("2017-08-10"),null)'? + null (date and time) + + + date and time(date("2017-08-10"),null) + + + + Tests FEEL expression: 'date and time(null,time("23:59:01"))' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(null,time("23:59:01"))'? + null (date and time) + + + date and time(null,time("23:59:01")) + + + + Tests FEEL expression: 'date and time()' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time()'? + null (date and time) + + + date and time() + + + + Tests FEEL expression: 'date and time("2012-12-24")' and expects result: '2012-12-24T00:00:00 (date and time)' + Result of FEEL expression 'date and time("2012-12-24")'? + 2012-12-24T00:00:00 (date and time) + + + date and time("2012-12-24") + + + + Tests FEEL expression: 'date and time("2017-12-31T00:00:00")' and expects result: '2017-12-31T00:00:00 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T00:00:00")'? + 2017-12-31T00:00:00 (date and time) + + + date and time("2017-12-31T00:00:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33")' and expects result: '2017-12-31T11:22:33 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33")'? + 2017-12-31T11:22:33 (date and time) + + + date and time("2017-12-31T11:22:33") + + + + Tests FEEL expression: 'date and time("-2017-12-31T11:22:33")' and expects result: '-2017-12-31T11:22:33 (date and time)' + Result of FEEL expression 'date and time("-2017-12-31T11:22:33")'? + -2017-12-31T11:22:33 (date and time) + + + date and time("-2017-12-31T11:22:33") + + + + Tests FEEL expression: 'string(date and time("99999-12-31T11:22:33"))' and expects result: '"99999-12-31T11:22:33" (string)' + Result of FEEL expression 'string(date and time("99999-12-31T11:22:33"))'? + "99999-12-31T11:22:33" (string) + + + string(date and time("99999-12-31T11:22:33")) + + + + Tests FEEL expression: 'string(date and time("-99999-12-31T11:22:33"))' and expects result: '"-99999-12-31T11:22:33" (string)' + Result of FEEL expression 'string(date and time("-99999-12-31T11:22:33"))'? + "-99999-12-31T11:22:33" (string) + + + string(date and time("-99999-12-31T11:22:33")) + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.345")' and expects result: '2017-12-31T11:22:33.345 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.345")'? + 2017-12-31T11:22:33.345 (date and time) + + + date and time("2017-12-31T11:22:33.345") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.123456789")' and expects result: '2017-12-31T11:22:33.123456789 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.123456789")'? + 2017-12-31T11:22:33.123456789 (date and time) + + + date and time("2017-12-31T11:22:33.123456789") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33Z")' and expects result: '2017-12-31T11:22:33Z (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33Z")'? + 2017-12-31T11:22:33Z (date and time) + + + date and time("2017-12-31T11:22:33Z") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.567Z")' and expects result: '2017-12-31T11:22:33.567Z (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.567Z")'? + 2017-12-31T11:22:33.567Z (date and time) + + + date and time("2017-12-31T11:22:33.567Z") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:00")' and expects result: '2017-12-31T11:22:33+01:00 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33+01:00")'? + 2017-12-31T11:22:33+01:00 (date and time) + + + date and time("2017-12-31T11:22:33+01:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33-02:00")' and expects result: '2017-12-31T11:22:33-02:00 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33-02:00")'? + 2017-12-31T11:22:33-02:00 (date and time) + + + date and time("2017-12-31T11:22:33-02:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33+01:35")' and expects result: '2017-12-31T11:22:33+01:35 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33+01:35")'? + 2017-12-31T11:22:33+01:35 (date and time) + + + date and time("2017-12-31T11:22:33+01:35") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33-01:35")' and expects result: '2017-12-31T11:22:33-01:35 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33-01:35")'? + 2017-12-31T11:22:33-01:35 (date and time) + + + date and time("2017-12-31T11:22:33-01:35") + + + + Tests FEEL expression: 'date and time("2017-12-31T11:22:33.456+01:35")' and expects result: '2017-12-31T11:22:33.456+01:35 (date and time)' + Result of FEEL expression 'date and time("2017-12-31T11:22:33.456+01:35")'? + 2017-12-31T11:22:33.456+01:35 (date and time) + + + date and time("2017-12-31T11:22:33.456+01:35") + + + + Tests FEEL expression: 'date and time("-2017-12-31T11:22:33.456+01:35")' and expects result: '-2017-12-31T11:22:33.456+01:35 (date and time)' + Result of FEEL expression 'date and time("-2017-12-31T11:22:33.456+01:35")'? + -2017-12-31T11:22:33.456+01:35 (date and time) + + + date and time("-2017-12-31T11:22:33.456+01:35") + + + + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30@Europe/Paris"))'? + "2011-12-31T10:15:30@Europe/Paris" (string) + + + string(date and time("2011-12-31T10:15:30@Europe/Paris")) + + + + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))' and expects result: '"2011-12-31T10:15:30@Etc/UTC" (string)' + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30@Etc/UTC"))'? + "2011-12-31T10:15:30@Etc/UTC" (string) + + + string(date and time("2011-12-31T10:15:30@Etc/UTC")) + + + + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.987@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.987@Europe/Paris"))'? + "2011-12-31T10:15:30.987@Europe/Paris" (string) + + + string(date and time("2011-12-31T10:15:30.987@Europe/Paris")) + + + + Tests FEEL expression: 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))' and expects result: '"2011-12-31T10:15:30.123456789@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris"))'? + "2011-12-31T10:15:30.123456789@Europe/Paris" (string) + + + string(date and time("2011-12-31T10:15:30.123456789@Europe/Paris")) + + + + Tests FEEL expression: 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))' and expects result: '"999999999-12-31T23:59:59.999999999@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris"))'? + "999999999-12-31T23:59:59.999999999@Europe/Paris" (string) + + + string(date and time("999999999-12-31T23:59:59.999999999@Europe/Paris")) + + + + Tests FEEL expression: 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))' and expects result: '"-999999999-12-31T23:59:59.999999999+02:00" (string)' + Result of FEEL expression 'string(date and time("-999999999-12-31T23:59:59.999999999+02:00"))'? + "-999999999-12-31T23:59:59.999999999+02:00" (string) + + + string(date and time("-999999999-12-31T23:59:59.999999999+02:00")) + + + + Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01"))'? + 2017-01-01T23:59:01 (date and time) + + + date and time(date("2017-01-01"),time("23:59:01")) + + + + Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01Z"))' and expects result: '2017-01-01T23:59:01Z (date and time)' + Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01Z"))'? + 2017-01-01T23:59:01Z (date and time) + + + date and time(date("2017-01-01"),time("23:59:01Z")) + + + + Tests FEEL expression: 'date and time(date("2017-01-01"),time("23:59:01+02:00"))' and expects result: '2017-01-01T23:59:01+02:00 (date and time)' + Result of FEEL expression 'date and time(date("2017-01-01"),time("23:59:01+02:00"))'? + 2017-01-01T23:59:01+02:00 (date and time) + + + date and time(date("2017-01-01"),time("23:59:01+02:00")) + + + + Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris")))'? + "2017-01-01T23:59:01@Europe/Paris" (string) + + + string(date and time(date("2017-01-01"),time("23:59:01@Europe/Paris"))) + + + + Tests FEEL expression: 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))' and expects result: '"2017-01-01T23:59:01.123456789@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris")))'? + "2017-01-01T23:59:01.123456789@Europe/Paris" (string) + + + string(date and time(date("2017-01-01"),time("23:59:01.123456789@Europe/Paris"))) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01"))'? + 2017-08-10T23:59:01 (date and time) + + + date and time(date and time("2017-08-10T10:20:00"),time("23:59:01")) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321"))'? + 2017-08-10T23:59:01.987654321 (date and time) + + + date and time(date and time("2017-08-10T10:20:00"),time("23:59:01.987654321")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00"))'? + 2017-09-05T09:15:30+02:00 (date and time) + + + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30+02:00")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z"))'? + 2017-09-05T09:15:30Z (date and time) + + + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30Z")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00"))'? + 2017-09-05T09:15:30.987654321+02:00 (date and time) + + + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321+02:00")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z"))'? + 2017-09-05T09:15:30.123456Z (date and time) + + + date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.123456Z")) + + + + Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris")))'? + "2017-09-05T09:15:30.987654321@Europe/Paris" (string) + + + string(date and time(date and time("2017-09-05T10:20:00"),time("09:15:30.987654321@Europe/Paris"))) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01"))'? + 2017-08-10T23:59:01 (date and time) + + + date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01")) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321"))'? + 2017-08-10T23:59:01.987654321 (date and time) + + + date and time(date and time("2017-08-10T10:20:00+02:00"),time("23:59:01.987654321")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00"))'? + 2017-09-05T09:15:30+02:00 (date and time) + + + date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30+02:00")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z"))'? + 2017-09-05T09:15:30Z (date and time) + + + date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30Z")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00"))'? + 2017-09-05T09:15:30.987654321+02:00 (date and time) + + + date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.987654321+02:00")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z"))'? + 2017-09-05T09:15:30.123456Z (date and time) + + + date and time(date and time("2017-09-05T10:20:00+02:00"),time("09:15:30.123456Z")) + + + + Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris")))'? + "2017-09-05T09:15:30.987654321@Europe/Paris" (string) + + + string(date and time(date and time("2017-09-05T10:20:00-01:00"),time("09:15:30.987654321@Europe/Paris"))) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))' and expects result: '2017-08-10T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01"))'? + 2017-08-10T23:59:01 (date and time) + + + date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01")) + + + + Tests FEEL expression: 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))' and expects result: '2017-08-10T23:59:01.987654321 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321"))'? + 2017-08-10T23:59:01.987654321 (date and time) + + + date and time(date and time("2017-08-10T10:20:00@Europe/Paris"),time("23:59:01.987654321")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))' and expects result: '2017-09-05T09:15:30+02:00 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00"))'? + 2017-09-05T09:15:30+02:00 (date and time) + + + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30+02:00")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))' and expects result: '2017-09-05T09:15:30Z (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z"))'? + 2017-09-05T09:15:30Z (date and time) + + + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30Z")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))' and expects result: '2017-09-05T09:15:30.987654321+02:00 (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00"))'? + 2017-09-05T09:15:30.987654321+02:00 (date and time) + + + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321+02:00")) + + + + Tests FEEL expression: 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))' and expects result: '2017-09-05T09:15:30.123456Z (date and time)' + Result of FEEL expression 'date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z"))'? + 2017-09-05T09:15:30.123456Z (date and time) + + + date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.123456Z")) + + + + Tests FEEL expression: 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))' and expects result: '"2017-09-05T09:15:30.987654321@Europe/Paris" (string)' + Result of FEEL expression 'string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris")))'? + "2017-09-05T09:15:30.987654321@Europe/Paris" (string) + + + string(date and time(date and time("2017-09-05T10:20:00@Europe/Paris"),time("09:15:30.987654321@Europe/Paris"))) + + + + Tests FEEL expression: 'date and time(2017)' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time(2017)'? + null (date and time) + + + date and time(2017) + + + + Tests FEEL expression: 'date and time([])' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time([])'? + null (date and time) + + + date and time([]) + + + + Tests FEEL expression: 'date and time("")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("")'? + null (date and time) + + + date and time("") + + + + Tests FEEL expression: 'date and time("11:00:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("11:00:00")'? + null (date and time) + + + date and time("11:00:00") + + + + Tests FEEL expression: 'date and time("2011-12-0310:15:30")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2011-12-0310:15:30")'? + null (date and time) + + + date and time("2011-12-0310:15:30") + + + + Tests FEEL expression: 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2011-12-03T10:15:30+01:00@Europe/Paris")'? + null (date and time) + + + date and time("2011-12-03T10:15:30+01:00@Europe/Paris") + + + + Tests FEEL expression: 'date and time("9999999999-12-27T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("9999999999-12-27T11:22:33")'? + null (date and time) + + + date and time("9999999999-12-27T11:22:33") + + + + Tests FEEL expression: 'date and time("2017-13-10T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-13-10T11:22:33")'? + null (date and time) + + + date and time("2017-13-10T11:22:33") + + + + Tests FEEL expression: 'date and time("2017-00-10T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-00-10T11:22:33")'? + null (date and time) + + + date and time("2017-00-10T11:22:33") + + + + Tests FEEL expression: 'date and time("2017-13-32T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-13-32T11:22:33")'? + null (date and time) + + + date and time("2017-13-32T11:22:33") + + + + Tests FEEL expression: 'date and time("2017-13-0T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-13-0T11:22:33")'? + null (date and time) + + + date and time("2017-13-0T11:22:33") + + + + Tests FEEL expression: 'date and time("998-12-31T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("998-12-31T11:22:33")'? + null (date and time) + + + date and time("998-12-31T11:22:33") + + + + Tests FEEL expression: 'date and time("01211-12-31T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("01211-12-31T11:22:33")'? + null (date and time) + + + date and time("01211-12-31T11:22:33") + + + + Tests FEEL expression: 'date and time("+99999-12-01T11:22:33")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("+99999-12-01T11:22:33")'? + null (date and time) + + + date and time("+99999-12-01T11:22:33") + + + + Tests FEEL expression: 'date and time("2017-12-31T24:00:01")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T24:00:01")'? + null (date and time) + + + date and time("2017-12-31T24:00:01") + + + + Tests FEEL expression: 'date and time("2017-12-31T24:01:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T24:01:00")'? + null (date and time) + + + date and time("2017-12-31T24:01:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T25:00:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T25:00:00")'? + null (date and time) + + + date and time("2017-12-31T25:00:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T00:60:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T00:60:00")'? + null (date and time) + + + date and time("2017-12-31T00:60:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T00:00:61")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T00:00:61")'? + null (date and time) + + + date and time("2017-12-31T00:00:61") + + + + Tests FEEL expression: 'date and time("2017-12-31T7:00:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T7:00:00")'? + null (date and time) + + + date and time("2017-12-31T7:00:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T07:1:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T07:1:00")'? + null (date and time) + + + date and time("2017-12-31T07:1:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T07:01:2")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T07:01:2")'? + null (date and time) + + + date and time("2017-12-31T07:01:2") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00@xyz/abc")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00@xyz/abc")'? + null (date and time) + + + date and time("2017-12-31T13:20:00@xyz/abc") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+19:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+19:00")'? + null (date and time) + + + date and time("2017-12-31T13:20:00+19:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00-19:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00-19:00")'? + null (date and time) + + + date and time("2017-12-31T13:20:00-19:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+05:0")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+05:0")'? + null (date and time) + + + date and time("2017-12-31T13:20:00+05:0") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5:00")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+5:00")'? + null (date and time) + + + date and time("2017-12-31T13:20:00+5:00") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+5")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+5")'? + null (date and time) + + + date and time("2017-12-31T13:20:00+5") + + + + Tests FEEL expression: 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T13:20:00+02:00@Europe/Paris")'? + null (date and time) + + + date and time("2017-12-31T13:20:00+02:00@Europe/Paris") + + + + Tests FEEL expression: 'date and time("2017-12-31T7:20")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T7:20")'? + null (date and time) + + + date and time("2017-12-31T7:20") + + + + Tests FEEL expression: 'date and time("2017-12-31T07:2")' and expects result: 'null (date and time)' + Result of FEEL expression 'date and time("2017-12-31T07:2")'? + null (date and time) + + + date and time("2017-12-31T07:2") + + + + Tests FEEL expression: 'date and time(from:"2012-12-24T23:59:00")' and expects result: '2012-12-24T23:59:00 (date and time)' + Result of FEEL expression 'date and time(from:"2012-12-24T23:59:00")'? + 2012-12-24T23:59:00 (date and time) + + + date and time(from:"2012-12-24T23:59:00") + + + + Tests FEEL expression: 'date and time(date:date("2017-01-01"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date:date("2017-01-01"),time:time("23:59:01"))'? + 2017-01-01T23:59:01 (date and time) + + + date and time(date:date("2017-01-01"),time:time("23:59:01")) + + + + Tests FEEL expression: 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))' and expects result: '2017-01-01T23:59:01 (date and time)' + Result of FEEL expression 'date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01"))'? + 2017-01-01T23:59:01 (date and time) + + + date and time(date:date and time("2017-01-01T00:00:00"),time:time("23:59:01")) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1120-feel-duration-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1120-feel-duration-function.dmn index 93d5c95cebe..a2bb8283d26 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1120-feel-duration-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1120-feel-duration-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'duration(from [String])' in category conversion functions - - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - dayTimeDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - dayTimeDuration - - - yearMonthDuration - - - - - - - - - - - - - Tests FEEL expression: 'duration(null)' and expects result: 'null (null)' - Result of FEEL expression 'duration(null)'? - null (null) - - - duration(null) - - - - Tests FEEL expression: 'duration()' and expects result: 'null (null)' - Result of FEEL expression 'duration()'? - null (null) - - - duration() - - - - Tests FEEL expression: 'duration("P1D")' and expects result: 'P1D (days and time duration)' - Result of FEEL expression 'duration("P1D")'? - P1D (days and time duration) - - - duration("P1D") - - - - Tests FEEL expression: 'duration("PT2H")' and expects result: 'PT2H (days and time duration)' - Result of FEEL expression 'duration("PT2H")'? - PT2H (days and time duration) - - - duration("PT2H") - - - - Tests FEEL expression: 'duration("PT3M")' and expects result: 'PT3M (days and time duration)' - Result of FEEL expression 'duration("PT3M")'? - PT3M (days and time duration) - - - duration("PT3M") - - - - Tests FEEL expression: 'duration("PT4S")' and expects result: 'PT4S (days and time duration)' - Result of FEEL expression 'duration("PT4S")'? - PT4S (days and time duration) - - - duration("PT4S") - - - - Tests FEEL expression: 'duration("PT0.999S")' and expects result: 'PT0.999S (days and time duration)' - Result of FEEL expression 'duration("PT0.999S")'? - PT0.999S (days and time duration) - - - duration("PT0.999S") - - - - Tests FEEL expression: 'duration("P1DT2H3M4.123456789S")' and expects result: 'P1DT2H3M4.123456789S (days and time duration)' - Result of FEEL expression 'duration("P1DT2H3M4.123456789S")'? - P1DT2H3M4.123456789S (days and time duration) - - - duration("P1DT2H3M4.123456789S") - - - - Tests FEEL expression: 'duration("PT0S")' and expects result: 'PT0S (days and time duration)' - Result of FEEL expression 'duration("PT0S")'? - PT0S (days and time duration) - - - duration("PT0S") - - - - Tests FEEL expression: 'duration("PT0.000S")' and expects result: 'PT0S (days and time duration)' - Result of FEEL expression 'duration("PT0.000S")'? - PT0S (days and time duration) - - - duration("PT0.000S") - - - - Tests FEEL expression: 'duration("PT0.S")' and expects result: 'PT0S (days and time duration)' - Result of FEEL expression 'duration("PT0.S")'? - PT0S (days and time duration) - - - duration("PT0.S") - - - - Tests FEEL expression: 'duration("PT0M")' and expects result: 'PT0S (days and time duration)' - Result of FEEL expression 'duration("PT0M")'? - PT0S (days and time duration) - - - duration("PT0M") - - - - Tests FEEL expression: 'duration("PT0H")' and expects result: 'PT0S (days and time duration)' - Result of FEEL expression 'duration("PT0H")'? - PT0S (days and time duration) - - - duration("PT0H") - - - - Tests FEEL expression: 'duration("P0D")' and expects result: 'PT0S (days and time duration)' - Result of FEEL expression 'duration("P0D")'? - PT0S (days and time duration) - - - duration("P0D") - - - - Tests FEEL expression: 'duration("-PT1H2M")' and expects result: '-PT1H2M (days and time duration)' - Result of FEEL expression 'duration("-PT1H2M")'? - -PT1H2M (days and time duration) - - - duration("-PT1H2M") - - - - Tests FEEL expression: 'duration("PT1000M")' and expects result: 'PT16H40M (days and time duration)' - Result of FEEL expression 'duration("PT1000M")'? - PT16H40M (days and time duration) - - - duration("PT1000M") - - - - Tests FEEL expression: 'duration("PT1000M0.999999999S")' and expects result: 'PT16H40M0.999999999S (days and time duration)' - Result of FEEL expression 'duration("PT1000M0.999999999S")'? - PT16H40M0.999999999S (days and time duration) - - - duration("PT1000M0.999999999S") - - - - Tests FEEL expression: 'duration("PT555M")' and expects result: 'PT9H15M (days and time duration)' - Result of FEEL expression 'duration("PT555M")'? - PT9H15M (days and time duration) - - - duration("PT555M") - - - - Tests FEEL expression: 'duration("PT61M")' and expects result: 'PT1H1M (days and time duration)' - Result of FEEL expression 'duration("PT61M")'? - PT1H1M (days and time duration) - - - duration("PT61M") - - - - Tests FEEL expression: 'duration("PT24H")' and expects result: 'P1D (days and time duration)' - Result of FEEL expression 'duration("PT24H")'? - P1D (days and time duration) - - - duration("PT24H") - - - - Tests FEEL expression: 'duration("PT240H")' and expects result: 'P10D (days and time duration)' - Result of FEEL expression 'duration("PT240H")'? - P10D (days and time duration) - - - duration("PT240H") - - - - Tests FEEL expression: 'duration("P2DT100M")' and expects result: 'P2DT1H40M (days and time duration)' - Result of FEEL expression 'duration("P2DT100M")'? - P2DT1H40M (days and time duration) - - - duration("P2DT100M") - - - - Tests FEEL expression: 'duration("PT3600S")' and expects result: 'PT1H (days and time duration)' - Result of FEEL expression 'duration("PT3600S")'? - PT1H (days and time duration) - - - duration("PT3600S") - - - - Tests FEEL expression: 'duration("P2DT274M")' and expects result: 'P2DT4H34M (days and time duration)' - Result of FEEL expression 'duration("P2DT274M")'? - P2DT4H34M (days and time duration) - - - duration("P2DT274M") - - - - Tests FEEL expression: 'duration("P1Y2M")' and expects result: 'P1Y2M (years and months duration)' - Result of FEEL expression 'duration("P1Y2M")'? - P1Y2M (years and months duration) - - - duration("P1Y2M") - - - - Tests FEEL expression: 'duration("P1Y")' and expects result: 'P1Y (years and months duration)' - Result of FEEL expression 'duration("P1Y")'? - P1Y (years and months duration) - - - duration("P1Y") - - - - Tests FEEL expression: 'duration("P0Y")' and expects result: 'P0M (years and months duration)' - Result of FEEL expression 'duration("P0Y")'? - P0M (years and months duration) - - - duration("P0Y") - - - - Tests FEEL expression: 'duration("P0M")' and expects result: 'P0M (years and months duration)' - Result of FEEL expression 'duration("P0M")'? - P0M (years and months duration) - - - duration("P0M") - - - - Tests FEEL expression: 'duration("-P1Y")' and expects result: '-P1Y (years and months duration)' - Result of FEEL expression 'duration("-P1Y")'? - -P1Y (years and months duration) - - - duration("-P1Y") - - - - Tests FEEL expression: 'duration("P26M")' and expects result: 'P2Y2M (years and months duration)' - Result of FEEL expression 'duration("P26M")'? - P2Y2M (years and months duration) - - - duration("P26M") - - - - Tests FEEL expression: 'duration("P1Y27M")' and expects result: 'P3Y3M (years and months duration)' - Result of FEEL expression 'duration("P1Y27M")'? - P3Y3M (years and months duration) - - - duration("P1Y27M") - - - - Tests FEEL expression: 'duration("P100M")' and expects result: 'P8Y4M (years and months duration)' - Result of FEEL expression 'duration("P100M")'? - P8Y4M (years and months duration) - - - duration("P100M") - - - - Tests FEEL expression: 'duration("-P100M")' and expects result: '-P8Y4M (years and months duration)' - Result of FEEL expression 'duration("-P100M")'? - -P8Y4M (years and months duration) - - - duration("-P100M") - - - - Tests FEEL expression: 'duration("P999999999M")' and expects result: 'P83333333Y3M (years and months duration)' - Result of FEEL expression 'duration("P999999999M")'? - P83333333Y3M (years and months duration) - - - duration("P999999999M") - - - - Tests FEEL expression: 'duration("-P999999999M")' and expects result: '-P83333333Y3M (years and months duration)' - Result of FEEL expression 'duration("-P999999999M")'? - -P83333333Y3M (years and months duration) - - - duration("-P999999999M") - - - - Tests FEEL expression: 'duration("P99999999Y")' and expects result: 'P99999999Y (years and months duration)' - Result of FEEL expression 'duration("P99999999Y")'? - P99999999Y (years and months duration) - - - duration("P99999999Y") - - - - Tests FEEL expression: 'duration("-P99999999Y")' and expects result: '-P99999999Y (years and months duration)' - Result of FEEL expression 'duration("-P99999999Y")'? - -P99999999Y (years and months duration) - - - duration("-P99999999Y") - - - - Tests FEEL expression: 'duration(from:"P1Y")' and expects result: 'P1Y (years and months duration)' - Result of FEEL expression 'duration(from:"P1Y")'? - P1Y (years and months duration) - - - duration(from:"P1Y") - - - - Tests FEEL expression: 'duration(from:"PT24H")' and expects result: 'P1D (days and time duration)' - Result of FEEL expression 'duration(from:"PT24H")'? - P1D (days and time duration) - - - duration(from:"PT24H") - - - - Tests FEEL expression: 'duration(from:"P26M")' and expects result: 'P2Y2M (years and months duration)' - Result of FEEL expression 'duration(from:"P26M")'? - P2Y2M (years and months duration) - - - duration(from:"P26M") - - - - Tests FEEL expression: 'duration("")' and expects result: 'null (null)' - Result of FEEL expression 'duration("")'? - null (null) - - - duration("") - - - - Tests FEEL expression: 'duration(2017)' and expects result: 'null (null)' - Result of FEEL expression 'duration(2017)'? - null (null) - - - duration(2017) - - - - Tests FEEL expression: 'duration("2012T-12-2511:00:00Z")' and expects result: 'null (null)' - Result of FEEL expression 'duration("2012T-12-2511:00:00Z")'? - null (null) - - - duration("2012T-12-2511:00:00Z") - - - - Tests FEEL expression: 'duration([])' and expects result: 'null (null)' - Result of FEEL expression 'duration([])'? - null (null) - - - duration([]) - - - - Tests FEEL expression: 'duration("P")' and expects result: 'null (null)' - Result of FEEL expression 'duration("P")'? - null (null) - - - duration("P") - - - - Tests FEEL expression: 'duration("P0")' and expects result: 'null (null)' - Result of FEEL expression 'duration("P0")'? - null (null) - - - duration("P0") - - - - Tests FEEL expression: 'duration("1Y")' and expects result: 'null (null)' - Result of FEEL expression 'duration("1Y")'? - null (null) - - - duration("1Y") - - - - Tests FEEL expression: 'duration("1D")' and expects result: 'null (null)' - Result of FEEL expression 'duration("1D")'? - null (null) - - - duration("1D") - - - - Tests FEEL expression: 'duration("P1H")' and expects result: 'null (null)' - Result of FEEL expression 'duration("P1H")'? - null (null) - - - duration("P1H") - - - - Tests FEEL expression: 'duration("P1S")' and expects result: 'null (null)' - Result of FEEL expression 'duration("P1S")'? - null (null) - - - duration("P1S") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'duration(from [String])' in category conversion functions + + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + dayTimeDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + dayTimeDuration + + + yearMonthDuration + + + + + + + + + + + + + Tests FEEL expression: 'duration(null)' and expects result: 'null (null)' + Result of FEEL expression 'duration(null)'? + null (null) + + + duration(null) + + + + Tests FEEL expression: 'duration()' and expects result: 'null (null)' + Result of FEEL expression 'duration()'? + null (null) + + + duration() + + + + Tests FEEL expression: 'duration("P1D")' and expects result: 'P1D (days and time duration)' + Result of FEEL expression 'duration("P1D")'? + P1D (days and time duration) + + + duration("P1D") + + + + Tests FEEL expression: 'duration("PT2H")' and expects result: 'PT2H (days and time duration)' + Result of FEEL expression 'duration("PT2H")'? + PT2H (days and time duration) + + + duration("PT2H") + + + + Tests FEEL expression: 'duration("PT3M")' and expects result: 'PT3M (days and time duration)' + Result of FEEL expression 'duration("PT3M")'? + PT3M (days and time duration) + + + duration("PT3M") + + + + Tests FEEL expression: 'duration("PT4S")' and expects result: 'PT4S (days and time duration)' + Result of FEEL expression 'duration("PT4S")'? + PT4S (days and time duration) + + + duration("PT4S") + + + + Tests FEEL expression: 'duration("PT0.999S")' and expects result: 'PT0.999S (days and time duration)' + Result of FEEL expression 'duration("PT0.999S")'? + PT0.999S (days and time duration) + + + duration("PT0.999S") + + + + Tests FEEL expression: 'duration("P1DT2H3M4.123456789S")' and expects result: 'P1DT2H3M4.123456789S (days and time duration)' + Result of FEEL expression 'duration("P1DT2H3M4.123456789S")'? + P1DT2H3M4.123456789S (days and time duration) + + + duration("P1DT2H3M4.123456789S") + + + + Tests FEEL expression: 'duration("PT0S")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0S")'? + PT0S (days and time duration) + + + duration("PT0S") + + + + Tests FEEL expression: 'duration("PT0.000S")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0.000S")'? + PT0S (days and time duration) + + + duration("PT0.000S") + + + + Tests FEEL expression: 'duration("PT0.S")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0.S")'? + PT0S (days and time duration) + + + duration("PT0.S") + + + + Tests FEEL expression: 'duration("PT0M")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0M")'? + PT0S (days and time duration) + + + duration("PT0M") + + + + Tests FEEL expression: 'duration("PT0H")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("PT0H")'? + PT0S (days and time duration) + + + duration("PT0H") + + + + Tests FEEL expression: 'duration("P0D")' and expects result: 'PT0S (days and time duration)' + Result of FEEL expression 'duration("P0D")'? + PT0S (days and time duration) + + + duration("P0D") + + + + Tests FEEL expression: 'duration("-PT1H2M")' and expects result: '-PT1H2M (days and time duration)' + Result of FEEL expression 'duration("-PT1H2M")'? + -PT1H2M (days and time duration) + + + duration("-PT1H2M") + + + + Tests FEEL expression: 'duration("PT1000M")' and expects result: 'PT16H40M (days and time duration)' + Result of FEEL expression 'duration("PT1000M")'? + PT16H40M (days and time duration) + + + duration("PT1000M") + + + + Tests FEEL expression: 'duration("PT1000M0.999999999S")' and expects result: 'PT16H40M0.999999999S (days and time duration)' + Result of FEEL expression 'duration("PT1000M0.999999999S")'? + PT16H40M0.999999999S (days and time duration) + + + duration("PT1000M0.999999999S") + + + + Tests FEEL expression: 'duration("PT555M")' and expects result: 'PT9H15M (days and time duration)' + Result of FEEL expression 'duration("PT555M")'? + PT9H15M (days and time duration) + + + duration("PT555M") + + + + Tests FEEL expression: 'duration("PT61M")' and expects result: 'PT1H1M (days and time duration)' + Result of FEEL expression 'duration("PT61M")'? + PT1H1M (days and time duration) + + + duration("PT61M") + + + + Tests FEEL expression: 'duration("PT24H")' and expects result: 'P1D (days and time duration)' + Result of FEEL expression 'duration("PT24H")'? + P1D (days and time duration) + + + duration("PT24H") + + + + Tests FEEL expression: 'duration("PT240H")' and expects result: 'P10D (days and time duration)' + Result of FEEL expression 'duration("PT240H")'? + P10D (days and time duration) + + + duration("PT240H") + + + + Tests FEEL expression: 'duration("P2DT100M")' and expects result: 'P2DT1H40M (days and time duration)' + Result of FEEL expression 'duration("P2DT100M")'? + P2DT1H40M (days and time duration) + + + duration("P2DT100M") + + + + Tests FEEL expression: 'duration("PT3600S")' and expects result: 'PT1H (days and time duration)' + Result of FEEL expression 'duration("PT3600S")'? + PT1H (days and time duration) + + + duration("PT3600S") + + + + Tests FEEL expression: 'duration("P2DT274M")' and expects result: 'P2DT4H34M (days and time duration)' + Result of FEEL expression 'duration("P2DT274M")'? + P2DT4H34M (days and time duration) + + + duration("P2DT274M") + + + + Tests FEEL expression: 'duration("P1Y2M")' and expects result: 'P1Y2M (years and months duration)' + Result of FEEL expression 'duration("P1Y2M")'? + P1Y2M (years and months duration) + + + duration("P1Y2M") + + + + Tests FEEL expression: 'duration("P1Y")' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'duration("P1Y")'? + P1Y (years and months duration) + + + duration("P1Y") + + + + Tests FEEL expression: 'duration("P0Y")' and expects result: 'P0M (years and months duration)' + Result of FEEL expression 'duration("P0Y")'? + P0M (years and months duration) + + + duration("P0Y") + + + + Tests FEEL expression: 'duration("P0M")' and expects result: 'P0M (years and months duration)' + Result of FEEL expression 'duration("P0M")'? + P0M (years and months duration) + + + duration("P0M") + + + + Tests FEEL expression: 'duration("-P1Y")' and expects result: '-P1Y (years and months duration)' + Result of FEEL expression 'duration("-P1Y")'? + -P1Y (years and months duration) + + + duration("-P1Y") + + + + Tests FEEL expression: 'duration("P26M")' and expects result: 'P2Y2M (years and months duration)' + Result of FEEL expression 'duration("P26M")'? + P2Y2M (years and months duration) + + + duration("P26M") + + + + Tests FEEL expression: 'duration("P1Y27M")' and expects result: 'P3Y3M (years and months duration)' + Result of FEEL expression 'duration("P1Y27M")'? + P3Y3M (years and months duration) + + + duration("P1Y27M") + + + + Tests FEEL expression: 'duration("P100M")' and expects result: 'P8Y4M (years and months duration)' + Result of FEEL expression 'duration("P100M")'? + P8Y4M (years and months duration) + + + duration("P100M") + + + + Tests FEEL expression: 'duration("-P100M")' and expects result: '-P8Y4M (years and months duration)' + Result of FEEL expression 'duration("-P100M")'? + -P8Y4M (years and months duration) + + + duration("-P100M") + + + + Tests FEEL expression: 'duration("P999999999M")' and expects result: 'P83333333Y3M (years and months duration)' + Result of FEEL expression 'duration("P999999999M")'? + P83333333Y3M (years and months duration) + + + duration("P999999999M") + + + + Tests FEEL expression: 'duration("-P999999999M")' and expects result: '-P83333333Y3M (years and months duration)' + Result of FEEL expression 'duration("-P999999999M")'? + -P83333333Y3M (years and months duration) + + + duration("-P999999999M") + + + + Tests FEEL expression: 'duration("P99999999Y")' and expects result: 'P99999999Y (years and months duration)' + Result of FEEL expression 'duration("P99999999Y")'? + P99999999Y (years and months duration) + + + duration("P99999999Y") + + + + Tests FEEL expression: 'duration("-P99999999Y")' and expects result: '-P99999999Y (years and months duration)' + Result of FEEL expression 'duration("-P99999999Y")'? + -P99999999Y (years and months duration) + + + duration("-P99999999Y") + + + + Tests FEEL expression: 'duration(from:"P1Y")' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'duration(from:"P1Y")'? + P1Y (years and months duration) + + + duration(from:"P1Y") + + + + Tests FEEL expression: 'duration(from:"PT24H")' and expects result: 'P1D (days and time duration)' + Result of FEEL expression 'duration(from:"PT24H")'? + P1D (days and time duration) + + + duration(from:"PT24H") + + + + Tests FEEL expression: 'duration(from:"P26M")' and expects result: 'P2Y2M (years and months duration)' + Result of FEEL expression 'duration(from:"P26M")'? + P2Y2M (years and months duration) + + + duration(from:"P26M") + + + + Tests FEEL expression: 'duration("")' and expects result: 'null (null)' + Result of FEEL expression 'duration("")'? + null (null) + + + duration("") + + + + Tests FEEL expression: 'duration(2017)' and expects result: 'null (null)' + Result of FEEL expression 'duration(2017)'? + null (null) + + + duration(2017) + + + + Tests FEEL expression: 'duration("2012T-12-2511:00:00Z")' and expects result: 'null (null)' + Result of FEEL expression 'duration("2012T-12-2511:00:00Z")'? + null (null) + + + duration("2012T-12-2511:00:00Z") + + + + Tests FEEL expression: 'duration([])' and expects result: 'null (null)' + Result of FEEL expression 'duration([])'? + null (null) + + + duration([]) + + + + Tests FEEL expression: 'duration("P")' and expects result: 'null (null)' + Result of FEEL expression 'duration("P")'? + null (null) + + + duration("P") + + + + Tests FEEL expression: 'duration("P0")' and expects result: 'null (null)' + Result of FEEL expression 'duration("P0")'? + null (null) + + + duration("P0") + + + + Tests FEEL expression: 'duration("1Y")' and expects result: 'null (null)' + Result of FEEL expression 'duration("1Y")'? + null (null) + + + duration("1Y") + + + + Tests FEEL expression: 'duration("1D")' and expects result: 'null (null)' + Result of FEEL expression 'duration("1D")'? + null (null) + + + duration("1D") + + + + Tests FEEL expression: 'duration("P1H")' and expects result: 'null (null)' + Result of FEEL expression 'duration("P1H")'? + null (null) + + + duration("P1H") + + + + Tests FEEL expression: 'duration("P1S")' and expects result: 'null (null)' + Result of FEEL expression 'duration("P1S")'? + null (null) + + + duration("P1S") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1121-feel-years-and-months-duration-function.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1121-feel-years-and-months-duration-function.dmn index 90ab0d11420..bd6db94aeb1 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1121-feel-years-and-months-duration-function.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/1121-feel-years-and-months-duration-function.dmn @@ -1,4 +1,4 @@ - + - - FEEL built-in function 'years and months duration(from [date and time], to [date and time])' in category conversion functions - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - yearMonthDuration - - - Tests FEEL expression: 'years and months duration(null)' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(null)'? - null (years and months duration) - - - years and months duration(null) - - - - Tests FEEL expression: 'years and months duration(null,null)' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(null,null)'? - null (years and months duration) - - - years and months duration(null,null) - - - - Tests FEEL expression: 'years and months duration(date("2017-08-11"),null)' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(date("2017-08-11"),null)'? - null (years and months duration) - - - years and months duration(date("2017-08-11"),null) - - - - Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"),null)' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"),null)'? - null (years and months duration) - - - years and months duration(date and time("2017-12-31T13:00:00"),null) - - - - Tests FEEL expression: 'years and months duration(null,date("2017-08-11"))' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(null,date("2017-08-11"))'? - null (years and months duration) - - - years and months duration(null,date("2017-08-11")) - - - - Tests FEEL expression: 'years and months duration(null,date and time("2019-10-01T12:32:59"))' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(null,date and time("2019-10-01T12:32:59"))'? - null (years and months duration) - - - years and months duration(null,date and time("2019-10-01T12:32:59")) - - - - Tests FEEL expression: 'years and months duration()' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration()'? - null (years and months duration) - - - years and months duration() - - - - Tests FEEL expression: 'years and months duration(date("2011-12-22"),date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' - Result of FEEL expression 'years and months duration(date("2011-12-22"),date("2013-08-24"))'? - P1Y8M (years and months duration) - - - years and months duration(date("2011-12-22"),date("2013-08-24")) - - - - Tests FEEL expression: 'years and months duration(date("2013-08-24"),date("2011-12-22"))' and expects result: '-P1Y8M (years and months duration)' - Result of FEEL expression 'years and months duration(date("2013-08-24"),date("2011-12-22"))'? - -P1Y8M (years and months duration) - - - years and months duration(date("2013-08-24"),date("2011-12-22")) - - - - Tests FEEL expression: 'years and months duration(date("2015-01-21"),date("2016-01-21"))' and expects result: 'P1Y (years and months duration)' - Result of FEEL expression 'years and months duration(date("2015-01-21"),date("2016-01-21"))'? - P1Y (years and months duration) - - - years and months duration(date("2015-01-21"),date("2016-01-21")) - - - - Tests FEEL expression: 'years and months duration(date("2016-01-21"),date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' - Result of FEEL expression 'years and months duration(date("2016-01-21"),date("2015-01-21"))'? - -P1Y (years and months duration) - - - years and months duration(date("2016-01-21"),date("2015-01-21")) - - - - Tests FEEL expression: 'years and months duration(date("2016-01-01"),date("2016-01-01"))' and expects result: 'P0M (years and months duration)' - Result of FEEL expression 'years and months duration(date("2016-01-01"),date("2016-01-01"))'? - P0M (years and months duration) - - - years and months duration(date("2016-01-01"),date("2016-01-01")) - - - - Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))' and expects result: 'P0M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))'? - P0M (years and months duration) - - - years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00")) - - - - Tests FEEL expression: 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))' and expects result: 'P1Y2M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))'? - P1Y2M (years and months duration) - - - years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12")) - - - - Tests FEEL expression: 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))' and expects result: 'P7Y6M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))'? - P7Y6M (years and months duration) - - - years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59")) - - - - Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))' and expects result: 'P4Y9M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))'? - P4Y9M (years and months duration) - - - years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59")) - - - - Tests FEEL expression: 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))' and expects result: '-P11M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))'? - -P11M (years and months duration) - - - years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02")) - - - - Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))' and expects result: '-P4033Y2M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))'? - -P4033Y2M (years and months duration) - - - years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59")) - - - - Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))' and expects result: '-P4035Y11M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))'? - -P4035Y11M (years and months duration) - - - years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00")) - - - - Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))' and expects result: 'P2Y (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))'? - P2Y (years and months duration) - - - years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59")) - - - - Tests FEEL expression: 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P11M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? - P11M (years and months duration) - - - years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris")) - - - - Tests FEEL expression: 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P5Y7M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? - P5Y7M (years and months duration) - - - years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris")) - - - - Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))' and expects result: 'P1Y (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))'? - P1Y (years and months duration) - - - years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59")) - - - - Tests FEEL expression: 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))' and expects result: 'P4Y (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))'? - P4Y (years and months duration) - - - years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00")) - - - - Tests FEEL expression: 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))' and expects result: 'P2Y9M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))'? - P2Y9M (years and months duration) - - - years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111")) - - - - Tests FEEL expression: 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))' and expects result: 'P3Y (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))'? - P3Y (years and months duration) - - - years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645")) - - - - Tests FEEL expression: 'years and months duration(date(""),date(""))' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(date(""),date(""))'? - null (years and months duration) - - - years and months duration(date(""),date("")) - - - - Tests FEEL expression: 'years and months duration(2017)' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration(2017)'? - null (years and months duration) - - - years and months duration(2017) - - - - Tests FEEL expression: 'years and months duration("2012T-12-2511:00:00Z")' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration("2012T-12-2511:00:00Z")'? - null (years and months duration) - - - years and months duration("2012T-12-2511:00:00Z") - - - - Tests FEEL expression: 'years and months duration([],[])' and expects result: 'null (years and months duration)' - Result of FEEL expression 'years and months duration([],[])'? - null (years and months duration) - - - years and months duration([],[]) - - - - Tests FEEL expression: 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))' and expects result: 'P4Y3M (years and months duration)' - Result of FEEL expression 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))'? - P4Y3M (years and months duration) - - - years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59")) - - - - Tests FEEL expression: 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )' and expects result: 'P2Y4M (years and months duration)' - Result of FEEL expression 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )'? - P2Y4M (years and months duration) - - - years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") ) - - - - Tests FEEL expression: 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))' and expects result: 'P1Y (years and months duration)' - Result of FEEL expression 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))'? - P1Y (years and months duration) - - - years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59")) - - - - Tests FEEL expression: 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))' and expects result: 'P2Y (years and months duration)' - Result of FEEL expression 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))'? - P2Y (years and months duration) - - - years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01")) - - - - Tests FEEL expression: 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' - Result of FEEL expression 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))'? - P1Y8M (years and months duration) - - - years and months duration(from:date("2011-12-22"),to:date("2013-08-24")) - - - - Tests FEEL expression: 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' - Result of FEEL expression 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))'? - -P1Y (years and months duration) - - - years and months duration(from:date("2016-01-21"),to:date("2015-01-21")) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + FEEL built-in function 'years and months duration(from [date and time], to [date and time])' in category conversion functions + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + yearMonthDuration + + + Tests FEEL expression: 'years and months duration(null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null)'? + null (years and months duration) + + + years and months duration(null) + + + + Tests FEEL expression: 'years and months duration(null,null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null,null)'? + null (years and months duration) + + + years and months duration(null,null) + + + + Tests FEEL expression: 'years and months duration(date("2017-08-11"),null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(date("2017-08-11"),null)'? + null (years and months duration) + + + years and months duration(date("2017-08-11"),null) + + + + Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"),null)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"),null)'? + null (years and months duration) + + + years and months duration(date and time("2017-12-31T13:00:00"),null) + + + + Tests FEEL expression: 'years and months duration(null,date("2017-08-11"))' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null,date("2017-08-11"))'? + null (years and months duration) + + + years and months duration(null,date("2017-08-11")) + + + + Tests FEEL expression: 'years and months duration(null,date and time("2019-10-01T12:32:59"))' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(null,date and time("2019-10-01T12:32:59"))'? + null (years and months duration) + + + years and months duration(null,date and time("2019-10-01T12:32:59")) + + + + Tests FEEL expression: 'years and months duration()' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration()'? + null (years and months duration) + + + years and months duration() + + + + Tests FEEL expression: 'years and months duration(date("2011-12-22"),date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' + Result of FEEL expression 'years and months duration(date("2011-12-22"),date("2013-08-24"))'? + P1Y8M (years and months duration) + + + years and months duration(date("2011-12-22"),date("2013-08-24")) + + + + Tests FEEL expression: 'years and months duration(date("2013-08-24"),date("2011-12-22"))' and expects result: '-P1Y8M (years and months duration)' + Result of FEEL expression 'years and months duration(date("2013-08-24"),date("2011-12-22"))'? + -P1Y8M (years and months duration) + + + years and months duration(date("2013-08-24"),date("2011-12-22")) + + + + Tests FEEL expression: 'years and months duration(date("2015-01-21"),date("2016-01-21"))' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'years and months duration(date("2015-01-21"),date("2016-01-21"))'? + P1Y (years and months duration) + + + years and months duration(date("2015-01-21"),date("2016-01-21")) + + + + Tests FEEL expression: 'years and months duration(date("2016-01-21"),date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' + Result of FEEL expression 'years and months duration(date("2016-01-21"),date("2015-01-21"))'? + -P1Y (years and months duration) + + + years and months duration(date("2016-01-21"),date("2015-01-21")) + + + + Tests FEEL expression: 'years and months duration(date("2016-01-01"),date("2016-01-01"))' and expects result: 'P0M (years and months duration)' + Result of FEEL expression 'years and months duration(date("2016-01-01"),date("2016-01-01"))'? + P0M (years and months duration) + + + years and months duration(date("2016-01-01"),date("2016-01-01")) + + + + Tests FEEL expression: 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))' and expects result: 'P0M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00"))'? + P0M (years and months duration) + + + years and months duration(date and time("2017-12-31T13:00:00"), date and time("2017-12-31T12:00:00")) + + + + Tests FEEL expression: 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))' and expects result: 'P1Y2M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12"))'? + P1Y2M (years and months duration) + + + years and months duration(date and time("2016-09-30T23:25:00"), date and time("2017-12-28T12:12:12")) + + + + Tests FEEL expression: 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))' and expects result: 'P7Y6M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59"))'? + P7Y6M (years and months duration) + + + years and months duration(date and time("2010-05-30T03:55:58"), date and time("2017-12-15T00:59:59")) + + + + Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))' and expects result: 'P4Y9M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59"))'? + P4Y9M (years and months duration) + + + years and months duration(date and time("2014-12-31T23:59:59"), date and time("2019-10-01T12:32:59")) + + + + Tests FEEL expression: 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))' and expects result: '-P11M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02"))'? + -P11M (years and months duration) + + + years and months duration(date and time("-2016-01-30T09:05:00"), date and time("-2017-02-28T02:02:02")) + + + + Tests FEEL expression: 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))' and expects result: '-P4033Y2M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59"))'? + -P4033Y2M (years and months duration) + + + years and months duration(date and time("2014-12-31T23:59:59"), date and time("-2019-10-01T12:32:59")) + + + + Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))' and expects result: '-P4035Y11M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00"))'? + -P4035Y11M (years and months duration) + + + years and months duration(date and time("2017-09-05T10:20:00-01:00"), date and time("-2019-10-01T12:32:59+02:00")) + + + + Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))' and expects result: 'P2Y (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59"))'? + P2Y (years and months duration) + + + years and months duration(date and time("2017-09-05T10:20:00+05:00"), date and time("2019-10-01T12:32:59")) + + + + Tests FEEL expression: 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P11M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? + P11M (years and months duration) + + + years and months duration(date and time("2016-08-25T15:20:59+02:00"), date and time("2017-08-10T10:20:00@Europe/Paris")) + + + + Tests FEEL expression: 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))' and expects result: 'P5Y7M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris"))'? + P5Y7M (years and months duration) + + + years and months duration(date and time("2011-12-31T10:15:30@Etc/UTC"), date and time("2017-08-10T10:20:00@Europe/Paris")) + + + + Tests FEEL expression: 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59"))'? + P1Y (years and months duration) + + + years and months duration(date and time("2017-09-05T10:20:00@Etc/UTC"), date and time("2018-10-01T23:59:59")) + + + + Tests FEEL expression: 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))' and expects result: 'P4Y (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00"))'? + P4Y (years and months duration) + + + years and months duration(date and time("2011-08-25T15:59:59@Europe/Paris"), date and time("2015-08-25T15:20:59+02:00")) + + + + Tests FEEL expression: 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))' and expects result: 'P2Y9M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111"))'? + P2Y9M (years and months duration) + + + years and months duration(date and time("2015-12-31T23:59:59.9999999"), date and time("2018-10-01T12:32:59.111111")) + + + + Tests FEEL expression: 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))' and expects result: 'P3Y (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645"))'? + P3Y (years and months duration) + + + years and months duration(date and time("2016-09-05T22:20:55.123456+05:00"), date and time("2019-10-01T12:32:59.32415645")) + + + + Tests FEEL expression: 'years and months duration(date(""),date(""))' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(date(""),date(""))'? + null (years and months duration) + + + years and months duration(date(""),date("")) + + + + Tests FEEL expression: 'years and months duration(2017)' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration(2017)'? + null (years and months duration) + + + years and months duration(2017) + + + + Tests FEEL expression: 'years and months duration("2012T-12-2511:00:00Z")' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration("2012T-12-2511:00:00Z")'? + null (years and months duration) + + + years and months duration("2012T-12-2511:00:00Z") + + + + Tests FEEL expression: 'years and months duration([],[])' and expects result: 'null (years and months duration)' + Result of FEEL expression 'years and months duration([],[])'? + null (years and months duration) + + + years and months duration([],[]) + + + + Tests FEEL expression: 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))' and expects result: 'P4Y3M (years and months duration)' + Result of FEEL expression 'years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59"))'? + P4Y3M (years and months duration) + + + years and months duration(date("2013-08-24"), date and time("2017-12-15T00:59:59")) + + + + Tests FEEL expression: 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )' and expects result: 'P2Y4M (years and months duration)' + Result of FEEL expression 'years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") )'? + P2Y4M (years and months duration) + + + years and months duration(date and time("2017-02-28T23:59:59"), date("2019-07-23") ) + + + + Tests FEEL expression: 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))' and expects result: 'P1Y (years and months duration)' + Result of FEEL expression 'years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59"))'? + P1Y (years and months duration) + + + years and months duration(from:date and time("2016-12-31T00:00:01"),to:date and time("2017-12-31T23:59:59")) + + + + Tests FEEL expression: 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))' and expects result: 'P2Y (years and months duration)' + Result of FEEL expression 'years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01"))'? + P2Y (years and months duration) + + + years and months duration(from:date and time("2014-12-31T23:59:59"),to:date and time("2016-12-31T00:00:01")) + + + + Tests FEEL expression: 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))' and expects result: 'P1Y8M (years and months duration)' + Result of FEEL expression 'years and months duration(from:date("2011-12-22"),to:date("2013-08-24"))'? + P1Y8M (years and months duration) + + + years and months duration(from:date("2011-12-22"),to:date("2013-08-24")) + + + + Tests FEEL expression: 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))' and expects result: '-P1Y (years and months duration)' + Result of FEEL expression 'years and months duration(from:date("2016-01-21"),to:date("2015-01-21"))'? + -P1Y (years and months duration) + + + years and months duration(from:date("2016-01-21"),to:date("2015-01-21")) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Imported_Model.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Imported_Model.dmn index 95e729589d0..1ccb141bdb6 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Imported_Model.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Imported_Model.dmn @@ -1,4 +1,4 @@ - + - - - - string - - - number - - - - - - - - "Hello " + Person.name + "!" - - - - - - - - - - - - - - \ No newline at end of file + + + + string + + + number + + + + + + + + "Hello " + Person.name + "!" + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Model_B.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Model_B.dmn index 0085f8e9a5a..950d1ab4481 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Model_B.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Model_B.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - "Evaluating Say Hello to: "+modelA.Greet the Person - - + + + + + + + + + "Evaluating Say Hello to: "+modelA.Greet the Person + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Model_B2.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Model_B2.dmn index 484d857f99a..dbf96209917 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Model_B2.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Model_B2.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - "Evaluating Say Hello to: "+modelA.Greet the Person - - + + + + + + + + + "Evaluating Say Hello to: "+modelA.Greet the Person + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Say_hello_1ID1D.dmn b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Say_hello_1ID1D.dmn index 406d62b779b..8a9969ea8f0 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Say_hello_1ID1D.dmn +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/backward/compatibility/dmn13/Say_hello_1ID1D.dmn @@ -1,4 +1,4 @@ - + - - - - - - - - - - - "Hello, "+Person name - - + + + + + + + + + + + "Hello, "+Person name + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/large/model/large-model-nodes-226-copies.xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/large/model/large-model-nodes-226-copies.xml index afeb8dd6372..001fcd92d3e 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/large/model/large-model-nodes-226-copies.xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/large/model/large-model-nodes-226-copies.xml @@ -10,17 +10,17 @@ typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" namespace="https://kie.apache.org/dmn/_83E48730-5CFD-4746-8C2A-31BC73999999" > - - - - - - - - - - - + + + + + + + + + + - - - - + + + diff --git a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/selenium/KOGITO-404 (Payment Date).xml b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/selenium/KOGITO-404 (Payment Date).xml index e2ce3668651..3e2ee4c329d 100644 --- a/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/selenium/KOGITO-404 (Payment Date).xml +++ b/packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-runtime/src/test/resources/org/kie/workbench/common/dmn/showcase/client/selenium/KOGITO-404 (Payment Date).xml @@ -41,293 +41,260 @@ exporterVersion="6.2.11" triso:logoChoice="Default" > - - - - string - - - string - - - string - - - string - - - - - string - - - string - - - string - - - Any - - - tAddress - - - + + + string + + + string + + + string + + + string + + + + + string + + + string + + + string + + + Any + + + tAddress + + + - - - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + - - - employee.address.country - - - - - - - "US" - - + + employee.address.country + + + + + + + "US" + + - "15" - - - - - - - - "UK" - - "15" + + + + + + + + "UK" + + - "10" - - - - - - - - - - - "10" + + + + + + + + - + + - "01" - - - - - - - - - - on the(date of month) - - - - - - - "01" + + + + + + + + + + on the(date of month) + + + + + + + - - - "2019-05-"+x+"T23:59:00.123+00:00" - - - - - - - - - - - - - - - - - - + + "2019-05-"+x+"T23:59:00.123+00:00" + + + + + + + + + + + + + + + + + + - - - - employee - - - - - - paymentDate - - - - - - null - - - - - - null - - - - - - + + + employee + + + + + + paymentDate + + + + + + null + + + + + + null + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-api/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-api/pom.xml index 333f1fdc3cd..fd6de535eab 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-api/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-api/pom.xml @@ -80,6 +80,5 @@ mockito-core test - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-api/src/main/resources/org/kie/workbench/common/forms/dynamic/DynamicFormsAPI.gwt.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-api/src/main/resources/org/kie/workbench/common/forms/dynamic/DynamicFormsAPI.gwt.xml index e0ea5f02fa4..0462a119d45 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-api/src/main/resources/org/kie/workbench/common/forms/dynamic/DynamicFormsAPI.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-api/src/main/resources/org/kie/workbench/common/forms/dynamic/DynamicFormsAPI.gwt.xml @@ -20,7 +20,6 @@ - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-api/src/main/resources/org/kie/workbench/common/forms/dynamic/service/DynamicFormsAPIServices.gwt.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-api/src/main/resources/org/kie/workbench/common/forms/dynamic/service/DynamicFormsAPIServices.gwt.xml index 0299aee3c29..ddbc6f312ea 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-api/src/main/resources/org/kie/workbench/common/forms/dynamic/service/DynamicFormsAPIServices.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-api/src/main/resources/org/kie/workbench/common/forms/dynamic/service/DynamicFormsAPIServices.gwt.xml @@ -20,7 +20,6 @@ - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-client/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-client/pom.xml index 41d58253524..2bea9e16f48 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-client/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-client/pom.xml @@ -194,7 +194,5 @@ assertj-core test - - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-client/src/main/resources/org/kie/workbench/common/forms/dynamic/DynamicFormsClient.gwt.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-client/src/main/resources/org/kie/workbench/common/forms/dynamic/DynamicFormsClient.gwt.xml index dff755ca32e..f3924dfc653 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-client/src/main/resources/org/kie/workbench/common/forms/dynamic/DynamicFormsClient.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-dynamic-forms/kie-wb-common-dynamic-forms-client/src/main/resources/org/kie/workbench/common/forms/dynamic/DynamicFormsClient.gwt.xml @@ -20,7 +20,6 @@ - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-client/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-client/pom.xml index 19d917a435d..bbe75be8c1e 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-client/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-client/pom.xml @@ -109,5 +109,4 @@ javax.annotation-api - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-client/src/main/resources/org/kie/workbench/common/forms/common/rendering/CommonFormClient.gwt.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-client/src/main/resources/org/kie/workbench/common/forms/common/rendering/CommonFormClient.gwt.xml index 570ee402671..a06783c17f9 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-client/src/main/resources/org/kie/workbench/common/forms/common/rendering/CommonFormClient.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-client/src/main/resources/org/kie/workbench/common/forms/common/rendering/CommonFormClient.gwt.xml @@ -20,7 +20,6 @@ - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-shared/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-shared/pom.xml index f3b280773ce..8181bf6a735 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-shared/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-shared/pom.xml @@ -47,8 +47,5 @@ com.google.code.gson gson - - - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-shared/src/main/resources/org/kie/workbench/common/forms/commons/rendering/CommonFormShared.gwt.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-shared/src/main/resources/org/kie/workbench/common/forms/commons/rendering/CommonFormShared.gwt.xml index c9bb69b6dd7..77c820e5cd2 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-shared/src/main/resources/org/kie/workbench/common/forms/commons/rendering/CommonFormShared.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/kie-wb-common-forms-common-rendering-shared/src/main/resources/org/kie/workbench/common/forms/commons/rendering/CommonFormShared.gwt.xml @@ -20,6 +20,5 @@ - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/pom.xml index 7db4e4f01d6..331b825ebbe 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-common-rendering/pom.xml @@ -39,5 +39,4 @@ kie-wb-common-forms-common-rendering-shared kie-wb-common-forms-common-rendering-client - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-crud-component/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-crud-component/pom.xml index 3cd13fda098..6d145198bdc 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-crud-component/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-crud-component/pom.xml @@ -92,5 +92,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-crud-component/src/main/resources/org/kie/workbench/common/forms/crud/FormsCRUDWidget.gwt.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-crud-component/src/main/resources/org/kie/workbench/common/forms/crud/FormsCRUDWidget.gwt.xml index 3a471e58f4c..71d1fae3813 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-crud-component/src/main/resources/org/kie/workbench/common/forms/crud/FormsCRUDWidget.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-crud-component/src/main/resources/org/kie/workbench/common/forms/crud/FormsCRUDWidget.gwt.xml @@ -20,11 +20,8 @@ - - - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-processing-engine/src/main/resources/org/kie/workbench/common/forms/processing/FormProcessingEngine.gwt.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-processing-engine/src/main/resources/org/kie/workbench/common/forms/processing/FormProcessingEngine.gwt.xml index 1ee475caa8c..35d2d090af0 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-processing-engine/src/main/resources/org/kie/workbench/common/forms/processing/FormProcessingEngine.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/kie-wb-common-forms-processing-engine/src/main/resources/org/kie/workbench/common/forms/processing/FormProcessingEngine.gwt.xml @@ -20,7 +20,6 @@ - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/pom.xml index 245a5407dd0..9970d7e7038 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-commons/pom.xml @@ -41,5 +41,4 @@ kie-wb-common-forms-crud-component kie-wb-common-forms-common-rendering - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-base/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-base/pom.xml index 4deb7463854..c5e530eeffd 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-base/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-base/pom.xml @@ -44,5 +44,4 @@ kie-wb-common-forms-api - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-base/src/main/resources/org/kie/workbench/common/forms/adf/AnnotationDrivenFormsBase.gwt.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-base/src/main/resources/org/kie/workbench/common/forms/adf/AnnotationDrivenFormsBase.gwt.xml index 96b2a86af57..d979f9b4276 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-base/src/main/resources/org/kie/workbench/common/forms/adf/AnnotationDrivenFormsBase.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-base/src/main/resources/org/kie/workbench/common/forms/adf/AnnotationDrivenFormsBase.gwt.xml @@ -20,7 +20,6 @@ - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-api/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-api/pom.xml index c553234b5d6..037cc994bc3 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-api/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-api/pom.xml @@ -65,7 +65,5 @@ mockito-core test - - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-api/src/main/resources/org/kie/workbench/common/forms/adf/engine/AnnotationDrivenFormsEngineAPI.gwt.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-api/src/main/resources/org/kie/workbench/common/forms/adf/engine/AnnotationDrivenFormsEngineAPI.gwt.xml index 242e0869b4c..e583508877c 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-api/src/main/resources/org/kie/workbench/common/forms/adf/engine/AnnotationDrivenFormsEngineAPI.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-api/src/main/resources/org/kie/workbench/common/forms/adf/engine/AnnotationDrivenFormsEngineAPI.gwt.xml @@ -20,7 +20,6 @@ - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-client/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-client/pom.xml index 069b6fd7aa8..ba4bb688fd7 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-client/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-client/pom.xml @@ -80,5 +80,4 @@ javax.annotation-api - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-client/src/main/resources/org/kie/workbench/common/forms/adf/engine/AnnotationDrivenFormsEngineClient.gwt.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-client/src/main/resources/org/kie/workbench/common/forms/adf/engine/AnnotationDrivenFormsEngineClient.gwt.xml index 20a538c1cfb..ff26fd620c7 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-client/src/main/resources/org/kie/workbench/common/forms/adf/engine/AnnotationDrivenFormsEngineClient.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/kie-wb-common-forms-adf-engine-client/src/main/resources/org/kie/workbench/common/forms/adf/engine/AnnotationDrivenFormsEngineClient.gwt.xml @@ -20,7 +20,6 @@ - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/pom.xml index 4570b4a0ce1..ac11b26010e 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-engine/pom.xml @@ -39,5 +39,4 @@ kie-wb-common-forms-adf-engine-api kie-wb-common-forms-adf-engine-client - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-processors/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-processors/pom.xml index 90360c9a23c..f515bffa8ba 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-processors/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-adf/kie-wb-common-forms-adf-processors/pom.xml @@ -75,7 +75,6 @@ - org.apache.maven.plugins maven-compiler-plugin @@ -83,8 +82,6 @@ none - - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-api/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-api/pom.xml index 78fac221483..e3c9c324e8a 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-api/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-api/pom.xml @@ -53,5 +53,4 @@ uberfire-layout-editor-api - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-api/src/main/resources/org/kie/workbench/common/forms/FormsAPI.gwt.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-api/src/main/resources/org/kie/workbench/common/forms/FormsAPI.gwt.xml index e78a3a377e3..96d09484447 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-api/src/main/resources/org/kie/workbench/common/forms/FormsAPI.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-api/src/main/resources/org/kie/workbench/common/forms/FormsAPI.gwt.xml @@ -20,7 +20,6 @@ - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-api/src/main/resources/org/kie/workbench/common/forms/service/FormsAPIServiceShared.gwt.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-api/src/main/resources/org/kie/workbench/common/forms/service/FormsAPIServiceShared.gwt.xml index c9bb69b6dd7..77c820e5cd2 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-api/src/main/resources/org/kie/workbench/common/forms/service/FormsAPIServiceShared.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-api/src/main/resources/org/kie/workbench/common/forms/service/FormsAPIServiceShared.gwt.xml @@ -20,6 +20,5 @@ - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/pom.xml index 78b6057a0f3..c699b468e45 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/pom.xml @@ -111,5 +111,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/resources/org/kie/workbench/common/forms/fields/BasicFormFields.gwt.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/resources/org/kie/workbench/common/forms/fields/BasicFormFields.gwt.xml index 15014968819..f5c62b90c46 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/resources/org/kie/workbench/common/forms/fields/BasicFormFields.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/resources/org/kie/workbench/common/forms/fields/BasicFormFields.gwt.xml @@ -20,9 +20,6 @@ - - - diff --git a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/pom.xml b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/pom.xml index b1c94f988bf..d8b9b45dc0c 100644 --- a/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/pom.xml +++ b/packages/stunner-editors/kie-wb-common-forms/kie-wb-common-forms-core/pom.xml @@ -41,5 +41,4 @@ kie-wb-common-forms-adf kie-wb-common-forms-fields - diff --git a/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-api/pom.xml b/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-api/pom.xml index cf6fc5b9782..1ed6c41acd7 100644 --- a/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-api/pom.xml +++ b/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-api/pom.xml @@ -39,7 +39,6 @@ - org.kie.kogito.stunner.editors @@ -49,7 +48,5 @@ org.kie.kogito.stunner.editors errai-ui - - diff --git a/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-api/src/main/resources/org/kie/workbench/common/kogito/KogitoAPI.gwt.xml b/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-api/src/main/resources/org/kie/workbench/common/kogito/KogitoAPI.gwt.xml index 8189094819f..c5606b0d53f 100644 --- a/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-api/src/main/resources/org/kie/workbench/common/kogito/KogitoAPI.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-api/src/main/resources/org/kie/workbench/common/kogito/KogitoAPI.gwt.xml @@ -20,10 +20,8 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-client/pom.xml b/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-client/pom.xml index 4106df72130..039d45f6ab2 100644 --- a/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-client/pom.xml +++ b/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-client/pom.xml @@ -39,7 +39,6 @@ - org.kie.kogito.stunner.editors @@ -91,7 +90,5 @@ gwt-user provided - - diff --git a/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-client/src/main/resources/org/kie/workbench/common/kogito/KogitoClient.gwt.xml b/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-client/src/main/resources/org/kie/workbench/common/kogito/KogitoClient.gwt.xml index 294bc15601c..55a2bc66845 100644 --- a/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-client/src/main/resources/org/kie/workbench/common/kogito/KogitoClient.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-client/src/main/resources/org/kie/workbench/common/kogito/KogitoClient.gwt.xml @@ -20,7 +20,6 @@ - @@ -35,5 +34,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-webapp-base/pom.xml b/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-webapp-base/pom.xml index 2e6cd62b85e..1911e603704 100644 --- a/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-webapp-base/pom.xml +++ b/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-webapp-base/pom.xml @@ -120,7 +120,5 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-webapp-base/src/main/resources/org/kie/workbench/common/kogito/webapp/base/KogitoWebappBase.gwt.xml b/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-webapp-base/src/main/resources/org/kie/workbench/common/kogito/webapp/base/KogitoWebappBase.gwt.xml index c2831075cdd..f88fcdd48ae 100644 --- a/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-webapp-base/src/main/resources/org/kie/workbench/common/kogito/webapp/base/KogitoWebappBase.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-kogito/kie-wb-common-kogito-webapp-base/src/main/resources/org/kie/workbench/common/kogito/webapp/base/KogitoWebappBase.gwt.xml @@ -20,7 +20,6 @@ - @@ -29,5 +28,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-kogito/pom.xml b/packages/stunner-editors/kie-wb-common-kogito/pom.xml index 81cc2f580a9..b661e1c2e16 100644 --- a/packages/stunner-editors/kie-wb-common-kogito/pom.xml +++ b/packages/stunner-editors/kie-wb-common-kogito/pom.xml @@ -43,5 +43,4 @@ kie-wb-common-kogito-client kie-wb-common-kogito-webapp-base - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/pom.xml index 93084ee2c8d..8991ad1c57d 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/pom.xml @@ -39,7 +39,6 @@ - @@ -191,7 +190,5 @@ kie-wb-common-stunner-backend-api test - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/src/main/resources/org/kie/workbench/common/stunner/client/StunnerLienzo.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/src/main/resources/org/kie/workbench/common/stunner/client/StunnerLienzo.gwt.xml index b745d27d191..eebb1b0f2dc 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/src/main/resources/org/kie/workbench/common/stunner/client/StunnerLienzo.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-lienzo/src/main/resources/org/kie/workbench/common/stunner/client/StunnerLienzo.gwt.xml @@ -20,7 +20,6 @@ - @@ -29,5 +28,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-api/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-api/pom.xml index f59ddd32cd1..2368239d5df 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-api/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-api/pom.xml @@ -39,7 +39,6 @@ - @@ -72,7 +71,5 @@ javax.inject provided - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-api/src/main/resources/org/kie/workbench/common/stunner/shapes/StunnerShapesApi.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-api/src/main/resources/org/kie/workbench/common/stunner/shapes/StunnerShapesApi.gwt.xml index da55de60956..df0cb2b4f05 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-api/src/main/resources/org/kie/workbench/common/stunner/shapes/StunnerShapesApi.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-api/src/main/resources/org/kie/workbench/common/stunner/shapes/StunnerShapesApi.gwt.xml @@ -20,11 +20,9 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-client/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-client/pom.xml index 49e0f8163f5..5d573238699 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-client/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-client/pom.xml @@ -39,7 +39,6 @@ - @@ -126,7 +125,5 @@ test - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-client/src/main/resources/org/kie/workbench/common/stunner/shapes/StunnerShapesClient.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-client/src/main/resources/org/kie/workbench/common/stunner/shapes/StunnerShapesClient.gwt.xml index 004757d8dd5..87d68300b80 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-client/src/main/resources/org/kie/workbench/common/stunner/shapes/StunnerShapesClient.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/kie-wb-common-stunner-shapes-client/src/main/resources/org/kie/workbench/common/stunner/shapes/StunnerShapesClient.gwt.xml @@ -20,11 +20,9 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/pom.xml index 52050c6066c..39339d715c7 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-shapes/pom.xml @@ -38,5 +38,4 @@ kie-wb-common-stunner-shapes-api kie-wb-common-stunner-shapes-client - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/pom.xml index ab253d4d6e7..65bbeace1ef 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/pom.xml @@ -40,7 +40,6 @@ - @@ -204,7 +203,5 @@ lienzo-tests test - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/src/main/resources/org/kie/workbench/common/stunner/client/StunnerWidgets.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/src/main/resources/org/kie/workbench/common/stunner/client/StunnerWidgets.gwt.xml index daf3c6d08ca..5fd8e06c971 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/src/main/resources/org/kie/workbench/common/stunner/client/StunnerWidgets.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/src/main/resources/org/kie/workbench/common/stunner/client/StunnerWidgets.gwt.xml @@ -20,7 +20,6 @@ - @@ -31,5 +30,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/src/test/resources/images/svg.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/src/test/resources/images/svg.svg index 00bc815c102..b234e13ad0a 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/src/test/resources/images/svg.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/kie-wb-common-stunner-widgets/src/test/resources/images/svg.svg @@ -1,6 +1,17 @@ - + - + - - - + + S29,32,40,32h336c11,0,20.4,3.9,28.2,11.8S416,61,416,72z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/pom.xml index 3a7e3bc7ba3..e8bf8b584da 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-client/pom.xml @@ -39,5 +39,4 @@ kie-wb-common-stunner-lienzo kie-wb-common-stunner-widgets - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-backend-api/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-backend-api/pom.xml index 2bb6b181bfb..2787bcb08d6 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-backend-api/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-backend-api/pom.xml @@ -51,7 +51,6 @@ uberfire-api - org.kie.kogito.stunner.editors errai-common @@ -68,7 +67,5 @@ javax.inject provided - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-backend-api/src/main/resources/org/kie/workbench/common/stunner/core/StunnerBackendApi.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-backend-api/src/main/resources/org/kie/workbench/common/stunner/core/StunnerBackendApi.gwt.xml index aeac5eea42a..a9ea914e647 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-backend-api/src/main/resources/org/kie/workbench/common/stunner/core/StunnerBackendApi.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-backend-api/src/main/resources/org/kie/workbench/common/stunner/core/StunnerBackendApi.gwt.xml @@ -20,12 +20,10 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-client-api/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-client-api/pom.xml index c1b2a8d2488..0bff894b1ce 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-client-api/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-client-api/pom.xml @@ -39,7 +39,6 @@ - org.kie.kogito.stunner.editors kie-wb-common-stunner-core-api @@ -121,7 +120,5 @@ mockito-core test - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-client-api/src/main/resources/org/kie/workbench/common/stunner/core/StunnerClientApi.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-client-api/src/main/resources/org/kie/workbench/common/stunner/core/StunnerClientApi.gwt.xml index 345e765e62e..56bf1a10769 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-client-api/src/main/resources/org/kie/workbench/common/stunner/core/StunnerClientApi.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-client-api/src/main/resources/org/kie/workbench/common/stunner/core/StunnerClientApi.gwt.xml @@ -20,11 +20,9 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-core-api/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-core-api/pom.xml index 67b6e616d15..3c7d0f0ad47 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-core-api/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-core-api/pom.xml @@ -39,7 +39,6 @@ - @@ -60,7 +59,6 @@ - org.kie.kogito.stunner.editors errai-common @@ -88,5 +86,4 @@ uberfire-api - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-core-api/src/main/resources/org/kie/workbench/common/stunner/core/StunnerCoreApi.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-core-api/src/main/resources/org/kie/workbench/common/stunner/core/StunnerCoreApi.gwt.xml index 58fd9733fd3..368e38ac239 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-core-api/src/main/resources/org/kie/workbench/common/stunner/core/StunnerCoreApi.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/kie-wb-common-stunner-core-api/src/main/resources/org/kie/workbench/common/stunner/core/StunnerCoreApi.gwt.xml @@ -20,7 +20,6 @@ - @@ -41,5 +40,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/pom.xml index 72fa88792b4..6983c6ece62 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-api/pom.xml @@ -39,5 +39,4 @@ kie-wb-common-stunner-backend-api kie-wb-common-stunner-client-api - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-client-common/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-client-common/pom.xml index b6abd65f7fd..0ccc0a44457 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-client-common/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-client-common/pom.xml @@ -39,7 +39,6 @@ - @@ -83,8 +82,6 @@ uberfire-client-api - - org.kie.kogito.stunner.editors errai-common @@ -186,7 +183,6 @@ jboss-jaxb-api_2.3_spec test - @@ -204,5 +200,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-client-common/src/main/resources/org/kie/workbench/common/stunner/core/StunnerClientCommon.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-client-common/src/main/resources/org/kie/workbench/common/stunner/core/StunnerClientCommon.gwt.xml index 49904924358..2aefff95c8e 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-client-common/src/main/resources/org/kie/workbench/common/stunner/core/StunnerClientCommon.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-client-common/src/main/resources/org/kie/workbench/common/stunner/core/StunnerClientCommon.gwt.xml @@ -20,7 +20,6 @@ - @@ -31,5 +30,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-core-common/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-core-common/pom.xml index 7760b16862d..8ca8de3fdc6 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-core-common/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-core-common/pom.xml @@ -39,7 +39,6 @@ - org.kie.kogito.stunner.editors kie-wb-common-stunner-core-api @@ -65,7 +64,6 @@ - org.kie.kogito.stunner.editors errai-common @@ -150,7 +148,6 @@ assertj-core test - @@ -168,5 +165,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-core-common/src/main/resources/org/kie/workbench/common/stunner/core/StunnerCoreCommon.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-core-common/src/main/resources/org/kie/workbench/common/stunner/core/StunnerCoreCommon.gwt.xml index 7a8f8f8bbf1..9c6abd272ed 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-core-common/src/main/resources/org/kie/workbench/common/stunner/core/StunnerCoreCommon.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/kie-wb-common-stunner-core-common/src/main/resources/org/kie/workbench/common/stunner/core/StunnerCoreCommon.gwt.xml @@ -20,7 +20,6 @@ - @@ -40,5 +39,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/pom.xml index a52b391d6a5..8d9fa6469c0 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-commons/pom.xml @@ -42,5 +42,4 @@ kie-wb-common-stunner-core-common kie-wb-common-stunner-client-common - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-processors/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-processors/pom.xml index 2bdd82a2183..0694ca1ce06 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-processors/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/kie-wb-common-stunner-processors/pom.xml @@ -39,7 +39,6 @@ - org.kie.kogito.stunner.editors kie-wb-common-stunner-core-api @@ -66,12 +65,10 @@ org.apache.commons commons-lang3 - - org.apache.maven.plugins maven-compiler-plugin @@ -79,8 +76,6 @@ none - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/pom.xml index 87bd86c3e9b..6526959deff 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-core/pom.xml @@ -39,5 +39,4 @@ kie-wb-common-stunner-commons kie-wb-common-stunner-processors - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-api/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-api/pom.xml index d0b610a35d8..934f5f1b919 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-api/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-api/pom.xml @@ -43,8 +43,6 @@ errai-common - - org.kie.kogito.stunner.editors errai-data-binding @@ -79,7 +77,5 @@ org.kie.kogito.stunner.editors kie-wb-common-stunner-core-api - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-api/src/main/resources/org/kie/workbench/common/stunner/forms/StunnerFormsAPI.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-api/src/main/resources/org/kie/workbench/common/stunner/forms/StunnerFormsAPI.gwt.xml index 05ed65e5a27..a00d4ee3e1c 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-api/src/main/resources/org/kie/workbench/common/stunner/forms/StunnerFormsAPI.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-api/src/main/resources/org/kie/workbench/common/stunner/forms/StunnerFormsAPI.gwt.xml @@ -20,12 +20,10 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-client/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-client/pom.xml index 8e1518f0f94..efcc569faca 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-client/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-client/pom.xml @@ -39,7 +39,6 @@ - org.gwtproject gwt-user @@ -66,8 +65,6 @@ - - org.kie.kogito.stunner.editors errai-ui @@ -174,7 +171,5 @@ gwtmockito test - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-client/src/main/resources/org/kie/workbench/common/stunner/forms/StunnerFormsClient.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-client/src/main/resources/org/kie/workbench/common/stunner/forms/StunnerFormsClient.gwt.xml index 8c44180fa9f..00e9a45215d 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-client/src/main/resources/org/kie/workbench/common/stunner/forms/StunnerFormsClient.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/kie-wb-common-stunner-forms-client/src/main/resources/org/kie/workbench/common/stunner/forms/StunnerFormsClient.gwt.xml @@ -20,7 +20,6 @@ - @@ -30,5 +29,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/pom.xml index 00777d68d56..7ece8400b4f 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-forms/pom.xml @@ -38,5 +38,4 @@ kie-wb-common-stunner-forms-api kie-wb-common-stunner-forms-client - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-kogito/kie-wb-common-stunner-kogito-client/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-kogito/kie-wb-common-stunner-kogito-client/pom.xml index a11c44709ae..012791c2e35 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-kogito/kie-wb-common-stunner-kogito-client/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-kogito/kie-wb-common-stunner-kogito-client/pom.xml @@ -131,5 +131,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-kogito/kie-wb-common-stunner-kogito-client/src/main/resources/org/kie/workbench/common/stunner/kogito/StunnerKogitoClient.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-kogito/kie-wb-common-stunner-kogito-client/src/main/resources/org/kie/workbench/common/stunner/kogito/StunnerKogitoClient.gwt.xml index 90a70556afb..e539939b0a3 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-kogito/kie-wb-common-stunner-kogito-client/src/main/resources/org/kie/workbench/common/stunner/kogito/StunnerKogitoClient.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-kogito/kie-wb-common-stunner-kogito-client/src/main/resources/org/kie/workbench/common/stunner/kogito/StunnerKogitoClient.gwt.xml @@ -20,7 +20,6 @@ - @@ -36,5 +35,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-kogito/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-kogito/pom.xml index 1f99217e7c0..34f606989cc 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-kogito/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-kogito/pom.xml @@ -37,5 +37,4 @@ kie-wb-common-stunner-kogito-client - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-lienzo-extensions/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-lienzo-extensions/pom.xml index 7318ff95a03..ff397c5acea 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-lienzo-extensions/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-lienzo-extensions/pom.xml @@ -40,7 +40,6 @@ - @@ -95,7 +94,5 @@ org.kie.kogito.stunner.editors errai-common - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-lienzo-extensions/src/main/resources/org/kie/workbench/common/stunner/StunnerLienzoExtensions.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-lienzo-extensions/src/main/resources/org/kie/workbench/common/stunner/StunnerLienzoExtensions.gwt.xml index d06f0ca0926..316c7069588 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-lienzo-extensions/src/main/resources/org/kie/workbench/common/stunner/StunnerLienzoExtensions.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-lienzo-extensions/src/main/resources/org/kie/workbench/common/stunner/StunnerLienzoExtensions.gwt.xml @@ -20,10 +20,8 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-client/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-client/pom.xml index 1c5ec7c0010..3311ad926ff 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-client/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-client/pom.xml @@ -39,7 +39,6 @@ - @@ -121,7 +120,5 @@ lienzo-tests test - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-client/src/main/resources/org/kie/workbench/common/stunner/svg/StunnerSvgClient.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-client/src/main/resources/org/kie/workbench/common/stunner/svg/StunnerSvgClient.gwt.xml index d646313a25a..25869f71d39 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-client/src/main/resources/org/kie/workbench/common/stunner/svg/StunnerSvgClient.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-client/src/main/resources/org/kie/workbench/common/stunner/svg/StunnerSvgClient.gwt.xml @@ -20,10 +20,8 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-gen/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-gen/pom.xml index 6eac0d4e835..bb330dd74c4 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-gen/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-gen/pom.xml @@ -39,7 +39,6 @@ - @@ -118,12 +117,10 @@ mockito-core test - - org.apache.maven.plugins @@ -144,8 +141,6 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-gen/src/test/resources/org/kie/workbench/common/stunner/svg/gen/cancel.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-gen/src/test/resources/org/kie/workbench/common/stunner/svg/gen/cancel.svg index 0112a13f782..0e86b87566c 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-gen/src/test/resources/org/kie/workbench/common/stunner/svg/gen/cancel.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-extensions/kie-wb-common-stunner-svg/kie-wb-common-stunner-svg-gen/src/test/resources/org/kie/workbench/common/stunner/svg/gen/cancel.svg @@ -1,5 +1,16 @@ - - + + - - org.kie.kogito.stunner.editors errai-common @@ -203,7 +200,6 @@ - @@ -250,5 +246,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-api/src/main/resources/org/kie/workbench/common/stunner/bpmn/StunnerBpmnApi.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-api/src/main/resources/org/kie/workbench/common/stunner/bpmn/StunnerBpmnApi.gwt.xml index 68af3cbce9f..e3c8b4c354e 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-api/src/main/resources/org/kie/workbench/common/stunner/bpmn/StunnerBpmnApi.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-api/src/main/resources/org/kie/workbench/common/stunner/bpmn/StunnerBpmnApi.gwt.xml @@ -20,7 +20,6 @@ - @@ -40,5 +39,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/pom.xml index d91908b5c83..41a50a53285 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/pom.xml @@ -304,6 +304,5 @@ powermock-module-junit4 test - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/java/org/kie/workbench/common/stunner/bpmn/client/forms/fields/assignmentsEditor/ActivityDataIOEditorWidget.html b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/java/org/kie/workbench/common/stunner/bpmn/client/forms/fields/assignmentsEditor/ActivityDataIOEditorWidget.html index f14e567c18e..4352b8b40e7 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/java/org/kie/workbench/common/stunner/bpmn/client/forms/fields/assignmentsEditor/ActivityDataIOEditorWidget.html +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/java/org/kie/workbench/common/stunner/bpmn/client/forms/fields/assignmentsEditor/ActivityDataIOEditorWidget.html @@ -1,4 +1,4 @@ - + - + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/activity.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/activity.svg index 471c0a44832..7c31fc63805 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/activity.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/activity.svg @@ -1,5 +1,14 @@ - - + + - +.activity-svg-css { + fill: #4d5258; +} + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/artifacts.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/artifacts.svg index 792e8da35ea..90454b3db50 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/artifacts.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/artifacts.svg @@ -1,6 +1,14 @@ - + - + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: #00659c; +} +.st3 { + fill: #b2121e; +} +.st4 { + fill: none; +} +.st5 { + fill: #ffffff; +} + - - - + + - - - - - - + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/container.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/container.svg index a14679733c9..5443664239c 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/container.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/container.svg @@ -1,5 +1,14 @@ - - + + - + M200,240h140v60H200V240z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/end-events.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/end-events.svg index 35a41f21653..f05e259f3ea 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/end-events.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/end-events.svg @@ -1,5 +1,14 @@ - - + + - + S97,257.9,97,224s13.2-65.8,37.2-89.8S190.1,97,224,97" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/event.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/event.svg index bc72bc0a3ed..22096ff7bf9 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/event.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/event.svg @@ -1,6 +1,15 @@ - + - + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + opacity: 0.3; + fill: none; + stroke: #449fdb; + enable-background: new; +} +.st3 { + fill: none; + stroke: #449fdb; +} + - + circle-intermediate-3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/gateway.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/gateway.svg index b0929a396e2..39739e6b062 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/gateway.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/gateway.svg @@ -1,5 +1,14 @@ - - + + - + L240.7,12.7C232.2,4.2,221.1,0,210,0L210,0z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/intermediate-events.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/intermediate-events.svg index f2f179cdcb1..4c1682b7990 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/intermediate-events.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/intermediate-events.svg @@ -1,5 +1,14 @@ - - + + - + S186,120,210,120s46.6,9.4,63.6,26.4S300,186,300,210S290.6,256.6,273.6,273.6z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/library.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/library.svg index 1329d155d62..1e60e36a3ba 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/library.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/library.svg @@ -1,6 +1,15 @@ - + - + +.st0 { + opacity: 0.3; + fill: none; + stroke: #449fdb; + enable-background: new; +} +.st1 { + fill: none; + stroke: #449fdb; +} +.st2 { + display: none; +} +.st3 { + display: inline; +} +.st4 { + fill: #ffffff; +} +.st5 { + fill: #ffffff; + stroke: #000000; + stroke-width: 32; + stroke-miterlimit: 10; +} +.st6 { + display: inline; + fill: none; + stroke: #000000; + stroke-width: 16; + stroke-linecap: round; + stroke-miterlimit: 10; +} +.st7 { + fill: none; + stroke: #000000; + stroke-width: 16; + stroke-linecap: round; + stroke-miterlimit: 10; +} + - + circle-intermediate-3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - + + + - - - - - - - - - - - - - - + c0,0,192,0,224,0c48,0,64-48,64-80s0-210,0-240C384,73.6,400,32,400,32L400,32z" + /> + + + + + + + + + + + + + + - - - + + - - - + + + - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + c-32,0-74.4,0-96,0c-36.6,0-32,32-32,32v256H64z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/sequence.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/sequence.svg index 4937c24b0fe..1375d664357 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/sequence.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/sequence.svg @@ -1,6 +1,15 @@ - + - + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + opacity: 0.3; + fill: none; + stroke: #449fdb; + enable-background: new; +} +.st3 { + fill: none; + stroke: #449fdb; +} +.st4 { + fill: #ffffff; +} +.st5 { + fill: #ffffff; + stroke: #000000; + stroke-width: 32; + stroke-miterlimit: 10; +} +.st6 { + display: inline; + fill: none; + stroke: #000000; + stroke-width: 16; + stroke-linecap: round; + stroke-miterlimit: 10; +} +.st7 { + fill: none; + stroke: #000000; + stroke-width: 16; + stroke-linecap: round; + stroke-miterlimit: 10; +} + - + circle-intermediate-3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + c-6.2,6.2-6.2,16.4,0,22.6l11.3,11.3c6.2,6.2,16.4,6.2,22.6,0l68.2-68.2l11.3-11.3C444.6,228.6,444.6,218.4,438.3,212.2z" + /> - - - + + + - - - - + + + - - - - - - - - - - - - - - + c0,0,192,0,224,0c48,0,64-48,64-80s0-210,0-240C384,73.6,400,32,400,32L400,32z" + /> + + + + + + + + + + + + + + - - - + + - - - + + + - + - - - - - - - - - - - - - - - - - - + c0,0-112,0-320,0c-143,65,160,448,72,448c-21,0-30,0-30,0s199.7,0,283,0c32,0,58-30.9,58-63c0-56-182-352-63.9-352L384-1L384-1z" + /> + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/service-tasks.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/service-tasks.svg index fba483181de..39bfbbdcd0d 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/service-tasks.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/service-tasks.svg @@ -1,5 +1,14 @@ - - + + - + c0.7,0,10.3,5.4,29.1,16.4c0.7,0.5,0.9,1,0.9,1.7c0,3.9-3.9,14.7-12,32.4c2.6,3.6,5,7.7,7,12.2C428.4,69,440,71.5,440,74z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/start-events.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/start-events.svg index fed85dfc773..ca820199305 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/start-events.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/start-events.svg @@ -1,5 +1,14 @@ - - + + - + S380,164.6,380,210S362.3,298.1,330.2,330.2z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/sub-process.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/sub-process.svg index 6716096c8f8..db25b27b18c 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/sub-process.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/categories/sub-process.svg @@ -1,5 +1,14 @@ - - + + - +.sub-process-svg-css { + fill: #4d5258; +} + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/connectors/sequence.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/connectors/sequence.svg index 171e5f2457f..2c07c6956e0 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/connectors/sequence.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/connectors/sequence.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + l11.3,11.3c6.2,6.2,16.4,6.2,22.6,0l68.2-68.2l11.3-11.3C417.6,228.6,417.6,218.4,411.3,212.2z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-error.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-error.svg index 50e70eea1e1..255a76aa68f 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-error.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-error.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + opacity: 0.3; + fill: none; + enable-background: new; +} +.st3 { + fill: none; +} +.event-end-error-css { + fill: #a30000; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + c3.9-8.1,4.8-11.2,11.4-13.6c6.3-2.3,11.2,0.4,16.8,5.7S288,209.7,288,209.7z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-message.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-message.svg index 6e491091551..dd0f731c9c8 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-message.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-message.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} +.event-end-message-css { + fill: #a30000; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + S448,93,448,104z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-none.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-none.svg index 43be4353130..121ec5bac7b 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-none.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-none.svg @@ -1,5 +1,16 @@ - - + + - + S97,257.9,97,224s13.2-65.8,37.2-89.8S190.1,97,224,97" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-signal.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-signal.svg index cc7168942ac..8d9042b5ada 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-signal.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-signal.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + fill: none; +} +.event-end-signal-css { + fill: #a30000; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + c6.2-10.5,6.3-21,0.5-31.5l-191.8-352c-2.8-5.2-6.7-9.2-11.7-12.2C236,1.5,230.6,0,224.7,0L224.7,0z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-terminate.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-terminate.svg index 7b3910cda0e..0e7a8e67194 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-terminate.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-end-terminate.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + opacity: 0.3; + fill: none; + enable-background: new; +} +.st3 { + fill: none; +} +.event-intermediate-error-css { + fill: #e5a000; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + C130.7,50.6,126.9,48,122.6,48L122.6,48z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-link-throwing.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-link-throwing.svg index c198759107d..4b8558352f2 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-link-throwing.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-link-throwing.svg @@ -1,5 +1,16 @@ - - + + - + c3.1-3.1,4.6-6.9,4.6-11.4c0-4.6-1.5-8.3-4.6-11.2l-81.4-81.3C231.1,132.9,227.3,131.3,222.8,131.3L222.8,131.3z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-link.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-link.svg index 0bb62f70c02..f066345a66c 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-link.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-link.svg @@ -1,5 +1,16 @@ - - + + - + C231.1,132.9,227.3,131.3,222.8,131.3L222.8,131.3z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-message-throwing.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-message-throwing.svg index ca4c474205d..2fa1551699f 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-message-throwing.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-message-throwing.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + opacity: 0.3; + fill: none; + enable-background: new; +} +.st3 { + fill: none; +} +.event-intermediate-message-throwing-css { + fill: #007a87; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + c10.8,0,20.2,3.9,28.1,11.8S448,93,448,104z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-message.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-message.svg index 1aaaa1578df..f168afb33c7 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-message.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-message.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} +.event-intermediate-message-css { + fill: #e5a000; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + S448,93,448,104z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-signal-throwing.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-signal-throwing.svg index f4a4c2bdf4f..f4cb7299bcb 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-signal-throwing.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-signal-throwing.svg @@ -1,6 +1,17 @@ - + - + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + opacity: 0.3; + fill: none; + enable-background: new; +} +.st3 { + fill: none; +} +.event-intermediate-signal-throwing-css { + fill: #007a87; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + s11.2,1.5,16.2,4.5C246,7.5,249.9,11.6,252.7,16.8z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-signal.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-signal.svg index c28bd428e1b..c13360b75f0 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-signal.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-signal.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + fill: none; +} +.event-intermediate-signal-css { + fill: #e5a000; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + c6.2-10.5,6.3-21,0.5-31.5l-191.8-352c-2.8-5.2-6.7-9.2-11.7-12.2C236,1.5,230.6,0,224.7,0L224.7,0z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-timer.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-timer.svg index d9fd32c2d4b..ec6504a60af 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-timer.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-intermediate-timer.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + fill: none; +} +.event-intermediate-timer-css { + fill: #e5a000; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + s67,8.6,96.4,25.8s52.7,40.5,69.9,69.9S416,189.2,416,224z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-error.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-error.svg index 4a073c8da6f..292c8bcc45e 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-error.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-error.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + opacity: 0.3; + fill: none; + enable-background: new; +} +.st3 { + fill: none; +} +.event-start-error-css { + fill: #4aa241; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + C130.7,50.6,126.9,48,122.6,48L122.6,48z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-message.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-message.svg index f97b0c266b8..bd909985c1e 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-message.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-message.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} +.event-start-message-css { + fill: #4aa241; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + S448,93,448,104z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-none.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-none.svg index 323d52bef01..557e8dd744e 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-none.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-none.svg @@ -1,5 +1,16 @@ - - + + - + S380,164.6,380,210S362.3,298.1,330.2,330.2z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-signal.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-signal.svg index 9b06a81e037..a8f43308547 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-signal.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-signal.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + fill: none; +} +.event-start-signal-css { + fill: #4aa241; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + c6.2-10.5,6.3-21,0.5-31.5l-191.8-352c-2.8-5.2-6.7-9.2-11.7-12.2C236,1.5,230.6,0,224.7,0L224.7,0z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-timer.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-timer.svg index e61dc6516f1..d55cfb4c193 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-timer.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/event/event-start-timer.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + fill: none; +} +.event-start-timer-css { + fill: #4aa241; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + s67,8.6,96.4,25.8s52.7,40.5,69.9,69.9S416,189.2,416,224z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/complex.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/complex.svg index dd56c1c04ad..3dc8cf879c9 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/complex.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/complex.svg @@ -1,5 +1,14 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + c0-6.7-2.4-12.3-7.1-17L301.3,257H384c6.7,0,12.3-2.3,17-7s7-10.3,7-17v-16C408,210.3,405.7,204.7,401,200z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/event.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/event.svg index 3bb6ad75536..7ad9a594c11 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/event.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/event.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + - + c-2.2-0.3-4.2-1.8-5.2-3.8l-41-83.1C229,66.1,226.5,64.8,224,64.8L224,64.8z" + /> + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/exclusive.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/exclusive.svg index 3f2fa4f8cbb..f1b2d43f507 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/exclusive.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/exclusive.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + opacity: 0.3; + fill: none; + stroke: #449fdb; + enable-background: new; +} +.st3 { + fill: none; + stroke: #449fdb; +} +.exclusive-svg-css { + fill: #ec7a08; +} + circle-intermediate-3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + s-2.3,12.3-7,17L292,224l73.5,73.5C370.2,302.2,372.5,307.8,372.5,314.5z" + /> + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/inclusive.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/inclusive.svg index 05ec8de83e6..9415c969774 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/inclusive.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/inclusive.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} +.inclusive-svg-css { + fill: #ec7a08; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + L224-0.1z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/parallel-event.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/parallel-event.svg index d459b70e4d7..689f046f13b 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/parallel-event.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/parallel-event.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + opacity: 0.3; + fill: none; + stroke: #449fdb; + enable-background: new; +} +.st3 { + fill: none; + stroke: #449fdb; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + c6.7,0,12.3,2.3,17,7s7,10.3,7,17v16C368,238.7,365.7,244.3,361,249z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/parallel-multiple.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/parallel-multiple.svg index 5e72e4d814e..e872fc0548e 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/parallel-multiple.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/gateway/parallel-multiple.svg @@ -1,5 +1,16 @@ - - + + - - - + + s10.3-7,17-7h48c6.7,0,12.3,2.3,17,7s7,10.3,7,17v104h104c6.7,0,12.3,2.3,17,7S352,177.3,352,184z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/lane_icon.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/lane_icon.svg index 45a82df3e5e..56b998b1b5c 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/lane_icon.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/lane_icon.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + opacity: 0.3; + fill: none; + stroke: #449fdb; + enable-background: new; +} +.st3 { + fill: none; + stroke: #449fdb; +} + - + circle-intermediate-3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-adhoc.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-adhoc.svg index e8e01b881f2..49841045aa0 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-adhoc.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-adhoc.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + c24.6,0,46.9-8.5,66.5-25.3c14-12,26.4-28.3,36.7-48.3c16.5-31.9,22.7-63.6,22.9-65C450.3,179.6,438.9,162.8,421.5,159.5z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-embedded-icon.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-embedded-icon.svg index bd4f2f2f5ba..cfe34e26208 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-embedded-icon.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-embedded-icon.svg @@ -1,10 +1,10 @@ - + - - - - - + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-embedded.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-embedded.svg index d557bc29f31..b891bc37314 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-embedded.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-embedded.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-event.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-event.svg index c9374bd912a..15098ab0abe 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-event.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-event.svg @@ -1,4 +1,4 @@ - + - - - - - - - - - - + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-multiple-instance.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-multiple-instance.svg index 7ecba7723ee..8cde09dcc0e 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-multiple-instance.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-multiple-instance.svg @@ -1,5 +1,16 @@ - - + + - + h-32c-6.6,0-12-5.4-12-12V44c0-6.6,5.4-12,12-12h32C406.6,32,412,37.4,412,44z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-reusable.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-reusable.svg index 3ca31f11c09..a5603692573 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-reusable.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess-reusable.svg @@ -1,5 +1,16 @@ - - + + - - +.st0 { + display: none; +} + + - + s10.3-7,17-7h48c6.7,0,12.3,2.3,17,7s7,10.3,7,17v104h104c6.7,0,12.3,2.3,17,7S352,177.3,352,184z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess.svg index 49777112e11..e556f90e1d8 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/subprocess/subprocess.svg @@ -1,4 +1,4 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-business-rule.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-business-rule.svg index 3de739db7cb..6fc37d71c3d 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-business-rule.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-business-rule.svg @@ -1,5 +1,16 @@ - - + + - - - + + S29,32,40,32h336c11,0,20.4,3.9,28.2,11.8S416,61,416,72z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-generic-service.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-generic-service.svg index be0d41a0ea2..c6a368b8db6 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-generic-service.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-generic-service.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} + - - + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-manual.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-manual.svg index af9959741f7..6341b4fee44 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-manual.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-manual.svg @@ -1,4 +1,4 @@ - + - + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + circle-intermediate-3 - - + c0,3.8-0.3,7.3-1,10.5c10.2,5.2,18.2,12.5,24.1,22.1S448,248.7,448,260z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-script.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-script.svg index 92af76a0d5a..c23646e5d85 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-script.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-script.svg @@ -1,4 +1,4 @@ - + - + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + opacity: 0.3; + fill: none; + stroke: #449fdb; + enable-background: new; +} +.st3 { + fill: none; + stroke: #449fdb; +} + - + circle-intermediate-3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + c0,0.3,0,0.6,0,0.9C352,94.8,352,96,352,96v64V336z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-service.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-service.svg index 15c6348dfbd..4a90a7ca518 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-service.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-service.svg @@ -1,5 +1,16 @@ - - + + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + c0.7,0.5,1,1.1,1,1.8c0,4.2-4.2,15.7-12.8,34.5c2.8,3.8,5.3,8.2,7.5,13C467.6,73.2,480,75.8,480,78.5z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-user.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-user.svg index eb661d905eb..074fae42c8e 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-user.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task-user.svg @@ -1,5 +1,16 @@ - - + + - + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task.svg index 188514e8b07..e322b3b7b02 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/task/task.svg @@ -1,6 +1,15 @@ - - - - - - - - - - - + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/textannotation/data-object.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/textannotation/data-object.svg index 317d5cf3406..12043995a25 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/textannotation/data-object.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/textannotation/data-object.svg @@ -1,6 +1,22 @@ - + - + - - - + + + image/svg+xml - - - - + + + + - + - +.st0 { + fill: #4d5258; +} + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/textannotation/text-annotation.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/textannotation/text-annotation.svg index 1f6d2aaf577..904b76400a6 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/textannotation/text-annotation.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/icons/textannotation/text-annotation.svg @@ -1,6 +1,15 @@ - + - + - +.st0 { + fill: #4d5258; +} + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/misc/circle.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/misc/circle.svg index eda064888bc..2932589681c 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/misc/circle.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/misc/circle.svg @@ -1,6 +1,18 @@ - + - + +.st0 { + display: none; +} +.st1 { + display: inline; +} +.st2 { + fill: none; +} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + S416,189.2,416,224z" + /> diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/data-object.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/data-object.svg index e28edb21bb2..33b0ad11e8e 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/data-object.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/data-object.svg @@ -1,5 +1,14 @@ - - + + - + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/event-all.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/event-all.svg index e56a0ea7c88..18c71d8a504 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/event-all.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/event-all.svg @@ -1,6 +1,18 @@ - + - + - + s76.8,9.8,110.5,29.6s60.4,46.5,80,80S444,184.1,444,224z" + /> - - - - - - + + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + C297.3,259.8,298.5,262.6,298.5,266z" + /> + - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/gateway.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/gateway.svg index 5572994c5e6..d3b4706a649 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/gateway.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/gateway.svg @@ -1,6 +1,18 @@ - + - + - + L224.4,4.3z" + /> - - + c-12.4-12.4-32.6-12.4-45,0L9.3,201.5C3.1,207.7,0,215.9,0,224L0,224z" + /> + - - + - + - + - + - + - + C316,216.6,314.9,213.8,312.5,211.5z" + /> + - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/lane.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/lane.svg index 8c2cfd3656e..1d0af830a2f 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/lane.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/lane.svg @@ -1,6 +1,16 @@ - - - - - + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/rectangle.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/rectangle.svg index 101cf6f4beb..22a8f4d0ed6 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/rectangle.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/rectangle.svg @@ -1,6 +1,14 @@ - - + + - + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess-adhoc.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess-adhoc.svg index 9d53af8a6dc..ab01334e881 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess-adhoc.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess-adhoc.svg @@ -1,7 +1,17 @@ - + - - - - - - + + + - - - - - - - - - - - - - - + c24.6,0,46.9-8.5,66.5-25.3c14-12,26.4-28.3,36.7-48.3c16.5-31.9,22.7-63.6,22.9-65C450.3,179.6,438.9,162.8,421.5,159.5z" + /> + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess-event.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess-event.svg index 078cc6d023c..1f8c700221e 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess-event.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess-event.svg @@ -1,7 +1,17 @@ - + - - - - - - + + + - - - - - - - - - - - - - - + c24.6,0,46.9-8.5,66.5-25.3c14-12,26.4-28.3,36.7-48.3c16.5-31.9,22.7-63.6,22.9-65C450.3,179.6,438.9,162.8,421.5,159.5z" + /> + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess-multiple-instance.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess-multiple-instance.svg index 448ee1d580d..1f2e69d7c0d 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess-multiple-instance.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess-multiple-instance.svg @@ -1,6 +1,16 @@ - - - - - - - + + + - - + h-32c-6.6,0-12-5.4-12-12V44c0-6.6,5.4-12,12-12h32C406.6,32,412,37.4,412,44z" + /> + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess.svg index 800e95cd8cb..8fe30c9cf37 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/subprocess.svg @@ -1,7 +1,17 @@ - + - - - - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - - - + s10.3-7,17-7h48c6.7,0,12.3,2.3,17,7s7,10.3,7,17v104h104c6.7,0,12.3,2.3,17,7S352,177.3,352,184z" + /> + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/task.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/task.svg index b81a223a7ea..b4829144860 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/task.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/task.svg @@ -1,7 +1,17 @@ - + - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - + S29,32,40,32h336c11,0,20.4,3.9,28.2,11.8S416,61,416,72z" + /> + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/text-annotation.svg b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/text-annotation.svg index 8f513b3bcba..bee807924e6 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/text-annotation.svg +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/main/resources/org/kie/workbench/common/stunner/bpmn/client/resources/images/shapes/text-annotation.svg @@ -1,6 +1,15 @@ - + - + - + - - + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/test/java/org/kie/workbench/common/stunner/bpmn/client/forms/fields/variablesEditor/VariablesEditorFieldRendererTest.java b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/test/java/org/kie/workbench/common/stunner/bpmn/client/forms/fields/variablesEditor/VariablesEditorFieldRendererTest.java index bbbceef35ea..31207995b8d 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/test/java/org/kie/workbench/common/stunner/bpmn/client/forms/fields/variablesEditor/VariablesEditorFieldRendererTest.java +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-client/src/test/java/org/kie/workbench/common/stunner/bpmn/client/forms/fields/variablesEditor/VariablesEditorFieldRendererTest.java @@ -62,8 +62,10 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.anyInt; +import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -117,12 +119,14 @@ public class VariablesEditorFieldRendererTest { @Before public void setup() { when(formGroupsInstanceMock.get()).thenReturn(formGroup); - variablesEditor = new VariablesEditorFieldRenderer(variablesEditorWidgetView, + variablesEditor = spy(new VariablesEditorFieldRenderer(variablesEditorWidgetView, abstractClientSessionManager) { { formGroupsInstance = formGroupsInstanceMock; } - }; + }); + + doNothing().when(variablesEditor).fireDeleteDiagramVariableError(); } @Test @@ -150,6 +154,7 @@ public void testRemoveVariableWhenBoundToNodes() { variablesEditor.removeVariable(variableRow); verify(variablesEditorWidgetView).getVariableRows(); verify(variablesEditorWidgetView, never()).doSave(); + verify(variablesEditor).fireDeleteDiagramVariableError(); } @Test @@ -158,6 +163,7 @@ public void testRemoveVariableWhenNotBoundToNodes() { variablesEditor.removeVariable(variableRow); verify(variablesEditorWidgetView, times(2)).getVariableRows(); verify(variablesEditorWidgetView).doSave(); + verify(variablesEditor, never()).fireDeleteDiagramVariableError(); } private void prepareRemoveVariableTest(boolean makeVariableBounded) { diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/model/bpmn2color.xsd b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/model/bpmn2color.xsd index 8cbd0753e9f..47996ebc3c3 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/model/bpmn2color.xsd +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/model/bpmn2color.xsd @@ -1,19 +1,20 @@ - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/model/bpmn2emfextmodel.xsd b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/model/bpmn2emfextmodel.xsd index 552f6254faf..807b92c78f1 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/model/bpmn2emfextmodel.xsd +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/model/bpmn2emfextmodel.xsd @@ -1,94 +1,95 @@ - - + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + + + - - - - - - - + + + - - - + + + - - - + + + + - - - - - - - - + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - \ No newline at end of file + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/model/bpsim.xsd b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/model/bpsim.xsd index a50119881e7..004dec91f01 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/model/bpsim.xsd +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/model/bpsim.xsd @@ -1,402 +1,406 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Even if here we reference a list of Parameter Values, only Constant Parameters are valid here. There is just no real way of expressing it in xsd. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Even if here we reference a list of Parameter Values, only Constant Parameters are valid here. There is just no real way of expressing it in xsd. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/pom.xml index 64702543360..7e45b4e7c68 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/pom.xml @@ -35,7 +35,6 @@ jar - org.eclipselabs org.eclipse.emf.gwt.ecore @@ -190,5 +189,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/EclipseEmfBPSim.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/EclipseEmfBPSim.gwt.xml index 9823f3e83b4..7fef5e9d5d8 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/EclipseEmfBPSim.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/EclipseEmfBPSim.gwt.xml @@ -20,9 +20,7 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/eclipse/EclipseEmfJBpm.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/eclipse/EclipseEmfJBpm.gwt.xml index 866e37e0fed..9ba25aab1bf 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/eclipse/EclipseEmfJBpm.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/eclipse/EclipseEmfJBpm.gwt.xml @@ -20,11 +20,9 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/eclipse/EclipseEmfXmi.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/eclipse/EclipseEmfXmi.gwt.xml index decd4ae483a..05ed81cfb51 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/eclipse/EclipseEmfXmi.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/eclipse/EclipseEmfXmi.gwt.xml @@ -20,10 +20,8 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/eclipse/EclipseEmulation.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/eclipse/EclipseEmulation.gwt.xml index 48e46cfef85..f9510f5a0a2 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/eclipse/EclipseEmulation.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/eclipse/EclipseEmulation.gwt.xml @@ -20,11 +20,9 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/jboss/drools/EclipseEmfDrools.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/jboss/drools/EclipseEmfDrools.gwt.xml index 9f6a5656bd5..a07618b3834 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/jboss/drools/EclipseEmfDrools.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/jboss/drools/EclipseEmfDrools.gwt.xml @@ -20,11 +20,9 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/kie/workbench/common/stunner/bpmn/StunnerBpmnEmf.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/kie/workbench/common/stunner/bpmn/StunnerBpmnEmf.gwt.xml index 91263db6fc1..ad96f8dd768 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/kie/workbench/common/stunner/bpmn/StunnerBpmnEmf.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/kie/workbench/common/stunner/bpmn/StunnerBpmnEmf.gwt.xml @@ -20,12 +20,10 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/omg/spec/bpmn/non/normative/EclipseEmfColor.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/omg/spec/bpmn/non/normative/EclipseEmfColor.gwt.xml index acda11d6584..b1f005b8c98 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/omg/spec/bpmn/non/normative/EclipseEmfColor.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/src/main/resources/org/omg/spec/bpmn/non/normative/EclipseEmfColor.gwt.xml @@ -23,5 +23,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/pom.xml index 4cfed90dc44..a908e66bda2 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/pom.xml @@ -44,7 +44,6 @@ true - @@ -499,7 +498,6 @@ assertj-core test - @@ -507,7 +505,6 @@ src/main/webapp/WEB-INF/classes - org.apache.maven.plugins @@ -656,7 +653,6 @@ org.kie.kogito.stunner.editors:appformer-client-api org.kie.kogito.stunner.editors:appformer-kogito-bridge - @@ -723,13 +719,10 @@ - - - sources diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/resources/logback.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/resources/logback.xml index ef2f84b5752..0f2dddc3a6b 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/resources/logback.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/resources/logback.xml @@ -18,7 +18,6 @@ ~ under the License. --> - @@ -32,5 +31,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/resources/org/kie/workbench/common/stunner/kogito/KogitoBPMNEditor.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/resources/org/kie/workbench/common/stunner/kogito/KogitoBPMNEditor.gwt.xml index 6efaad7e720..f1f2345b1dd 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/resources/org/kie/workbench/common/stunner/kogito/KogitoBPMNEditor.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/resources/org/kie/workbench/common/stunner/kogito/KogitoBPMNEditor.gwt.xml @@ -20,7 +20,6 @@ - @@ -42,7 +41,6 @@ - @@ -64,5 +62,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/resources/org/kie/workbench/common/stunner/kogito/KogitoBPMNEditorWithSourceMap.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/resources/org/kie/workbench/common/stunner/kogito/KogitoBPMNEditorWithSourceMap.gwt.xml index ea0137646a8..b4219e2af3b 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/resources/org/kie/workbench/common/stunner/kogito/KogitoBPMNEditorWithSourceMap.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/resources/org/kie/workbench/common/stunner/kogito/KogitoBPMNEditorWithSourceMap.gwt.xml @@ -18,7 +18,6 @@ ~ under the License. --> - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/webapp/WEB-INF/web.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/webapp/WEB-INF/web.xml index 0dbc9154c5f..2fb7c850342 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/webapp/WEB-INF/web.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/webapp/WEB-INF/web.xml @@ -23,9 +23,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > - test.html - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/webapp/index.html b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/webapp/index.html index 9cbe888338d..29d3ed006fa 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/webapp/index.html +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/webapp/index.html @@ -1,4 +1,4 @@ - + - + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/test/resources/org/kie/workbench/common/stunner/kogito/client/selenium/basic-process.bpmn2 b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/test/resources/org/kie/workbench/common/stunner/kogito/client/selenium/basic-process.bpmn2 index 8f36b4a7ef6..fdfed82e416 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/test/resources/org/kie/workbench/common/stunner/kogito/client/selenium/basic-process.bpmn2 +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/test/resources/org/kie/workbench/common/stunner/kogito/client/selenium/basic-process.bpmn2 @@ -1,4 +1,4 @@ - + - - - - - + + + + + _E486B83F-1225-436D-94D5-C6817A74884C_InMessage @@ -29,10 +48,26 @@ - - - - + + + + @@ -42,7 +77,11 @@ - + @@ -55,7 +94,15 @@ _945FC403-B19A-4AB1-9A9A-B13E6CD19D4B - + @@ -70,22 +117,37 @@ - - + + - - + + - - + + - - - + + + - - - + + + @@ -93,31 +155,31 @@ - + - + - + - + - + - + @@ -127,4 +189,4 @@ __bLkUEGGEDmYo5bKfV8ACA __bLkUEGGEDmYo5bKfV8ACA - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/test/resources/org/kie/workbench/common/stunner/kogito/client/selenium/new-diagram.bpmn2 b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/test/resources/org/kie/workbench/common/stunner/kogito/client/selenium/new-diagram.bpmn2 index 8ee60f6fd13..7f71a6603cc 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/test/resources/org/kie/workbench/common/stunner/kogito/client/selenium/new-diagram.bpmn2 +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/test/resources/org/kie/workbench/common/stunner/kogito/client/selenium/new-diagram.bpmn2 @@ -1,4 +1,4 @@ - + - + - + - + - + - + _BJzCQEGHEDmB-vY_nZbDsQ _BJzCQEGHEDmB-vY_nZbDsQ - \ No newline at end of file + diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-marshalling/pom.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-marshalling/pom.xml index 7fb8e181725..8e2cd404f91 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-marshalling/pom.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-marshalling/pom.xml @@ -35,7 +35,6 @@ jar - @@ -182,7 +181,6 @@ - @@ -218,5 +216,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-marshalling/src/main/resources/org/kie/workbench/common/stunner/bpmn/StunnerBpmnMarshalling.gwt.xml b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-marshalling/src/main/resources/org/kie/workbench/common/stunner/bpmn/StunnerBpmnMarshalling.gwt.xml index 7ca06377c94..90b9249b8c3 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-marshalling/src/main/resources/org/kie/workbench/common/stunner/bpmn/StunnerBpmnMarshalling.gwt.xml +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-marshalling/src/main/resources/org/kie/workbench/common/stunner/bpmn/StunnerBpmnMarshalling.gwt.xml @@ -20,11 +20,9 @@ - - diff --git a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-marshalling/src/test/resources/org/kie/workbench/common/stunner/bpmn/client/marshall/testFlight.bpmn b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-marshalling/src/test/resources/org/kie/workbench/common/stunner/bpmn/client/marshall/testFlight.bpmn index 16780b016d6..4056d8cc799 100644 --- a/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-marshalling/src/test/resources/org/kie/workbench/common/stunner/bpmn/client/marshall/testFlight.bpmn +++ b/packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-marshalling/src/test/resources/org/kie/workbench/common/stunner/bpmn/client/marshall/testFlight.bpmn @@ -1,4 +1,4 @@ - + org.gwtbootstrap3 @@ -108,7 +107,7 @@ org.kie.kogito.stunner.editors errai-ui - + com.google.guava guava @@ -193,7 +192,6 @@ powermock-module-junit4 test - @@ -219,5 +217,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/main/java/org/kie/workbench/common/widgets/client/popups/alert/AlertPopupViewImpl.html b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/main/java/org/kie/workbench/common/widgets/client/popups/alert/AlertPopupViewImpl.html index 119a5c73987..156c08a910e 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/main/java/org/kie/workbench/common/widgets/client/popups/alert/AlertPopupViewImpl.html +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/main/java/org/kie/workbench/common/widgets/client/popups/alert/AlertPopupViewImpl.html @@ -1,4 +1,4 @@ - + @@ -31,5 +30,4 @@ - diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/pom.xml b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/pom.xml index 53f377cb5d4..445a1b6f96b 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/pom.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/pom.xml @@ -28,5 +28,4 @@ org.kie.example DataModelBackendDeclaredTypesTest1 1.0 - diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/src/main/resources/META-INF/kmodule.xml b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/src/main/resources/META-INF/kmodule.xml index d4645c99202..df89aef36c1 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/src/main/resources/META-INF/kmodule.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendDeclaredTypesTest1/src/main/resources/META-INF/kmodule.xml @@ -17,6 +17,4 @@ ~ specific language governing permissions and limitations ~ under the License. --> - - - + diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/pom.xml b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/pom.xml index 255939fe437..1873065c23d 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/pom.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/pom.xml @@ -28,5 +28,4 @@ org.kie.example DataModelBackendExtendingJavaTypeTest1 1.0 - diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/src/main/resources/META-INF/kmodule.xml b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/src/main/resources/META-INF/kmodule.xml index d4645c99202..df89aef36c1 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/src/main/resources/META-INF/kmodule.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest1/src/main/resources/META-INF/kmodule.xml @@ -17,6 +17,4 @@ ~ specific language governing permissions and limitations ~ under the License. --> - - - + diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/pom.xml b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/pom.xml index 177f6625361..d92c71aac2f 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/pom.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/pom.xml @@ -28,5 +28,4 @@ org.kie.example DataModelBackendExtendJavaTypeTest2 1.0 - diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/src/main/resources/META-INF/kmodule.xml b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/src/main/resources/META-INF/kmodule.xml index d4645c99202..df89aef36c1 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/src/main/resources/META-INF/kmodule.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendExtendJavaTypeTest2/src/main/resources/META-INF/kmodule.xml @@ -17,6 +17,4 @@ ~ specific language governing permissions and limitations ~ under the License. --> - - - + diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/pom.xml b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/pom.xml index 38e7240021c..4c955ad1942 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/pom.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/pom.xml @@ -28,5 +28,4 @@ org.kie.example DataModelBackendSuperTypesTest1 1.0 - diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/src/main/resources/META-INF/kmodule.xml b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/src/main/resources/META-INF/kmodule.xml index d4645c99202..df89aef36c1 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/src/main/resources/META-INF/kmodule.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendSuperTypesTest1/src/main/resources/META-INF/kmodule.xml @@ -17,6 +17,4 @@ ~ specific language governing permissions and limitations ~ under the License. --> - - - + diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/pom.xml b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/pom.xml index 825febe5570..4b5187cf58e 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/pom.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/pom.xml @@ -28,5 +28,4 @@ org.kie.example DataModelBackendTest1 1.0 - diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/src/main/resources/META-INF/kmodule.xml b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/src/main/resources/META-INF/kmodule.xml index d4645c99202..df89aef36c1 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/src/main/resources/META-INF/kmodule.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest1/src/main/resources/META-INF/kmodule.xml @@ -17,6 +17,4 @@ ~ specific language governing permissions and limitations ~ under the License. --> - - - + diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/pom.xml b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/pom.xml index 9f8322241b5..ec8adb22d0a 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/pom.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/pom.xml @@ -28,5 +28,4 @@ org.kie.example DataModelBackendTest2 1.0 - diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/src/main/resources/META-INF/kmodule.xml b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/src/main/resources/META-INF/kmodule.xml index d4645c99202..df89aef36c1 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/src/main/resources/META-INF/kmodule.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/DataModelBackendTest2/src/main/resources/META-INF/kmodule.xml @@ -17,6 +17,4 @@ ~ specific language governing permissions and limitations ~ under the License. --> - - - + diff --git a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/META-INF/beans.xml b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/META-INF/beans.xml index 289a0e609c0..4adfbcafd56 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/META-INF/beans.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/kie-wb-common-ui/src/test/resources/META-INF/beans.xml @@ -23,7 +23,6 @@ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" bean-discovery-mode="all" > - org.kie.workbench.common.services.datamodel.backend.server.TestAppSetup org.guvnor.test.GuvnorTestAppSetup diff --git a/packages/stunner-editors/kie-wb-common-widgets/pom.xml b/packages/stunner-editors/kie-wb-common-widgets/pom.xml index 72f0c9eb23b..e5cdf7dbc5e 100644 --- a/packages/stunner-editors/kie-wb-common-widgets/pom.xml +++ b/packages/stunner-editors/kie-wb-common-widgets/pom.xml @@ -38,5 +38,4 @@ kie-wb-common-ui - diff --git a/packages/stunner-editors/lienzo-core/pom.xml b/packages/stunner-editors/lienzo-core/pom.xml index d2b81d533f3..bc5fa8023d6 100644 --- a/packages/stunner-editors/lienzo-core/pom.xml +++ b/packages/stunner-editors/lienzo-core/pom.xml @@ -22,101 +22,100 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > - 4.0.0 - - org.kie.kogito.stunner.editors - stunner-editors-parent - ${revision} - ../pom.xml - + 4.0.0 + + org.kie.kogito.stunner.editors + stunner-editors-parent + ${revision} + ../pom.xml + - lienzo-core - Lienzo - Core Framework - Lienzo - Core Framework - jar + lienzo-core + Lienzo - Core Framework + Lienzo - Core Framework + jar - http://www.kiegroup.org - 2001 - - JBoss by Red Hat - http://www.jboss.org/ - - - - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - All developers are listed on the team website - http://www.drools.org/community/team.html - - + http://www.kiegroup.org + 2001 + + JBoss by Red Hat + http://www.jboss.org/ + + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + All developers are listed on the team website + http://www.drools.org/community/team.html + + - - - org.gwtproject - gwt-user - - - com.google.jsinterop - base - - - com.google.elemental2 - elemental2-core - - - com.google.elemental2 - elemental2-dom - - - com.google.elemental2 - elemental2-promise - - - junit - junit - test - - + + + org.gwtproject + gwt-user + + + com.google.jsinterop + base + + + com.google.elemental2 + elemental2-core + + + com.google.elemental2 + elemental2-dom + + + com.google.elemental2 + elemental2-promise + + + junit + junit + test + + - - - jboss-public-repository-group - JBoss Public Repository Group - https://repository.jboss.org/nexus/content/groups/public/ - - - jboss-snapshots-repository - JBoss Snapshot Repository - https://repository.jboss.org/nexus/content/repositories/snapshots/ - - - - - - - src/main/java - - - src/main/resources - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - - **/*Test.java - - - - - + + + jboss-public-repository-group + JBoss Public Repository Group + https://repository.jboss.org/nexus/content/groups/public/ + + + jboss-snapshots-repository + JBoss Snapshot Repository + https://repository.jboss.org/nexus/content/repositories/snapshots/ + + + + + + src/main/java + + + src/main/resources + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + **/*Test.java + + + + + diff --git a/packages/stunner-editors/lienzo-core/src/main/java/com/ait/lienzo/Lienzo.gwt.xml b/packages/stunner-editors/lienzo-core/src/main/java/com/ait/lienzo/Lienzo.gwt.xml index 1936d013a94..f4172054b7a 100644 --- a/packages/stunner-editors/lienzo-core/src/main/java/com/ait/lienzo/Lienzo.gwt.xml +++ b/packages/stunner-editors/lienzo-core/src/main/java/com/ait/lienzo/Lienzo.gwt.xml @@ -17,16 +17,15 @@ limitations under the License. --> - - - - + + + + - - - - - - + + + + + diff --git a/packages/stunner-editors/lienzo-tests/pom.xml b/packages/stunner-editors/lienzo-tests/pom.xml index bed257e35da..59273dcb121 100644 --- a/packages/stunner-editors/lienzo-tests/pom.xml +++ b/packages/stunner-editors/lienzo-tests/pom.xml @@ -23,18 +23,18 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > 4.0.0 - - org.kie.kogito.stunner.editors - stunner-editors-parent - ${revision} - ../pom.xml + + org.kie.kogito.stunner.editors + stunner-editors-parent + ${revision} + ../pom.xml lienzo-tests Lienzo - Unit Testing Framework Lienzo - Unit Testing Framework jar - + http://www.kiegroup.org 2001 @@ -69,13 +69,12 @@ - org.kie.kogito.stunner.editors lienzo-core - + org.gwtproject @@ -99,15 +98,14 @@ - com.google.gwt.gwtmockito - gwtmockito - + com.google.gwt.gwtmockito + gwtmockito + org.javassist javassist - @@ -135,5 +133,4 @@ - diff --git a/packages/stunner-editors/lienzo-webapp/pom.xml b/packages/stunner-editors/lienzo-webapp/pom.xml index a73fb44cfdb..08d29381c9a 100644 --- a/packages/stunner-editors/lienzo-webapp/pom.xml +++ b/packages/stunner-editors/lienzo-webapp/pom.xml @@ -22,80 +22,80 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > - 4.0.0 - - org.kie.kogito.stunner.editors - stunner-editors-parent - ${revision} - ../pom.xml - + 4.0.0 + + org.kie.kogito.stunner.editors + stunner-editors-parent + ${revision} + ../pom.xml + - lienzo-webapp - Lienzo - Showcase Webapp - Lienzo - Showcase Webapp - war + lienzo-webapp + Lienzo - Showcase Webapp + Lienzo - Showcase Webapp + war - http://www.kiegroup.org - 2001 - - JBoss by Red Hat - http://www.jboss.org/ - - - - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - All developers are listed on the team website - http://www.drools.org/community/team.html - - + http://www.kiegroup.org + 2001 + + JBoss by Red Hat + http://www.jboss.org/ + + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + All developers are listed on the team website + http://www.drools.org/community/team.html + + - - - org.gwtproject - gwt-user - - - org.kie.kogito.stunner.editors - lienzo-core - provided - - - com.google.jsinterop - base - provided - - - com.google.elemental2 - elemental2-core - provided - - - com.google.elemental2 - elemental2-dom - provided - - - com.google.elemental2 - elemental2-promise - provided - - - - junit - junit - test - - - org.seleniumhq.selenium - selenium-java - test - + + junit + junit + test + + + org.seleniumhq.selenium + selenium-java + test + - - - org.xmlunit - xmlunit-core - test - - - org.xmlunit - xmlunit-assertj - test - - - io.github.bonigarcia - webdrivermanager - test - - + + + org.xmlunit + xmlunit-core + test + + + org.xmlunit + xmlunit-assertj + test + + + io.github.bonigarcia + webdrivermanager + test + + - - - jboss-public-repository-group - JBoss Public Repository Group - https://repository.jboss.org/nexus/content/groups/public/ - - - jboss-snapshots-repository - JBoss Snapshot Repository - https://repository.jboss.org/nexus/content/repositories/snapshots/ - - + + + jboss-public-repository-group + JBoss Public Repository Group + https://repository.jboss.org/nexus/content/groups/public/ + + + jboss-snapshots-repository + JBoss Snapshot Repository + https://repository.jboss.org/nexus/content/repositories/snapshots/ + + - - ${project.build.directory}/${project.build.finalName}/WEB-INF/classes + + ${project.build.directory}/${project.build.finalName}/WEB-INF/classes - - - src/main/java - - - src/main/resources - - - - - - maven-enforcer-plugin - - true - - - - maven-clean-plugin - - - - ${basedir} - - src/main/webapp/app/ - src/main/webapp/org.kie.lienzo.LienzoShowcase/ - src/main/gwt-unitCache/ - src/main/webapp/WEB-INF/deploy/ - src/main/webapp/WEB-INF/classes/ - src/main/webapp/WEB-INF/lib/* - src/main/webapp/WEB-INF/lib/**/* - .errai/ - - - - - - - + + + src/main/java + + + src/main/resources + + + + + + maven-enforcer-plugin + + true + + + + maven-clean-plugin + + + + ${basedir} + + src/main/webapp/app/ + src/main/webapp/org.kie.lienzo.LienzoShowcase/ + src/main/gwt-unitCache/ + src/main/webapp/WEB-INF/deploy/ + src/main/webapp/WEB-INF/classes/ + src/main/webapp/WEB-INF/lib/* + src/main/webapp/WEB-INF/lib/**/* + .errai/ + + + + + + + - - - - no-showcase - - - - org.codehaus.mojo - gwt-maven-plugin - - true - - - - - - - GWT2 - - true - - - - - - - org.codehaus.mojo - gwt-maven-plugin - - - - compile - - - - - LienzoShowcase.html - - org.kie.lienzo.LienzoShowcase - - INFO - false - + + + no-showcase + + + + org.codehaus.mojo + gwt-maven-plugin + + true + + + + + + + GWT2 + + true + + + + + + org.codehaus.mojo + gwt-maven-plugin + + + + compile + + + + + LienzoShowcase.html + + org.kie.lienzo.LienzoShowcase + + INFO + false + -Xmx3G -Xms512m -Xss1M -XX:CompileThreshold=7000 -XX:+UseSerialGC -Djava.io.tmpdir=${project.build.directory} - true - true - false - src/main/webapp - true - true - true - - - - - - + true + true + false + src/main/webapp + true + true + true + + + + + + diff --git a/packages/stunner-editors/lienzo-webapp/src/main/resources/org/kie/lienzo/LienzoShowcase.gwt.xml b/packages/stunner-editors/lienzo-webapp/src/main/resources/org/kie/lienzo/LienzoShowcase.gwt.xml index 0ede14f4cfa..5e6be451913 100644 --- a/packages/stunner-editors/lienzo-webapp/src/main/resources/org/kie/lienzo/LienzoShowcase.gwt.xml +++ b/packages/stunner-editors/lienzo-webapp/src/main/resources/org/kie/lienzo/LienzoShowcase.gwt.xml @@ -17,7 +17,6 @@ limitations under the License. --> - @@ -29,7 +28,6 @@ - + - diff --git a/packages/stunner-editors/lienzo-webapp/src/main/webapp/WEB-INF/web.xml b/packages/stunner-editors/lienzo-webapp/src/main/webapp/WEB-INF/web.xml index 0e8a1235a03..cf1f4befb07 100644 --- a/packages/stunner-editors/lienzo-webapp/src/main/webapp/WEB-INF/web.xml +++ b/packages/stunner-editors/lienzo-webapp/src/main/webapp/WEB-INF/web.xml @@ -24,9 +24,7 @@ http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" > - LienzoShowcase.html - diff --git a/packages/stunner-editors/package.json b/packages/stunner-editors/package.json index 8e8c79887a3..b18d4273885 100644 --- a/packages/stunner-editors/package.json +++ b/packages/stunner-editors/package.json @@ -46,4 +46,4 @@ "mvn" ] } -} \ No newline at end of file +} diff --git a/packages/stunner-editors/pom.xml b/packages/stunner-editors/pom.xml index 9996c28d9a5..3e0738003e0 100644 --- a/packages/stunner-editors/pom.xml +++ b/packages/stunner-editors/pom.xml @@ -655,7 +655,6 @@ xmlunit-assertj ${version.org.xmlunit} - @@ -1086,10 +1085,13 @@ javassist:javassist org.apache.cxf:cxf-bundle-jaxrs org.jboss.weld.se:weld-se - + + org.jboss.weld.servlet:weld-servlet - - org.mockito:mockito-all + + + org.mockito:mockito-all + @@ -1853,8 +1855,10 @@ *Lexer false - true - true + true + + true + diff --git a/packages/stunner-editors/uberfire-api/pom.xml b/packages/stunner-editors/uberfire-api/pom.xml index 472876a66c2..dae0a308a02 100644 --- a/packages/stunner-editors/uberfire-api/pom.xml +++ b/packages/stunner-editors/uberfire-api/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.editors @@ -75,5 +74,4 @@ provided - diff --git a/packages/stunner-editors/uberfire-api/src/main/resources/META-INF/beans.xml b/packages/stunner-editors/uberfire-api/src/main/resources/META-INF/beans.xml index aae671e6cb7..0e7bbc028e9 100644 --- a/packages/stunner-editors/uberfire-api/src/main/resources/META-INF/beans.xml +++ b/packages/stunner-editors/uberfire-api/src/main/resources/META-INF/beans.xml @@ -21,6 +21,4 @@ xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd" -> - - +/> diff --git a/packages/stunner-editors/uberfire-api/src/main/resources/org/uberfire/UberfireAPI.gwt.xml b/packages/stunner-editors/uberfire-api/src/main/resources/org/uberfire/UberfireAPI.gwt.xml index 273150d98db..adc0d854313 100644 --- a/packages/stunner-editors/uberfire-api/src/main/resources/org/uberfire/UberfireAPI.gwt.xml +++ b/packages/stunner-editors/uberfire-api/src/main/resources/org/uberfire/UberfireAPI.gwt.xml @@ -20,7 +20,6 @@ - @@ -37,5 +36,4 @@ - diff --git a/packages/stunner-editors/uberfire-api/src/main/resources/org/uberfire/jre/org/uberfire/util/uri.min.js b/packages/stunner-editors/uberfire-api/src/main/resources/org/uberfire/jre/org/uberfire/util/uri.min.js index 19ccf138729..92280f6cbca 100644 --- a/packages/stunner-editors/uberfire-api/src/main/resources/org/uberfire/jre/org/uberfire/util/uri.min.js +++ b/packages/stunner-editors/uberfire-api/src/main/resources/org/uberfire/jre/org/uberfire/util/uri.min.js @@ -37,16 +37,16 @@ var URI = (function () { 16 > a ? (b = "%0" + a.toString(16).toUpperCase()) : 128 > a - ? (b = "%" + a.toString(16).toUpperCase()) - : (b = - 2048 > a - ? "%" + ((a >> 6) | 192).toString(16).toUpperCase() + "%" + ((a & 63) | 128).toString(16).toUpperCase() - : "%" + - ((a >> 12) | 224).toString(16).toUpperCase() + - "%" + - (((a >> 6) & 63) | 128).toString(16).toUpperCase() + - "%" + - ((a & 63) | 128).toString(16).toUpperCase()); + ? (b = "%" + a.toString(16).toUpperCase()) + : (b = + 2048 > a + ? "%" + ((a >> 6) | 192).toString(16).toUpperCase() + "%" + ((a & 63) | 128).toString(16).toUpperCase() + : "%" + + ((a >> 12) | 224).toString(16).toUpperCase() + + "%" + + (((a >> 6) & 63) | 128).toString(16).toUpperCase() + + "%" + + ((a & 63) | 128).toString(16).toUpperCase()); return b; } function p(a) { @@ -55,26 +55,26 @@ var URI = (function () { 128 > c ? ((b += String.fromCharCode(c)), (d += 3)) : 194 <= c && 224 > c - ? (6 <= e - d - ? ((f = parseInt(a.substr(d + 4, 2), 16)), (b += String.fromCharCode(((c & 31) << 6) | (f & 63)))) - : (b += a.substr(d, 6)), - (d += 6)) - : 224 <= c - ? (9 <= e - d - ? ((f = parseInt(a.substr(d + 4, 2), 16)), - (g = parseInt(a.substr(d + 7, 2), 16)), - (b += String.fromCharCode(((c & 15) << 12) | ((f & 63) << 6) | (g & 63)))) - : (b += a.substr(d, 9)), - (d += 9)) - : ((b += a.substr(d, 3)), (d += 3)); + ? (6 <= e - d + ? ((f = parseInt(a.substr(d + 4, 2), 16)), (b += String.fromCharCode(((c & 31) << 6) | (f & 63)))) + : (b += a.substr(d, 6)), + (d += 6)) + : 224 <= c + ? (9 <= e - d + ? ((f = parseInt(a.substr(d + 4, 2), 16)), + (g = parseInt(a.substr(d + 7, 2), 16)), + (b += String.fromCharCode(((c & 15) << 12) | ((f & 63) << 6) | (g & 63)))) + : (b += a.substr(d, 9)), + (d += 9)) + : ((b += a.substr(d, 3)), (d += 3)); return b; } function q(a) { return void 0 === a ? "undefined" : null === a - ? "null" - : Object.prototype.toString.call(a).split(" ").pop().split("]").shift().toLowerCase(); + ? "null" + : Object.prototype.toString.call(a).split(" ").pop().split("]").shift().toLowerCase(); } function m(a) { return a.toUpperCase(); @@ -129,8 +129,8 @@ var URI = (function () { ? void 0 === c.scheme ? "relative" : void 0 === c.fragment - ? "absolute" - : "uri" + ? "absolute" + : "uri" : "same-document"), b.reference && "suffix" !== b.reference && @@ -154,12 +154,12 @@ var URI = (function () { a.match(v) ? (a = a.replace(v, "")) : a.match(w) - ? (a = a.replace(w, "/")) - : a.match(x) - ? ((a = a.replace(x, "/")), b.pop()) - : "." === a || ".." === a - ? (a = "") - : ((d = a.match(B)[0]), (a = a.slice(d.length)), b.push(d)); + ? (a = a.replace(w, "/")) + : a.match(x) + ? ((a = a.replace(x, "/")), b.pop()) + : "." === a || ".." === a + ? (a = "") + : ((d = a.match(B)[0]), (a = a.slice(d.length)), b.push(d)); return b.join(""); } function g(a, b) { diff --git a/packages/stunner-editors/uberfire-client-api/pom.xml b/packages/stunner-editors/uberfire-client-api/pom.xml index 3da1b7736a2..b2a0047ab1e 100644 --- a/packages/stunner-editors/uberfire-client-api/pom.xml +++ b/packages/stunner-editors/uberfire-client-api/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.editors @@ -38,7 +37,6 @@ UberFire Client API - org.kie.kogito.stunner.editors uberfire-api @@ -90,13 +88,11 @@ com.google.jsinterop jsinterop-annotations - + org.gwtproject gwt-user provided - - diff --git a/packages/stunner-editors/uberfire-client-api/src/main/resources/org/uberfire/UberfireClientAPI.gwt.xml b/packages/stunner-editors/uberfire-client-api/src/main/resources/org/uberfire/UberfireClientAPI.gwt.xml index f281951c631..e84ed07557a 100644 --- a/packages/stunner-editors/uberfire-client-api/src/main/resources/org/uberfire/UberfireClientAPI.gwt.xml +++ b/packages/stunner-editors/uberfire-client-api/src/main/resources/org/uberfire/UberfireClientAPI.gwt.xml @@ -20,10 +20,7 @@ - - - diff --git a/packages/stunner-editors/uberfire-extensions/pom.xml b/packages/stunner-editors/uberfire-extensions/pom.xml index 63a22821a77..4ae1aeb3bfd 100644 --- a/packages/stunner-editors/uberfire-extensions/pom.xml +++ b/packages/stunner-editors/uberfire-extensions/pom.xml @@ -43,5 +43,4 @@ uberfire-layout-editor uberfire-simple-docks - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/pom.xml b/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/pom.xml index c7cced7abd4..19f68758e01 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/pom.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/pom.xml @@ -35,7 +35,6 @@ Uberfire Commons Editor API - org.kie.kogito.stunner.editors errai-common @@ -45,5 +44,4 @@ uberfire-api - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/src/main/resources/META-INF/beans.xml b/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/src/main/resources/META-INF/beans.xml index aae671e6cb7..0e7bbc028e9 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/src/main/resources/META-INF/beans.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/src/main/resources/META-INF/beans.xml @@ -21,6 +21,4 @@ xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd" -> - - +/> diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/src/main/resources/org/uberfire/ext/editor/commons/UberfireCommonsEditorAPI.gwt.xml b/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/src/main/resources/org/uberfire/ext/editor/commons/UberfireCommonsEditorAPI.gwt.xml index 1cbc9de044d..e6ac419cd47 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/src/main/resources/org/uberfire/ext/editor/commons/UberfireCommonsEditorAPI.gwt.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-api/src/main/resources/org/uberfire/ext/editor/commons/UberfireCommonsEditorAPI.gwt.xml @@ -18,7 +18,6 @@ ~ under the License. --> - @@ -27,5 +26,4 @@ - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-client/pom.xml b/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-client/pom.xml index cc7a6dd8237..f266af509c8 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-client/pom.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-client/pom.xml @@ -130,8 +130,6 @@ powermock-module-junit4 test - - @@ -326,5 +324,4 @@ - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-client/src/main/resources/org/uberfire/ext/editor/commons/UberfireCommonsEditorClient.gwt.xml b/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-client/src/main/resources/org/uberfire/ext/editor/commons/UberfireCommonsEditorClient.gwt.xml index e08a4fe62eb..fa34cba566b 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-client/src/main/resources/org/uberfire/ext/editor/commons/UberfireCommonsEditorClient.gwt.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-commons-editor/uberfire-commons-editor-client/src/main/resources/org/uberfire/ext/editor/commons/UberfireCommonsEditorClient.gwt.xml @@ -18,7 +18,6 @@ ~ under the License. --> - @@ -26,5 +25,4 @@ - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-api/pom.xml b/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-api/pom.xml index 4820ef11082..7b2c9a6b3ac 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-api/pom.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-api/pom.xml @@ -35,7 +35,6 @@ Uberfire Layout Editor API - org.kie.kogito.stunner.editors errai-common diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-api/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorAPI.gwt.xml b/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-api/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorAPI.gwt.xml index 32734926e3b..acb9eb951c3 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-api/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorAPI.gwt.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-api/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorAPI.gwt.xml @@ -21,5 +21,4 @@ "http://google-web-toolkit.googlecode.com/svn/tags/2.5.1/distro-source/core/src/gwt-module.dtd"> - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/pom.xml b/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/pom.xml index aa3e84cb055..d2ad708f5c0 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/pom.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/pom.xml @@ -35,7 +35,6 @@ Uberfire Layout Editor Client - org.kie.kogito.stunner.editors errai-common diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorClient.gwt.xml b/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorClient.gwt.xml index bc0503955a8..a52adf63b49 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorClient.gwt.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-layout-editor/uberfire-layout-editor-client/src/main/resources/org/uberfire/ext/layout/editor/UberfireLayoutEditorClient.gwt.xml @@ -26,5 +26,4 @@ - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-simple-docks/pom.xml b/packages/stunner-editors/uberfire-extensions/uberfire-simple-docks/pom.xml index f4d1422fafb..4030a9e2a71 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-simple-docks/pom.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-simple-docks/pom.xml @@ -23,7 +23,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > 4.0.0 - + org.kie.kogito.stunner.editors uberfire-extensions ${revision} diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-simple-docks/uberfire-simple-docks-client/src/main/resources/org/uberfire/UberfireDocksClient.gwt.xml b/packages/stunner-editors/uberfire-extensions/uberfire-simple-docks/uberfire-simple-docks-client/src/main/resources/org/uberfire/UberfireDocksClient.gwt.xml index d9d18a763c7..e9df95a64aa 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-simple-docks/uberfire-simple-docks-client/src/main/resources/org/uberfire/UberfireDocksClient.gwt.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-simple-docks/uberfire-simple-docks-client/src/main/resources/org/uberfire/UberfireDocksClient.gwt.xml @@ -24,5 +24,4 @@ - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/pom.xml b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/pom.xml index bff8d28c621..091ae18bf2d 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/pom.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.editors @@ -37,7 +36,6 @@ Uberfire Widgets Commons - org.kie.kogito.stunner.editors uberfire-api @@ -138,7 +136,6 @@ mockito-core test - @@ -153,5 +150,4 @@ - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/UberfireWidgetsCommons.gwt.xml b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/UberfireWidgetsCommons.gwt.xml index 7137aa5b47f..58ddcb9a273 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/UberfireWidgetsCommons.gwt.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/UberfireWidgetsCommons.gwt.xml @@ -20,7 +20,6 @@ - @@ -29,5 +28,4 @@ - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/pom.xml b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/pom.xml index 370fb2eb7f3..51682e0f5e5 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/pom.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.editors @@ -39,5 +38,4 @@ uberfire-widgets-core-client - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/pom.xml b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/pom.xml index 05241c59879..0096f08fcdb 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/pom.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.editors @@ -37,7 +36,6 @@ Uberfire Widgets Core Client - org.kie.kogito.stunner.editors uberfire-client-api @@ -80,7 +78,5 @@ - - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/src/main/resources/org/uberfire/ext/widgets/core/UberfireWidgetsCore.gwt.xml b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/src/main/resources/org/uberfire/ext/widgets/core/UberfireWidgetsCore.gwt.xml index 47b46c6245a..0a4b4a218ef 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/src/main/resources/org/uberfire/ext/widgets/core/UberfireWidgetsCore.gwt.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-core/uberfire-widgets-core-client/src/main/resources/org/uberfire/ext/widgets/core/UberfireWidgetsCore.gwt.xml @@ -20,7 +20,6 @@ - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/pom.xml b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/pom.xml index c5961a5ec46..5d7df34fd87 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/pom.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.editors @@ -73,7 +72,5 @@ - - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/src/main/resources/org/uberfire/ext/widgets/table/UberfireTableWidget.gwt.xml b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/src/main/resources/org/uberfire/ext/widgets/table/UberfireTableWidget.gwt.xml index c028abd0c8a..5e20dda610f 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/src/main/resources/org/uberfire/ext/widgets/table/UberfireTableWidget.gwt.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-widgets/uberfire-widgets-table/src/main/resources/org/uberfire/ext/widgets/table/UberfireTableWidget.gwt.xml @@ -19,6 +19,4 @@ --> - - - + diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-wires/pom.xml b/packages/stunner-editors/uberfire-extensions/uberfire-wires/pom.xml index ee578d7f623..febbfa21f3e 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-wires/pom.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-wires/pom.xml @@ -38,5 +38,4 @@ uberfire-wires-core - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-wires/uberfire-wires-core/pom.xml b/packages/stunner-editors/uberfire-extensions/uberfire-wires/uberfire-wires-core/pom.xml index 001619ab7d9..2bfacbb8e12 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-wires/uberfire-wires-core/pom.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-wires/uberfire-wires-core/pom.xml @@ -37,5 +37,4 @@ uberfire-wires-core-grids - diff --git a/packages/stunner-editors/uberfire-extensions/uberfire-wires/uberfire-wires-core/uberfire-wires-core-grids/pom.xml b/packages/stunner-editors/uberfire-extensions/uberfire-wires/uberfire-wires-core/uberfire-wires-core-grids/pom.xml index b8ffcff0d5e..673f9bdbfa1 100644 --- a/packages/stunner-editors/uberfire-extensions/uberfire-wires/uberfire-wires-core/uberfire-wires-core-grids/pom.xml +++ b/packages/stunner-editors/uberfire-extensions/uberfire-wires/uberfire-wires-core/uberfire-wires-core-grids/pom.xml @@ -35,7 +35,6 @@ Wires Grids support - org.kie.kogito.stunner.editors errai-common @@ -84,7 +83,5 @@ mockito-core test - - diff --git a/packages/stunner-editors/uberfire-workbench/pom.xml b/packages/stunner-editors/uberfire-workbench/pom.xml index 5a29b3f1958..48ecd1ae9e2 100644 --- a/packages/stunner-editors/uberfire-workbench/pom.xml +++ b/packages/stunner-editors/uberfire-workbench/pom.xml @@ -40,5 +40,4 @@ uberfire-workbench-client-views-patternfly uberfire-workbench-processors - diff --git a/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client-views-patternfly/pom.xml b/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client-views-patternfly/pom.xml index 378197f7a11..0ee8c8609d4 100644 --- a/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client-views-patternfly/pom.xml +++ b/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client-views-patternfly/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.editors @@ -160,7 +159,6 @@ mockito-core test - @@ -454,5 +452,4 @@ - diff --git a/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client-views-patternfly/src/test/java/org/uberfire/client/views/pfly/PatternFlyTabTests.gwt.xml b/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client-views-patternfly/src/test/java/org/uberfire/client/views/pfly/PatternFlyTabTests.gwt.xml index a860b3f21f9..e96849f9484 100644 --- a/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client-views-patternfly/src/test/java/org/uberfire/client/views/pfly/PatternFlyTabTests.gwt.xml +++ b/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client-views-patternfly/src/test/java/org/uberfire/client/views/pfly/PatternFlyTabTests.gwt.xml @@ -20,14 +20,13 @@ - - + - + diff --git a/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client/pom.xml b/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client/pom.xml index 37e89c64777..efb66efe02e 100644 --- a/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client/pom.xml +++ b/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.editors @@ -58,7 +57,6 @@ provided - com.google.elemental2 elemental2-promise @@ -111,5 +109,4 @@ test - diff --git a/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client/src/main/resources/org/uberfire/UberfireWorkbench.gwt.xml b/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client/src/main/resources/org/uberfire/UberfireWorkbench.gwt.xml index c5ea4c339e3..f76ab2e9e67 100644 --- a/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client/src/main/resources/org/uberfire/UberfireWorkbench.gwt.xml +++ b/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client/src/main/resources/org/uberfire/UberfireWorkbench.gwt.xml @@ -34,5 +34,4 @@ - diff --git a/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client/src/test/resources/logback-test.xml b/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client/src/test/resources/logback-test.xml index 112037db054..f7c0ab6cfba 100644 --- a/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client/src/test/resources/logback-test.xml +++ b/packages/stunner-editors/uberfire-workbench/uberfire-workbench-client/src/test/resources/logback-test.xml @@ -18,7 +18,6 @@ ~ under the License. --> - @@ -32,5 +31,4 @@ - diff --git a/packages/stunner-editors/uberfire-workbench/uberfire-workbench-processors/pom.xml b/packages/stunner-editors/uberfire-workbench/uberfire-workbench-processors/pom.xml index 9bef12de4f4..55f75160cc9 100644 --- a/packages/stunner-editors/uberfire-workbench/uberfire-workbench-processors/pom.xml +++ b/packages/stunner-editors/uberfire-workbench/uberfire-workbench-processors/pom.xml @@ -22,7 +22,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > - 4.0.0 org.kie.kogito.stunner.editors @@ -37,7 +36,6 @@ UberFire Workbench Processors - org.freemarker freemarker @@ -55,5 +53,4 @@ - diff --git a/packages/switch-expression-ts/jest.config.js b/packages/switch-expression-ts/jest.config.js index 5927d9bb888..060be79621a 100644 --- a/packages/switch-expression-ts/jest.config.js +++ b/packages/switch-expression-ts/jest.config.js @@ -17,21 +17,10 @@ * under the License. */ +const { config } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, + ...config, + testEnvironment: "node", }; diff --git a/packages/switch-expression-ts/package.json b/packages/switch-expression-ts/package.json index 833017b8399..0981e8874b4 100644 --- a/packages/switch-expression-ts/package.json +++ b/packages/switch-expression-ts/package.json @@ -29,17 +29,17 @@ "@babel/core": "^7.16.0", "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", - "@jest/globals": "^26.6.2", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", + "jest": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/switch-expression-ts/src/switchExpression.ts b/packages/switch-expression-ts/src/switchExpression.ts index cabaeccdc63..090a65e341f 100644 --- a/packages/switch-expression-ts/src/switchExpression.ts +++ b/packages/switch-expression-ts/src/switchExpression.ts @@ -31,7 +31,7 @@ export const switchExpression = < S extends SwitchExpressionValue, ExplicitRet extends R, C extends SwitchExpressionCases = SwitchExpressionCases, - R = C extends SwitchExpressionCases ? R : any + R = C extends SwitchExpressionCases ? R : any, >( switchValue: S | undefined, cases: C diff --git a/packages/switch-expression-ts/tests/switchExpression.test.ts b/packages/switch-expression-ts/tests/switchExpression.test.ts index 62feaee65be..6a44b532700 100644 --- a/packages/switch-expression-ts/tests/switchExpression.test.ts +++ b/packages/switch-expression-ts/tests/switchExpression.test.ts @@ -17,7 +17,6 @@ * under the License. */ -import { describe, it, expect } from "@jest/globals"; import { switchExpression } from "@kie-tools-core/switch-expression-ts"; type UnionString3Values = "one" | "two" | "three"; @@ -32,7 +31,7 @@ type SomeKindSubset = (typeof someKindSubsetValues)[number]; type UnionMixed3Values = 1 | "two" | SomeKind.THREE; describe("switchExpression tests", () => { - it("test default value when key did not match", () => { + test("test default value when key did not match", () => { const value: { type: UnionString3Values } = { type: "two" }; expect( switchExpression(value.type, { @@ -41,7 +40,7 @@ describe("switchExpression tests", () => { }) ).toBe("value_default"); }); - it("test default value when key matched", () => { + test("test default value when key matched", () => { const value: { type: UnionString3Values } = { type: "one" }; expect( switchExpression(value.type, { @@ -50,7 +49,7 @@ describe("switchExpression tests", () => { }) ).toBe("value1"); }); - it("test switchStatement varying types", () => { + test("test switchStatement varying types", () => { const value: { type: UnionMixed3Values } = { type: SomeKind.THREE }; expect( switchExpression(value.type, { @@ -60,7 +59,7 @@ describe("switchExpression tests", () => { }) ).toBe("value3"); }); - it("test restrict case options by explicit cast", () => { + test("test restrict case options by explicit cast", () => { const value: { type: UnionString3Values } = { type: "three" }; expect( switchExpression(value.type as UnionStringSubset, { @@ -69,7 +68,7 @@ describe("switchExpression tests", () => { }) ).toBe("value3"); }); - it("test restrict case options by explicit binding and cast", () => { + test("test restrict case options by explicit binding and cast", () => { const value: { type: SomeKind } = { type: SomeKind.THREE }; expect( switchExpression(value.type as SomeKindSubset, { @@ -78,7 +77,7 @@ describe("switchExpression tests", () => { }) ).toBe("value3"); }); - it("test undefined as a valid result", () => { + test("test undefined as a valid result", () => { const value: "a" | "b" | "c" = "c"; const res: string | undefined = switchExpression(value, { a: "a", diff --git a/packages/text-editor/jest.config.js b/packages/text-editor/jest.config.js deleted file mode 100644 index d48dbde121d..00000000000 --- a/packages/text-editor/jest.config.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - "monaco-editor": "/tests/__mocks__/monacoMock.js", - }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], -}; diff --git a/packages/text-editor/package.json b/packages/text-editor/package.json index 1ffb45aca87..e716354f218 100644 --- a/packages/text-editor/package.json +++ b/packages/text-editor/package.json @@ -19,11 +19,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"", - "test:clearCache": "jest --clearCache", - "test:watch": "jest --watch" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools-core/editor": "workspace:*", @@ -45,17 +42,9 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/react": "^17.0.6", - "@types/testing-library__jest-dom": "^5.9.1", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", "start-server-and-test": "^2.0.3", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/text-editor/src/editor/TextEditor.tsx b/packages/text-editor/src/editor/TextEditor.tsx index f63e7979566..93473785243 100644 --- a/packages/text-editor/src/editor/TextEditor.tsx +++ b/packages/text-editor/src/editor/TextEditor.tsx @@ -50,44 +50,40 @@ const RefForwardingTextEditor: React.ForwardRefRenderFunction(undefined); const swfTextEditorRef = useRef(null); - useImperativeHandle( - forwardedRef, - () => { - return { - setContent: (normalizedPosixPathRelativeToTheWorkspaceRoot: string, newContent: string): Promise => { - try { - setInitialContent({ - originalContent: newContent, - normalizedPosixPathRelativeToTheWorkspaceRoot, - }); - return Promise.resolve(); - } catch (e) { - console.error(e); - return Promise.reject(); - } - }, - getContent: (): Promise => { - return Promise.resolve(swfTextEditorRef.current?.getContent() || ""); - }, - getPreview: (): Promise => { - return Promise.resolve(""); - }, - undo: (): Promise => { - return swfTextEditorRef.current?.undo() || Promise.resolve(); - }, - redo: (): Promise => { - return swfTextEditorRef.current?.redo() || Promise.resolve(); - }, - validate: (): Notification[] => { - return []; - }, - setTheme: (theme: EditorTheme): Promise => { - return swfTextEditorRef.current?.setTheme(theme) || Promise.resolve(); - }, - }; - }, - [] - ); + useImperativeHandle(forwardedRef, () => { + return { + setContent: (normalizedPosixPathRelativeToTheWorkspaceRoot: string, newContent: string): Promise => { + try { + setInitialContent({ + originalContent: newContent, + normalizedPosixPathRelativeToTheWorkspaceRoot, + }); + return Promise.resolve(); + } catch (e) { + console.error(e); + return Promise.reject(); + } + }, + getContent: (): Promise => { + return Promise.resolve(swfTextEditorRef.current?.getContent() || ""); + }, + getPreview: (): Promise => { + return Promise.resolve(""); + }, + undo: (): Promise => { + return swfTextEditorRef.current?.undo() || Promise.resolve(); + }, + redo: (): Promise => { + return swfTextEditorRef.current?.redo() || Promise.resolve(); + }, + validate: (): Notification[] => { + return []; + }, + setTheme: (theme: EditorTheme): Promise => { + return swfTextEditorRef.current?.setTheme(theme) || Promise.resolve(); + }, + }; + }, []); const setValidationErrors = (errors: editor.IMarker[]) => { if (!initialContent) { diff --git a/packages/text-editor/tests/__mocks__/styleMock.js b/packages/text-editor/tests/__mocks__/styleMock.js deleted file mode 100644 index 4bd939113b0..00000000000 --- a/packages/text-editor/tests/__mocks__/styleMock.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = {}; diff --git a/packages/text-editor/tests/jest.setup.ts b/packages/text-editor/tests/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/text-editor/tests/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json index 940118fe338..e5937cf39ae 100644 --- a/packages/tsconfig/package.json +++ b/packages/tsconfig/package.json @@ -4,4 +4,4 @@ "version": "0.0.0", "keywords": [], "devDependencies": {} -} \ No newline at end of file +} diff --git a/packages/uniforms-bootstrap4-codegen/__mocks__/styleMock.js b/packages/uniforms-bootstrap4-codegen/__mocks__/styleMock.js deleted file mode 100644 index 4bd939113b0..00000000000 --- a/packages/uniforms-bootstrap4-codegen/__mocks__/styleMock.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = {}; diff --git a/packages/uniforms-bootstrap4-codegen/jest.config.js b/packages/uniforms-bootstrap4-codegen/jest.config.js index 5ba57f911ab..7cabed8fc16 100644 --- a/packages/uniforms-bootstrap4-codegen/jest.config.js +++ b/packages/uniforms-bootstrap4-codegen/jest.config.js @@ -17,24 +17,20 @@ * under the License. */ +const { config, jestSetupPath, styleMock, babelTransform } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, + ...config, + testEnvironment: "jsdom", + moduleNameMapper: { + ...styleMock, + "^!!raw-loader!(.*)$": "$1", }, - setupFilesAfterEnv: ["./src/__tests__/jest.setup.ts"], - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/__tests__/.*\\.test\\.(jsx?|tsx?)$", transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - "^.+\\.template?$": "jest-raw-loader", - "^.+\\.txt?$": "jest-raw-loader", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/__mocks__/styleMock.js", + ...babelTransform, + "^.+\\.(template|txt)?$": "/tests/rawJestTransformer.js", }, + transformIgnorePatterns: [], + setupFilesAfterEnv: [jestSetupPath], }; diff --git a/packages/uniforms-bootstrap4-codegen/package.json b/packages/uniforms-bootstrap4-codegen/package.json index a671e76a31c..a6849bcfce9 100644 --- a/packages/uniforms-bootstrap4-codegen/package.json +++ b/packages/uniforms-bootstrap4-codegen/package.json @@ -36,33 +36,32 @@ "@babel/preset-react": "^7.16.0", "@kie-tools-core/webpack-base": "workspace:*", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@testing-library/jest-dom": "^6.4.6", + "@testing-library/react": "^12.1.5", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/lodash": "^4.14.168", "@types/prettier": "^2.7.3", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", "@types/simpl-schema": "^1.12.0", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", "@types/underscore": "^1.11.2", "copy-webpack-plugin": "^11.0.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-raw-loader": "^1.0.1", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "raw-loader": "^4.0.2", "rimraf": "^3.0.2", "simpl-schema": "^1.12.0", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0", "webpack-node-externals": "^3.0.0" } -} \ No newline at end of file +} diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/jest.setup.ts b/packages/uniforms-bootstrap4-codegen/src/__tests__/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/uniforms-bootstrap4-codegen/src/uniforms/templates/types.ts b/packages/uniforms-bootstrap4-codegen/src/uniforms/templates/types.ts index 6bfce47f7b6..ce2b433e4e5 100644 --- a/packages/uniforms-bootstrap4-codegen/src/uniforms/templates/types.ts +++ b/packages/uniforms-bootstrap4-codegen/src/uniforms/templates/types.ts @@ -37,7 +37,7 @@ export interface FormElementTemplateProps { export interface FormElementTemplate< Element extends FormElement, - Properties extends FormElementTemplateProps + Properties extends FormElementTemplateProps, > { render: (props: Properties) => Element; } diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/AutoField.test.tsx b/packages/uniforms-bootstrap4-codegen/tests/AutoField.test.tsx similarity index 98% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/AutoField.test.tsx rename to packages/uniforms-bootstrap4-codegen/tests/AutoField.test.tsx index cf32cb0847e..b04e7d76ea5 100644 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/AutoField.test.tsx +++ b/packages/uniforms-bootstrap4-codegen/tests/AutoField.test.tsx @@ -20,7 +20,7 @@ import * as React from "react"; import SimpleSchema from "simpl-schema"; import { renderField } from "./_render"; -import { AutoField } from "../uniforms"; +import { AutoField } from "../src/uniforms"; const schema = { name: { type: String }, diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/AutoFields.test.tsx b/packages/uniforms-bootstrap4-codegen/tests/AutoFields.test.tsx similarity index 96% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/AutoFields.test.tsx rename to packages/uniforms-bootstrap4-codegen/tests/AutoFields.test.tsx index 8717ca8d817..5b453dee6f8 100644 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/AutoFields.test.tsx +++ b/packages/uniforms-bootstrap4-codegen/tests/AutoFields.test.tsx @@ -20,9 +20,9 @@ import * as React from "react"; import { renderField, renderFields } from "./_render"; -import { AutoFields } from "../uniforms"; +import { AutoFields } from "../src/uniforms"; import SimpleSchema from "simpl-schema"; -import { FormElement } from "../api"; +import { FormElement } from "../src/api"; describe(" - tests", () => { it(" - works", () => { diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/AutoForm.test.tsx b/packages/uniforms-bootstrap4-codegen/tests/AutoForm.test.tsx similarity index 97% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/AutoForm.test.tsx rename to packages/uniforms-bootstrap4-codegen/tests/AutoForm.test.tsx index eb1eaaf9bd0..bfd59cd405c 100644 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/AutoForm.test.tsx +++ b/packages/uniforms-bootstrap4-codegen/tests/AutoForm.test.tsx @@ -20,7 +20,7 @@ import * as React from "react"; import { render } from "@testing-library/react"; import { unescape } from "lodash"; -import AutoForm, { AutoFormProps } from "../uniforms/AutoForm"; +import AutoForm, { AutoFormProps } from "../src/uniforms/AutoForm"; import SimpleSchema from "simpl-schema"; import createSchema from "./_createSchema"; diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/BoolField.test.tsx b/packages/uniforms-bootstrap4-codegen/tests/BoolField.test.tsx similarity index 98% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/BoolField.test.tsx rename to packages/uniforms-bootstrap4-codegen/tests/BoolField.test.tsx index fcd52e6bba5..97510d87894 100644 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/BoolField.test.tsx +++ b/packages/uniforms-bootstrap4-codegen/tests/BoolField.test.tsx @@ -19,7 +19,7 @@ import * as React from "react"; import { renderField } from "./_render"; -import { BoolField } from "../uniforms"; +import { BoolField } from "../src/uniforms"; const schema = { hire: { type: Boolean }, diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/CheckboxGroupField.test.tsx b/packages/uniforms-bootstrap4-codegen/tests/CheckboxGroupField.test.tsx similarity index 98% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/CheckboxGroupField.test.tsx rename to packages/uniforms-bootstrap4-codegen/tests/CheckboxGroupField.test.tsx index f43f9c04a88..283859cfb21 100644 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/CheckboxGroupField.test.tsx +++ b/packages/uniforms-bootstrap4-codegen/tests/CheckboxGroupField.test.tsx @@ -19,7 +19,7 @@ import * as React from "react"; import { renderField } from "./_render"; -import { CheckBoxGroupField } from "../uniforms"; +import { CheckBoxGroupField } from "../src/uniforms"; const schema = { roles: { diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/DateField.test.tsx b/packages/uniforms-bootstrap4-codegen/tests/DateField.test.tsx similarity index 98% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/DateField.test.tsx rename to packages/uniforms-bootstrap4-codegen/tests/DateField.test.tsx index 9355c91001a..29e14aabffb 100644 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/DateField.test.tsx +++ b/packages/uniforms-bootstrap4-codegen/tests/DateField.test.tsx @@ -19,7 +19,7 @@ import * as React from "react"; import { renderField } from "./_render"; -import { DateField } from "../uniforms"; +import { DateField } from "../src/uniforms"; const schema = { birthday: { type: Date }, diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/NestField.test.tsx b/packages/uniforms-bootstrap4-codegen/tests/NestField.test.tsx similarity index 96% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/NestField.test.tsx rename to packages/uniforms-bootstrap4-codegen/tests/NestField.test.tsx index 88dd4bdbc4e..348411b23e6 100644 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/NestField.test.tsx +++ b/packages/uniforms-bootstrap4-codegen/tests/NestField.test.tsx @@ -19,8 +19,8 @@ import SimpleSchema from "simpl-schema"; import { renderField } from "./_render"; -import { NestField } from "../uniforms"; -import { FormInputContainer } from "../api"; +import { NestField } from "../src/uniforms"; +import { FormInputContainer } from "../src/api"; const schema = { candidate: { type: Object }, diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/NumField.test.tsx b/packages/uniforms-bootstrap4-codegen/tests/NumField.test.tsx similarity index 99% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/NumField.test.tsx rename to packages/uniforms-bootstrap4-codegen/tests/NumField.test.tsx index dacb9e1fe9b..cb2e3de9342 100644 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/NumField.test.tsx +++ b/packages/uniforms-bootstrap4-codegen/tests/NumField.test.tsx @@ -20,7 +20,7 @@ import * as React from "react"; import SimpleSchema from "simpl-schema"; import { renderField } from "./_render"; -import { NumField } from "../uniforms"; +import { NumField } from "../src/uniforms"; describe(" tests", () => { it(" - integer rendering", () => { diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/RadioField.test.tsx b/packages/uniforms-bootstrap4-codegen/tests/RadioField.test.tsx similarity index 98% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/RadioField.test.tsx rename to packages/uniforms-bootstrap4-codegen/tests/RadioField.test.tsx index f9e35e743e5..cc8a84ea53f 100644 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/RadioField.test.tsx +++ b/packages/uniforms-bootstrap4-codegen/tests/RadioField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { RadioField } from "../uniforms"; +import { RadioField } from "../src/uniforms"; import { renderField } from "./_render"; const schema = { diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/SelectField.test.tsx b/packages/uniforms-bootstrap4-codegen/tests/SelectField.test.tsx similarity index 99% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/SelectField.test.tsx rename to packages/uniforms-bootstrap4-codegen/tests/SelectField.test.tsx index c91abef0e9d..409f4cdddb9 100644 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/SelectField.test.tsx +++ b/packages/uniforms-bootstrap4-codegen/tests/SelectField.test.tsx @@ -19,7 +19,7 @@ import * as React from "react"; import { renderField } from "./_render"; -import { SelectField } from "../uniforms"; +import { SelectField } from "../src/uniforms"; const schema = { role: { diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/TextField.test.tsx b/packages/uniforms-bootstrap4-codegen/tests/TextField.test.tsx similarity index 98% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/TextField.test.tsx rename to packages/uniforms-bootstrap4-codegen/tests/TextField.test.tsx index ac1570ee0fc..f7ffad77808 100644 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/TextField.test.tsx +++ b/packages/uniforms-bootstrap4-codegen/tests/TextField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { TextField } from "../uniforms"; +import { TextField } from "../src/uniforms"; import { renderField } from "./_render"; const schema = { diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/UnsupportedField.test.tsx b/packages/uniforms-bootstrap4-codegen/tests/UnsupportedField.test.tsx similarity index 97% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/UnsupportedField.test.tsx rename to packages/uniforms-bootstrap4-codegen/tests/UnsupportedField.test.tsx index 9a187986e1b..74e2bd7bd17 100644 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/UnsupportedField.test.tsx +++ b/packages/uniforms-bootstrap4-codegen/tests/UnsupportedField.test.tsx @@ -19,7 +19,7 @@ import * as React from "react"; import { renderField } from "./_render"; -import { UnsupportedField } from "../uniforms"; +import { UnsupportedField } from "../src/uniforms"; const schema = { friends: { type: Array }, diff --git a/packages/form-dmn/__mocks__/styleMock.js b/packages/uniforms-bootstrap4-codegen/tests/__mocks__/styleMock.js similarity index 100% rename from packages/form-dmn/__mocks__/styleMock.js rename to packages/uniforms-bootstrap4-codegen/tests/__mocks__/styleMock.js diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/AutoForm.test.tsx.snap b/packages/uniforms-bootstrap4-codegen/tests/__snapshots__/AutoForm.test.tsx.snap similarity index 100% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/AutoForm.test.tsx.snap rename to packages/uniforms-bootstrap4-codegen/tests/__snapshots__/AutoForm.test.tsx.snap diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/BoolField.test.tsx.snap b/packages/uniforms-bootstrap4-codegen/tests/__snapshots__/BoolField.test.tsx.snap similarity index 100% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/BoolField.test.tsx.snap rename to packages/uniforms-bootstrap4-codegen/tests/__snapshots__/BoolField.test.tsx.snap diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/CheckboxGroupField.test.tsx.snap b/packages/uniforms-bootstrap4-codegen/tests/__snapshots__/CheckboxGroupField.test.tsx.snap similarity index 100% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/CheckboxGroupField.test.tsx.snap rename to packages/uniforms-bootstrap4-codegen/tests/__snapshots__/CheckboxGroupField.test.tsx.snap diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/DateField.test.tsx.snap b/packages/uniforms-bootstrap4-codegen/tests/__snapshots__/DateField.test.tsx.snap similarity index 100% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/DateField.test.tsx.snap rename to packages/uniforms-bootstrap4-codegen/tests/__snapshots__/DateField.test.tsx.snap diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/NestField.test.tsx.snap b/packages/uniforms-bootstrap4-codegen/tests/__snapshots__/NestField.test.tsx.snap similarity index 100% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/NestField.test.tsx.snap rename to packages/uniforms-bootstrap4-codegen/tests/__snapshots__/NestField.test.tsx.snap diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/NumField.test.tsx.snap b/packages/uniforms-bootstrap4-codegen/tests/__snapshots__/NumField.test.tsx.snap similarity index 100% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/NumField.test.tsx.snap rename to packages/uniforms-bootstrap4-codegen/tests/__snapshots__/NumField.test.tsx.snap diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/RadioField.test.tsx.snap b/packages/uniforms-bootstrap4-codegen/tests/__snapshots__/RadioField.test.tsx.snap similarity index 100% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/RadioField.test.tsx.snap rename to packages/uniforms-bootstrap4-codegen/tests/__snapshots__/RadioField.test.tsx.snap diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/SelectField.test.tsx.snap b/packages/uniforms-bootstrap4-codegen/tests/__snapshots__/SelectField.test.tsx.snap similarity index 100% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/SelectField.test.tsx.snap rename to packages/uniforms-bootstrap4-codegen/tests/__snapshots__/SelectField.test.tsx.snap diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/TextField.test.tsx.snap b/packages/uniforms-bootstrap4-codegen/tests/__snapshots__/TextField.test.tsx.snap similarity index 100% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/TextField.test.tsx.snap rename to packages/uniforms-bootstrap4-codegen/tests/__snapshots__/TextField.test.tsx.snap diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/UnsupportedField.test.tsx.snap b/packages/uniforms-bootstrap4-codegen/tests/__snapshots__/UnsupportedField.test.tsx.snap similarity index 100% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/__snapshots__/UnsupportedField.test.tsx.snap rename to packages/uniforms-bootstrap4-codegen/tests/__snapshots__/UnsupportedField.test.tsx.snap diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/_createContext.ts b/packages/uniforms-bootstrap4-codegen/tests/_createContext.ts similarity index 100% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/_createContext.ts rename to packages/uniforms-bootstrap4-codegen/tests/_createContext.ts diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/_createSchema.ts b/packages/uniforms-bootstrap4-codegen/tests/_createSchema.ts similarity index 100% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/_createSchema.ts rename to packages/uniforms-bootstrap4-codegen/tests/_createSchema.ts diff --git a/packages/uniforms-bootstrap4-codegen/src/__tests__/_render.tsx b/packages/uniforms-bootstrap4-codegen/tests/_render.tsx similarity index 96% rename from packages/uniforms-bootstrap4-codegen/src/__tests__/_render.tsx rename to packages/uniforms-bootstrap4-codegen/tests/_render.tsx index 3f32e6b38fd..34b45303fa2 100644 --- a/packages/uniforms-bootstrap4-codegen/src/__tests__/_render.tsx +++ b/packages/uniforms-bootstrap4-codegen/tests/_render.tsx @@ -21,8 +21,8 @@ import * as React from "react"; import { render } from "@testing-library/react"; import { context, Context } from "uniforms/cjs"; import createContext from "./_createContext"; -import { BootstrapCodeGenContext, bootstrapCodeGenContext } from "../uniforms/BootstrapCodeGenContext"; -import { FormElement, FormInput } from "../api"; +import { BootstrapCodeGenContext, bootstrapCodeGenContext } from "../src/uniforms/BootstrapCodeGenContext"; +import { FormElement, FormInput } from "../src/api"; const TestCodeGenContextProvider: React.FC = (props: any) => { const ctx: Context = createContext(props.schema); diff --git a/packages/dashbuilder-component-map/tests/jest.setup.ts b/packages/uniforms-bootstrap4-codegen/tests/jest.setup.ts similarity index 100% rename from packages/dashbuilder-component-map/tests/jest.setup.ts rename to packages/uniforms-bootstrap4-codegen/tests/jest.setup.ts diff --git a/packages/dashbuilder-editor/tests/__mocks__/monacoMock.js b/packages/uniforms-bootstrap4-codegen/tests/rawJestTransformer.js similarity index 75% rename from packages/dashbuilder-editor/tests/__mocks__/monacoMock.js rename to packages/uniforms-bootstrap4-codegen/tests/rawJestTransformer.js index dbcac6ca727..d88592631bd 100644 --- a/packages/dashbuilder-editor/tests/__mocks__/monacoMock.js +++ b/packages/uniforms-bootstrap4-codegen/tests/rawJestTransformer.js @@ -17,13 +17,12 @@ * under the License. */ +// `jest-raw-loader` version 1.0.1 compatibility with Jest version 28. +// See: https://github.com/keplersj/jest-raw-loader/pull/239 module.exports = { - languages: { - register: function (language) {}, - setMonarchTokensProvider: function (name, tokens) {}, - registerCompletionItemProvider: function (name, provider) {}, - }, - editor: { - defineTheme: function (name, theme) {}, + process: (sourceText, sourcePath, options) => { + return { + code: `module.exports = ${JSON.stringify(sourceText)}`, + }; }, }; diff --git a/packages/uniforms-bootstrap4-codegen/tsconfig.json b/packages/uniforms-bootstrap4-codegen/tsconfig.json index 3a9a22a9781..77bc5d13225 100644 --- a/packages/uniforms-bootstrap4-codegen/tsconfig.json +++ b/packages/uniforms-bootstrap4-codegen/tsconfig.json @@ -2,7 +2,8 @@ "extends": "@kie-tools/tsconfig/tsconfig.json", "compilerOptions": { "outDir": "dist", - "esModuleInterop": true + "esModuleInterop": true, + "types": ["@testing-library/jest-dom"] }, "include": ["src"] } diff --git a/packages/uniforms-patternfly-codegen/__mocks__/styleMock.js b/packages/uniforms-patternfly-codegen/__mocks__/styleMock.js deleted file mode 100644 index 4bd939113b0..00000000000 --- a/packages/uniforms-patternfly-codegen/__mocks__/styleMock.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = {}; diff --git a/packages/uniforms-patternfly-codegen/jest.config.js b/packages/uniforms-patternfly-codegen/jest.config.js index b611e8e2966..40296ed617b 100644 --- a/packages/uniforms-patternfly-codegen/jest.config.js +++ b/packages/uniforms-patternfly-codegen/jest.config.js @@ -17,23 +17,19 @@ * under the License. */ +const { config, jestSetupPath, styleMock, babelTransform } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, + ...config, + testEnvironment: "jsdom", + moduleNameMapper: { + ...styleMock, + "^!!raw-loader!.*": "/tests/rawJestTransformer.js", }, - setupFilesAfterEnv: ["./src/__tests__/jest.setup.ts"], - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules", "src"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/__tests__/.*\\.test\\.(jsx?|tsx?)$", transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - "^.+\\.txt?$": "jest-raw-loader", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/__mocks__/styleMock.js", + ...babelTransform, + "^.+\\.txt?$": "/tests/rawJestTransformer.js", }, + setupFilesAfterEnv: [jestSetupPath], }; diff --git a/packages/uniforms-patternfly-codegen/package.json b/packages/uniforms-patternfly-codegen/package.json index 1aac8149f8e..222a305c042 100644 --- a/packages/uniforms-patternfly-codegen/package.json +++ b/packages/uniforms-patternfly-codegen/package.json @@ -19,7 +19,7 @@ "build:dev": "rimraf dist && webpack --env dev", "build:prod": "pnpm lint && pnpm test && rimraf dist && webpack", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --verbose --passWithNoTests\"" }, "dependencies": { "lodash": "^4.17.21", @@ -35,28 +35,27 @@ "@babel/preset-react": "^7.16.0", "@kie-tools-core/webpack-base": "workspace:*", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@testing-library/jest-dom": "^6.4.6", + "@testing-library/react": "^12.1.5", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/lodash": "^4.14.168", "@types/prettier": "^2.7.3", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", "@types/simpl-schema": "^1.12.0", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", "copy-webpack-plugin": "^11.0.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-raw-loader": "^1.0.1", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "raw-loader": "^4.0.2", "rimraf": "^3.0.2", "simpl-schema": "^1.12.0", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2", "webpack": "^5.88.2", "webpack-cli": "^4.10.0", @@ -64,4 +63,4 @@ "webpack-merge": "^5.9.0", "webpack-node-externals": "^3.0.0" } -} \ No newline at end of file +} diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/jest.setup.ts b/packages/uniforms-patternfly-codegen/src/__tests__/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/uniforms-patternfly-codegen/src/__tests__/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/uniforms-patternfly-codegen/src/uniforms/AutoForm.tsx b/packages/uniforms-patternfly-codegen/src/uniforms/AutoForm.tsx index ccdf98dc70c..11088b0a087 100644 --- a/packages/uniforms-patternfly-codegen/src/uniforms/AutoForm.tsx +++ b/packages/uniforms-patternfly-codegen/src/uniforms/AutoForm.tsx @@ -57,7 +57,7 @@ const AutoForm: React.FC = (props) => { const formName = `Form${props.sanitizedId ? `${NS_SEPARATOR}${props.sanitizedId}` : ""}`; const hooks = inputs.map((input) => input.stateCode).join("\n"); const elements = inputs.map((input) => input.jsxCode).join("\n"); - const staticCodeStr: string = staticCodeArray.map((id) => getStaticCodeBlock(id)).join("\n"); + const staticCodeStr: string = staticCodeArray.map((id) => JSON.stringify(getStaticCodeBlock(id))).join("\n"); const formTemplate = ` import React, { ${reactImports.join(", ")} } from "react"; diff --git a/packages/uniforms-patternfly-codegen/src/uniforms/DateField.tsx b/packages/uniforms-patternfly-codegen/src/uniforms/DateField.tsx index 0f020a3c405..98cc654f2a5 100644 --- a/packages/uniforms-patternfly-codegen/src/uniforms/DateField.tsx +++ b/packages/uniforms-patternfly-codegen/src/uniforms/DateField.tsx @@ -61,8 +61,8 @@ const Date: React.FC = (props: DateFieldProps) => { isDisabled={${props.disabled || false}} name={'${props.name}'} onChange={(time, hours?, minutes?) => onTimeChange(time, ${ref.stateSetter}, ${ - ref.stateName - }, hours, minutes)} + ref.stateName + }, hours, minutes)} style={{ width: '120px' }} time={parseTime(${ref.stateName})} /> diff --git a/packages/uniforms-patternfly-codegen/src/uniforms/utils/dataTypes.ts b/packages/uniforms-patternfly-codegen/src/uniforms/utils/dataTypes.ts index 1dba9db1734..87436acc31a 100644 --- a/packages/uniforms-patternfly-codegen/src/uniforms/utils/dataTypes.ts +++ b/packages/uniforms-patternfly-codegen/src/uniforms/utils/dataTypes.ts @@ -20,7 +20,10 @@ import { DataType } from "../../api"; class DefaultDataType implements DataType { - constructor(public readonly name: string, public readonly defaultValue?: string) {} + constructor( + public readonly name: string, + public readonly defaultValue?: string + ) {} } export const ARRAY: DataType = new DefaultDataType("string[]", "[]"); diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/AutoField.test.tsx b/packages/uniforms-patternfly-codegen/tests/AutoField.test.tsx similarity index 97% rename from packages/uniforms-patternfly-codegen/src/__tests__/AutoField.test.tsx rename to packages/uniforms-patternfly-codegen/tests/AutoField.test.tsx index a754ed34825..8db2f75e8ed 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/AutoField.test.tsx +++ b/packages/uniforms-patternfly-codegen/tests/AutoField.test.tsx @@ -20,15 +20,15 @@ import * as React from "react"; import SimpleSchema from "simpl-schema"; import { renderField } from "./_render"; -import { AutoField } from "../uniforms"; +import { AutoField } from "../src/uniforms"; import { CHECKBOX_GROUP_FUNCTIONS, DATE_FUNCTIONS, MULTIPLE_SELECT_FUNCTIONS, SELECT_FUNCTIONS, TIME_FUNCTIONS, -} from "../uniforms/staticCode/staticCodeBlocks"; -import { SELECT_IMPORTS } from "../uniforms/SelectField"; +} from "../src/uniforms/staticCode/staticCodeBlocks"; +import { SELECT_IMPORTS } from "../src/uniforms/SelectField"; const schema = { name: { type: String }, diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/AutoFields.test.tsx b/packages/uniforms-patternfly-codegen/tests/AutoFields.test.tsx similarity index 98% rename from packages/uniforms-patternfly-codegen/src/__tests__/AutoFields.test.tsx rename to packages/uniforms-patternfly-codegen/tests/AutoFields.test.tsx index 9e34a547078..82fc60fc6d6 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/AutoFields.test.tsx +++ b/packages/uniforms-patternfly-codegen/tests/AutoFields.test.tsx @@ -20,7 +20,7 @@ import * as React from "react"; import { renderField, renderFields } from "./_render"; -import { AutoFields } from "../uniforms"; +import { AutoFields } from "../src/uniforms"; import SimpleSchema from "simpl-schema"; describe(" - tests", () => { diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/AutoForm.test.tsx b/packages/uniforms-patternfly-codegen/tests/AutoForm.test.tsx similarity index 97% rename from packages/uniforms-patternfly-codegen/src/__tests__/AutoForm.test.tsx rename to packages/uniforms-patternfly-codegen/tests/AutoForm.test.tsx index 25806ccca2a..263fef45ddc 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/AutoForm.test.tsx +++ b/packages/uniforms-patternfly-codegen/tests/AutoForm.test.tsx @@ -20,7 +20,7 @@ import * as React from "react"; import { render } from "@testing-library/react"; import { unescape } from "lodash"; -import AutoForm, { AutoFormProps } from "../uniforms/AutoForm"; +import AutoForm, { AutoFormProps } from "../src/uniforms/AutoForm"; import SimpleSchema from "simpl-schema"; import createSchema from "./_createSchema"; diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/BoolField.test.tsx b/packages/uniforms-patternfly-codegen/tests/BoolField.test.tsx similarity index 98% rename from packages/uniforms-patternfly-codegen/src/__tests__/BoolField.test.tsx rename to packages/uniforms-patternfly-codegen/tests/BoolField.test.tsx index 8d932334c6d..683759743ba 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/BoolField.test.tsx +++ b/packages/uniforms-patternfly-codegen/tests/BoolField.test.tsx @@ -19,7 +19,7 @@ import * as React from "react"; import { renderField } from "./_render"; -import { BoolField } from "../uniforms"; +import { BoolField } from "../src/uniforms"; const schema = { hire: { type: Boolean }, diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/CheckBoxGroupField.test.tsx b/packages/uniforms-patternfly-codegen/tests/CheckBoxGroupField.test.tsx similarity index 95% rename from packages/uniforms-patternfly-codegen/src/__tests__/CheckBoxGroupField.test.tsx rename to packages/uniforms-patternfly-codegen/tests/CheckBoxGroupField.test.tsx index 4fcf6f2b04a..8eef0b7317e 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/CheckBoxGroupField.test.tsx +++ b/packages/uniforms-patternfly-codegen/tests/CheckBoxGroupField.test.tsx @@ -19,8 +19,8 @@ import * as React from "react"; import { renderField } from "./_render"; -import { CHECKBOX_GROUP_FUNCTIONS } from "../uniforms/staticCode/staticCodeBlocks"; -import { CheckBoxGroupField } from "../uniforms"; +import { CHECKBOX_GROUP_FUNCTIONS } from "../src/uniforms/staticCode/staticCodeBlocks"; +import { CheckBoxGroupField } from "../src/uniforms"; const schema = { roles: { diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/DateField.test.tsx b/packages/uniforms-patternfly-codegen/tests/DateField.test.tsx similarity index 96% rename from packages/uniforms-patternfly-codegen/src/__tests__/DateField.test.tsx rename to packages/uniforms-patternfly-codegen/tests/DateField.test.tsx index b580e77ead1..03f3b97c874 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/DateField.test.tsx +++ b/packages/uniforms-patternfly-codegen/tests/DateField.test.tsx @@ -19,8 +19,8 @@ import * as React from "react"; import { renderField } from "./_render"; -import { DATE_FUNCTIONS, TIME_FUNCTIONS } from "../uniforms/staticCode/staticCodeBlocks"; -import { DateField } from "../uniforms"; +import { DATE_FUNCTIONS, TIME_FUNCTIONS } from "../src/uniforms/staticCode/staticCodeBlocks"; +import { DateField } from "../src/uniforms"; const schema = { birthday: { type: Date }, diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/NestField.test.tsx b/packages/uniforms-patternfly-codegen/tests/NestField.test.tsx similarity index 96% rename from packages/uniforms-patternfly-codegen/src/__tests__/NestField.test.tsx rename to packages/uniforms-patternfly-codegen/tests/NestField.test.tsx index f0fed623ce9..c728553612a 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/NestField.test.tsx +++ b/packages/uniforms-patternfly-codegen/tests/NestField.test.tsx @@ -19,8 +19,8 @@ import SimpleSchema from "simpl-schema"; import { renderField } from "./_render"; -import { NestField } from "../uniforms"; -import { InputsContainer } from "../api"; +import { NestField } from "../src/uniforms"; +import { InputsContainer } from "../src/api"; const schema = { candidate: { type: Object }, diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/NumField.test.tsx b/packages/uniforms-patternfly-codegen/tests/NumField.test.tsx similarity index 98% rename from packages/uniforms-patternfly-codegen/src/__tests__/NumField.test.tsx rename to packages/uniforms-patternfly-codegen/tests/NumField.test.tsx index 44bb8ac67a7..852e43ed163 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/NumField.test.tsx +++ b/packages/uniforms-patternfly-codegen/tests/NumField.test.tsx @@ -19,8 +19,8 @@ import * as React from "react"; import SimpleSchema from "simpl-schema"; -import { InputReference } from "../api"; -import NumField from "../uniforms/NumField"; +import { InputReference } from "../src/api"; +import NumField from "../src/uniforms/NumField"; import { renderField } from "./_render"; describe(" tests", () => { diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/RadioField.test.tsx b/packages/uniforms-patternfly-codegen/tests/RadioField.test.tsx similarity index 98% rename from packages/uniforms-patternfly-codegen/src/__tests__/RadioField.test.tsx rename to packages/uniforms-patternfly-codegen/tests/RadioField.test.tsx index ece1256b084..f0dfd012d2f 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/RadioField.test.tsx +++ b/packages/uniforms-patternfly-codegen/tests/RadioField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { RadioField } from "../uniforms"; +import { RadioField } from "../src/uniforms"; import { renderField } from "./_render"; const schema = { diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/SelectField.test.tsx b/packages/uniforms-patternfly-codegen/tests/SelectField.test.tsx similarity index 96% rename from packages/uniforms-patternfly-codegen/src/__tests__/SelectField.test.tsx rename to packages/uniforms-patternfly-codegen/tests/SelectField.test.tsx index e0b0f38fd80..8a48bf4eeac 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/SelectField.test.tsx +++ b/packages/uniforms-patternfly-codegen/tests/SelectField.test.tsx @@ -19,10 +19,10 @@ import * as React from "react"; import { renderField } from "./_render"; -import { MULTIPLE_SELECT_FUNCTIONS, SELECT_FUNCTIONS } from "../uniforms/staticCode/staticCodeBlocks"; -import { SelectField } from "../uniforms"; -import { NS_SEPARATOR } from "../uniforms/utils/Utils"; -import { SELECT_IMPORTS } from "../uniforms/SelectField"; +import { MULTIPLE_SELECT_FUNCTIONS, SELECT_FUNCTIONS } from "../src/uniforms/staticCode/staticCodeBlocks"; +import { SelectField } from "../src/uniforms"; +import { NS_SEPARATOR } from "../src/uniforms/utils/Utils"; +import { SELECT_IMPORTS } from "../src/uniforms/SelectField"; const schema = { role: { diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/TestCodegenContextProvider.tsx b/packages/uniforms-patternfly-codegen/tests/TestCodegenContextProvider.tsx similarity index 94% rename from packages/uniforms-patternfly-codegen/src/__tests__/TestCodegenContextProvider.tsx rename to packages/uniforms-patternfly-codegen/tests/TestCodegenContextProvider.tsx index 07afdacabc6..b8152d2c243 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/TestCodegenContextProvider.tsx +++ b/packages/uniforms-patternfly-codegen/tests/TestCodegenContextProvider.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { CodeGenContext, codeGenContext } from "../uniforms/CodeGenContext"; +import { CodeGenContext, codeGenContext } from "../src/uniforms/CodeGenContext"; import { context, Context } from "uniforms/cjs"; import createContext from "./_createContext"; diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/TextField.test.tsx b/packages/uniforms-patternfly-codegen/tests/TextField.test.tsx similarity index 97% rename from packages/uniforms-patternfly-codegen/src/__tests__/TextField.test.tsx rename to packages/uniforms-patternfly-codegen/tests/TextField.test.tsx index 8c5ff72577b..b76a67aebe3 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/TextField.test.tsx +++ b/packages/uniforms-patternfly-codegen/tests/TextField.test.tsx @@ -18,9 +18,9 @@ */ import * as React from "react"; -import { TextField } from "../uniforms"; +import { TextField } from "../src/uniforms"; import { renderField } from "./_render"; -import { DATE_FUNCTIONS } from "../uniforms/staticCode/staticCodeBlocks"; +import { DATE_FUNCTIONS } from "../src/uniforms/staticCode/staticCodeBlocks"; const schema = { name: { type: String }, diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/UnsupportedField.test.tsx b/packages/uniforms-patternfly-codegen/tests/UnsupportedField.test.tsx similarity index 97% rename from packages/uniforms-patternfly-codegen/src/__tests__/UnsupportedField.test.tsx rename to packages/uniforms-patternfly-codegen/tests/UnsupportedField.test.tsx index c160ca8abaf..bce35fac85d 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/UnsupportedField.test.tsx +++ b/packages/uniforms-patternfly-codegen/tests/UnsupportedField.test.tsx @@ -19,7 +19,7 @@ import * as React from "react"; import { renderField } from "./_render"; -import { UnsupportedField } from "../uniforms"; +import { UnsupportedField } from "../src/uniforms"; const schema = { friends: { type: Array }, diff --git a/packages/form/__mocks__/styleMock.js b/packages/uniforms-patternfly-codegen/tests/__mocks__/styleMock.js similarity index 100% rename from packages/form/__mocks__/styleMock.js rename to packages/uniforms-patternfly-codegen/tests/__mocks__/styleMock.js diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/AutoForm.test.tsx.snap b/packages/uniforms-patternfly-codegen/tests/__snapshots__/AutoForm.test.tsx.snap similarity index 85% rename from packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/AutoForm.test.tsx.snap rename to packages/uniforms-patternfly-codegen/tests/__snapshots__/AutoForm.test.tsx.snap index 97cc9a941b0..96df0733236 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/AutoForm.test.tsx.snap +++ b/packages/uniforms-patternfly-codegen/tests/__snapshots__/AutoForm.test.tsx.snap @@ -150,123 +150,16 @@ const Form__HRInterview: React.FC<any> = (props: any) => { }); setFormApi(api); }, []); - const handleSelect = ( - newSelection: string | SelectOptionObject, - isPlaceHolder: boolean, - currentSelection: string, - setSelection: (val: string) => void, - setExpanded: (expanded: boolean) => void - ) => { - if (isPlaceHolder) { - setSelection(''); - setExpanded(false); - } else { - const parsedSelection = newSelection.toString - ? newSelection.toString() - : (newSelection as string); - setSelection(parsedSelection || ''); - setExpanded(false); - } - }; - const handleMultipleSelect = ( - newSelection: string | SelectOptionObject, - isPlaceHolder: boolean, - currentValue: string[], - setSelection: (val: string[]) => void - ) => { - if (isPlaceHolder) { - setSelection([]); - } else { - const parseSelection = (): string[] => { - const selectedValue = newSelection.toString - ? newSelection.toString() - : (newSelection as string); - if (currentValue.indexOf(selectedValue) != -1) { - return currentValue.filter((s) => s !== selectedValue); - } - return [selectedValue, ...currentValue]; - }; - setSelection(parseSelection()); - } - }; - const handleCheckboxGroupChange = ( - checkboxValue: string, - groupValue: string[], - setter: (val: string[]) => void - ): void => { - const newValues = [...groupValue]; - const index = newValues.indexOf(checkboxValue); - if (index != -1) { - newValues.splice(index, 1); - } else { - newValues.push(checkboxValue); - } - setter(newValues); - }; - const parseDate = (date?: string): string => { - if (!date) { - return ''; - } - const dateValue: Date = new Date(Date.parse(date)); - return dateValue.toISOString().slice(0, -14); - }; - const onDateChange = ( - newValue: string, - setter: (newValue: string) => void, - previousValue?: string - ) => { - if (newValue) { - const newDate = new Date(newValue); - const time = parseTime(previousValue); - if (time !== '') { - newDate.setHours(parseInt(time && time.split(':')[0])); - newDate.setMinutes(parseInt(time && time.split(':')[1].split(' ')[0])); - } - setter(newDate.toISOString()); - } - }; - const parseTime = (date?: string): string => { - if (!date) { - return ''; - } - const dateValue: Date = new Date(Date.parse(date)); - let isAm = true; - let hours = dateValue.getHours(); - if (hours > 12) { - hours %= 12; - isAm = false; - } - let minutes = dateValue.getMinutes().toString(); - if (minutes.length == 1) { - minutes = '0' + minutes; - } - return \`\${hours}:\${minutes} \${isAm ? 'AM' : 'PM'}\`; - }; - const onTimeChange = ( - time: string, - setter: (newValue: string) => void, - previousValue?: string, - hours?: number, - minutes?: number - ) => { - if (previousValue) { - const newDate = new Date(Date.parse(previousValue)); - if (hours && minutes) { - newDate.setHours(hours); - newDate.setMinutes(minutes); - } else if (time !== '') { - const localeHours = parseInt(time && time.split(':')[0]); - const localeMinutes = parseInt( - time && time.split(':')[1].split(' ')[0] - ); - if (!isNaN(localeHours) && !isNaN(localeMinutes)) { - newDate.setHours(localeHours); - newDate.setMinutes(localeMinutes); - } - } - setter(newDate.toISOString()); - } - }; + { + } + { + } + { + } + { + } + { + } return ( <div className={'pf-c-form'}> <Card> diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/BoolField.test.tsx.snap b/packages/uniforms-patternfly-codegen/tests/__snapshots__/BoolField.test.tsx.snap similarity index 100% rename from packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/BoolField.test.tsx.snap rename to packages/uniforms-patternfly-codegen/tests/__snapshots__/BoolField.test.tsx.snap diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/CheckBoxGroupField.test.tsx.snap b/packages/uniforms-patternfly-codegen/tests/__snapshots__/CheckBoxGroupField.test.tsx.snap similarity index 100% rename from packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/CheckBoxGroupField.test.tsx.snap rename to packages/uniforms-patternfly-codegen/tests/__snapshots__/CheckBoxGroupField.test.tsx.snap diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/DateField.test.tsx.snap b/packages/uniforms-patternfly-codegen/tests/__snapshots__/DateField.test.tsx.snap similarity index 100% rename from packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/DateField.test.tsx.snap rename to packages/uniforms-patternfly-codegen/tests/__snapshots__/DateField.test.tsx.snap diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/NestField.test.tsx.snap b/packages/uniforms-patternfly-codegen/tests/__snapshots__/NestField.test.tsx.snap similarity index 100% rename from packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/NestField.test.tsx.snap rename to packages/uniforms-patternfly-codegen/tests/__snapshots__/NestField.test.tsx.snap diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/NumField.test.tsx.snap b/packages/uniforms-patternfly-codegen/tests/__snapshots__/NumField.test.tsx.snap similarity index 100% rename from packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/NumField.test.tsx.snap rename to packages/uniforms-patternfly-codegen/tests/__snapshots__/NumField.test.tsx.snap diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/RadioField.test.tsx.snap b/packages/uniforms-patternfly-codegen/tests/__snapshots__/RadioField.test.tsx.snap similarity index 100% rename from packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/RadioField.test.tsx.snap rename to packages/uniforms-patternfly-codegen/tests/__snapshots__/RadioField.test.tsx.snap diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/SelectField.test.tsx.snap b/packages/uniforms-patternfly-codegen/tests/__snapshots__/SelectField.test.tsx.snap similarity index 100% rename from packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/SelectField.test.tsx.snap rename to packages/uniforms-patternfly-codegen/tests/__snapshots__/SelectField.test.tsx.snap diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/TextField.test.tsx.snap b/packages/uniforms-patternfly-codegen/tests/__snapshots__/TextField.test.tsx.snap similarity index 100% rename from packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/TextField.test.tsx.snap rename to packages/uniforms-patternfly-codegen/tests/__snapshots__/TextField.test.tsx.snap diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/UnsupportedField.test.tsx.snap b/packages/uniforms-patternfly-codegen/tests/__snapshots__/UnsupportedField.test.tsx.snap similarity index 100% rename from packages/uniforms-patternfly-codegen/src/__tests__/__snapshots__/UnsupportedField.test.tsx.snap rename to packages/uniforms-patternfly-codegen/tests/__snapshots__/UnsupportedField.test.tsx.snap diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/_createContext.ts b/packages/uniforms-patternfly-codegen/tests/_createContext.ts similarity index 100% rename from packages/uniforms-patternfly-codegen/src/__tests__/_createContext.ts rename to packages/uniforms-patternfly-codegen/tests/_createContext.ts diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/_createSchema.ts b/packages/uniforms-patternfly-codegen/tests/_createSchema.ts similarity index 100% rename from packages/uniforms-patternfly-codegen/src/__tests__/_createSchema.ts rename to packages/uniforms-patternfly-codegen/tests/_createSchema.ts diff --git a/packages/uniforms-patternfly-codegen/src/__tests__/_render.tsx b/packages/uniforms-patternfly-codegen/tests/_render.tsx similarity index 94% rename from packages/uniforms-patternfly-codegen/src/__tests__/_render.tsx rename to packages/uniforms-patternfly-codegen/tests/_render.tsx index a785fd2674c..24e9ee01499 100644 --- a/packages/uniforms-patternfly-codegen/src/__tests__/_render.tsx +++ b/packages/uniforms-patternfly-codegen/tests/_render.tsx @@ -21,8 +21,8 @@ import * as React from "react"; import { render } from "@testing-library/react"; import { context, Context } from "uniforms/cjs"; import createContext from "./_createContext"; -import { codeGenContext, CodeGenContext } from "../uniforms/CodeGenContext"; -import { FormElement } from "../api"; +import { codeGenContext, CodeGenContext } from "../src/uniforms/CodeGenContext"; +import { FormElement } from "../src/api"; const TestCodeGenContextProvider: React.FC = (props: any) => { const ctx: Context = createContext(props.schema); diff --git a/packages/dashbuilder-component-svg-heatmap/tests/jest.setup.ts b/packages/uniforms-patternfly-codegen/tests/jest.setup.ts similarity index 100% rename from packages/dashbuilder-component-svg-heatmap/tests/jest.setup.ts rename to packages/uniforms-patternfly-codegen/tests/jest.setup.ts diff --git a/packages/uniforms-patternfly-codegen/tests/rawJestTransformer.js b/packages/uniforms-patternfly-codegen/tests/rawJestTransformer.js new file mode 100644 index 00000000000..d88592631bd --- /dev/null +++ b/packages/uniforms-patternfly-codegen/tests/rawJestTransformer.js @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +// `jest-raw-loader` version 1.0.1 compatibility with Jest version 28. +// See: https://github.com/keplersj/jest-raw-loader/pull/239 +module.exports = { + process: (sourceText, sourcePath, options) => { + return { + code: `module.exports = ${JSON.stringify(sourceText)}`, + }; + }, +}; diff --git a/packages/uniforms-patternfly-codegen/tsconfig.json b/packages/uniforms-patternfly-codegen/tsconfig.json index 3a9a22a9781..77bc5d13225 100644 --- a/packages/uniforms-patternfly-codegen/tsconfig.json +++ b/packages/uniforms-patternfly-codegen/tsconfig.json @@ -2,7 +2,8 @@ "extends": "@kie-tools/tsconfig/tsconfig.json", "compilerOptions": { "outDir": "dist", - "esModuleInterop": true + "esModuleInterop": true, + "types": ["@testing-library/jest-dom"] }, "include": ["src"] } diff --git a/packages/uniforms-patternfly/__mocks__/styleMock.js b/packages/uniforms-patternfly/__mocks__/styleMock.js deleted file mode 100644 index 4bd939113b0..00000000000 --- a/packages/uniforms-patternfly/__mocks__/styleMock.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = {}; diff --git a/packages/uniforms-patternfly/jest.config.js b/packages/uniforms-patternfly/jest.config.js index 942aad6a476..d29469878e2 100644 --- a/packages/uniforms-patternfly/jest.config.js +++ b/packages/uniforms-patternfly/jest.config.js @@ -17,21 +17,14 @@ * under the License. */ +const { config, jestSetupPath, styleMock } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.esm.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - setupFilesAfterEnv: ["./src/__tests__/jest.setup.ts"], - moduleDirectories: ["node_modules"], - testRegex: "src/__tests__/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, + ...config, + testEnvironment: "jsdom", moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/__mocks__/styleMock.js", + ...styleMock, }, + setupFilesAfterEnv: [jestSetupPath], }; diff --git a/packages/uniforms-patternfly/package.json b/packages/uniforms-patternfly/package.json index c5084b43d76..9f6cbaff8db 100644 --- a/packages/uniforms-patternfly/package.json +++ b/packages/uniforms-patternfly/package.json @@ -25,7 +25,7 @@ "build:dev": "rimraf dist && tsc --build tsconfig.cjs.json && tsc --build tsconfig.esm.json", "build:prod": "rimraf dist && pnpm lint && pnpm test && rimraf dist && tsc --build tsconfig.cjs.json && tsc --build tsconfig.esm.json", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --verbose --passWithNoTests\"" + "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" }, "dependencies": { "@types/invariant": "^2.2.35", @@ -39,25 +39,25 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", "@patternfly/react-core": "^4.276.6", "@patternfly/react-icons": "^4.93.6", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", - "@types/jest": "^26.0.23", + "@testing-library/jest-dom": "^6.4.6", + "@testing-library/react": "^12.1.5", + "@types/jest": "^29.5.12", "@types/lodash": "^4.14.168", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", "@types/simpl-schema": "^1.12.0", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", "copy-webpack-plugin": "^11.0.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", "rimraf": "^3.0.2", "simpl-schema": "^1.12.0", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "ts-node": "^10.9.1", "typescript": "^4.6.2", "uniforms-bridge-simple-schema-2": "^3.10.2", @@ -66,4 +66,4 @@ "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" } -} \ No newline at end of file +} diff --git a/packages/uniforms-patternfly/src/SelectInputsField.tsx b/packages/uniforms-patternfly/src/SelectInputsField.tsx index 0ebb33373d8..760d333131d 100644 --- a/packages/uniforms-patternfly/src/SelectInputsField.tsx +++ b/packages/uniforms-patternfly/src/SelectInputsField.tsx @@ -91,10 +91,10 @@ function SelectInputsField(props: SelectInputProps) { selection === null ? null : typeof selection === "number" - ? Array.isArray(selectedItems) - ? selectedItems.map((item) => JSON.parse(item)) - : JSON.parse(selectedItems) - : selectedItems; + ? Array.isArray(selectedItems) + ? selectedItems.map((item) => JSON.parse(item)) + : JSON.parse(selectedItems) + : selectedItems; props.onChange(onChanged); setSelected(selectedItems); } diff --git a/packages/uniforms-patternfly/src/__tests__/jest.setup.ts b/packages/uniforms-patternfly/src/__tests__/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/uniforms-patternfly/src/__tests__/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/uniforms-patternfly/src/__tests__/AutoField.test.tsx b/packages/uniforms-patternfly/tests/AutoField.test.tsx similarity index 99% rename from packages/uniforms-patternfly/src/__tests__/AutoField.test.tsx rename to packages/uniforms-patternfly/tests/AutoField.test.tsx index 2b287d558fd..ded33a4688c 100644 --- a/packages/uniforms-patternfly/src/__tests__/AutoField.test.tsx +++ b/packages/uniforms-patternfly/tests/AutoField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { AutoField } from ".."; +import { AutoField } from "../src"; import { usingUniformsContext } from "./test-utils"; import { render, screen } from "@testing-library/react"; diff --git a/packages/uniforms-patternfly/src/__tests__/AutoFields.test.tsx b/packages/uniforms-patternfly/tests/AutoFields.test.tsx similarity index 98% rename from packages/uniforms-patternfly/src/__tests__/AutoFields.test.tsx rename to packages/uniforms-patternfly/tests/AutoFields.test.tsx index cff2649da2e..1f47819d449 100644 --- a/packages/uniforms-patternfly/src/__tests__/AutoFields.test.tsx +++ b/packages/uniforms-patternfly/tests/AutoFields.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { AutoFields } from ".."; +import { AutoFields } from "../src"; import { usingUniformsContext } from "./test-utils"; import { render, screen } from "@testing-library/react"; diff --git a/packages/uniforms-patternfly/src/__tests__/AutoForm.test.tsx b/packages/uniforms-patternfly/tests/AutoForm.test.tsx similarity index 97% rename from packages/uniforms-patternfly/src/__tests__/AutoForm.test.tsx rename to packages/uniforms-patternfly/tests/AutoForm.test.tsx index 688dfba9d36..b3ed83a9816 100644 --- a/packages/uniforms-patternfly/src/__tests__/AutoForm.test.tsx +++ b/packages/uniforms-patternfly/tests/AutoForm.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { AutoForm } from "../"; +import { AutoForm } from "../src"; import { createSimpleSchema, usingUniformsContext } from "./test-utils"; import { render, screen } from "@testing-library/react"; diff --git a/packages/uniforms-patternfly/src/__tests__/BaseForm.test.tsx b/packages/uniforms-patternfly/tests/BaseForm.test.tsx similarity index 97% rename from packages/uniforms-patternfly/src/__tests__/BaseForm.test.tsx rename to packages/uniforms-patternfly/tests/BaseForm.test.tsx index 5c66b52e2bd..01a485be50b 100644 --- a/packages/uniforms-patternfly/src/__tests__/BaseForm.test.tsx +++ b/packages/uniforms-patternfly/tests/BaseForm.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { BaseForm } from "../"; +import { BaseForm } from "../src"; import { usingUniformsContext, createSimpleSchema } from "./test-utils"; import { render, screen } from "@testing-library/react"; diff --git a/packages/uniforms-patternfly/src/__tests__/BoolField.test.tsx b/packages/uniforms-patternfly/tests/BoolField.test.tsx similarity index 99% rename from packages/uniforms-patternfly/src/__tests__/BoolField.test.tsx rename to packages/uniforms-patternfly/tests/BoolField.test.tsx index e9f48ebd2ac..40f6aa249ef 100644 --- a/packages/uniforms-patternfly/src/__tests__/BoolField.test.tsx +++ b/packages/uniforms-patternfly/tests/BoolField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { BoolField } from ".."; +import { BoolField } from "../src"; import { render, screen, fireEvent } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/DateField.test.tsx b/packages/uniforms-patternfly/tests/DateField.test.tsx similarity index 99% rename from packages/uniforms-patternfly/src/__tests__/DateField.test.tsx rename to packages/uniforms-patternfly/tests/DateField.test.tsx index 26b48f751da..a3b455b5b04 100644 --- a/packages/uniforms-patternfly/src/__tests__/DateField.test.tsx +++ b/packages/uniforms-patternfly/tests/DateField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { DateField } from "../"; +import { DateField } from "../src"; import { render, screen, fireEvent } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/ErrorField.test.tsx b/packages/uniforms-patternfly/tests/ErrorField.test.tsx similarity index 98% rename from packages/uniforms-patternfly/src/__tests__/ErrorField.test.tsx rename to packages/uniforms-patternfly/tests/ErrorField.test.tsx index 714593ad094..916682c0f61 100644 --- a/packages/uniforms-patternfly/src/__tests__/ErrorField.test.tsx +++ b/packages/uniforms-patternfly/tests/ErrorField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { ErrorField } from ".."; +import { ErrorField } from "../src"; import { render, screen } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/ErrorsField.test.tsx b/packages/uniforms-patternfly/tests/ErrorsField.test.tsx similarity index 98% rename from packages/uniforms-patternfly/src/__tests__/ErrorsField.test.tsx rename to packages/uniforms-patternfly/tests/ErrorsField.test.tsx index 2ac45894197..07f75993c24 100644 --- a/packages/uniforms-patternfly/src/__tests__/ErrorsField.test.tsx +++ b/packages/uniforms-patternfly/tests/ErrorsField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { ErrorsField } from ".."; +import { ErrorsField } from "../src"; import { render, screen } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/HiddenField.test.tsx b/packages/uniforms-patternfly/tests/HiddenField.test.tsx similarity index 99% rename from packages/uniforms-patternfly/src/__tests__/HiddenField.test.tsx rename to packages/uniforms-patternfly/tests/HiddenField.test.tsx index 26eaf8f9da5..594f6118ce2 100644 --- a/packages/uniforms-patternfly/src/__tests__/HiddenField.test.tsx +++ b/packages/uniforms-patternfly/tests/HiddenField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { HiddenField } from ".."; +import { HiddenField } from "../src"; import { render, screen, fireEvent } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/ListAddField.test.tsx b/packages/uniforms-patternfly/tests/ListAddField.test.tsx similarity index 98% rename from packages/uniforms-patternfly/src/__tests__/ListAddField.test.tsx rename to packages/uniforms-patternfly/tests/ListAddField.test.tsx index 1468c8ca99b..6a7b2460614 100644 --- a/packages/uniforms-patternfly/src/__tests__/ListAddField.test.tsx +++ b/packages/uniforms-patternfly/tests/ListAddField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { ListAddField } from "../"; +import { ListAddField } from "../src"; import { render, screen, fireEvent } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/ListDelField.test.tsx b/packages/uniforms-patternfly/tests/ListDelField.test.tsx similarity index 98% rename from packages/uniforms-patternfly/src/__tests__/ListDelField.test.tsx rename to packages/uniforms-patternfly/tests/ListDelField.test.tsx index 709e61a94ae..5174a19ce26 100644 --- a/packages/uniforms-patternfly/src/__tests__/ListDelField.test.tsx +++ b/packages/uniforms-patternfly/tests/ListDelField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { ListDelField } from "../"; +import { ListDelField } from "../src"; import { render, screen, fireEvent } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/ListField.test.tsx b/packages/uniforms-patternfly/tests/ListField.test.tsx similarity index 98% rename from packages/uniforms-patternfly/src/__tests__/ListField.test.tsx rename to packages/uniforms-patternfly/tests/ListField.test.tsx index 05fe1e09820..f7ef83d77e6 100644 --- a/packages/uniforms-patternfly/src/__tests__/ListField.test.tsx +++ b/packages/uniforms-patternfly/tests/ListField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { ListField } from "../"; +import { ListField } from "../src"; import { render, screen } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/ListItemField.test.tsx b/packages/uniforms-patternfly/tests/ListItemField.test.tsx similarity index 98% rename from packages/uniforms-patternfly/src/__tests__/ListItemField.test.tsx rename to packages/uniforms-patternfly/tests/ListItemField.test.tsx index e82d848dc2a..5b74bd2c994 100644 --- a/packages/uniforms-patternfly/src/__tests__/ListItemField.test.tsx +++ b/packages/uniforms-patternfly/tests/ListItemField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { ListItemField } from "../"; +import { ListItemField } from "../src"; import { render, screen } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/LongTextField.test.tsx b/packages/uniforms-patternfly/tests/LongTextField.test.tsx similarity index 99% rename from packages/uniforms-patternfly/src/__tests__/LongTextField.test.tsx rename to packages/uniforms-patternfly/tests/LongTextField.test.tsx index aac2a6928ee..5186dbb3e95 100644 --- a/packages/uniforms-patternfly/src/__tests__/LongTextField.test.tsx +++ b/packages/uniforms-patternfly/tests/LongTextField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { LongTextField } from "../"; +import { LongTextField } from "../src"; import { render, screen, fireEvent } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/NestField.test.tsx b/packages/uniforms-patternfly/tests/NestField.test.tsx similarity index 98% rename from packages/uniforms-patternfly/src/__tests__/NestField.test.tsx rename to packages/uniforms-patternfly/tests/NestField.test.tsx index 6080b89e906..4bd578f95e4 100644 --- a/packages/uniforms-patternfly/src/__tests__/NestField.test.tsx +++ b/packages/uniforms-patternfly/tests/NestField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { NestField } from ".."; +import { NestField } from "../src"; import { render, screen } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/NumField.test.tsx b/packages/uniforms-patternfly/tests/NumField.test.tsx similarity index 99% rename from packages/uniforms-patternfly/src/__tests__/NumField.test.tsx rename to packages/uniforms-patternfly/tests/NumField.test.tsx index d0f157a0be1..46dcf2a89d2 100644 --- a/packages/uniforms-patternfly/src/__tests__/NumField.test.tsx +++ b/packages/uniforms-patternfly/tests/NumField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { NumField } from ".."; +import { NumField } from "../src"; import { render, screen, fireEvent } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/QuickForm.test.tsx b/packages/uniforms-patternfly/tests/QuickForm.test.tsx similarity index 96% rename from packages/uniforms-patternfly/src/__tests__/QuickForm.test.tsx rename to packages/uniforms-patternfly/tests/QuickForm.test.tsx index dadea623023..dff9872b1f8 100644 --- a/packages/uniforms-patternfly/src/__tests__/QuickForm.test.tsx +++ b/packages/uniforms-patternfly/tests/QuickForm.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { QuickForm } from ".."; +import { QuickForm } from "../src"; import { usingUniformsContext, createSimpleSchema } from "./test-utils"; import { render, screen } from "@testing-library/react"; diff --git a/packages/uniforms-patternfly/src/__tests__/RadioField.test.tsx b/packages/uniforms-patternfly/tests/RadioField.test.tsx similarity index 99% rename from packages/uniforms-patternfly/src/__tests__/RadioField.test.tsx rename to packages/uniforms-patternfly/tests/RadioField.test.tsx index 772eb21e772..0e265911e60 100644 --- a/packages/uniforms-patternfly/src/__tests__/RadioField.test.tsx +++ b/packages/uniforms-patternfly/tests/RadioField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { RadioField } from ".."; +import { RadioField } from "../src"; import { render, screen, fireEvent } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/SelectField.test.tsx b/packages/uniforms-patternfly/tests/SelectField.test.tsx similarity index 99% rename from packages/uniforms-patternfly/src/__tests__/SelectField.test.tsx rename to packages/uniforms-patternfly/tests/SelectField.test.tsx index ba09a5e3949..ca757fff9c5 100644 --- a/packages/uniforms-patternfly/src/__tests__/SelectField.test.tsx +++ b/packages/uniforms-patternfly/tests/SelectField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { SelectField } from ".."; +import { SelectField } from "../src"; import { render, screen, fireEvent } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/SubmitField.test.tsx b/packages/uniforms-patternfly/tests/SubmitField.test.tsx similarity index 97% rename from packages/uniforms-patternfly/src/__tests__/SubmitField.test.tsx rename to packages/uniforms-patternfly/tests/SubmitField.test.tsx index 6a471c6bd03..309e7e1eaa9 100644 --- a/packages/uniforms-patternfly/src/__tests__/SubmitField.test.tsx +++ b/packages/uniforms-patternfly/tests/SubmitField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { SubmitField } from ".."; +import { SubmitField } from "../src"; import { render, screen } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/TextField.test.tsx b/packages/uniforms-patternfly/tests/TextField.test.tsx similarity index 99% rename from packages/uniforms-patternfly/src/__tests__/TextField.test.tsx rename to packages/uniforms-patternfly/tests/TextField.test.tsx index 91f7507492b..bdf57212687 100644 --- a/packages/uniforms-patternfly/src/__tests__/TextField.test.tsx +++ b/packages/uniforms-patternfly/tests/TextField.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { TextField } from "../"; +import { TextField } from "../src"; import { render, screen, fireEvent } from "@testing-library/react"; import { usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/ValidateQuickForm.test.tsx b/packages/uniforms-patternfly/tests/ValidateQuickForm.test.tsx similarity index 96% rename from packages/uniforms-patternfly/src/__tests__/ValidateQuickForm.test.tsx rename to packages/uniforms-patternfly/tests/ValidateQuickForm.test.tsx index 092af493288..734caa221c7 100644 --- a/packages/uniforms-patternfly/src/__tests__/ValidateQuickForm.test.tsx +++ b/packages/uniforms-patternfly/tests/ValidateQuickForm.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { ValidatedQuickForm } from ".."; +import { ValidatedQuickForm } from "../src"; import { render, screen } from "@testing-library/react"; import { createSimpleSchema, usingUniformsContext } from "./test-utils"; diff --git a/packages/uniforms-patternfly/src/__tests__/ValidatedForm.test.tsx b/packages/uniforms-patternfly/tests/ValidatedForm.test.tsx similarity index 96% rename from packages/uniforms-patternfly/src/__tests__/ValidatedForm.test.tsx rename to packages/uniforms-patternfly/tests/ValidatedForm.test.tsx index b0ce2cb0d50..774027f4b04 100644 --- a/packages/uniforms-patternfly/src/__tests__/ValidatedForm.test.tsx +++ b/packages/uniforms-patternfly/tests/ValidatedForm.test.tsx @@ -18,7 +18,7 @@ */ import * as React from "react"; -import { ValidatedForm } from ".."; +import { ValidatedForm } from "../src"; import { createSimpleSchema, usingUniformsContext } from "./test-utils"; import { render, screen } from "@testing-library/react"; diff --git a/packages/runtime-tools-shared-webapp-components/tests/__mocks__/styleMock.js b/packages/uniforms-patternfly/tests/__mocks__/styleMock.js similarity index 100% rename from packages/runtime-tools-shared-webapp-components/tests/__mocks__/styleMock.js rename to packages/uniforms-patternfly/tests/__mocks__/styleMock.js diff --git a/packages/uniforms-patternfly/src/__tests__/index.test.ts b/packages/uniforms-patternfly/tests/index.test.ts similarity index 98% rename from packages/uniforms-patternfly/src/__tests__/index.test.ts rename to packages/uniforms-patternfly/tests/index.test.ts index eef93cebea6..3900d995470 100644 --- a/packages/uniforms-patternfly/src/__tests__/index.test.ts +++ b/packages/uniforms-patternfly/tests/index.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import * as unstyled from ".."; +import * as unstyled from "../src"; it("exports everything", () => { expect(unstyled).toEqual({ diff --git a/packages/dashbuilder-component-table/tests/jest.setup.ts b/packages/uniforms-patternfly/tests/jest.setup.ts similarity index 100% rename from packages/dashbuilder-component-table/tests/jest.setup.ts rename to packages/uniforms-patternfly/tests/jest.setup.ts diff --git a/packages/uniforms-patternfly/src/__tests__/test-utils.tsx b/packages/uniforms-patternfly/tests/test-utils.tsx similarity index 100% rename from packages/uniforms-patternfly/src/__tests__/test-utils.tsx rename to packages/uniforms-patternfly/tests/test-utils.tsx diff --git a/packages/uniforms-patternfly/tsconfig.cjs.json b/packages/uniforms-patternfly/tsconfig.cjs.json index 5197e7369d3..259d025f45b 100644 --- a/packages/uniforms-patternfly/tsconfig.cjs.json +++ b/packages/uniforms-patternfly/tsconfig.cjs.json @@ -1,13 +1,7 @@ { - "extends": "@kie-tools/tsconfig/tsconfig.json", + "extends": "./tsconfig.json", "compilerOptions": { - "baseUrl": "src", "outDir": "dist/cjs", - "rootDir": "src", - "module": "commonjs", - "target": "es6", - "esModuleInterop": true, - "moduleResolution": "node" - }, - "include": ["src"] + "module": "commonjs" + } } diff --git a/packages/uniforms-patternfly/tsconfig.esm.json b/packages/uniforms-patternfly/tsconfig.esm.json index ebfe721109f..6099bc3348c 100644 --- a/packages/uniforms-patternfly/tsconfig.esm.json +++ b/packages/uniforms-patternfly/tsconfig.esm.json @@ -1,13 +1,7 @@ { - "extends": "@kie-tools/tsconfig/tsconfig.json", + "extends": "./tsconfig.json", "compilerOptions": { - "baseUrl": "src", "outDir": "dist/esm", - "rootDir": "src", - "module": "es6", - "target": "es6", - "esModuleInterop": true, - "moduleResolution": "node" - }, - "include": ["src"] + "module": "es6" + } } diff --git a/packages/uniforms-patternfly/tsconfig.json b/packages/uniforms-patternfly/tsconfig.json new file mode 100644 index 00000000000..d25ec77accd --- /dev/null +++ b/packages/uniforms-patternfly/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "@kie-tools/tsconfig/tsconfig.json", + "compilerOptions": { + "baseUrl": "src", + "rootDir": "src", + "target": "es6", + "esModuleInterop": true, + "moduleResolution": "node", + "jsx": "react", + "types": ["node", "@testing-library/jest-dom"] + }, + "include": ["src"] +} diff --git a/packages/unitables-dmn/jest.config.js b/packages/unitables-dmn/jest.config.js deleted file mode 100644 index 5e60a0a7890..00000000000 --- a/packages/unitables-dmn/jest.config.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - "@kie-tools-core/monaco-editor": "/tests/__mocks__/monacoMock.js", - }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], -}; diff --git a/packages/unitables-dmn/package.json b/packages/unitables-dmn/package.json index 0e1d882a9b9..217e906f96d 100644 --- a/packages/unitables-dmn/package.json +++ b/packages/unitables-dmn/package.json @@ -19,11 +19,10 @@ ], "scripts": { "build:dev": "rimraf dist && pnpm copy:css && tsc -p tsconfig.json", - "build:prod": "rimraf dist && pnpm lint && pnpm copy:css && tsc -p tsconfig.json && pnpm test", + "build:prod": "rimraf dist && pnpm lint && pnpm copy:css && tsc -p tsconfig.json", "build:watch": "rimraf dist && pnpm copy:css && tsc -p tsconfig.json --watch", "copy:css": "copyfiles -u 1 \"src/**/*.{sass,scss,css}\" dist/", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools-core/i18n": "workspace:*", @@ -52,18 +51,10 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/json-schema": "^7.0.11", "@types/react": "^17.0.6", - "@types/testing-library__jest-dom": "^5.9.1", "copyfiles": "^2.4.1", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/unitables-dmn/tests/jest.setup.ts b/packages/unitables-dmn/tests/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/unitables-dmn/tests/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/unitables/jest.config.js b/packages/unitables/jest.config.js deleted file mode 100644 index 5e60a0a7890..00000000000 --- a/packages/unitables/jest.config.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }], "@babel/react"] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - "@kie-tools-core/monaco-editor": "/tests/__mocks__/monacoMock.js", - }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], -}; diff --git a/packages/unitables/package.json b/packages/unitables/package.json index 6142232c787..c7341fd8ba7 100644 --- a/packages/unitables/package.json +++ b/packages/unitables/package.json @@ -19,11 +19,10 @@ ], "scripts": { "build:dev": "rimraf dist && pnpm copy:css && tsc -p tsconfig.json", - "build:prod": "rimraf dist && pnpm lint && pnpm copy:css && tsc -p tsconfig.json && pnpm test", + "build:prod": "rimraf dist && pnpm lint && pnpm copy:css && tsc -p tsconfig.json", "build:watch": "rimraf dist && pnpm copy:css && tsc -p tsconfig.json --watch", "copy:css": "copyfiles -u 1 \"src/**/*.{sass,scss,css}\" dist/", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools-core/i18n": "workspace:*", @@ -57,18 +56,10 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", - "@types/testing-library__jest-dom": "^5.9.1", "copyfiles": "^2.4.1", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/unitables/src/UnitablesRow.tsx b/packages/unitables/src/UnitablesRow.tsx index f28667d2aa4..1adca0f4434 100644 --- a/packages/unitables/src/UnitablesRow.tsx +++ b/packages/unitables/src/UnitablesRow.tsx @@ -56,15 +56,11 @@ export const UnitablesRow = React.forwardRef { - return { - submit: () => autoRowRef.current?.submit(), - }; - }, - [] - ); + useImperativeHandle(forwardRef, () => { + return { + submit: () => autoRowRef.current?.submit(), + }; + }, []); // Submits the table in the first render triggering the onValidate function useEffect(() => { diff --git a/packages/unitables/src/bee/UnitablesBeeTable.tsx b/packages/unitables/src/bee/UnitablesBeeTable.tsx index 2e79d0b43ce..8d12c851c25 100644 --- a/packages/unitables/src/bee/UnitablesBeeTable.tsx +++ b/packages/unitables/src/bee/UnitablesBeeTable.tsx @@ -145,30 +145,33 @@ export function UnitablesBeeTable({ ); const cellComponentByColumnAccessor: BeeTableProps["cellComponentByColumnAccessor"] = React.useMemo(() => { - return columns.reduce((acc, column) => { - if (column.insideProperties) { - for (const insideProperty of column.insideProperties) { - acc[getColumnAccessor(insideProperty)] = (props) => ( + return columns.reduce( + (acc, column) => { + if (column.insideProperties) { + for (const insideProperty of column.insideProperties) { + acc[getColumnAccessor(insideProperty)] = (props) => ( + + ); + } + } else { + acc[getColumnAccessor(column)] = (props) => ( ); } - } else { - acc[getColumnAccessor(column)] = (props) => ( - - ); - } - return acc; - }, {} as NonNullable["cellComponentByColumnAccessor"]>); + return acc; + }, + {} as NonNullable["cellComponentByColumnAccessor"]> + ); }, [columns, rows.length, columnsCount]); const setColumnWidth = useCallback( diff --git a/packages/unitables/tests/jest.setup.ts b/packages/unitables/tests/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/unitables/tests/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/vscode-extension-common-test-helpers/package.json b/packages/vscode-extension-common-test-helpers/package.json index ab31af6fd79..8c5b81d1fed 100644 --- a/packages/vscode-extension-common-test-helpers/package.json +++ b/packages/vscode-extension-common-test-helpers/package.json @@ -30,7 +30,7 @@ "@types/chai": "^4.3.6", "@types/fs-extra": "^11.0.1", "@types/mocha": "^8.2.2", - "@types/node": "^18.13.0", + "@types/node": "^20.14.2", "@types/selenium-webdriver": "^4.1.20", "mocha": "^9.2.0", "rimraf": "^3.0.2", @@ -41,4 +41,4 @@ "mocha": "^9.2.0", "vscode-extension-tester": "5.10.0" } -} \ No newline at end of file +} diff --git a/packages/vscode-extension-dashbuilder-editor/e2e-tests/dashbuilder-editor-extension-smoke.test.ts b/packages/vscode-extension-dashbuilder-editor/e2e-tests/dashbuilder-editor-extension-smoke.test.ts index c3fb86e65dc..f83463bfecf 100644 --- a/packages/vscode-extension-dashbuilder-editor/e2e-tests/dashbuilder-editor-extension-smoke.test.ts +++ b/packages/vscode-extension-dashbuilder-editor/e2e-tests/dashbuilder-editor-extension-smoke.test.ts @@ -26,7 +26,7 @@ import DashbuilderEditorTestHelper from "./helpers/dashbuilder/DashbuilderEditor // TODO Fix tests and re-enable them describe.skip("Dashbuilder editor - smoke end-to-end tests", () => { const TEST_PROJECT_FOLDER: string = path.resolve("e2e-tests-tmp", "resources", "smoke-test"); - const DIST_E2E_TESTS_FOLDER: string = path.resolve("dist-e2e-tests"); + const DIST_E2E_TESTS_FOLDER: string = path.resolve("dist-tests-e2e"); let testHelper: VSCodeTestHelper; let browser: VSBrowser; diff --git a/packages/vscode-extension-dashbuilder-editor/mocha-reporter-config.json b/packages/vscode-extension-dashbuilder-editor/mocha-reporter-config.json index 310001e8aae..7b45322e12e 100644 --- a/packages/vscode-extension-dashbuilder-editor/mocha-reporter-config.json +++ b/packages/vscode-extension-dashbuilder-editor/mocha-reporter-config.json @@ -2,12 +2,12 @@ "reporterEnabled": "mocha-jenkins-reporter, mocha-junit-reporter", "mochaJenkinsReporterReporterOptions": { "junit_report_name": "@kie-tools/vscode-extension-dashbuilder-editor", - "junit_report_path": "./dist-e2e-tests/junit-vscode-sl-tooling-e2e-tests.xml", + "junit_report_path": "./dist-tests-e2e/junit-vscode-sl-tooling-e2e-tests.xml", "junit_report_stack": 0 }, "mochaJunitReporterReporterOptions": { "testsuitesTitle": "Dashbuilder Editor :: VS Code Extension", - "mochaFile": "./dist-e2e-tests/junit-report-[hash].xml", + "mochaFile": "./dist-tests-e2e/junit-report-[hash].xml", "testCaseSwitchClassnameAndName": true, "suiteTitleSeparatedBy": ".", "useFullSuiteTitle": true diff --git a/packages/vscode-extension-dashbuilder-editor/package.json b/packages/vscode-extension-dashbuilder-editor/package.json index 26f2442ae4d..32a54c609a0 100644 --- a/packages/vscode-extension-dashbuilder-editor/package.json +++ b/packages/vscode-extension-dashbuilder-editor/package.json @@ -17,14 +17,14 @@ "main": "dist/extension/extension.js", "scripts": { "build:dev": "rimraf dist && webpack --env dev", - "build:prod": "rimraf dist && webpack && pnpm pack:prod && pnpm test:e2e", + "build:prod": "rimraf dist && webpack && pnpm pack:prod && pnpm test-e2e", "compile": "webpack", "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", "pack:prod": "vsce package --githubBranch main --no-dependencies -o ./dist/vscode_extension_dashbuilder_editor_$npm_package_version.vsix", "run:webmode": "pnpm vscode-test-web --browserType=chromium --extensionDevelopmentPath=. --version=stable", - "test:e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm test:e2e:clean\" \"cpr e2e-tests/resources e2e-tests-tmp/resources\" \"tsc --project tsconfig.e2e-tests.json --skipLibCheck --sourceMap true\" \"extest setup-and-run --yarn -c max -u -e ./test-resources -o ./e2e-tests/settings.json out/*.test.js\"", - "test:e2e:clean": "rimraf ./dist-e2e-tests && rimraf ./test-resources && rimraf ./out && rimraf ./e2e-tests-tmp && rimraf *.vsix", - "test:e2e:insider": "rimraf ./test-resources && rimraf ./out && tsc --project tsconfig.e2e-tests.json --skipLibCheck --sourceMap true && extest setup-and-run --yarn -t insider -u -e ./test-resources -o ./e2e-tests/settings.json out/*.test.js", + "test-e2e": "run-script-if --ignore-errors \"$(build-env endToEndTests.ignoreFailures)\" --bool \"$(build-env endToEndTests.run)\" --then \"pnpm test-e2e:clean\" \"cpr e2e-tests/resources e2e-tests-tmp/resources\" \"tsc --project tsconfig.e2e-tests.json --skipLibCheck --sourceMap true\" \"extest setup-and-run --yarn -c max -u -e ./test-resources -o ./e2e-tests/settings.json out/*.test.js\"", + "test-e2e:clean": "rimraf ./dist-tests-e2e && rimraf ./test-resources && rimraf ./out && rimraf ./e2e-tests-tmp && rimraf *.vsix", + "test-e2e:insider": "rimraf ./test-resources && rimraf ./out && tsc --project tsconfig.e2e-tests.json --skipLibCheck --sourceMap true && extest setup-and-run --yarn -t insider -u -e ./test-resources -o ./e2e-tests/settings.json out/*.test.js", "watch": "export WEBPACK__sourceMaps=true; WEBPACK__minimize=false; webpack --env dev" }, "dependencies": { @@ -222,4 +222,4 @@ "vsce": { "dependencies": false } -} \ No newline at end of file +} diff --git a/packages/vscode-extension-kie-ba-bundle/package.json b/packages/vscode-extension-kie-ba-bundle/package.json index b350b2ca360..e494811b5c5 100644 --- a/packages/vscode-extension-kie-ba-bundle/package.json +++ b/packages/vscode-extension-kie-ba-bundle/package.json @@ -45,7 +45,8 @@ "activationEvents": [], "extensionDependencies": [ "kie-group.bpmn-vscode-extension", - "kie-group.dmn-vscode-extension" + "kie-group.dmn-vscode-extension", + "kie-group.extended-services-vscode-extension" ], "icon": "icon.png", "capabilities": { @@ -53,4 +54,4 @@ "supported": false } } -} \ No newline at end of file +} diff --git a/packages/vscode-extension-kogito-bundle/package.json b/packages/vscode-extension-kogito-bundle/package.json index ed5667dddb5..64f7dc05f85 100644 --- a/packages/vscode-extension-kogito-bundle/package.json +++ b/packages/vscode-extension-kogito-bundle/package.json @@ -47,6 +47,7 @@ "kie-group.bpmn-vscode-extension", "kie-group.dmn-vscode-extension", "kie-group.swf-vscode-extension", + "kie-group.extended-services-vscode-extension", "redhat.vscode-extension-dashbuilder-editor" ], "icon": "icon.png", @@ -55,4 +56,4 @@ "supported": false } } -} \ No newline at end of file +} diff --git a/packages/vscode-extension/jest.config.js b/packages/vscode-extension/jest.config.js index 2f0446eb3ae..8612a3bbe86 100644 --- a/packages/vscode-extension/jest.config.js +++ b/packages/vscode-extension/jest.config.js @@ -17,22 +17,14 @@ * under the License. */ +const { config, jestSetupPath, styleMock } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, + ...config, + testEnvironment: "node", moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", + ...styleMock, }, - setupFiles: ["./setupTests.ts"], + setupFilesAfterEnv: [jestSetupPath], }; diff --git a/packages/vscode-extension/package.json b/packages/vscode-extension/package.json index 495b59c8069..4a5fe13a064 100644 --- a/packages/vscode-extension/package.json +++ b/packages/vscode-extension/package.json @@ -43,17 +43,18 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/minimatch": "^3.0.5", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" }, "displayName": "KIE :: Kogito Editors" -} \ No newline at end of file +} diff --git a/packages/vscode-extension/src/VsCodeRecommendation.ts b/packages/vscode-extension/src/VsCodeRecommendation.ts new file mode 100644 index 00000000000..010eb8ca2a2 --- /dev/null +++ b/packages/vscode-extension/src/VsCodeRecommendation.ts @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as vscode from "vscode"; + +export class VsCodeRecommendation { + public static showExtendedServicesRecommendation(context: vscode.ExtensionContext) { + const message = + "There is another extension available that might help you.\n" + + "Click [here](command:vscode-extension.installExtendedServices) to install it."; + const action = "Install Extended-Services VS Code Extension"; + + const disposable = vscode.commands.registerCommand("vscode-extension.installExtendedServices", () => { + vscode.env.openExternal(vscode.Uri.parse("vscode:extension/kie-group.extended-services-vscode-extension")); + }); + + vscode.window.showInformationMessage(message, action).then((selection) => { + if (selection === action) { + vscode.commands.executeCommand("vscode-extension.installExtendedServices"); + } + }); + + context.subscriptions.push(disposable); + } +} diff --git a/packages/vscode-extension/src/index.ts b/packages/vscode-extension/src/index.ts index 4f1d414ab20..fa5d8941fdf 100644 --- a/packages/vscode-extension/src/index.ts +++ b/packages/vscode-extension/src/index.ts @@ -33,6 +33,7 @@ import { vsCodeI18nDefaults, vsCodeI18nDictionaries } from "./i18n"; import { VsCodeNotificationsChannelApiImpl } from "./notifications/VsCodeNotificationsChannelApiImpl"; import { executeOnSaveHook } from "./onSaveHook"; import { VsCodeWorkspaceChannelApiImpl } from "./workspace/VsCodeWorkspaceChannelApiImpl"; +import { VsCodeRecommendation } from "./VsCodeRecommendation"; /** * Starts a Kogito extension. @@ -151,3 +152,4 @@ export async function startExtension(args: { } export * from "./VsCodeKieEditorStore"; +export * from "./VsCodeRecommendation"; diff --git a/packages/vscode-extension/__mocks__/vscode.ts b/packages/vscode-extension/tests/__mocks__/vscode.ts similarity index 100% rename from packages/vscode-extension/__mocks__/vscode.ts rename to packages/vscode-extension/tests/__mocks__/vscode.ts diff --git a/packages/dashbuilder-component-timeseries/tests/jest.setup.ts b/packages/vscode-extension/tests/jest.setup.ts similarity index 91% rename from packages/dashbuilder-component-timeseries/tests/jest.setup.ts rename to packages/vscode-extension/tests/jest.setup.ts index 1c413b1660e..f2c397a4e31 100644 --- a/packages/dashbuilder-component-timeseries/tests/jest.setup.ts +++ b/packages/vscode-extension/tests/jest.setup.ts @@ -17,4 +17,6 @@ * under the License. */ -import "@testing-library/jest-dom"; +import { TextEncoder } from "util"; + +global.TextEncoder = TextEncoder; diff --git a/packages/vscode-java-code-completion-extension-plugin/package.json b/packages/vscode-java-code-completion-extension-plugin/package.json index 8b577ac2080..1a16d3f4065 100644 --- a/packages/vscode-java-code-completion-extension-plugin/package.json +++ b/packages/vscode-java-code-completion-extension-plugin/package.json @@ -22,8 +22,8 @@ "scripts": { "build:dev": "mvn clean install -DskipTests", "build:prod": "pnpm lint && run-script-os", - "build:prod:darwin:linux": "mvn clean install -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)", - "build:prod:win32": "pnpm powershell \"mvn clean install `-DskipTests=$(build-env tests.run --not) `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures)\"", + "build:prod:darwin:linux": "mvn clean install -DskipTests=$(build-env tests.run --not) -Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures) -Dreproducible", + "build:prod:win32": "pnpm powershell \"mvn clean install `-DskipTests=$(build-env tests.run --not) `-Dmaven.test.failure.ignore=$(build-env tests.ignoreFailures) `-Dreproducible\"", "install": "node install.js && pnpm install:mvnw", "install:mvnw": "mvn -e org.apache.maven.plugins:maven-wrapper-plugin:3.3.0:wrapper -f ./", "lint": "echo 'Linting'", @@ -43,4 +43,4 @@ "mvn" ] } -} \ No newline at end of file +} diff --git a/packages/vscode-java-code-completion-extension-plugin/pom.xml b/packages/vscode-java-code-completion-extension-plugin/pom.xml index c4b0d5f2a72..556e46a65cf 100644 --- a/packages/vscode-java-code-completion-extension-plugin/pom.xml +++ b/packages/vscode-java-code-completion-extension-plugin/pom.xml @@ -41,11 +41,12 @@ + 2024-01-12T00:00:00Z 3.0.5 ${tycho.version} scm:git:https://github.com/apache/incubator-kie-tools.git true - 1.34.0.20240403125844 + 1.30.1.20231207151730 -Xmx512m ${tycho.test.platformArgs} @@ -56,12 +57,12 @@ ${project.build.directory}/jacoco.exec ${jacoco.destFile} - + jdt.ls.p2 p2 - https://download.eclipse.org/jdtls/milestones/1.34.0/repository/ + https://download.eclipse.org/jdtls/milestones/1.30.1/repository/ jdt.ls.maven diff --git a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/DelegateHandler.java b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/DelegateHandler.java index 3ef64a95d43..12aa8005050 100644 --- a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/DelegateHandler.java +++ b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/DelegateHandler.java @@ -32,17 +32,19 @@ import org.kogito.core.internal.handlers.Handler; import org.kogito.core.internal.handlers.HandlerConstants; import org.kogito.core.internal.handlers.IsLanguageServerAvailableHandler; +import org.kogito.core.internal.handlers.TypeHierarchyHandler; public class DelegateHandler implements IDelegateCommandHandler { private static final JavaEngine JAVA_ENGINE = new JavaEngine(); private static final ActivationChecker ACTIVATION_CHECKER = new ActivationChecker(); private static final AutocompleteHandler AUTOCOMPLETE_HANDLER = new AutocompleteHandler(ACTIVATION_CHECKER); + private static final TypeHierarchyHandler TYPE_HIERARCHY_HANDLER = new TypeHierarchyHandler(ACTIVATION_CHECKER); private final IsLanguageServerAvailableHandler isAvailableHandler; private static final List> handlers = List.of( new GetClassesHandler(HandlerConstants.GET_CLASSES, JAVA_ENGINE, AUTOCOMPLETE_HANDLER), - new GetAccessorsHandler(HandlerConstants.GET_ACCESSORS, JAVA_ENGINE, AUTOCOMPLETE_HANDLER)); + new GetAccessorsHandler(HandlerConstants.GET_ACCESSORS, JAVA_ENGINE, AUTOCOMPLETE_HANDLER, TYPE_HIERARCHY_HANDLER)); public DelegateHandler() { ACTIVATION_CHECKER.check(); diff --git a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/api/GetPublicResult.java b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/api/GetPublicResult.java index d8b47997fbb..98c14c111a8 100644 --- a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/api/GetPublicResult.java +++ b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/api/GetPublicResult.java @@ -19,11 +19,22 @@ package org.kogito.core.internal.api; +/** + * Must be synchronized with JavaCodeCompletionAccessor.ts + */ public class GetPublicResult { + /** + * The Java Class that cointans the below accessor in FQCN format (eg. `org.Author`) + */ private String fqcn; + /** + * Accessor's name (eg. `getName()` if a method, `name` if a field + */ private String accessor; - + /** + * Accessor's type in FQCN format (eg. `java.lang.String`) + */ private String type; public String getFqcn() { diff --git a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/engine/JavaEngine.java b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/engine/JavaEngine.java index 650ff0c379f..a3e78fe4931 100644 --- a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/engine/JavaEngine.java +++ b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/engine/JavaEngine.java @@ -22,10 +22,8 @@ import java.io.IOException; import java.io.StringWriter; import java.io.Writer; -import java.net.URI; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import freemarker.template.Configuration; import freemarker.template.Template; @@ -77,9 +75,30 @@ public BuildInformation buildPublicContent(Path filePath, String fqcn, String co return new BuildInformation(filePath, getContent(filePath), content, 5, getEndOfLinePosition(content, 5)); } + public BuildInformation buildVarTypePublicContent(Path filePath, String fqcn, String completeText) { + + TemplateParameters item = new TemplateParameters(); + item.setClassName(getClassName(filePath)); + item.setQuery(completeText); + item.setFqcn(fqcn); + + String content = this.evaluate(Templates.TEMPLATE_ACCESSORS, item); + int varLine = 5; + int varMiddleChar = 2; + + return new BuildInformation(filePath, getContent(filePath), content, varLine, getFirstCharInLinePosition(content, varLine) + varMiddleChar); + } + + protected int getFirstCharInLinePosition(String content, int lineNumber) { + String[] split = content.split("\n"); + String line = split[lineNumber]; + int index = line.indexOf(line.trim()); + + return index + 1; + } + protected int getEndOfLinePosition(String content, int lineNumber) { String[] split = content.split("\n"); - JavaLanguageServerPlugin.logInfo(split[lineNumber]); return split[lineNumber].length(); } diff --git a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/handlers/AutocompleteHandler.java b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/handlers/AutocompleteHandler.java index 24d052a88ef..9b905ffba7d 100644 --- a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/handlers/AutocompleteHandler.java +++ b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/handlers/AutocompleteHandler.java @@ -33,6 +33,7 @@ import org.eclipse.lsp4j.CompletionParams; import org.eclipse.lsp4j.CompletionTriggerKind; import org.eclipse.lsp4j.DidChangeTextDocumentParams; +import org.eclipse.lsp4j.DidCloseTextDocumentParams; import org.eclipse.lsp4j.DidOpenTextDocumentParams; import org.eclipse.lsp4j.Position; import org.eclipse.lsp4j.TextDocumentContentChangeEvent; @@ -117,6 +118,10 @@ public List handle(String identifier, BuildInformation buildInfo } catch (Exception e) { JavaLanguageServerPlugin.logException("Problem with " + identifier, e); return Collections.emptyList(); + } finally { + DidCloseTextDocumentParams didCloseTextDocumentParams = new DidCloseTextDocumentParams(); + didCloseTextDocumentParams.setTextDocument(textDocumentIdentifier); + languageServer.didClose(didCloseTextDocumentParams); } } diff --git a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/handlers/GetAccessorsHandler.java b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/handlers/GetAccessorsHandler.java index 21634e484da..6c573801c3b 100644 --- a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/handlers/GetAccessorsHandler.java +++ b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/handlers/GetAccessorsHandler.java @@ -6,26 +6,27 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations - * under the License. + * under the License. */ package org.kogito.core.internal.handlers; import java.util.List; -import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin; import org.eclipse.lsp4j.CompletionItem; +import org.eclipse.lsp4j.TypeHierarchyItem; import org.kogito.core.internal.api.GetPublicParameters; import org.kogito.core.internal.api.GetPublicResult; import org.kogito.core.internal.engine.BuildInformation; @@ -35,31 +36,32 @@ public class GetAccessorsHandler extends Handler> { private final JavaEngine javaEngine; private final AutocompleteHandler autocompleteHandler; + private final TypeHierarchyHandler typeHierarchyHandler; - public GetAccessorsHandler(String id, JavaEngine javaEngine, AutocompleteHandler autocompleteHandler) { + public GetAccessorsHandler(String id, JavaEngine javaEngine, AutocompleteHandler autocompleteHandler, TypeHierarchyHandler typeHierarchyHandler) { super(id); this.javaEngine = javaEngine; this.autocompleteHandler = autocompleteHandler; + this.typeHierarchyHandler = typeHierarchyHandler; } @Override public List handle(List arguments, IProgressMonitor progress) { JavaLanguageServerPlugin.logInfo("Handle Accessors"); GetPublicParameters parameters = checkParameters(arguments); - BuildInformation buildInformation = javaEngine.buildPublicContent(this.autocompleteHandler.getActivatorPath(), - parameters.getFqcn(), - parameters.getQuery()); - JavaLanguageServerPlugin.logInfo(buildInformation.getText()); - List items = this.autocompleteHandler.handle("GetAccessorsHandler", buildInformation); + BuildInformation autoCompleteBuildInformation = + javaEngine.buildPublicContent(this.autocompleteHandler.getActivatorPath(), + parameters.getFqcn(), + parameters.getQuery()); + JavaLanguageServerPlugin.logInfo(autoCompleteBuildInformation.getText()); + List items = this.autocompleteHandler.handle("GetAccessorsHandler", autoCompleteBuildInformation); + return this.transformCompletionItemsToResult(parameters.getFqcn(), items); } private GetPublicParameters checkParameters(List arguments) { if (arguments.size() < 2) { throw new IllegalArgumentException("Not enough arguments for GetClasses command. Need one argument containing a text to be autocompleted"); - } else { - JavaLanguageServerPlugin.logInfo("Arguments[0]: " + arguments.get(0)); - JavaLanguageServerPlugin.logInfo("Arguments[1]: " + arguments.get(1)); } GetPublicParameters parameters = new GetPublicParameters(); @@ -75,35 +77,40 @@ private List transformCompletionItemsToResult(String fqcn, List .collect(Collectors.toList()); } - protected GetPublicResult getAccessor(CompletionItem item, String fqcn) { - GetPublicResult result = new GetPublicResult(); - result.setFqcn(fqcn); - result.setAccessor(item.getLabelDetails().getDetail() != null ? + protected GetPublicResult getAccessor(CompletionItem item, String javaClassFqcn) { + String accessorName = item.getLabelDetails().getDetail() != null ? item.getLabel() + item.getLabelDetails().getDetail() : - item.getLabel()); - /* Retrieving the class type SIMPLE NAME */ - String type = item.getLabelDetails().getDescription(); - /* Retrieving the class type FQCN */ - /* The API we used to retrieve the FQNC are no more available. To enable the Project - * compilation, the following block is a temporary commented. The impact on the feature, is - * that the Fecthing feature will no work properly, until we found an alternative solution - * https://github.com/apache/incubator-kie-issues/issues/114 - */ - /* - Map data = (Map) item.getData(); - for (Map.Entry entry : data.entrySet()) { - JavaLanguageServerPlugin.logInfo("ENTRY: " + entry.getKey() + " " + entry.getValue()); - } - if (data != null && data.containsKey(DATA_FIELD_SIGNATURE)) { - String fqcnType = data.get(DATA_FIELD_SIGNATURE); - /* The DATA_FIELD_SIGNATURE format is: `method()Ljava.lang.String;` */ /* - if (fqcnType != null && fqcnType.contains(")L")) { - type = fqcnType.split("\\)L")[1]; - type = type.replaceAll(";$", ""); - } - } */ - result.setType(type); + item.getLabel(); + String accessorTypeSimpleName = item.getLabelDetails().getDescription(); + + GetPublicResult result = new GetPublicResult(); + result.setFqcn(javaClassFqcn); + result.setAccessor(accessorName); + result.setType(retrieveAccessorTypeFqcn(javaClassFqcn, accessorName).orElse(accessorTypeSimpleName)); return result; } + + private Optional retrieveAccessorTypeFqcn(String javaClassFqcn, String accessorName) { + BuildInformation hoverBuildInformation = + javaEngine.buildVarTypePublicContent(this.typeHierarchyHandler.getActivatorPath(), + javaClassFqcn, + accessorName + ";"); + + List typeHierarchyResults = this.typeHierarchyHandler.handle("GetAccessorsHandler", hoverBuildInformation); + + if (typeHierarchyResults.isEmpty() || typeHierarchyResults.size() > 1) { + return Optional.empty(); + } + + String fullPackage = typeHierarchyResults.get(0).getDetail(); + String classSimpleName = typeHierarchyResults.get(0).getName(); + + if (fullPackage == null || fullPackage.isBlank()) { + return Optional.empty(); + } + + return Optional.of(fullPackage + "." + classSimpleName); + } + } diff --git a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/handlers/TypeHierarchyHandler.java b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/handlers/TypeHierarchyHandler.java new file mode 100644 index 00000000000..13819749410 --- /dev/null +++ b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/java/org/kogito/core/internal/handlers/TypeHierarchyHandler.java @@ -0,0 +1,96 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.kogito.core.internal.handlers; + +import org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin; +import org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer; +import org.eclipse.lsp4j.DidCloseTextDocumentParams; +import org.eclipse.lsp4j.DidOpenTextDocumentParams; + +import org.eclipse.lsp4j.Position; +import org.eclipse.lsp4j.TextDocumentContentChangeEvent; +import org.eclipse.lsp4j.TextDocumentItem; +import org.eclipse.lsp4j.TextDocumentIdentifier; +import org.eclipse.lsp4j.TypeHierarchyItem; +import org.eclipse.lsp4j.TypeHierarchyPrepareParams; +import org.eclipse.lsp4j.VersionedTextDocumentIdentifier; + +import org.kogito.core.internal.engine.ActivationChecker; +import org.kogito.core.internal.engine.BuildInformation; + +import java.nio.file.Path; +import java.util.List; +import java.util.concurrent.CompletableFuture; + +public class TypeHierarchyHandler { + + private ActivationChecker activationChecker; + + public TypeHierarchyHandler(ActivationChecker activationChecker) { + this.activationChecker = activationChecker; + } + + public List handle(String identifier, BuildInformation buildInformation) { + + JDTLanguageServer languageServer = (JDTLanguageServer) JavaLanguageServerPlugin.getInstance().getProtocol(); + + String uri = buildInformation.getPath().toUri().toASCIIString(); + + JavaLanguageServerPlugin.logInfo("Opening URI:" + uri); + + DidOpenTextDocumentParams didOpenTextDocumentParams = new DidOpenTextDocumentParams(); + TextDocumentItem textDocumentItem = new TextDocumentItem(); + textDocumentItem.setLanguageId("java"); + textDocumentItem.setText(buildInformation.getText()); + textDocumentItem.setUri(uri); + textDocumentItem.setVersion(1); + didOpenTextDocumentParams.setTextDocument(textDocumentItem); + languageServer.didOpen(didOpenTextDocumentParams); + + Position pos = new Position(); + pos.setLine(buildInformation.getLine()); + pos.setCharacter(buildInformation.getPosition()); + + TextDocumentIdentifier textDocumentIdentifier = new TextDocumentIdentifier(); + textDocumentIdentifier.setUri(uri); + + TypeHierarchyPrepareParams typeHierarchyPrepareParams = new TypeHierarchyPrepareParams(); + typeHierarchyPrepareParams.setTextDocument(textDocumentIdentifier); + typeHierarchyPrepareParams.setPosition(pos); + + CompletableFuture> javaCompletion = languageServer.prepareTypeHierarchy(typeHierarchyPrepareParams); + try { + return javaCompletion.get(); + } catch (Exception e) { + JavaLanguageServerPlugin.logException("Problem with " + identifier, e); + return null; + } finally { + JavaLanguageServerPlugin.logInfo("Closing URI:" + uri); + + DidCloseTextDocumentParams didCloseTextDocumentParams = new DidCloseTextDocumentParams(); + didCloseTextDocumentParams.setTextDocument(textDocumentIdentifier); + languageServer.didClose(didCloseTextDocumentParams); + } + } + + public Path getActivatorPath() { + return this.activationChecker.getActivatorPath(); + } +} diff --git a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/resources/templates/templateAccessors.java b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/resources/templates/templateAccessors.java index 1e338c22dfe..f121cfde42f 100644 --- a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/resources/templates/templateAccessors.java +++ b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/resources/templates/templateAccessors.java @@ -1,9 +1,9 @@ -package com.redhat; +package org.apache.kie; -public class ${ className }{ +public class ${ className } { - public ${ className }(){ - new ${ fqcn }().${ query } + public ${ className }() { + var field = new ${ fqcn }().${ query } } } \ No newline at end of file diff --git a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/resources/templates/templateClass.java b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/resources/templates/templateClass.java index dee5fe4bb1b..d29e7333310 100644 --- a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/resources/templates/templateClass.java +++ b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/main/resources/templates/templateClass.java @@ -1,7 +1,7 @@ -package com.redhat; +package org.apache.kie; import ${ query } -public class ${ className }{ +public class ${ className } { } \ No newline at end of file diff --git a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/test/java/org/kogito/core/internal/handlers/GetAccessorsHandlerTest.java b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/test/java/org/kogito/core/internal/handlers/GetAccessorsHandlerTest.java index 9a1e36fcde1..aa9914e14bc 100644 --- a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/test/java/org/kogito/core/internal/handlers/GetAccessorsHandlerTest.java +++ b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/test/java/org/kogito/core/internal/handlers/GetAccessorsHandlerTest.java @@ -35,7 +35,7 @@ class GetAccessorsHandlerTest { @BeforeEach public void setUp() { - this.getAccessorHandler = new GetAccessorsHandler(null, null, null); + this.getAccessorHandler = new GetAccessorsHandler(null, null, null, null); } @Test diff --git a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/test/resources/testProject/pom.xml b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/test/resources/testProject/pom.xml index 7c1c432ed33..c4ef3b73d08 100644 --- a/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/test/resources/testProject/pom.xml +++ b/packages/vscode-java-code-completion-extension-plugin/vscode-java-code-completion-extension-plugin-core/src/test/resources/testProject/pom.xml @@ -21,5 +21,4 @@ org.kie.test.project test 1.0.0-SNAPSHOT - diff --git a/packages/vscode-java-code-completion/jest.config.js b/packages/vscode-java-code-completion/jest.config.js deleted file mode 100644 index 5927d9bb888..00000000000 --- a/packages/vscode-java-code-completion/jest.config.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, -}; diff --git a/packages/vscode-java-code-completion/package.json b/packages/vscode-java-code-completion/package.json index 1153b76a85b..0bfe513602c 100644 --- a/packages/vscode-java-code-completion/package.json +++ b/packages/vscode-java-code-completion/package.json @@ -18,9 +18,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "devDependencies": { "@babel/core": "^7.16.0", @@ -29,14 +28,8 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/vscode": "1.67.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/webpack-base/env/index.js b/packages/webpack-base/env/index.js index 1b0289ea9f7..b6197258853 100644 --- a/packages/webpack-base/env/index.js +++ b/packages/webpack-base/env/index.js @@ -23,19 +23,23 @@ module.exports = composeEnv([], { vars: varsWithName({ WEBPACK__minimize: { default: undefined, - description: "", + description: + "Whether or not `webpack` should minimize its bundled files. Can be `true` or `false`. Works for all packages on invocations of `webpack` during a `kie-tools` build.", }, WEBPACK__tsLoaderTranspileOnly: { default: undefined, - description: "", + description: + "Whether or not `webpack` should skip type-checking TypeScript files. Can be `true` or `false`. Works for all packages on invocations of `webpack` during a `kie-tools` build.", }, WEBPACK__sourceMaps: { default: undefined, - description: "", + description: + "Whether or not `webpack` should include source maps for its bundled files. Can be `true` or `false`. Works for all packages on invocations of `webpack` during a `kie-tools` build.", }, WEBPACK__mode: { default: undefined, - description: "", + description: + "Can be `development` or `production`. Works for all packages on invocations of `webpack` during a `kie-tools` build.", }, }), get env() { diff --git a/packages/webpack-base/package.json b/packages/webpack-base/package.json index 90435ce3736..d7333d089a6 100644 --- a/packages/webpack-base/package.json +++ b/packages/webpack-base/package.json @@ -27,4 +27,4 @@ "ts-loader": "^9.4.2", "webpack": "^5.88.2" } -} \ No newline at end of file +} diff --git a/packages/workspace/jest.config.js b/packages/workspace/jest.config.js deleted file mode 100644 index 5927d9bb888..00000000000 --- a/packages/workspace/jest.config.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, - moduleNameMapper: { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js", - }, -}; diff --git a/packages/workspace/package.json b/packages/workspace/package.json index b2f6bebb84c..c2427d51c4e 100644 --- a/packages/workspace/package.json +++ b/packages/workspace/package.json @@ -18,9 +18,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools-core/operating-system": "workspace:*" @@ -32,14 +31,8 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", "@types/vscode": "1.67.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/workspaces-git-fs/jest.config.js b/packages/workspaces-git-fs/jest.config.js index e07919061e3..91c7546e8ac 100644 --- a/packages/workspaces-git-fs/jest.config.js +++ b/packages/workspaces-git-fs/jest.config.js @@ -17,19 +17,11 @@ * under the License. */ +const { config, jestSetupPath } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, - setupFilesAfterEnv: ["./tests/jest.setup.ts"], + ...config, + testEnvironment: "jsdom", + setupFilesAfterEnv: [jestSetupPath], }; diff --git a/packages/workspaces-git-fs/package.json b/packages/workspaces-git-fs/package.json index 61560ea76c7..339a92bce66 100644 --- a/packages/workspaces-git-fs/package.json +++ b/packages/workspaces-git-fs/package.json @@ -41,23 +41,23 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^11.2.6", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@testing-library/jest-dom": "^6.4.6", + "@testing-library/react": "^12.1.5", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/minimatch": "^3.0.5", "@types/react": "^17.0.6", "@types/react-router": "^5.1.20", - "@types/testing-library__jest-dom": "^5.9.1", - "@types/testing-library__react": "^9.1.2", "@types/uuid": "^8.3.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/workspaces-git-fs/src/lfs/LfsStorageService.ts b/packages/workspaces-git-fs/src/lfs/LfsStorageService.ts index 39d8ccc33ba..838b6e2f349 100644 --- a/packages/workspaces-git-fs/src/lfs/LfsStorageService.ts +++ b/packages/workspaces-git-fs/src/lfs/LfsStorageService.ts @@ -175,14 +175,14 @@ export class LfsStorageService { return !(await args.fs.promises.stat(absolutePath)).isDirectory() ? args.onVisit({ absolutePath, relativePath }) : args.shouldExcludeDir(absolutePath) - ? [] - : this.walk({ - fs: args.fs, - startFromDirPath: absolutePath, - shouldExcludeDir: args.shouldExcludeDir, - onVisit: args.onVisit, - originalStartingDirPath: args.originalStartingDirPath ?? args.startFromDirPath, - }); + ? [] + : this.walk({ + fs: args.fs, + startFromDirPath: absolutePath, + shouldExcludeDir: args.shouldExcludeDir, + onVisit: args.onVisit, + originalStartingDirPath: args.originalStartingDirPath ?? args.startFromDirPath, + }); }) ); diff --git a/packages/workspaces-git-fs/src/lfs/LfsWorkspaceDescriptorService.ts b/packages/workspaces-git-fs/src/lfs/LfsWorkspaceDescriptorService.ts index 9aa55d4491f..a76e5462c8c 100644 --- a/packages/workspaces-git-fs/src/lfs/LfsWorkspaceDescriptorService.ts +++ b/packages/workspaces-git-fs/src/lfs/LfsWorkspaceDescriptorService.ts @@ -34,7 +34,10 @@ export type CreateDescriptorArgs = Partial new DexieBackend(fileDbName, fileStoreName), diff --git a/packages/workspaces-git-fs/tsconfig.json b/packages/workspaces-git-fs/tsconfig.json index 3a9a22a9781..226313084ef 100644 --- a/packages/workspaces-git-fs/tsconfig.json +++ b/packages/workspaces-git-fs/tsconfig.json @@ -2,7 +2,8 @@ "extends": "@kie-tools/tsconfig/tsconfig.json", "compilerOptions": { "outDir": "dist", - "esModuleInterop": true + "esModuleInterop": true, + "types": ["node", "@testing-library/jest-dom"] }, "include": ["src"] } diff --git a/packages/xml-parser-ts-codegen/package.json b/packages/xml-parser-ts-codegen/package.json index 3a06b30dace..9e947717e3d 100644 --- a/packages/xml-parser-ts-codegen/package.json +++ b/packages/xml-parser-ts-codegen/package.json @@ -21,9 +21,8 @@ ], "scripts": { "build:dev": "rimraf dist && tsc -p tsconfig.json", - "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json && pnpm test", - "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"", - "test": "run-script-if --ignore-errors \"$(build-env tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest --silent --verbose --passWithNoTests\"" + "build:prod": "pnpm lint && rimraf dist && tsc -p tsconfig.json", + "lint": "run-script-if --bool \"$(build-env linters.run)\" --then \"kie-tools--eslint ./src\"" }, "dependencies": { "@kie-tools/xml-parser-ts": "workspace:*", @@ -33,15 +32,11 @@ "@kie-tools/eslint": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", "@types/lodash": "^4.14.168", - "@types/node": "^18.13.0", + "@types/node": "^20.14.2", "glob": "^10.2.7", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", "rimraf": "^3.0.2", "run-script-os": "^1.1.6", - "ts-jest": "^26.5.6", "typescript": "^4.6.2" } -} \ No newline at end of file +} diff --git a/packages/xml-parser-ts-codegen/src/schemas/xsd/XSD.xsd b/packages/xml-parser-ts-codegen/src/schemas/xsd/XSD.xsd index f24864a4980..eba645855ed 100644 --- a/packages/xml-parser-ts-codegen/src/schemas/xsd/XSD.xsd +++ b/packages/xml-parser-ts-codegen/src/schemas/xsd/XSD.xsd @@ -1,8 +1,13 @@ - - - + + Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp @@ -21,8 +26,7 @@ this schema document - + Get access to the xml: attribute groups for xml:lang as declared on 'schema' and 'documentation' below @@ -171,10 +175,8 @@ - - + + @@ -215,7 +217,6 @@ - @@ -259,7 +260,6 @@ - @@ -526,7 +526,6 @@ - A utility type, not for public use @@ -632,7 +631,8 @@ - group type for explicit groups, named top-level groups and group references + group type for explicit groups, named top-level groups and group references @@ -747,7 +747,6 @@ - restricted max/min @@ -865,7 +864,8 @@ - simple type for the value of the 'namespace' attr of 'any' and 'anyAttribute' + simple type for the value of the 'namespace' attr of 'any' and 'anyAttribute' Value is ##any - - any non-conflicting WFXML/attribute at all ##other - - any @@ -1018,8 +1018,8 @@ child:: is also allowed - + value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*" + /> @@ -1048,8 +1048,8 @@ Step '/' )* ( Step | '@' NameTest ) - + value="(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*" + /> @@ -1176,10 +1176,8 @@ notations for use within XML Schema schemas - - + + @@ -1216,21 +1214,16 @@ - + - + - - + + - + @@ -1242,19 +1235,15 @@ - + - + - + - + @@ -1263,26 +1252,20 @@ - + - + - + - + - + - + @@ -1291,26 +1274,20 @@ - + - + - + - + - + - + @@ -1319,30 +1296,22 @@ - + - + - + - + - + - + - + @@ -1351,27 +1320,20 @@ - + - + - + - + - + - + @@ -1380,27 +1342,20 @@ - + - + - + - + - + - + @@ -1409,27 +1364,20 @@ - + - + - + - + - + - + @@ -1438,27 +1386,20 @@ - + - + - + - + - + - + @@ -1467,27 +1408,20 @@ - + - + - + - + - + - + @@ -1496,27 +1430,20 @@ - + - + - + - + - + - + @@ -1525,27 +1452,20 @@ - + - + - + - + - + - + @@ -1554,27 +1474,20 @@ - + - + - + - + - + - + @@ -1583,27 +1496,20 @@ - + - + - + - + - + - + @@ -1612,25 +1518,19 @@ - + - + - - + + - + - + @@ -1639,25 +1539,19 @@ - + - + - - + + - + - + @@ -1666,25 +1560,19 @@ - + - + - - + + - + - + @@ -1693,25 +1581,19 @@ - + - + - - + + - + - + @@ -1720,28 +1602,22 @@ - + - + - - + + - + NOTATION cannot be used directly in a schema; rather a type must be derived from it by specifying at least one enumeration facet whose value is the name of a NOTATION declared in the schema. - + @@ -1751,19 +1627,16 @@ - + - + - + @@ -1772,16 +1645,12 @@ - + - + - pattern specifies the content of section + pattern specifies the content of section 2.12 of XML 1.0e2 and RFC 3066 (Revised version of RFC 1766). @@ -1793,21 +1662,16 @@ - + - + - - + + - + @@ -1822,21 +1686,16 @@ - + - + - - + + - + @@ -1848,14 +1707,12 @@ - + - pattern matches production 7 from the + pattern matches production 7 from the XML spec @@ -1867,21 +1724,16 @@ - + - + - - + + - + @@ -1893,14 +1745,12 @@ - + - pattern matches production 5 from the XML + pattern matches production 5 from the XML spec @@ -1909,14 +1759,12 @@ - + - pattern matches production 4 + pattern matches production 4 from the Namespaces in XML spec @@ -1925,32 +1773,28 @@ - + - + - + - + @@ -1960,8 +1804,7 @@ - + @@ -1970,8 +1813,7 @@ - + @@ -1982,11 +1824,9 @@ - + - + @@ -1996,8 +1836,7 @@ - + @@ -2007,8 +1846,7 @@ - + @@ -2018,8 +1856,7 @@ - + @@ -2029,8 +1866,7 @@ - + @@ -2041,44 +1877,36 @@ - + - + - + - + - + - + - + - + @@ -2087,8 +1915,7 @@ - + @@ -2162,8 +1989,7 @@ - + Required at the top level @@ -2193,8 +2019,7 @@ - + @@ -2229,8 +2054,7 @@ - base attribute and + base attribute and simpleType child are mutually exclusive, but one or other is required @@ -2245,15 +2069,13 @@ - itemType attribute and simpleType + itemType attribute and simpleType child are mutually exclusive, but one or other is required - + @@ -2264,15 +2086,13 @@ - memberTypes attribute must be + memberTypes attribute must be non-empty or there must be at least one simpleType child - + @@ -2288,8 +2108,7 @@ - + @@ -2308,27 +2127,23 @@ - + - + - + - + @@ -2346,8 +2161,7 @@ - + @@ -2363,41 +2177,35 @@ - + - + - + - + - + - + @@ -2422,8 +2230,7 @@ - + @@ -2437,5 +2244,4 @@ - - \ No newline at end of file + diff --git a/packages/xml-parser-ts-codegen/src/schemas/xsd/xml.xsd b/packages/xml-parser-ts-codegen/src/schemas/xsd/xml.xsd index aea7d0db0a4..7dc159e5a97 100644 --- a/packages/xml-parser-ts-codegen/src/schemas/xsd/xml.xsd +++ b/packages/xml-parser-ts-codegen/src/schemas/xsd/xml.xsd @@ -1,66 +1,66 @@ - + - - - - -
-

About the XML namespace

+ + + +
+

About the XML namespace

-
-

+

+

This schema document describes the XML namespace, in a form suitable for import by other schema documents.

-

+

See http://www.w3.org/XML/1998/namespace.html and http://www.w3.org/TR/REC-xml for information about this namespace.

-

+

Note that local names in this namespace are intended to be defined only by the World Wide Web Consortium or its subgroups. The names currently defined in this namespace are listed below. They should not be used with conflicting semantics by any Working Group, specification, or document instance.

-

+

See further below in this document for more information about how to refer to this schema document from your own + href="#usage" + >how to refer to this schema document from your own XSD schema documents and about the namespace-versioning policy governing this schema document.

-
-
- - +
+
+
+
- - - -
- -

lang (as an attribute name)

-

+ + + +

+

lang (as an attribute name)

+

denotes an attribute whose value is a language code for the natural language of the content of any element; its value is inherited. This name is reserved by virtue of its definition in the XML specification.

- -
-
-

Notes

-

+

+
+

Notes

+

Attempting to install the relevant ISO 2- and 3-letter codes as the enumerated possible values is probably never going to be a realistic possibility.

-

+

See BCP 47 at http://www.rfc-editor.org/rfc/bcp/bcp47.txt and the IANA language subtag registry at @@ -68,189 +68,187 @@ http://www.iana.org/assignments/language-subtag-registry for further information.

-

+

The union allows for the 'un-declaration' of xml:lang with the empty string.

-
- - - - - - - - +
+
+
+ + + + + + + + - - -
+ - - - -
- -

space (as an attribute name)

-

+ + + +

+

space (as an attribute name)

+

denotes an attribute whose value is a keyword indicating what whitespace processing discipline is intended for the content of the element; its value is inherited. This name is reserved by virtue of its definition in the XML specification.

- -
- - - - - - - - - - - - -
- -

base (as an attribute name)

-

+

+
+
+ + + + + + +
+ + + + +
+

base (as an attribute name)

+

denotes an attribute whose value provides a URI to be used as the base for interpreting any relative URIs in the scope of the element on which it appears; its value is inherited. This name is reserved by virtue of its definition in the XML Base specification.

- -

- See http://www.w3.org/TR/xmlbase/ + +

+ See http://www.w3.org/TR/xmlbase/ for information about this attribute.

-
-
-
-
- - - - -
- -

id (as an attribute name)

-

+

+
+
+
+ + + + +
+

id (as an attribute name)

+

denotes an attribute whose value should be interpreted as if declared to be of type ID. This name is reserved by virtue of its definition in the xml:id specification.

- -

- See http://www.w3.org/TR/xml-id/ + +

+ See http://www.w3.org/TR/xml-id/ for information about this attribute.

-
-
-
-
+
+
+
+
- - - - - - + + + + + + - - -
- -

Father (in any context at all)

+ + +
+

Father (in any context at all)

-
-

+

+

denotes Jon Bosak, the chair of the original XML Working Group. This name is reserved by the following decision of the W3C XML Plenary and XML Coordination groups:

-
-

+

+

In appreciation for his vision, leadership and dedication the W3C XML Plenary on this 10th day of February, 2000, reserves for Jon Bosak in perpetuity the XML name "xml:Father".

-
-
-
- - + +
+
+
+
- - -
-

About this schema document

+ + +
+

+ About this schema document +

-
-

+

+

This schema defines attributes and an attribute group suitable for use by schemas wishing to allow xml:base, xml:lang, xml:space or xml:id attributes on elements they define.

-

+

To enable this, such a schema must import this schema for the XML namespace, e.g. as follows:

-
+          
           <schema . . .>
            . . .
            <import namespace="http://www.w3.org/XML/1998/namespace"
                       schemaLocation="http://www.w3.org/2001/xml.xsd"/>
      
-

+

or

-
+          
            <import namespace="http://www.w3.org/XML/1998/namespace"
                       schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
      
-

+

Subsequently, qualified reference to any of the attributes or the group defined below will have the desired effect, e.g.

-
+          
           <type . . .>
            . . .
            <attributeGroup ref="xml:specialAttrs"/>
      
-

+

will define a type which will schema-validate an instance element with any of those attributes.

-
-
- - +
+
+
+
- - -
-

Versioning policy for this schema document

-
-

+ + +

+

+ Versioning policy for this schema document +

+
+

In keeping with the XML Schema WG's standard versioning policy, this schema document will persist at http://www.w3.org/2009/01/xml.xsd.

-

+

At the date of issue it can also be found at http://www.w3.org/2001/xml.xsd.

-

+

The schema document at that URI may however change in the future, in order to remain compatible with the latest version of XML Schema itself, or with the XML namespace itself. In other words, @@ -264,24 +262,30 @@ will not change.

-

+

Previous dated (and unchanging) versions of this schema document are at:

- -
-
- - - + +
+
+
+
- diff --git a/packages/xml-parser-ts/jest.config.js b/packages/xml-parser-ts/jest.config.js index 995eed8f0e8..060be79621a 100644 --- a/packages/xml-parser-ts/jest.config.js +++ b/packages/xml-parser-ts/jest.config.js @@ -17,18 +17,10 @@ * under the License. */ +const { config } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - globals: { - "ts-jest": { - tsconfig: "/tsconfig.json", - }, - }, - reporters: ["default", ["jest-junit", { outputFile: "./dist-tests/junit-report.xml" }]], - moduleDirectories: ["node_modules"], - moduleFileExtensions: ["js", "jsx", "ts", "tsx"], - testRegex: "/tests/.*\\.test\\.(jsx?|tsx?)$", - transform: { - "^.+\\.jsx?$": ["babel-jest", { presets: [["@babel/env", { targets: { node: "current" } }]] }], - "^.+\\.tsx?$": "ts-jest", - }, + ...config, + testEnvironment: "node", }; diff --git a/packages/xml-parser-ts/package.json b/packages/xml-parser-ts/package.json index fa814c30507..f575e5ccafe 100644 --- a/packages/xml-parser-ts/package.json +++ b/packages/xml-parser-ts/package.json @@ -31,20 +31,21 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-react": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", - "@types/jest-when": "^2.7.4", + "@types/jest": "^29.5.12", + "@types/jest-when": "^3.5.5", "@types/jsdom": "21.1.1", "@types/react": "^17.0.6", "@types/uuid": "^8.3.0", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", "jsdom": "22.1.0", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2", "uuid": "^8.3.2" } -} \ No newline at end of file +} diff --git a/packages/xml-parser-ts/tests/jest.setup.ts b/packages/xml-parser-ts/tests/jest.setup.ts deleted file mode 100644 index 1c413b1660e..00000000000 --- a/packages/xml-parser-ts/tests/jest.setup.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@testing-library/jest-dom"; diff --git a/packages/yard-editor/tests/__mocks__/monacoMock.js b/packages/yaml-language-server/jest.config.cjs similarity index 77% rename from packages/yard-editor/tests/__mocks__/monacoMock.js rename to packages/yaml-language-server/jest.config.cjs index dbcac6ca727..c86898252b5 100644 --- a/packages/yard-editor/tests/__mocks__/monacoMock.js +++ b/packages/yaml-language-server/jest.config.cjs @@ -17,13 +17,13 @@ * under the License. */ +const { config, babelTransform } = require("@kie-tools/jest-base/jest.config"); + +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - languages: { - register: function (language) {}, - setMonarchTokensProvider: function (name, tokens) {}, - registerCompletionItemProvider: function (name, provider) {}, - }, - editor: { - defineTheme: function (name, theme) {}, + ...config, + testEnvironment: "jsdom", + transform: { + ...babelTransform, }, }; diff --git a/packages/yaml-language-server/jest.config.json b/packages/yaml-language-server/jest.config.json deleted file mode 100644 index c0bebf93251..00000000000 --- a/packages/yaml-language-server/jest.config.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "globals": { - "ts-jest": { - "tsconfig": "/tsconfig.json" - } - }, - "reporters": [ - "default", - [ - "jest-junit", - { - "outputFile": "./dist-tests/junit-report.xml" - } - ] - ], - "moduleDirectories": ["node_modules"], - "moduleFileExtensions": ["js", "jsx", "ts", "tsx"], - "testRegex": "/tests/.*\\.test\\.(jsx?|tsx?)$", - "transform": { - "^.+\\.jsx?$": [ - "babel-jest", - { - "presets": [ - [ - "@babel/env", - { - "targets": { - "node": "current" - } - } - ] - ] - } - ], - "^.+\\.tsx?$": "ts-jest" - }, - "moduleNameMapper": { - "\\.(css|less|sass|scss)$": "/tests/__mocks__/styleMock.js" - } -} diff --git a/packages/yaml-language-server/package.json b/packages/yaml-language-server/package.json index 71dd7791903..ba32e82a870 100644 --- a/packages/yaml-language-server/package.json +++ b/packages/yaml-language-server/package.json @@ -36,16 +36,19 @@ "@babel/core": "^7.16.0", "@babel/preset-env": "^7.16.0", "@kie-tools/eslint": "workspace:*", + "@kie-tools/jest-base": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", - "@types/jest": "^26.0.23", + "@types/jest": "^29.5.12", "esbuild": "^0.15.13", - "jest": "^26.6.3", - "jest-junit": "^14.0.0", - "jest-when": "^3.5.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-junit": "^16.0.0", + "jest-when": "^3.6.0", + "prettier": "^2.8.8", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^29.1.5", "typescript": "^4.6.2", "yaml-language-server": "^1.10.0" } -} \ No newline at end of file +} diff --git a/packages/yaml-language-server/tests/__snapshots__/YamlLanguageService.test.ts.snap b/packages/yaml-language-server/tests/__snapshots__/YamlLanguageService.test.ts.snap index 29d4cc0565c..5fa6237a54e 100644 --- a/packages/yaml-language-server/tests/__snapshots__/YamlLanguageService.test.ts.snap +++ b/packages/yaml-language-server/tests/__snapshots__/YamlLanguageService.test.ts.snap @@ -3,21 +3,21 @@ exports[`YAMLValidation tests not valid YAML 1`] = `1`; exports[`YAMLValidation tests not valid YAML 2`] = ` -Array [ - Object { +[ + { "code": 0, - "data": Object { - "schemaUri": Array [ + "data": { + "schemaUri": [ "https://serverlessworkflow.io/schemas/0.8/workflow.json", ], }, - "message": "Incorrect type. Expected \\"array\\".", - "range": Object { - "end": Object { + "message": "Incorrect type. Expected "array".", + "range": { + "end": { "character": 25, "line": 2, }, - "start": Object { + "start": { "character": 8, "line": 2, }, @@ -30,4 +30,4 @@ Array [ exports[`YAMLValidation tests valid 1`] = `0`; -exports[`YAMLValidation tests valid 2`] = `Array []`; +exports[`YAMLValidation tests valid 2`] = `[]`; diff --git a/packages/yard-editor/dev-webapp/static/envelope/yard-editor-envelope.html b/packages/yard-editor/dev-webapp/static/envelope/yard-editor-envelope.html index acdcf073f0d..2d24205cc04 100644 --- a/packages/yard-editor/dev-webapp/static/envelope/yard-editor-envelope.html +++ b/packages/yard-editor/dev-webapp/static/envelope/yard-editor-envelope.html @@ -17,7 +17,7 @@ ~ under the License. --> - +