@sap/ux-specification 1.96.103 → 1.96.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +544 -463
- package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
- package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
- package/dist/documentation/v2/v2-ListReport.html +2 -2
- package/dist/documentation/v2/v2-ListReportNew.html +2 -2
- package/dist/documentation/v2/v2-ObjectPage.html +2 -2
- package/dist/documentation/v2/v2-OverviewPage.html +2 -2
- package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
- package/dist/documentation/v4/v4-BuildingBlocks.html +2 -2
- package/dist/documentation/v4/v4-FreestylePage.html +2 -2
- package/dist/documentation/v4/v4-ListReport.html +2 -2
- package/dist/documentation/v4/v4-ObjectPage.html +2 -2
- package/dist/index-min.js +257 -254
- package/dist/index-min.js.map +4 -4
- package/dist/schemas/v2/AnalyticalListPageConfig.json +3 -3
- package/dist/schemas/v2/ListReportConfig.json +5 -5
- package/dist/schemas/v2/ListReportNewConfig.json +1 -1
- package/dist/schemas/v2/ObjectPageConfig.json +5 -5
- package/dist/schemas/v4/ApplicationV4.json +1 -1
- package/dist/schemas/v4/BuildingBlocksConfig.json +10 -5
- package/dist/schemas/v4/ListReportConfig.json +24 -6
- package/dist/schemas/v4/ObjectPageConfig.json +9 -3
- package/dist/specification/package.json +13 -11
- package/dist/specification/scripts/extractDocu.js +18 -1
- package/dist/specification/scripts/extractDocu.js.map +1 -1
- package/dist/specification/scripts/generate-validity-report.d.ts +15 -0
- package/dist/specification/scripts/generate-validity-report.d.ts.map +1 -0
- package/dist/specification/scripts/generate-validity-report.js +327 -0
- package/dist/specification/scripts/generate-validity-report.js.map +1 -0
- package/dist/specification/scripts/macros/schema.d.ts.map +1 -1
- package/dist/specification/scripts/macros/schema.js +4 -1
- package/dist/specification/scripts/macros/schema.js.map +1 -1
- package/dist/specification/src/api.js +1 -1
- package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts +501 -0
- package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts.map +1 -0
- package/dist/specification/src/sync/common/decoration/decorator-paths.js +497 -0
- package/dist/specification/src/sync/common/decoration/decorator-paths.js.map +1 -0
- package/dist/specification/src/sync/common/decoration/decorators.d.ts +149 -23
- package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
- package/dist/specification/src/sync/common/decoration/decorators.js +369 -74
- package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
- package/dist/specification/src/sync/common/decoration/index.d.ts +1 -0
- package/dist/specification/src/sync/common/decoration/index.d.ts.map +1 -1
- package/dist/specification/src/sync/common/decoration/index.js +1 -0
- package/dist/specification/src/sync/common/decoration/index.js.map +1 -1
- package/dist/specification/src/sync/common/dist_tag.json +8 -3
- package/dist/specification/src/sync/common/i18n.json +2 -1
- package/dist/specification/src/sync/common/utils.d.ts +35 -7
- package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/common/utils.js +224 -21
- package/dist/specification/src/sync/common/utils.js.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPageGeneric.js +3 -13
- package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/analyticalListReport.js +48 -0
- package/dist/specification/src/sync/v2/generate/analyticalListReport.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/listReport.js +3 -1
- package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/objectPage.js +2 -0
- package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/overviewPage.d.ts +1 -9
- package/dist/specification/src/sync/v2/generate/overviewPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/overviewPage.js +30 -1
- package/dist/specification/src/sync/v2/generate/overviewPage.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +28 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
- package/dist/specification/src/sync/v2/import/app/appProvider.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/app/appProvider.js +2 -0
- package/dist/specification/src/sync/v2/import/app/appProvider.js.map +1 -1
- package/dist/specification/src/sync/v2/import/importPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/importPage.js +5 -6
- package/dist/specification/src/sync/v2/import/importPage.js.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts +2 -1
- package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js +5 -0
- package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/listReport.d.ts +2 -1
- package/dist/specification/src/sync/v2/import/pages/listReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/listReport.js +5 -0
- package/dist/specification/src/sync/v2/import/pages/listReport.js.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/objectPage.js +2 -1
- package/dist/specification/src/sync/v2/import/pages/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v2/import/utils.d.ts +28 -1
- package/dist/specification/src/sync/v2/import/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/utils.js +37 -0
- package/dist/specification/src/sync/v2/import/utils.js.map +1 -1
- package/dist/specification/src/sync/v2/utils.d.ts +12 -2
- package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/utils.js +19 -2
- package/dist/specification/src/sync/v2/utils.js.map +1 -1
- package/dist/specification/src/sync/v4/application.d.ts +20 -2
- package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/application.js +27 -2
- package/dist/specification/src/sync/v4/application.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts +2 -1
- package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/FilterBar.js +2 -1
- package/dist/specification/src/sync/v4/export/controls/FilterBar.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Header.d.ts +4 -3
- package/dist/specification/src/sync/v4/export/controls/Header.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Header.js +7 -3
- package/dist/specification/src/sync/v4/export/controls/Header.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts +1 -0
- package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/HeaderAction.js +7 -0
- package/dist/specification/src/sync/v4/export/controls/HeaderAction.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts +2 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js +2 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js +1 -13
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Table.d.ts +21 -8
- package/dist/specification/src/sync/v4/export/controls/Table.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Table.js +39 -41
- package/dist/specification/src/sync/v4/export/controls/Table.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/TableColumn.js +2 -2
- package/dist/specification/src/sync/v4/export/controls/TableColumn.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +2 -1
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +2 -1
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
- package/dist/specification/src/sync/v4/export/export.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/export.js +36 -6
- package/dist/specification/src/sync/v4/export/export.js.map +1 -1
- package/dist/specification/src/sync/v4/export/pages/ListReport.js +1 -1
- package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js +8 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js +10 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/index.d.ts +1 -1
- package/dist/specification/src/sync/v4/generate/index.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/index.js +1 -1
- package/dist/specification/src/sync/v4/generate/index.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts +73 -0
- package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js +333 -0
- package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js.map +1 -0
- package/dist/specification/src/sync/v4/generate/{listReport.d.ts → list-report/listReport.d.ts} +21 -14
- package/dist/specification/src/sync/v4/generate/list-report/listReport.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/generate/{listReport.js → list-report/listReport.js} +146 -139
- package/dist/specification/src/sync/v4/generate/list-report/listReport.js.map +1 -0
- package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/objectPage.js +142 -49
- package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v4/import/pages/listReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/import/pages/listReport.js +17 -11
- package/dist/specification/src/sync/v4/import/pages/listReport.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/App.d.ts +9 -7
- package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/App.js +4 -8
- package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +2 -9
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +2 -11
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts +177 -46
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +498 -152
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +17 -22
- package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/Page.js +15 -22
- package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.d.ts +1 -0
- package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js +17 -9
- package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/index.d.ts +5 -0
- package/dist/specification/src/sync/v4/sync-rules/index.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/index.js +21 -0
- package/dist/specification/src/sync/v4/sync-rules/index.js.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/utils.js +4 -0
- package/dist/specification/src/sync/v4/sync-rules/utils.js.map +1 -1
- package/dist/specification/src/sync/v4/utils/index.d.ts +2 -0
- package/dist/specification/src/sync/v4/utils/index.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/utils/index.js +18 -0
- package/dist/specification/src/sync/v4/utils/index.js.map +1 -0
- package/dist/specification/src/sync/v4/utils/utils.d.ts +9 -1
- package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/utils/utils.js +18 -3
- package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
- package/dist/specification/test/test-projects/v2sttaProdMan2/webapp/manifest.json +550 -0
- package/dist/specification/test/test-projects/v4new/webapp/manifest.json +147 -0
- package/dist/specification/test/test-utils/utils.d.ts +71 -0
- package/dist/specification/test/test-utils/utils.d.ts.map +1 -0
- package/dist/specification/test/test-utils/utils.js +400 -0
- package/dist/specification/test/test-utils/utils.js.map +1 -0
- package/dist/specification/test/unit/decorators/validity-test-utils.d.ts +274 -0
- package/dist/specification/test/unit/decorators/validity-test-utils.d.ts.map +1 -0
- package/dist/specification/test/unit/decorators/validity-test-utils.js +583 -0
- package/dist/specification/test/unit/decorators/validity-test-utils.js.map +1 -0
- package/dist/types/src/apiTypes.d.ts +2 -3
- package/dist/types/src/apiTypes.d.ts.map +1 -1
- package/dist/types/src/apiTypes.js.map +1 -1
- package/dist/types/src/common/types.d.ts +131 -13
- package/dist/types/src/common/types.d.ts.map +1 -1
- package/dist/types/src/common/types.js +10 -1
- package/dist/types/src/common/types.js.map +1 -1
- package/dist/types/src/v2/controls/ObjectPageTable.d.ts +1 -1
- package/dist/types/src/v2/controls/Table.d.ts +1 -1
- package/dist/types/src/v4/controls/ObjectPageHeader.d.ts +1 -1
- package/dist/types/src/v4/controls/ObjectPageTable.d.ts +1 -1
- package/dist/types/src/v4/controls/ObjectPageTable.d.ts.map +1 -1
- package/dist/types/src/v4/controls/Table.d.ts +3 -3
- package/dist/types/src/v4/controls/Table.d.ts.map +1 -1
- package/package.json +14 -12
- package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts +0 -107
- package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts.map +0 -1
- package/dist/specification/src/sync/v4/generate/ListReportUtils.js +0 -374
- package/dist/specification/src/sync/v4/generate/ListReportUtils.js.map +0 -1
- package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +0 -1
- package/dist/specification/src/sync/v4/generate/listReport.js.map +0 -1
|
@@ -0,0 +1,583 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file Test utilities for validating @validity decorator behavior
|
|
4
|
+
*
|
|
5
|
+
* This module provides helper functions for:
|
|
6
|
+
* - Extracting validity metadata from decorated classes
|
|
7
|
+
* - Generating expected vs actual visibility tables
|
|
8
|
+
* - Comparing property visibility across UI5 versions
|
|
9
|
+
* - Formatting results as markdown for snapshot testing
|
|
10
|
+
*/
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.EMOJI_MATCH = exports.EMOJI_DIFF = exports.getPropertiesWithValidity = exports.VERSION_LATEST = exports.SchemaResults = exports.EMOJI_NOT_FOUND = exports.EMOJI_HIDDEN = exports.EMOJI_VISIBLE = void 0;
|
|
16
|
+
exports.resolveDefinition = resolveDefinition;
|
|
17
|
+
exports.findTableDefinition = findTableDefinition;
|
|
18
|
+
exports.findDefinitionByName = findDefinitionByName;
|
|
19
|
+
exports.getSchemaPropertyNames = getSchemaPropertyNames;
|
|
20
|
+
exports.propertyExists = propertyExists;
|
|
21
|
+
exports.isPropertyHidden = isPropertyHidden;
|
|
22
|
+
exports.compareVersions = compareVersions;
|
|
23
|
+
exports.getValidityPropertiesFromClass = getValidityPropertiesFromClass;
|
|
24
|
+
exports.generateExpectedVisibilityTable = generateExpectedVisibilityTable;
|
|
25
|
+
exports.generateActualVisibilityTable = generateActualVisibilityTable;
|
|
26
|
+
exports.formatVisibilityTableMarkdown = formatVisibilityTableMarkdown;
|
|
27
|
+
exports.generateSchemaWithVersion = generateSchemaWithVersion;
|
|
28
|
+
exports.generateSchemasForVersions = generateSchemasForVersions;
|
|
29
|
+
exports.getValidityProperties = getValidityProperties;
|
|
30
|
+
exports.generateDiffVisibilityTable = generateDiffVisibilityTable;
|
|
31
|
+
exports.formatDiffTableMarkdown = formatDiffTableMarkdown;
|
|
32
|
+
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
33
|
+
const api_1 = require("../../../src/api");
|
|
34
|
+
const path_1 = require("path");
|
|
35
|
+
const decorators_1 = require("../../../src/sync/common/decoration/decorators");
|
|
36
|
+
const utils_1 = require("../../test-utils/utils");
|
|
37
|
+
const manifest_json_1 = __importDefault(require("../../test-projects/v4new/webapp/manifest.json"));
|
|
38
|
+
// ============================================================================
|
|
39
|
+
// Constants
|
|
40
|
+
// ============================================================================
|
|
41
|
+
/** Emoji indicator for a visible/available property */
|
|
42
|
+
exports.EMOJI_VISIBLE = '✅';
|
|
43
|
+
/** Emoji indicator for a hidden/unavailable property */
|
|
44
|
+
exports.EMOJI_HIDDEN = '🚫';
|
|
45
|
+
/** Emoji indicator for property not found in schema */
|
|
46
|
+
exports.EMOJI_NOT_FOUND = '❓';
|
|
47
|
+
// ============================================================================
|
|
48
|
+
// Types
|
|
49
|
+
// ============================================================================
|
|
50
|
+
/**
|
|
51
|
+
* Enum to specify which type of visibility table to generate
|
|
52
|
+
*/
|
|
53
|
+
var SchemaResults;
|
|
54
|
+
(function (SchemaResults) {
|
|
55
|
+
/** Generate expected visibility based on @validity decorator metadata */
|
|
56
|
+
SchemaResults["Expected"] = "expected";
|
|
57
|
+
/** Generate actual visibility from generated schemas */
|
|
58
|
+
SchemaResults["Actual"] = "actual";
|
|
59
|
+
})(SchemaResults || (exports.SchemaResults = SchemaResults = {}));
|
|
60
|
+
// ============================================================================
|
|
61
|
+
// Helper Functions - Schema Operations
|
|
62
|
+
// ============================================================================
|
|
63
|
+
/**
|
|
64
|
+
* Resolves a definition by following $ref chains in the schema
|
|
65
|
+
*
|
|
66
|
+
* @param schema - The JSON schema containing definitions
|
|
67
|
+
* @param definitionName - The name of the definition to resolve
|
|
68
|
+
* @returns The resolved definition, or undefined if not found
|
|
69
|
+
* @example
|
|
70
|
+
* const tableDef = resolveDefinition(schema, 'Table');
|
|
71
|
+
*/
|
|
72
|
+
function resolveDefinition(schema, definitionName) {
|
|
73
|
+
let def = schema.definitions?.[definitionName];
|
|
74
|
+
if (!def) {
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
let depth = 0;
|
|
78
|
+
while (def.$ref && depth < 10) {
|
|
79
|
+
const refName = def.$ref.replace('#/definitions/', '');
|
|
80
|
+
def = schema.definitions?.[refName];
|
|
81
|
+
if (!def) {
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
depth++;
|
|
85
|
+
}
|
|
86
|
+
return def;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Finds the definition containing table properties by searching common patterns
|
|
90
|
+
*
|
|
91
|
+
* Searches for definitions with names like 'TableSPV', 'LRTableView', 'Table',
|
|
92
|
+
* or any definition containing key table properties like 'condensedTableLayout'.
|
|
93
|
+
*
|
|
94
|
+
* @param schema - The JSON schema to search
|
|
95
|
+
* @returns The table definition, or undefined if not found
|
|
96
|
+
*/
|
|
97
|
+
function findTableDefinition(schema) {
|
|
98
|
+
const definitions = schema.definitions || {};
|
|
99
|
+
// Try common table definition patterns in order of preference
|
|
100
|
+
const patterns = ['TableSPV', 'LRTableView', 'Table'];
|
|
101
|
+
for (const pattern of patterns) {
|
|
102
|
+
const def = definitions[pattern];
|
|
103
|
+
if (def?.properties && Object.keys(def.properties).length > 0) {
|
|
104
|
+
return def;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// Search for any definition with key table properties
|
|
108
|
+
const keyProps = ['condensedTableLayout', 'enableExport', 'selectionMode'];
|
|
109
|
+
for (const [, def] of Object.entries(definitions)) {
|
|
110
|
+
const d = def;
|
|
111
|
+
if (d?.properties) {
|
|
112
|
+
const hasKeyProps = keyProps.some((p) => p in d.properties);
|
|
113
|
+
if (hasKeyProps) {
|
|
114
|
+
return d;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Creates a definition finder function for a specific definition name
|
|
122
|
+
*
|
|
123
|
+
* @param definitionName - The name of the definition to find
|
|
124
|
+
* @returns A function that finds the definition in a given schema
|
|
125
|
+
* @example
|
|
126
|
+
* const finder = findDefinitionByName('CustomHeaderAction');
|
|
127
|
+
* const def = finder(schema);
|
|
128
|
+
*/
|
|
129
|
+
function findDefinitionByName(definitionName) {
|
|
130
|
+
return (schema) => {
|
|
131
|
+
const def = schema.definitions?.[definitionName];
|
|
132
|
+
return def?.properties ? def : undefined;
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Gets all property names from a schema definition
|
|
137
|
+
*
|
|
138
|
+
* @param schema - The JSON schema containing definitions
|
|
139
|
+
* @param definitionName - The name of the definition to get properties from
|
|
140
|
+
* @returns Array of property names, or empty array if definition not found
|
|
141
|
+
*/
|
|
142
|
+
function getSchemaPropertyNames(schema, definitionName) {
|
|
143
|
+
const def = resolveDefinition(schema, definitionName);
|
|
144
|
+
return def?.properties ? Object.keys(def.properties) : [];
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Checks if a property exists in a schema definition
|
|
148
|
+
*
|
|
149
|
+
* @param schema - The JSON schema containing definitions
|
|
150
|
+
* @param definitionName - The name of the definition to check
|
|
151
|
+
* @param propertyName - The name of the property to check for
|
|
152
|
+
* @returns True if the property exists, false otherwise
|
|
153
|
+
*/
|
|
154
|
+
function propertyExists(schema, definitionName, propertyName) {
|
|
155
|
+
const def = resolveDefinition(schema, definitionName);
|
|
156
|
+
return def?.properties?.[propertyName] !== undefined;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Checks if a property is marked as hidden in a schema definition
|
|
160
|
+
*
|
|
161
|
+
* @param schema - The JSON schema containing definitions
|
|
162
|
+
* @param definitionName - The name of the definition to check
|
|
163
|
+
* @param propertyName - The name of the property to check
|
|
164
|
+
* @returns True if hidden, false if visible, undefined if property not found
|
|
165
|
+
*/
|
|
166
|
+
function isPropertyHidden(schema, definitionName, propertyName) {
|
|
167
|
+
const def = resolveDefinition(schema, definitionName);
|
|
168
|
+
return def?.properties?.[propertyName]?.[ux_specification_types_1.SchemaTag.hidden];
|
|
169
|
+
}
|
|
170
|
+
// ============================================================================
|
|
171
|
+
// Helper Functions - Version Comparison
|
|
172
|
+
// ============================================================================
|
|
173
|
+
/** Special version string representing the latest/newest version */
|
|
174
|
+
exports.VERSION_LATEST = 'latest';
|
|
175
|
+
/**
|
|
176
|
+
* Compares two semantic version strings
|
|
177
|
+
*
|
|
178
|
+
* Handles the special 'latest' version which is always considered
|
|
179
|
+
* greater than any other version.
|
|
180
|
+
*
|
|
181
|
+
* @param a - First version string (e.g., '1.84.0' or 'latest')
|
|
182
|
+
* @param b - Second version string (e.g., '1.96.0' or 'latest')
|
|
183
|
+
* @returns Negative if a < b, positive if a > b, zero if equal
|
|
184
|
+
* @example
|
|
185
|
+
* compareVersions('1.84.0', '1.96.0') // returns negative
|
|
186
|
+
* compareVersions('1.96.0', '1.84.0') // returns positive
|
|
187
|
+
* compareVersions('1.84.0', '1.84.0') // returns 0
|
|
188
|
+
* compareVersions('1.142.0', 'latest') // returns negative
|
|
189
|
+
* compareVersions('latest', '1.84.0') // returns positive
|
|
190
|
+
*/
|
|
191
|
+
function compareVersions(a, b) {
|
|
192
|
+
// Handle 'latest' as a special case - it's always the highest version
|
|
193
|
+
if (a === exports.VERSION_LATEST && b === exports.VERSION_LATEST) {
|
|
194
|
+
return 0;
|
|
195
|
+
}
|
|
196
|
+
if (a === exports.VERSION_LATEST) {
|
|
197
|
+
return 1;
|
|
198
|
+
}
|
|
199
|
+
if (b === exports.VERSION_LATEST) {
|
|
200
|
+
return -1;
|
|
201
|
+
}
|
|
202
|
+
const aParts = a.split('.').map(Number);
|
|
203
|
+
const bParts = b.split('.').map(Number);
|
|
204
|
+
for (let i = 0; i < 3; i++) {
|
|
205
|
+
if ((aParts[i] || 0) !== (bParts[i] || 0)) {
|
|
206
|
+
return (aParts[i] || 0) - (bParts[i] || 0);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
return 0;
|
|
210
|
+
}
|
|
211
|
+
// ============================================================================
|
|
212
|
+
// Helper Functions - Validity Metadata Extraction
|
|
213
|
+
// ============================================================================
|
|
214
|
+
/**
|
|
215
|
+
* Extracts all properties from a class, including those with @validity decorator
|
|
216
|
+
*
|
|
217
|
+
* Walks the prototype chain to find all properties, then checks each
|
|
218
|
+
* for validity metadata. Properties without @validity are marked with since: '-'.
|
|
219
|
+
* Results are sorted by version (ascending), then alphabetically by property name.
|
|
220
|
+
*
|
|
221
|
+
* @param ClassConstructor - The class constructor to inspect
|
|
222
|
+
* @param schemaPropertyNames - Optional list of additional property names to check
|
|
223
|
+
* @param onlyWithValidity - If true, only return properties with @validity decorator (default: false)
|
|
224
|
+
* @returns Array of ValidityInfo objects sorted by version then name
|
|
225
|
+
* @example
|
|
226
|
+
* const validityProps = getValidityPropertiesFromClass(TableSettings, ['type', 'selectAll']);
|
|
227
|
+
* // Returns: [{ property: 'enableOnSelect', since: '-' }, { property: 'type', since: '1.84.0' }, ...]
|
|
228
|
+
*/
|
|
229
|
+
function getValidityPropertiesFromClass(ClassConstructor, schemaPropertyNames = [], onlyWithValidity = false) {
|
|
230
|
+
const prototype = ClassConstructor.prototype;
|
|
231
|
+
const result = [];
|
|
232
|
+
const candidateProperties = new Set();
|
|
233
|
+
// Walk prototype chain to find all properties
|
|
234
|
+
let current = prototype;
|
|
235
|
+
while (current && current !== Object.prototype) {
|
|
236
|
+
Object.getOwnPropertyNames(current).forEach((name) => {
|
|
237
|
+
if (name !== 'constructor') {
|
|
238
|
+
candidateProperties.add(name);
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
current = Object.getPrototypeOf(current);
|
|
242
|
+
}
|
|
243
|
+
// Add schema property names as candidates
|
|
244
|
+
schemaPropertyNames.forEach((p) => candidateProperties.add(p));
|
|
245
|
+
for (const property of candidateProperties) {
|
|
246
|
+
const validity = (0, decorators_1.getValidityMetadata)(prototype, property);
|
|
247
|
+
if (validity?.since) {
|
|
248
|
+
result.push({ property, since: validity.since });
|
|
249
|
+
}
|
|
250
|
+
else if (!onlyWithValidity && schemaPropertyNames.includes(property)) {
|
|
251
|
+
// Include properties without @validity if they exist in schema
|
|
252
|
+
result.push({ property, since: '-' });
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
// Sort: properties without version ('-') first, then by version, then alphabetically
|
|
256
|
+
return result.sort((a, b) => {
|
|
257
|
+
// '-' (no version) comes first
|
|
258
|
+
if (a.since === '-' && b.since !== '-') {
|
|
259
|
+
return -1;
|
|
260
|
+
}
|
|
261
|
+
if (a.since !== '-' && b.since === '-') {
|
|
262
|
+
return 1;
|
|
263
|
+
}
|
|
264
|
+
if (a.since === '-' && b.since === '-') {
|
|
265
|
+
return a.property.localeCompare(b.property);
|
|
266
|
+
}
|
|
267
|
+
const versionDiff = compareVersions(a.since, b.since);
|
|
268
|
+
if (versionDiff !== 0) {
|
|
269
|
+
return versionDiff;
|
|
270
|
+
}
|
|
271
|
+
return a.property.localeCompare(b.property);
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
// ============================================================================
|
|
275
|
+
// Helper Functions - Table Formatting
|
|
276
|
+
// ============================================================================
|
|
277
|
+
/**
|
|
278
|
+
* Generates expected visibility table based on @validity decorator metadata
|
|
279
|
+
*
|
|
280
|
+
* For each property, determines if it should be visible in each version
|
|
281
|
+
* based on comparing the version against the property's 'since' value.
|
|
282
|
+
* Properties with since: '-' (no @validity) are always visible.
|
|
283
|
+
*
|
|
284
|
+
* @param validityInfos - Array of properties with their validity info
|
|
285
|
+
* @param versions - Array of version strings to generate columns for
|
|
286
|
+
* @returns Array of rows with visibility status for each version
|
|
287
|
+
*/
|
|
288
|
+
function generateExpectedVisibilityTable(validityInfos, versions) {
|
|
289
|
+
return validityInfos.map((info) => {
|
|
290
|
+
const row = {
|
|
291
|
+
property: info.property,
|
|
292
|
+
since: info.since
|
|
293
|
+
};
|
|
294
|
+
for (const version of versions) {
|
|
295
|
+
const shouldBeVisible = compareVersions(version, info.since) >= 0;
|
|
296
|
+
row[version] = shouldBeVisible ? exports.EMOJI_VISIBLE : exports.EMOJI_HIDDEN;
|
|
297
|
+
}
|
|
298
|
+
return row;
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Generates actual visibility table from generated schemas
|
|
303
|
+
*
|
|
304
|
+
* For each property and version, checks the actual generated schema
|
|
305
|
+
* to determine if the property is visible (not hidden).
|
|
306
|
+
*
|
|
307
|
+
* @param validityInfos - Array of properties with their validity info
|
|
308
|
+
* @param versions - Array of version strings to check
|
|
309
|
+
* @param schemaResults - Map of version strings to generated schemas
|
|
310
|
+
* @param findDefinition - Function to locate the definition within each schema
|
|
311
|
+
* @returns Array of rows with actual visibility status for each version
|
|
312
|
+
* @remarks
|
|
313
|
+
* Status symbols:
|
|
314
|
+
* - ✅ = property exists and is visible
|
|
315
|
+
* - 🚫 = property exists but is hidden
|
|
316
|
+
* - ? = schema or definition not found
|
|
317
|
+
* - - = property not found in definition
|
|
318
|
+
*/
|
|
319
|
+
function generateActualVisibilityTable(validityInfos, versions, schemaResults, findDefinition) {
|
|
320
|
+
return validityInfos.map((info) => {
|
|
321
|
+
const row = {
|
|
322
|
+
property: info.property,
|
|
323
|
+
since: info.since
|
|
324
|
+
};
|
|
325
|
+
for (const version of versions) {
|
|
326
|
+
const schema = schemaResults.get(version);
|
|
327
|
+
if (!schema) {
|
|
328
|
+
row[version] = '?';
|
|
329
|
+
continue;
|
|
330
|
+
}
|
|
331
|
+
const def = findDefinition(schema);
|
|
332
|
+
if (!def?.properties) {
|
|
333
|
+
row[version] = '?';
|
|
334
|
+
continue;
|
|
335
|
+
}
|
|
336
|
+
const propDef = def.properties[info.property];
|
|
337
|
+
if (!propDef) {
|
|
338
|
+
row[version] = exports.EMOJI_NOT_FOUND;
|
|
339
|
+
continue;
|
|
340
|
+
}
|
|
341
|
+
const hidden = propDef[ux_specification_types_1.SchemaTag.hidden] === true;
|
|
342
|
+
row[version] = hidden ? exports.EMOJI_HIDDEN : exports.EMOJI_VISIBLE;
|
|
343
|
+
}
|
|
344
|
+
return row;
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Formats visibility table as a markdown string for snapshot testing
|
|
349
|
+
*
|
|
350
|
+
* Generates a properly aligned markdown table with:
|
|
351
|
+
* - Header row with Property, Since, and version columns
|
|
352
|
+
* - Separator row
|
|
353
|
+
* - Data rows with centered emoji indicators
|
|
354
|
+
* - Legend explaining the emoji meanings
|
|
355
|
+
*
|
|
356
|
+
* @param rows - Array of visibility rows to format
|
|
357
|
+
* @param versions - Array of version strings for column headers
|
|
358
|
+
* @returns Formatted markdown table string
|
|
359
|
+
* @example
|
|
360
|
+
* ```
|
|
361
|
+
* | Property | Since | 1.84.0 | 1.96.0 |
|
|
362
|
+
* | -------- | ------ | ------ | ------ |
|
|
363
|
+
* | type | 1.84.0 | ✅ | ✅ |
|
|
364
|
+
*
|
|
365
|
+
* Legend: ✅ = visible, 🚫 = hidden
|
|
366
|
+
* ```
|
|
367
|
+
*/
|
|
368
|
+
function formatVisibilityTableMarkdown(rows, versions) {
|
|
369
|
+
const lines = [];
|
|
370
|
+
// Calculate column widths
|
|
371
|
+
const propWidth = Math.max(26, ...rows.map((r) => r.property.length));
|
|
372
|
+
const sinceWidth = 7;
|
|
373
|
+
const versionWidth = 9;
|
|
374
|
+
// Helper functions for padding
|
|
375
|
+
const padEnd = (str, width) => str.padEnd(width);
|
|
376
|
+
const padCenter = (str, width) => {
|
|
377
|
+
const padding = width - str.length;
|
|
378
|
+
const left = Math.floor(padding / 2);
|
|
379
|
+
return ' '.repeat(left) + str + ' '.repeat(padding - left);
|
|
380
|
+
};
|
|
381
|
+
// Emoji centering - emojis are 1 char but display as 2 wide
|
|
382
|
+
// Use fixed padding for consistent appearance: " X " (3 spaces + emoji + 4 spaces = 9 width visually)
|
|
383
|
+
const padCenterEmoji = (emoji) => ` ${emoji} `;
|
|
384
|
+
// Header
|
|
385
|
+
const headerCells = [
|
|
386
|
+
padEnd('Property', propWidth),
|
|
387
|
+
padEnd('Since', sinceWidth),
|
|
388
|
+
...versions.map((v) => padCenter(v, versionWidth))
|
|
389
|
+
];
|
|
390
|
+
lines.push(`| ${headerCells.join(' | ')} |`);
|
|
391
|
+
// Separator
|
|
392
|
+
const sepCells = ['-'.repeat(propWidth), '-'.repeat(sinceWidth), ...versions.map(() => '-'.repeat(versionWidth))];
|
|
393
|
+
lines.push(`| ${sepCells.join(' | ')} |`);
|
|
394
|
+
// Data rows
|
|
395
|
+
for (const row of rows) {
|
|
396
|
+
const cells = [
|
|
397
|
+
padEnd(row.property, propWidth),
|
|
398
|
+
padEnd(row.since, sinceWidth),
|
|
399
|
+
...versions.map((v) => padCenterEmoji(row[v]))
|
|
400
|
+
];
|
|
401
|
+
lines.push(`| ${cells.join(' | ')} |`);
|
|
402
|
+
}
|
|
403
|
+
// Legend
|
|
404
|
+
lines.push('');
|
|
405
|
+
lines.push(`Legend: ${exports.EMOJI_VISIBLE} = visible (version >= since), ${exports.EMOJI_HIDDEN} = hidden (version < since), ${exports.EMOJI_NOT_FOUND} = not found in schema`);
|
|
406
|
+
return lines.join('\n');
|
|
407
|
+
}
|
|
408
|
+
// ============================================================================
|
|
409
|
+
// Helper Functions - Schema Generation
|
|
410
|
+
// ============================================================================
|
|
411
|
+
/**
|
|
412
|
+
* Generates an app schema with a specific minUI5Version
|
|
413
|
+
*
|
|
414
|
+
* Creates a schema for the v4new test project with the specified
|
|
415
|
+
* UI5 version, using the provided generic schema as base.
|
|
416
|
+
*
|
|
417
|
+
* @param genericSchema - The generic schema to use as base
|
|
418
|
+
* @param minUI5Version - The minimum UI5 version to set (e.g., '1.84.0')
|
|
419
|
+
* @returns The generated app schema
|
|
420
|
+
*/
|
|
421
|
+
async function generateSchemaWithVersion(genericSchema, minUI5Version) {
|
|
422
|
+
const manifestTemp = JSON.parse(JSON.stringify(manifest_json_1.default));
|
|
423
|
+
manifestTemp['sap.ui5'].dependencies.minUI5Version = minUI5Version;
|
|
424
|
+
const projectRoot = (0, path_1.join)('test', 'test-projects', 'v4new');
|
|
425
|
+
const allAnnotationData = [
|
|
426
|
+
(0, utils_1.prepareFileData)((0, path_1.join)(projectRoot, 'webapp', 'localService', 'metadata.xml')),
|
|
427
|
+
(0, utils_1.prepareFileData)((0, path_1.join)(projectRoot, 'webapp', 'annotations', 'annotation.xml'))
|
|
428
|
+
];
|
|
429
|
+
return (0, api_1.generateSchema)({
|
|
430
|
+
[ux_specification_types_1.FioriElementsVersion.v4]: {
|
|
431
|
+
[ux_specification_types_1.SchemaType.ListReport]: {
|
|
432
|
+
genericSchema,
|
|
433
|
+
contextPath: '/Products',
|
|
434
|
+
annotations: allAnnotationData,
|
|
435
|
+
manifest: manifestTemp
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Generates schemas for multiple UI5 versions
|
|
442
|
+
*
|
|
443
|
+
* @param genericSchema - The generic schema to use as base for all versions
|
|
444
|
+
* @param versions - Array of version strings to generate schemas for
|
|
445
|
+
* @returns Map of version string to generated schema
|
|
446
|
+
* @example
|
|
447
|
+
* const schemas = await generateSchemasForVersions(genericSchema, ['1.84.0', '1.96.0']);
|
|
448
|
+
* const schema84 = schemas.get('1.84.0');
|
|
449
|
+
*/
|
|
450
|
+
async function generateSchemasForVersions(genericSchema, versions) {
|
|
451
|
+
const results = new Map();
|
|
452
|
+
for (const version of versions) {
|
|
453
|
+
const schema = await generateSchemaWithVersion(genericSchema, version);
|
|
454
|
+
results.set(version, schema);
|
|
455
|
+
}
|
|
456
|
+
return results;
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Gets validity properties for a class from a generic schema
|
|
460
|
+
*
|
|
461
|
+
* Combines schema property names with validity decorator metadata
|
|
462
|
+
* to get complete validity information for testing.
|
|
463
|
+
*
|
|
464
|
+
* @param genericSchema - The generic schema containing the definition
|
|
465
|
+
* @param classRef - The class constructor to extract validity metadata from
|
|
466
|
+
* @param schemaName - Optional schema definition name (defaults to class name)
|
|
467
|
+
* @returns Array of ValidityInfo objects
|
|
468
|
+
*/
|
|
469
|
+
function getValidityProperties(genericSchema, classRef, schemaName) {
|
|
470
|
+
const schemaProps = getSchemaPropertyNames(genericSchema, schemaName || classRef.name);
|
|
471
|
+
const validityProperties = getValidityPropertiesFromClass(classRef, schemaProps);
|
|
472
|
+
return validityProperties;
|
|
473
|
+
}
|
|
474
|
+
/**
|
|
475
|
+
* Generates a markdown visibility table for a decorated class
|
|
476
|
+
*
|
|
477
|
+
* @param config - Configuration object with classRef and optional schemaName
|
|
478
|
+
* @param config.classRef - The class constructor containing @validity decorators
|
|
479
|
+
* @param config.schemaName - Optional schema definition name (defaults to class name)
|
|
480
|
+
* @param schemaType - Whether to generate expected or actual visibility
|
|
481
|
+
* @param context - Test context containing genericSchema, versions, and schemaResults
|
|
482
|
+
* @returns Formatted markdown table string
|
|
483
|
+
*/
|
|
484
|
+
const getPropertiesWithValidity = ({ classRef, schemaName }, schemaType, { genericSchema, versions, schemaResults }) => {
|
|
485
|
+
const validityProperties = getValidityProperties(genericSchema, classRef, schemaName);
|
|
486
|
+
let table;
|
|
487
|
+
if (schemaType === SchemaResults.Expected) {
|
|
488
|
+
table = generateExpectedVisibilityTable(validityProperties, versions);
|
|
489
|
+
}
|
|
490
|
+
else if (schemaType === SchemaResults.Actual) {
|
|
491
|
+
table = generateActualVisibilityTable(validityProperties, versions, schemaResults, findDefinitionByName(schemaName || classRef.name));
|
|
492
|
+
}
|
|
493
|
+
const tableMarkdown = formatVisibilityTableMarkdown(table, versions);
|
|
494
|
+
return tableMarkdown;
|
|
495
|
+
};
|
|
496
|
+
exports.getPropertiesWithValidity = getPropertiesWithValidity;
|
|
497
|
+
/** Emoji indicator for a difference between expected and actual */
|
|
498
|
+
exports.EMOJI_DIFF = '⚠️';
|
|
499
|
+
/** Emoji indicator for match between expected and actual */
|
|
500
|
+
exports.EMOJI_MATCH = '✅';
|
|
501
|
+
/**
|
|
502
|
+
* Generates a diff table comparing expected vs actual visibility
|
|
503
|
+
*
|
|
504
|
+
* For each property and version, compares expected (from @validity metadata)
|
|
505
|
+
* vs actual (from generated schema) and highlights differences.
|
|
506
|
+
*
|
|
507
|
+
* @param validityInfos - Array of properties with their validity info
|
|
508
|
+
* @param versions - Array of version strings to check
|
|
509
|
+
* @param schemaResults - Map of version strings to generated schemas
|
|
510
|
+
* @param findDefinition - Function to locate the definition within each schema
|
|
511
|
+
* @returns Array of rows showing expected vs actual comparison per version
|
|
512
|
+
*/
|
|
513
|
+
function generateDiffVisibilityTable(validityInfos, versions, schemaResults, findDefinition) {
|
|
514
|
+
const expectedTable = generateExpectedVisibilityTable(validityInfos, versions);
|
|
515
|
+
const actualTable = generateActualVisibilityTable(validityInfos, versions, schemaResults, findDefinition);
|
|
516
|
+
return validityInfos.map((info, index) => {
|
|
517
|
+
const row = {
|
|
518
|
+
property: info.property,
|
|
519
|
+
since: info.since
|
|
520
|
+
};
|
|
521
|
+
for (const version of versions) {
|
|
522
|
+
const expected = expectedTable[index][version];
|
|
523
|
+
const actual = actualTable[index][version];
|
|
524
|
+
if (expected === actual) {
|
|
525
|
+
row[version] = exports.EMOJI_MATCH;
|
|
526
|
+
}
|
|
527
|
+
else {
|
|
528
|
+
row[version] = exports.EMOJI_DIFF;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
return row;
|
|
532
|
+
});
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Formats diff table as a markdown string for snapshot testing
|
|
536
|
+
*
|
|
537
|
+
* Shows which property/version combinations have mismatches between
|
|
538
|
+
* expected (decorator metadata) and actual (generated schema) visibility.
|
|
539
|
+
*
|
|
540
|
+
* @param rows - Array of diff rows to format
|
|
541
|
+
* @param versions - Array of version strings for column headers
|
|
542
|
+
* @returns Formatted markdown table string with diff indicators
|
|
543
|
+
*/
|
|
544
|
+
function formatDiffTableMarkdown(rows, versions) {
|
|
545
|
+
const lines = [];
|
|
546
|
+
// Calculate column widths
|
|
547
|
+
const propWidth = Math.max(26, ...rows.map((r) => r.property.length));
|
|
548
|
+
const sinceWidth = 7;
|
|
549
|
+
const versionWidth = 9;
|
|
550
|
+
// Helper functions for padding
|
|
551
|
+
const padEnd = (str, width) => str.padEnd(width);
|
|
552
|
+
const padCenter = (str, width) => {
|
|
553
|
+
const padding = width - str.length;
|
|
554
|
+
const left = Math.floor(padding / 2);
|
|
555
|
+
return ' '.repeat(left) + str + ' '.repeat(padding - left);
|
|
556
|
+
};
|
|
557
|
+
// Emoji centering
|
|
558
|
+
const padCenterEmoji = (emoji) => ` ${emoji} `;
|
|
559
|
+
// Header
|
|
560
|
+
const headerCells = [
|
|
561
|
+
padEnd('Property', propWidth),
|
|
562
|
+
padEnd('Since', sinceWidth),
|
|
563
|
+
...versions.map((v) => padCenter(v, versionWidth))
|
|
564
|
+
];
|
|
565
|
+
lines.push(`| ${headerCells.join(' | ')} |`);
|
|
566
|
+
// Separator
|
|
567
|
+
const sepCells = ['-'.repeat(propWidth), '-'.repeat(sinceWidth), ...versions.map(() => '-'.repeat(versionWidth))];
|
|
568
|
+
lines.push(`| ${sepCells.join(' | ')} |`);
|
|
569
|
+
// Data rows
|
|
570
|
+
for (const row of rows) {
|
|
571
|
+
const cells = [
|
|
572
|
+
padEnd(row.property, propWidth),
|
|
573
|
+
padEnd(row.since, sinceWidth),
|
|
574
|
+
...versions.map((v) => padCenterEmoji(row[v]))
|
|
575
|
+
];
|
|
576
|
+
lines.push(`| ${cells.join(' | ')} |`);
|
|
577
|
+
}
|
|
578
|
+
// Legend
|
|
579
|
+
lines.push('');
|
|
580
|
+
lines.push(`Legend: ${exports.EMOJI_MATCH} = match, ${exports.EMOJI_DIFF} = mismatch`);
|
|
581
|
+
return lines.join('\n');
|
|
582
|
+
}
|
|
583
|
+
//# sourceMappingURL=validity-test-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validity-test-utils.js","sourceRoot":"","sources":["../../../../../test/unit/decorators/validity-test-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -349,6 +349,7 @@ export type CommonImportParameters = {
|
|
|
349
349
|
jsonSchema: object;
|
|
350
350
|
fragments?: FileData[];
|
|
351
351
|
logger?: ExtensionLogger;
|
|
352
|
+
entitySet: string;
|
|
352
353
|
};
|
|
353
354
|
/**
|
|
354
355
|
* Types for v2 import
|
|
@@ -357,9 +358,7 @@ export type ImportListReportV2Parameters = CommonImportParameters;
|
|
|
357
358
|
export type ImportListReportV2 = {
|
|
358
359
|
[SchemaType.ListReport]: ImportListReportV2Parameters;
|
|
359
360
|
};
|
|
360
|
-
export type ImportObjectPageV2Parameters = CommonImportParameters
|
|
361
|
-
entitySet: string;
|
|
362
|
-
};
|
|
361
|
+
export type ImportObjectPageV2Parameters = CommonImportParameters;
|
|
363
362
|
export type ImportObjectPageV2 = {
|
|
364
363
|
[SchemaType.ObjectPage]: ImportObjectPageV2Parameters;
|
|
365
364
|
};
|