@ihk-gfi/lux-components-update 14.1.0 → 14.1.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ihk-gfi/lux-components-update",
3
- "version": "14.1.0",
3
+ "version": "14.1.1",
4
4
  "description": "Schematics für die Aktualisierung von LUX-Applikationen",
5
5
  "scripts": {
6
6
  "build": "tsc -p tsconfig.json",
@@ -18,6 +18,7 @@
18
18
  },
19
19
  "update-en-messages": {
20
20
  "description": "Aktualisiert die englischen Übersetzungen im Projekt",
21
+ "factory": "./update-en-messages/index#updateEnMessages",
21
22
  "schema": "./update-en-messages/schema.json"
22
23
  },
23
24
  "add-lux-components": {
@@ -34,17 +34,17 @@ function updateEnMessagesIntern() {
34
34
  if (id === null || id === void 0 ? void 0 : id.startsWith('luxc.')) {
35
35
  const transUnit = fnLCEEn(`trans-unit[id="${id}"]`).first();
36
36
  fnAPPDe('\n ' + fnLCEEn(transUnit).find('target').toString()).insertAfter(fnAPPDe(`trans-unit[id="${id}"]`).find('source'));
37
- newContent += ' ' + fnAPPDe(element).toString() + '\n';
37
+ newContent += '\n ' + fnAPPDe(element).toString();
38
38
  }
39
39
  else if (id === null || id === void 0 ? void 0 : id.startsWith('luxsd.')) {
40
40
  const transUnit = fnSDEn(`trans-unit[id="${id}"]`).first();
41
41
  fnAPPDe('\n ' + fnSDEn(transUnit).find('target').toString()).insertAfter(fnAPPDe(`trans-unit[id="${id}"]`).find('source'));
42
- newContent += ' ' + fnAPPDe(element).toString() + '\n';
42
+ newContent += '\n ' + fnAPPDe(element).toString();
43
43
  }
44
44
  else {
45
45
  const transUnit = fnAPPEn(`trans-unit[id="${id}"]`).first();
46
46
  fnAPPDe('\n ' + fnAPPEn(transUnit).find('target').toString()).insertAfter(fnAPPDe(`trans-unit[id="${id}"]`).find('source'));
47
- newContent += ' ' + fnAPPDe(element).toString() + '\n';
47
+ newContent += '\n ' + fnAPPDe(element).toString();
48
48
  }
49
49
  });
50
50
  newContent += footerContent;
@@ -65,14 +65,13 @@ function readTransUnitFile(tree, filePath) {
65
65
  }
66
66
  return content;
67
67
  }
68
- const headerContent = `
69
- <?xml version="1.0" encoding="UTF-8" ?>
68
+ const headerContent = `<?xml version="1.0" encoding="UTF-8" ?>
70
69
  <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
71
70
  <file source-language="en" datatype="plaintext" original="ng2.template">
72
- <body>
73
- `;
71
+ <body>`;
74
72
  const footerContent = `
75
73
  </body>
76
74
  </file>
77
- </xliff> `;
75
+ </xliff>
76
+ `;
78
77
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -37,15 +37,15 @@ function updateEnMessagesIntern(): Rule {
37
37
  if (id?.startsWith('luxc.')) {
38
38
  const transUnit = fnLCEEn(`trans-unit[id="${ id }"]`).first();
39
39
  fnAPPDe('\n ' + fnLCEEn(transUnit).find('target').toString()).insertAfter(fnAPPDe(`trans-unit[id="${ id }"]`).find('source'));
40
- newContent += ' ' + fnAPPDe(element).toString() + '\n';
40
+ newContent += '\n ' + fnAPPDe(element).toString();
41
41
  } else if (id?.startsWith('luxsd.')) {
42
42
  const transUnit = fnSDEn(`trans-unit[id="${ id }"]`).first();
43
43
  fnAPPDe('\n ' + fnSDEn(transUnit).find('target').toString()).insertAfter(fnAPPDe(`trans-unit[id="${ id }"]`).find('source'));
44
- newContent += ' ' + fnAPPDe(element).toString() + '\n';
44
+ newContent += '\n ' + fnAPPDe(element).toString();
45
45
  } else {
46
46
  const transUnit = fnAPPEn(`trans-unit[id="${ id }"]`).first();
47
47
  fnAPPDe('\n ' + fnAPPEn(transUnit).find('target').toString()).insertAfter(fnAPPDe(`trans-unit[id="${ id }"]`).find('source'));
48
- newContent += ' ' + fnAPPDe(element).toString() + '\n';
48
+ newContent += '\n ' + fnAPPDe(element).toString();
49
49
  }
50
50
  });
51
51
 
@@ -71,14 +71,13 @@ function readTransUnitFile(tree: Tree, filePath: string): string {
71
71
  return content;
72
72
  }
73
73
 
74
- const headerContent = `
75
- <?xml version="1.0" encoding="UTF-8" ?>
74
+ const headerContent = `<?xml version="1.0" encoding="UTF-8" ?>
76
75
  <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
77
76
  <file source-language="en" datatype="plaintext" original="ng2.template">
78
- <body>
79
- `;
77
+ <body>`;
80
78
 
81
79
  const footerContent = `
82
80
  </body>
83
81
  </file>
84
- </xliff> `;
82
+ </xliff>
83
+ `;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const schematics_1 = require("@angular-devkit/schematics");
13
+ const testing_1 = require("@angular-devkit/schematics/testing");
14
+ const path = require("path");
15
+ const rxjs_1 = require("rxjs");
16
+ const test_1 = require("../utility/test");
17
+ const util_1 = require("../utility/util");
18
+ const index_1 = require("./index");
19
+ describe('updateEnMessages', () => {
20
+ let appTree;
21
+ let runner;
22
+ let context;
23
+ const testOptions = {
24
+ project: '',
25
+ path: '/',
26
+ verbose: false
27
+ };
28
+ beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
29
+ const collectionPath = path.join(__dirname, '../collection.json');
30
+ runner = new testing_1.SchematicTestRunner('schematics', collectionPath);
31
+ const collection = '@schematics/angular';
32
+ appTree = yield runner.runExternalSchematicAsync(collection, 'workspace', test_1.workspaceOptions).toPromise();
33
+ appTree = yield runner.runExternalSchematicAsync(collection, 'application', test_1.appOptions, appTree).toPromise();
34
+ context = runner.engine.createContext(runner.engine.createSchematic('update-en-messages', runner.engine.createCollection(collectionPath)));
35
+ util_1.UtilConfig.defaultWaitMS = 0;
36
+ testOptions.project = test_1.appOptions.name;
37
+ testOptions.path = test_1.workspaceOptions.newProjectRoot + '/' + test_1.appOptions.name;
38
+ testOptions.verbose = true;
39
+ }));
40
+ describe('[Rule] updateEnMessages', () => {
41
+ it('Sollte die englische Übersetzungen aktualisieren', (done) => {
42
+ const filePathDe = '/src/locale/messages.xlf';
43
+ const filePathEn = '/src/locale/messages.en.xlf';
44
+ appTree.create(filePathDe, i18nDeApp);
45
+ appTree.create(filePathEn, i18nEnApp);
46
+ const filePathLCEn = '/node_modules/@ihk-gfi/lux-components/src/locale/messages.en.xlf';
47
+ const filePathSDEn = '/node_modules/@ihk-gfi/lux-stammdaten/src/locale/messages.en.xlf';
48
+ appTree.create(filePathLCEn, i18nEnLuxC);
49
+ appTree.create(filePathSDEn, i18nEnStamm);
50
+ (0, schematics_1.callRule)((0, index_1.updateEnMessages)(), (0, rxjs_1.of)(appTree), context).subscribe({
51
+ next: (success) => {
52
+ var _a;
53
+ expect(success.exists(filePathDe)).toBeTrue();
54
+ expect(success.exists(filePathEn)).toBeTrue();
55
+ expect(success.exists(filePathLCEn)).toBeTrue();
56
+ expect(success.exists(filePathSDEn)).toBeTrue();
57
+ expect((_a = success.read(filePathEn)) === null || _a === void 0 ? void 0 : _a.toString()).toEqual(i18nEnAppResult);
58
+ done();
59
+ },
60
+ error: (reason) => expect(reason).toBeUndefined()
61
+ });
62
+ });
63
+ });
64
+ });
65
+ const i18nDeApp = `<?xml version="1.0" encoding="UTF-8" ?>
66
+ <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
67
+ <file source-language="de" datatype="plaintext" original="ng2.template">
68
+ <body>
69
+ <trans-unit id="luxc.menu.trigger.btn" datatype="html">
70
+ <source>Menü</source>
71
+ <context-group purpose="location">
72
+ <context context-type="sourcefile">node_modules/@ihk-gfi/src/app/modules/lux-action/lux-menu/lux-menu.component.ts</context>
73
+ <context context-type="linenumber">64</context>
74
+ </context-group>
75
+ </trans-unit>
76
+ <trans-unit id="luxsd.contact.email" datatype="html">
77
+ <source>E-Mail</source>
78
+ <context-group purpose="location">
79
+ <context context-type="sourcefile">src/app/modules/lux-stammdaten/lux-stammdaten-kontakt/lux-stammdaten-kontakt.component.ts</context>
80
+ <context context-type="linenumber">42</context>
81
+ </context-group>
82
+ </trans-unit>
83
+ <trans-unit id="test.001" datatype="html">
84
+ <source>test 001 De</source>
85
+ <context-group purpose="location">
86
+ <context context-type="sourcefile">node_modules/@ihk-gfi/src/app/modules/lux-action/lux-menu/lux-menu.component.ts</context>
87
+ <context context-type="linenumber">64</context>
88
+ </context-group>
89
+ </trans-unit>
90
+ </body>
91
+ </file>
92
+ </xliff>
93
+ `;
94
+ const i18nEnApp = `<?xml version="1.0" encoding="UTF-8" ?>
95
+ <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
96
+ <file source-language="en" datatype="plaintext" original="ng2.template">
97
+ <body>
98
+ <trans-unit id="test.001" datatype="html">
99
+ <source>test 001 De</source>
100
+ <target>test 001 En</target>
101
+ <context-group purpose="location">
102
+ <context context-type="sourcefile">node_modules/@ihk-gfi/src/app/modules/lux-action/lux-menu/lux-menu.component.ts</context>
103
+ <context context-type="linenumber">64</context>
104
+ </context-group>
105
+ </trans-unit>
106
+ </body>
107
+ </file>
108
+ </xliff>
109
+ `;
110
+ const i18nEnStamm = `<?xml version="1.0" encoding="UTF-8" ?>
111
+ <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
112
+ <file source-language="en" datatype="plaintext" original="ng2.template">
113
+ <body>
114
+ <trans-unit id="luxsd.contact.email" datatype="html">
115
+ <source>E-Mail</source>
116
+ <target>E-mail</target>
117
+ <context-group purpose="location">
118
+ <context context-type="sourcefile">src/app/modules/lux-stammdaten/lux-stammdaten-kontakt/lux-stammdaten-kontakt.component.ts</context>
119
+ <context context-type="linenumber">42</context>
120
+ </context-group>
121
+ </trans-unit>
122
+ </body>
123
+ </file>
124
+ </xliff>
125
+ `;
126
+ const i18nEnLuxC = `<?xml version="1.0" encoding="UTF-8" ?>
127
+ <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
128
+ <file source-language="en" datatype="plaintext" original="ng2.template">
129
+ <body>
130
+ <trans-unit id="luxc.menu.trigger.btn" datatype="html">
131
+ <source>Menü</source>
132
+ <target>Menu</target>
133
+ <context-group purpose="location">
134
+ <context context-type="sourcefile">node_modules/@ihk-gfi/src/app/modules/lux-action/lux-menu/lux-menu.component.ts</context>
135
+ <context context-type="linenumber">64</context>
136
+ </context-group>
137
+ </trans-unit>
138
+ </body>
139
+ </file>
140
+ </xliff>
141
+ `;
142
+ const i18nEnAppResult = `<?xml version="1.0" encoding="UTF-8" ?>
143
+ <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
144
+ <file source-language="en" datatype="plaintext" original="ng2.template">
145
+ <body>
146
+ <trans-unit id="luxc.menu.trigger.btn" datatype="html">
147
+ <source>Menü</source>
148
+ <target>Menu</target>
149
+ <context-group purpose="location">
150
+ <context context-type="sourcefile">node_modules/@ihk-gfi/src/app/modules/lux-action/lux-menu/lux-menu.component.ts</context>
151
+ <context context-type="linenumber">64</context>
152
+ </context-group>
153
+ </trans-unit>
154
+ <trans-unit id="luxsd.contact.email" datatype="html">
155
+ <source>E-Mail</source>
156
+ <target>E-mail</target>
157
+ <context-group purpose="location">
158
+ <context context-type="sourcefile">src/app/modules/lux-stammdaten/lux-stammdaten-kontakt/lux-stammdaten-kontakt.component.ts</context>
159
+ <context context-type="linenumber">42</context>
160
+ </context-group>
161
+ </trans-unit>
162
+ <trans-unit id="test.001" datatype="html">
163
+ <source>test 001 De</source>
164
+ <target>test 001 En</target>
165
+ <context-group purpose="location">
166
+ <context context-type="sourcefile">node_modules/@ihk-gfi/src/app/modules/lux-action/lux-menu/lux-menu.component.ts</context>
167
+ <context context-type="linenumber">64</context>
168
+ </context-group>
169
+ </trans-unit>
170
+ </body>
171
+ </file>
172
+ </xliff>
173
+ `;
174
+ //# sourceMappingURL=index_spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index_spec.js","sourceRoot":"","sources":["index_spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2DAAwE;AACxE,gEAAuF;AACvF,6BAA6B;AAC7B,+BAA0C;AAC1C,0CAA+D;AAC/D,0CAA6C;AAC7C,mCAA2C;AAE3C,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,OAAqB,CAAC;IAC1B,IAAI,MAA2B,CAAC;IAChC,IAAI,OAAyB,CAAC;IAE9B,MAAM,WAAW,GAAwD;QACvE,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,KAAK;KACf,CAAC;IAEF,UAAU,CAAC,GAAS,EAAE;QACpB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAClE,MAAM,GAAG,IAAI,6BAAmB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAE/D,MAAM,UAAU,GAAG,qBAAqB,CAAC;QACzC,OAAO,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAAE,WAAW,EAAE,uBAAgB,CAAC,CAAC,SAAS,EAAE,CAAC;QACxG,OAAO,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAAE,aAAa,EAAE,iBAAU,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;QAE7G,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CACnC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CACpG,CAAC;QAEF,iBAAU,CAAC,aAAa,GAAG,CAAC,CAAC;QAE7B,WAAW,CAAC,OAAO,GAAG,iBAAU,CAAC,IAAI,CAAC;QACtC,WAAW,CAAC,IAAI,GAAG,uBAAgB,CAAC,cAAc,GAAG,GAAG,GAAG,iBAAU,CAAC,IAAI,CAAC;QAC3E,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;IAC7B,CAAC,CAAA,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,kDAAkD,EAAE,CAAC,IAAI,EAAE,EAAE;YAC9D,MAAM,UAAU,GAAG,0BAA0B,CAAC;YAC9C,MAAM,UAAU,GAAG,6BAA6B,CAAC;YAEjD,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAEtC,MAAM,YAAY,GAAI,kEAAkE,CAAC;YACzF,MAAM,YAAY,GAAI,kEAAkE,CAAC;YAEzF,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACzC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAE1C,IAAA,qBAAQ,EAAC,IAAA,wBAAgB,GAAE,EAAE,IAAA,SAAY,EAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC;gBACrE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;;oBAEhB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC9C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC9C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAChD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAEhD,MAAM,CAAC,MAAA,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,0CAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBAEtE,IAAI,EAAE,CAAC;gBACT,CAAC;gBACD,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE;aAClD,CAAC,CAAC;QACL,CAAC,CAAC,CAAA;IAAA,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BjB,CAAC;AAEF,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;CAejB,CAAC;AAEF,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;CAenB,CAAC;AAEF,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;CAelB,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BvB,CAAC"}
@@ -0,0 +1,182 @@
1
+ import { callRule, SchematicContext } from '@angular-devkit/schematics';
2
+ import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
3
+ import * as path from 'path';
4
+ import { of as observableOf } from 'rxjs';
5
+ import { appOptions, workspaceOptions } from '../utility/test';
6
+ import { UtilConfig } from '../utility/util';
7
+ import { updateEnMessages } from './index';
8
+
9
+ describe('updateEnMessages', () => {
10
+ let appTree: UnitTestTree;
11
+ let runner: SchematicTestRunner;
12
+ let context: SchematicContext;
13
+
14
+ const testOptions: { project: string; path: string; verbose: boolean } = {
15
+ project: '',
16
+ path: '/',
17
+ verbose: false
18
+ };
19
+
20
+ beforeEach(async () => {
21
+ const collectionPath = path.join(__dirname, '../collection.json');
22
+ runner = new SchematicTestRunner('schematics', collectionPath);
23
+
24
+ const collection = '@schematics/angular';
25
+ appTree = await runner.runExternalSchematicAsync(collection, 'workspace', workspaceOptions).toPromise();
26
+ appTree = await runner.runExternalSchematicAsync(collection, 'application', appOptions, appTree).toPromise();
27
+
28
+ context = runner.engine.createContext(
29
+ runner.engine.createSchematic('update-en-messages', runner.engine.createCollection(collectionPath))
30
+ );
31
+
32
+ UtilConfig.defaultWaitMS = 0;
33
+
34
+ testOptions.project = appOptions.name;
35
+ testOptions.path = workspaceOptions.newProjectRoot + '/' + appOptions.name;
36
+ testOptions.verbose = true;
37
+ });
38
+
39
+ describe('[Rule] updateEnMessages', () => {
40
+ it('Sollte die englische Übersetzungen aktualisieren', (done) => {
41
+ const filePathDe = '/src/locale/messages.xlf';
42
+ const filePathEn = '/src/locale/messages.en.xlf';
43
+
44
+ appTree.create(filePathDe, i18nDeApp);
45
+ appTree.create(filePathEn, i18nEnApp);
46
+
47
+ const filePathLCEn = '/node_modules/@ihk-gfi/lux-components/src/locale/messages.en.xlf';
48
+ const filePathSDEn = '/node_modules/@ihk-gfi/lux-stammdaten/src/locale/messages.en.xlf';
49
+
50
+ appTree.create(filePathLCEn, i18nEnLuxC);
51
+ appTree.create(filePathSDEn, i18nEnStamm);
52
+
53
+ callRule(updateEnMessages(), observableOf(appTree), context).subscribe({
54
+ next: (success) => {
55
+
56
+ expect(success.exists(filePathDe)).toBeTrue();
57
+ expect(success.exists(filePathEn)).toBeTrue();
58
+ expect(success.exists(filePathLCEn)).toBeTrue();
59
+ expect(success.exists(filePathSDEn)).toBeTrue();
60
+
61
+ expect(success.read(filePathEn)?.toString()).toEqual(i18nEnAppResult);
62
+
63
+ done();
64
+ },
65
+ error: (reason) => expect(reason).toBeUndefined()
66
+ });
67
+ })});
68
+ });
69
+
70
+ const i18nDeApp = `<?xml version="1.0" encoding="UTF-8" ?>
71
+ <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
72
+ <file source-language="de" datatype="plaintext" original="ng2.template">
73
+ <body>
74
+ <trans-unit id="luxc.menu.trigger.btn" datatype="html">
75
+ <source>Menü</source>
76
+ <context-group purpose="location">
77
+ <context context-type="sourcefile">node_modules/@ihk-gfi/src/app/modules/lux-action/lux-menu/lux-menu.component.ts</context>
78
+ <context context-type="linenumber">64</context>
79
+ </context-group>
80
+ </trans-unit>
81
+ <trans-unit id="luxsd.contact.email" datatype="html">
82
+ <source>E-Mail</source>
83
+ <context-group purpose="location">
84
+ <context context-type="sourcefile">src/app/modules/lux-stammdaten/lux-stammdaten-kontakt/lux-stammdaten-kontakt.component.ts</context>
85
+ <context context-type="linenumber">42</context>
86
+ </context-group>
87
+ </trans-unit>
88
+ <trans-unit id="test.001" datatype="html">
89
+ <source>test 001 De</source>
90
+ <context-group purpose="location">
91
+ <context context-type="sourcefile">node_modules/@ihk-gfi/src/app/modules/lux-action/lux-menu/lux-menu.component.ts</context>
92
+ <context context-type="linenumber">64</context>
93
+ </context-group>
94
+ </trans-unit>
95
+ </body>
96
+ </file>
97
+ </xliff>
98
+ `;
99
+
100
+ const i18nEnApp = `<?xml version="1.0" encoding="UTF-8" ?>
101
+ <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
102
+ <file source-language="en" datatype="plaintext" original="ng2.template">
103
+ <body>
104
+ <trans-unit id="test.001" datatype="html">
105
+ <source>test 001 De</source>
106
+ <target>test 001 En</target>
107
+ <context-group purpose="location">
108
+ <context context-type="sourcefile">node_modules/@ihk-gfi/src/app/modules/lux-action/lux-menu/lux-menu.component.ts</context>
109
+ <context context-type="linenumber">64</context>
110
+ </context-group>
111
+ </trans-unit>
112
+ </body>
113
+ </file>
114
+ </xliff>
115
+ `;
116
+
117
+ const i18nEnStamm = `<?xml version="1.0" encoding="UTF-8" ?>
118
+ <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
119
+ <file source-language="en" datatype="plaintext" original="ng2.template">
120
+ <body>
121
+ <trans-unit id="luxsd.contact.email" datatype="html">
122
+ <source>E-Mail</source>
123
+ <target>E-mail</target>
124
+ <context-group purpose="location">
125
+ <context context-type="sourcefile">src/app/modules/lux-stammdaten/lux-stammdaten-kontakt/lux-stammdaten-kontakt.component.ts</context>
126
+ <context context-type="linenumber">42</context>
127
+ </context-group>
128
+ </trans-unit>
129
+ </body>
130
+ </file>
131
+ </xliff>
132
+ `;
133
+
134
+ const i18nEnLuxC = `<?xml version="1.0" encoding="UTF-8" ?>
135
+ <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
136
+ <file source-language="en" datatype="plaintext" original="ng2.template">
137
+ <body>
138
+ <trans-unit id="luxc.menu.trigger.btn" datatype="html">
139
+ <source>Menü</source>
140
+ <target>Menu</target>
141
+ <context-group purpose="location">
142
+ <context context-type="sourcefile">node_modules/@ihk-gfi/src/app/modules/lux-action/lux-menu/lux-menu.component.ts</context>
143
+ <context context-type="linenumber">64</context>
144
+ </context-group>
145
+ </trans-unit>
146
+ </body>
147
+ </file>
148
+ </xliff>
149
+ `;
150
+
151
+ const i18nEnAppResult = `<?xml version="1.0" encoding="UTF-8" ?>
152
+ <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
153
+ <file source-language="en" datatype="plaintext" original="ng2.template">
154
+ <body>
155
+ <trans-unit id="luxc.menu.trigger.btn" datatype="html">
156
+ <source>Menü</source>
157
+ <target>Menu</target>
158
+ <context-group purpose="location">
159
+ <context context-type="sourcefile">node_modules/@ihk-gfi/src/app/modules/lux-action/lux-menu/lux-menu.component.ts</context>
160
+ <context context-type="linenumber">64</context>
161
+ </context-group>
162
+ </trans-unit>
163
+ <trans-unit id="luxsd.contact.email" datatype="html">
164
+ <source>E-Mail</source>
165
+ <target>E-mail</target>
166
+ <context-group purpose="location">
167
+ <context context-type="sourcefile">src/app/modules/lux-stammdaten/lux-stammdaten-kontakt/lux-stammdaten-kontakt.component.ts</context>
168
+ <context context-type="linenumber">42</context>
169
+ </context-group>
170
+ </trans-unit>
171
+ <trans-unit id="test.001" datatype="html">
172
+ <source>test 001 De</source>
173
+ <target>test 001 En</target>
174
+ <context-group purpose="location">
175
+ <context context-type="sourcefile">node_modules/@ihk-gfi/src/app/modules/lux-action/lux-menu/lux-menu.component.ts</context>
176
+ <context context-type="linenumber">64</context>
177
+ </context-group>
178
+ </trans-unit>
179
+ </body>
180
+ </file>
181
+ </xliff>
182
+ `;