@zohodesk/i18n 1.0.0-beta.3 → 1.0.0-beta.31

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.
Files changed (60) hide show
  1. package/README.md +120 -2
  2. package/es/I18NContext.js +1 -2
  3. package/es/components/DateTimeDiffFormat.js +192 -200
  4. package/es/components/FormatText.js +4 -25
  5. package/es/components/HOCI18N.js +33 -45
  6. package/es/components/I18N.js +48 -63
  7. package/es/components/I18NProvider.js +60 -85
  8. package/es/components/PluralFormat.js +29 -48
  9. package/es/components/UserTimeDiffFormat.js +65 -74
  10. package/es/components/__tests__/DateTimeDiffFormat.spec.js +868 -657
  11. package/es/components/__tests__/FormatText.spec.js +20 -17
  12. package/es/components/__tests__/HOCI18N.spec.js +18 -22
  13. package/es/components/__tests__/I18N.spec.js +20 -19
  14. package/es/components/__tests__/I18NProvider.spec.js +36 -45
  15. package/es/components/__tests__/PluralFormat.spec.js +20 -17
  16. package/es/components/__tests__/UserTimeDiffFormat.spec.js +1343 -1095
  17. package/es/index.js +2 -6
  18. package/es/utils/__tests__/jsxTranslations.spec.js +174 -0
  19. package/es/utils/index.js +592 -0
  20. package/es/utils/jsxTranslations.js +193 -0
  21. package/lib/I18NContext.js +6 -6
  22. package/lib/components/DateTimeDiffFormat.js +151 -123
  23. package/lib/components/FormatText.js +32 -22
  24. package/lib/components/HOCI18N.js +47 -23
  25. package/lib/components/I18N.js +62 -36
  26. package/lib/components/I18NProvider.js +85 -72
  27. package/lib/components/PluralFormat.js +42 -32
  28. package/lib/components/UserTimeDiffFormat.js +79 -56
  29. package/lib/components/__tests__/DateTimeDiffFormat.spec.js +815 -629
  30. package/lib/components/__tests__/FormatText.spec.js +23 -25
  31. package/lib/components/__tests__/HOCI18N.spec.js +26 -34
  32. package/lib/components/__tests__/I18N.spec.js +21 -26
  33. package/lib/components/__tests__/I18NProvider.spec.js +43 -51
  34. package/lib/components/__tests__/PluralFormat.spec.js +24 -28
  35. package/lib/components/__tests__/UserTimeDiffFormat.spec.js +1256 -1039
  36. package/lib/index.js +85 -110
  37. package/lib/utils/__tests__/jsxTranslations.spec.js +183 -0
  38. package/lib/utils/index.js +658 -0
  39. package/lib/utils/jsxTranslations.js +242 -0
  40. package/package.json +3 -2
  41. package/src/components/DateTimeDiffFormat.js +86 -55
  42. package/src/components/I18N.js +2 -0
  43. package/src/components/I18NProvider.js +44 -33
  44. package/src/components/UserTimeDiffFormat.js +24 -18
  45. package/src/index.js +7 -9
  46. package/src/utils/__tests__/jsxTranslations.spec.js +213 -0
  47. package/src/utils/index.js +632 -0
  48. package/src/utils/jsxTranslations.js +180 -0
  49. package/es/components/NewDateFormat.js +0 -50
  50. package/es/offset.js +0 -629
  51. package/es/timezones.js +0 -118
  52. package/es/utils.js +0 -621
  53. package/lib/components/NewDateFormat.js +0 -68
  54. package/lib/offset.js +0 -634
  55. package/lib/timezones.js +0 -129
  56. package/lib/utils.js +0 -651
  57. package/src/components/NewDateFormat.js +0 -60
  58. package/src/offset.js +0 -629
  59. package/src/timezones.js +0 -113
  60. package/src/utils.js +0 -648
package/lib/index.js CHANGED
@@ -1,243 +1,218 @@
1
- 'use strict';
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
4
 
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports.NewDateFormat = exports.getI18NValue = exports.UserTimeDiffFormat = exports.DateTimeDiffFormat = exports.PluralFormat = exports.FormatText = exports.HOCI18N = exports.I18N = exports.i18NProviderUtils = exports.I18NProvider = exports.I18NContext = exports.getTimezoneOffset = exports.unpack = exports.getFormatedDate = exports.getSuffix = exports.getLyears = exports.getDiffObj = exports.userDateFormat = exports.convertUserTzToUtc = exports.convertUtcToUserTz = exports.getUtcTimeStamp = exports.convertTimezone = exports.isTwoWeeksOrMore = exports.isWithinAWeek = exports.isTomorrow = exports.isYesterday = exports.isToday = exports.getI18NInfo = exports.getValues = exports.unescapeUnicode = exports.replaceI18NValuesWithRegex = exports.pad = exports.formatDate = exports.browserOffset = undefined;
7
-
8
- var _utils = require('./utils');
9
-
10
- Object.defineProperty(exports, 'browserOffset', {
8
+ Object.defineProperty(exports, "DateTimeDiffFormat", {
11
9
  enumerable: true,
12
10
  get: function get() {
13
- return _utils.browserOffset;
11
+ return _DateTimeDiffFormat["default"];
14
12
  }
15
13
  });
16
- Object.defineProperty(exports, 'formatDate', {
14
+ Object.defineProperty(exports, "FormatText", {
17
15
  enumerable: true,
18
16
  get: function get() {
19
- return _utils.formatDate;
17
+ return _FormatText["default"];
20
18
  }
21
19
  });
22
- Object.defineProperty(exports, 'pad', {
20
+ Object.defineProperty(exports, "HOCI18N", {
23
21
  enumerable: true,
24
22
  get: function get() {
25
- return _utils.pad;
23
+ return _HOCI18N["default"];
26
24
  }
27
25
  });
28
- Object.defineProperty(exports, 'replaceI18NValuesWithRegex', {
26
+ Object.defineProperty(exports, "I18N", {
29
27
  enumerable: true,
30
28
  get: function get() {
31
- return _utils.replaceI18NValuesWithRegex;
29
+ return _I18N["default"];
32
30
  }
33
31
  });
34
- Object.defineProperty(exports, 'unescapeUnicode', {
32
+ Object.defineProperty(exports, "I18NContext", {
35
33
  enumerable: true,
36
34
  get: function get() {
37
- return _utils.unescapeUnicode;
35
+ return _I18NContext.I18NContext;
38
36
  }
39
37
  });
40
- Object.defineProperty(exports, 'getValues', {
38
+ Object.defineProperty(exports, "I18NProvider", {
41
39
  enumerable: true,
42
40
  get: function get() {
43
- return _utils.getValues;
41
+ return _I18NProvider["default"];
44
42
  }
45
43
  });
46
- Object.defineProperty(exports, 'getI18NInfo', {
44
+ Object.defineProperty(exports, "PluralFormat", {
47
45
  enumerable: true,
48
46
  get: function get() {
49
- return _utils.getI18NInfo;
47
+ return _PluralFormat["default"];
50
48
  }
51
49
  });
52
- Object.defineProperty(exports, 'isToday', {
50
+ Object.defineProperty(exports, "UserTimeDiffFormat", {
53
51
  enumerable: true,
54
52
  get: function get() {
55
- return _utils.isToday;
53
+ return _UserTimeDiffFormat["default"];
56
54
  }
57
55
  });
58
- Object.defineProperty(exports, 'isYesterday', {
56
+ Object.defineProperty(exports, "dayi18n", {
59
57
  enumerable: true,
60
58
  get: function get() {
61
- return _utils.isYesterday;
59
+ return _utils.dayi18n;
62
60
  }
63
61
  });
64
- Object.defineProperty(exports, 'isTomorrow', {
62
+ Object.defineProperty(exports, "formatDate", {
65
63
  enumerable: true,
66
64
  get: function get() {
67
- return _utils.isTomorrow;
65
+ return _utils.formatDate;
68
66
  }
69
67
  });
70
- Object.defineProperty(exports, 'isWithinAWeek', {
68
+ Object.defineProperty(exports, "getDatePatternWithoutYear", {
71
69
  enumerable: true,
72
70
  get: function get() {
73
- return _utils.isWithinAWeek;
71
+ return _utils.getDatePatternWithoutYear;
74
72
  }
75
73
  });
76
- Object.defineProperty(exports, 'isTwoWeeksOrMore', {
74
+ Object.defineProperty(exports, "getDiffObj", {
77
75
  enumerable: true,
78
76
  get: function get() {
79
- return _utils.isTwoWeeksOrMore;
77
+ return _utils.getDiffObj;
80
78
  }
81
79
  });
82
- Object.defineProperty(exports, 'convertTimezone', {
80
+ Object.defineProperty(exports, "getI18NInfo", {
83
81
  enumerable: true,
84
82
  get: function get() {
85
- return _utils.convertTimezone;
83
+ return _utils.getI18NInfo;
86
84
  }
87
85
  });
88
- Object.defineProperty(exports, 'getUtcTimeStamp', {
86
+ exports.getI18NValue = void 0;
87
+ Object.defineProperty(exports, "getLyears", {
89
88
  enumerable: true,
90
89
  get: function get() {
91
- return _utils.getUtcTimeStamp;
90
+ return _utils.getLyears;
92
91
  }
93
92
  });
94
- Object.defineProperty(exports, 'convertUtcToUserTz', {
93
+ Object.defineProperty(exports, "getSuffix", {
95
94
  enumerable: true,
96
95
  get: function get() {
97
- return _utils.convertUtcToUserTz;
96
+ return _utils.getSuffix;
98
97
  }
99
98
  });
100
- Object.defineProperty(exports, 'convertUserTzToUtc', {
99
+ Object.defineProperty(exports, "getValues", {
101
100
  enumerable: true,
102
101
  get: function get() {
103
- return _utils.convertUserTzToUtc;
102
+ return _utils.getValues;
104
103
  }
105
104
  });
106
- Object.defineProperty(exports, 'userDateFormat', {
105
+ Object.defineProperty(exports, "i18NProviderUtils", {
107
106
  enumerable: true,
108
107
  get: function get() {
109
- return _utils.userDateFormat;
108
+ return _I18NProvider.i18NProviderUtils;
110
109
  }
111
110
  });
112
- Object.defineProperty(exports, 'getDiffObj', {
111
+ Object.defineProperty(exports, "isToday", {
113
112
  enumerable: true,
114
113
  get: function get() {
115
- return _utils.getDiffObj;
114
+ return _utils.isToday;
116
115
  }
117
116
  });
118
- Object.defineProperty(exports, 'getLyears', {
117
+ Object.defineProperty(exports, "isTomorrow", {
119
118
  enumerable: true,
120
119
  get: function get() {
121
- return _utils.getLyears;
120
+ return _utils.isTomorrow;
122
121
  }
123
122
  });
124
- Object.defineProperty(exports, 'getSuffix', {
123
+ Object.defineProperty(exports, "isTwoWeeksOrMore", {
125
124
  enumerable: true,
126
125
  get: function get() {
127
- return _utils.getSuffix;
126
+ return _utils.isTwoWeeksOrMore;
128
127
  }
129
128
  });
130
- Object.defineProperty(exports, 'getFormatedDate', {
129
+ Object.defineProperty(exports, "isWithinAWeek", {
131
130
  enumerable: true,
132
131
  get: function get() {
133
- return _utils.getFormatedDate;
132
+ return _utils.isWithinAWeek;
134
133
  }
135
134
  });
136
-
137
- var _timezones = require('./timezones');
138
-
139
- Object.defineProperty(exports, 'unpack', {
135
+ Object.defineProperty(exports, "isYesterday", {
140
136
  enumerable: true,
141
137
  get: function get() {
142
- return _timezones.unpack;
138
+ return _utils.isYesterday;
143
139
  }
144
140
  });
145
- Object.defineProperty(exports, 'getTimezoneOffset', {
141
+ Object.defineProperty(exports, "monthi18n", {
146
142
  enumerable: true,
147
143
  get: function get() {
148
- return _timezones.getTimezoneOffset;
144
+ return _utils.monthi18n;
149
145
  }
150
146
  });
151
-
152
- var _I18NContext = require('./I18NContext');
153
-
154
- Object.defineProperty(exports, 'I18NContext', {
147
+ Object.defineProperty(exports, "pad", {
155
148
  enumerable: true,
156
149
  get: function get() {
157
- return _I18NContext.I18NContext;
150
+ return _utils.pad;
158
151
  }
159
152
  });
160
-
161
- var _I18NProvider = require('./components/I18NProvider');
162
-
163
- Object.defineProperty(exports, 'I18NProvider', {
153
+ Object.defineProperty(exports, "replaceI18NValuesWithRegex", {
164
154
  enumerable: true,
165
155
  get: function get() {
166
- return _interopRequireDefault(_I18NProvider).default;
156
+ return _utils.replaceI18NValuesWithRegex;
167
157
  }
168
158
  });
169
- Object.defineProperty(exports, 'i18NProviderUtils', {
159
+ Object.defineProperty(exports, "setI18NKeyMapping", {
170
160
  enumerable: true,
171
161
  get: function get() {
172
- return _I18NProvider.i18NProviderUtils;
162
+ return _utils.setI18NKeyMapping;
173
163
  }
174
164
  });
175
-
176
- var _I18N = require('./components/I18N');
177
-
178
- Object.defineProperty(exports, 'I18N', {
165
+ Object.defineProperty(exports, "setLocalizedData", {
179
166
  enumerable: true,
180
167
  get: function get() {
181
- return _interopRequireDefault(_I18N).default;
168
+ return _utils.setLocalizedData;
182
169
  }
183
170
  });
184
-
185
- var _HOCI18N = require('./components/HOCI18N');
186
-
187
- Object.defineProperty(exports, 'HOCI18N', {
171
+ Object.defineProperty(exports, "timei18n", {
188
172
  enumerable: true,
189
173
  get: function get() {
190
- return _interopRequireDefault(_HOCI18N).default;
174
+ return _utils.timei18n;
191
175
  }
192
176
  });
193
-
194
- var _FormatText = require('./components/FormatText');
195
-
196
- Object.defineProperty(exports, 'FormatText', {
177
+ Object.defineProperty(exports, "unescapeUnicode", {
197
178
  enumerable: true,
198
179
  get: function get() {
199
- return _interopRequireDefault(_FormatText).default;
180
+ return _utils.unescapeUnicode;
200
181
  }
201
182
  });
202
-
203
- var _PluralFormat = require('./components/PluralFormat');
204
-
205
- Object.defineProperty(exports, 'PluralFormat', {
183
+ Object.defineProperty(exports, "userDateFormat", {
206
184
  enumerable: true,
207
185
  get: function get() {
208
- return _interopRequireDefault(_PluralFormat).default;
186
+ return _utils.userDateFormat;
209
187
  }
210
188
  });
211
189
 
212
- var _DateTimeDiffFormat = require('./components/DateTimeDiffFormat');
190
+ var _utils = require("./utils");
213
191
 
214
- Object.defineProperty(exports, 'DateTimeDiffFormat', {
215
- enumerable: true,
216
- get: function get() {
217
- return _interopRequireDefault(_DateTimeDiffFormat).default;
218
- }
219
- });
192
+ var _I18NContext = require("./I18NContext");
220
193
 
221
- var _UserTimeDiffFormat = require('./components/UserTimeDiffFormat');
194
+ var _I18NProvider = _interopRequireWildcard(require("./components/I18NProvider"));
222
195
 
223
- Object.defineProperty(exports, 'UserTimeDiffFormat', {
224
- enumerable: true,
225
- get: function get() {
226
- return _interopRequireDefault(_UserTimeDiffFormat).default;
227
- }
228
- });
196
+ var _I18N = _interopRequireDefault(require("./components/I18N"));
229
197
 
230
- var _NewDateFormat = require('./components/NewDateFormat');
198
+ var _HOCI18N = _interopRequireDefault(require("./components/HOCI18N"));
231
199
 
232
- Object.defineProperty(exports, 'NewDateFormat', {
233
- enumerable: true,
234
- get: function get() {
235
- return _interopRequireDefault(_NewDateFormat).default;
236
- }
237
- });
200
+ var _FormatText = _interopRequireDefault(require("./components/FormatText"));
201
+
202
+ var _PluralFormat = _interopRequireDefault(require("./components/PluralFormat"));
203
+
204
+ var _DateTimeDiffFormat = _interopRequireDefault(require("./components/DateTimeDiffFormat"));
238
205
 
239
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
206
+ var _UserTimeDiffFormat = _interopRequireDefault(require("./components/UserTimeDiffFormat"));
240
207
 
241
- var getI18NValue = exports.getI18NValue = function getI18NValue(i18n, key, values) {
208
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
209
+
210
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
211
+
212
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
213
+
214
+ var getI18NValue = function getI18NValue(i18n, key, values) {
242
215
  return (0, _utils.getI18NValue)(i18n)(key, values);
243
- };
216
+ };
217
+
218
+ exports.getI18NValue = getI18NValue;
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _jsxTranslations = require("../jsxTranslations");
6
+
7
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8
+
9
+ function Bold(_ref) {
10
+ var children = _ref.children;
11
+ return /*#__PURE__*/_react["default"].createElement("b", null, children);
12
+ }
13
+
14
+ function Simple(props) {
15
+ return /*#__PURE__*/_react["default"].createElement("span", null, props.children);
16
+ }
17
+
18
+ describe('Verifying splitMatchedExp method', function () {
19
+ it('A string with no match test', function () {
20
+ var response = (0, _jsxTranslations.splitMatchedExp)({
21
+ expression: '{[0-9]+?}',
22
+ charLenToOmit: 1,
23
+ string: "Hello"
24
+ });
25
+ var expected = {
26
+ splitString: ['Hello'],
27
+ matchedExpKeys: []
28
+ };
29
+ expect(response).toEqual(expected);
30
+ });
31
+ it('A string with JSX Tag placeholder test', function () {
32
+ var response = (0, _jsxTranslations.splitMatchedExp)({
33
+ expression: '<[A-Za-z0-9]+?>',
34
+ charLenToOmit: 1,
35
+ string: "Hi <00Good> occurs <01Strong>"
36
+ });
37
+ var expected = {
38
+ splitString: ["Hi ", " occurs ", ""],
39
+ matchedExpKeys: ['00Good', '01Strong']
40
+ };
41
+ expect(response).toEqual(expected);
42
+ });
43
+ it('A string with String placeholder test', function () {
44
+ var response = (0, _jsxTranslations.splitMatchedExp)({
45
+ expression: '{[0-9]+?}',
46
+ charLenToOmit: 1,
47
+ string: "Hi {0} occurs {1}"
48
+ });
49
+ var expected = {
50
+ splitString: ["Hi ", " occurs ", ""],
51
+ matchedExpKeys: ['0', '1']
52
+ };
53
+ expect(response).toEqual(expected);
54
+ });
55
+ });
56
+ describe('Verifying generateChildren Method', function () {
57
+ it('A string with Tag Placeholder and String placeholders', function () {
58
+ var children = {
59
+ '00Good': function Good() {},
60
+ '01Strong': function Strong() {}
61
+ };
62
+ var response = (0, _jsxTranslations.generateChildren)({
63
+ children: children,
64
+ child: 'Hi <00Good>{0}<01Strong>'
65
+ });
66
+ var expected = {
67
+ newChildren: [['Hi '], children['00Good'], ['', ''], children['01Strong']],
68
+ stringPlaceHolders: {
69
+ 0: [],
70
+ 2: ['0']
71
+ }
72
+ };
73
+ expect(response).toEqual(expected);
74
+ });
75
+ });
76
+ describe('Verifying the replaceWithComponentPlaceHolder method', function () {
77
+ it('A JSX Tag with string', function () {
78
+ var response = (0, _jsxTranslations.replaceWithComponentPlaceHolder)({
79
+ componentId: 'Simple',
80
+ i18nKey: '<Simple>Hi everyone</Simple>',
81
+ childrenLength: 1
82
+ });
83
+ var expected = '<01Simple>';
84
+ expect(response).toBe(expected);
85
+ });
86
+ it('A string with multiple JSX Tags', function () {
87
+ var response = (0, _jsxTranslations.replaceWithComponentPlaceHolder)({
88
+ componentId: 'Simple',
89
+ i18nKey: 'Greetings <Simple>Hi everyone</Simple> for the <Simple>Day</Simple>',
90
+ childrenLength: 1
91
+ });
92
+ var expected = 'Greetings <01Simple> for the <Simple>Day</Simple>';
93
+ expect(response).toBe(expected);
94
+ });
95
+ });
96
+ describe('Verifying the createElement method', function () {
97
+ it('A component Id with JSX children and Dynamic String placeholders', function () {
98
+ var jsxChild = (0, _jsxTranslations.createElement)({
99
+ componentId: 'Simple',
100
+ children: [['Greetings']],
101
+ stringPlaceHolders: {
102
+ 0: []
103
+ }
104
+ });
105
+ var response = (0, _jsxTranslations.createElement)({
106
+ componentId: -1,
107
+ children: [['Hi ', ','], jsxChild, [' for the day']],
108
+ stringPlaceHolders: {
109
+ 0: ['0'],
110
+ 2: []
111
+ }
112
+ })({
113
+ components: {
114
+ Simple: {
115
+ type: Simple
116
+ }
117
+ },
118
+ values: ['Zoho Desk']
119
+ });
120
+
121
+ var expected = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "Hi Zoho Desk,", /*#__PURE__*/_react["default"].createElement(Simple, null, "Greetings"), " for the day");
122
+
123
+ expect(JSON.stringify(response)).toEqual(JSON.stringify(expected));
124
+ });
125
+ });
126
+ describe('Verifying the prepareI18NFunc method', function () {
127
+ //Hi <Bo01ld>Gigiee</Bo01ld>,<Simple> How are you</Simple><Simple>Make it simple</Simple>
128
+ it('A text with sibling JSX tags and alphanumeric JSX Tags', function () {
129
+ var response = (0, _jsxTranslations.prepareI18NFunc)({
130
+ i18nKey: 'Hi <Bo01ld>Gigiee</Bo01ld>,<Simple>How are you</Simple><Simple>Make it simple</Simple>'
131
+ })({
132
+ components: {
133
+ 'Bo01ld': {
134
+ type: Bold
135
+ },
136
+ Simple: {
137
+ type: Simple
138
+ }
139
+ }
140
+ });
141
+
142
+ var expected = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "Hi ", /*#__PURE__*/_react["default"].createElement(Bold, null, "Gigiee"), ",", /*#__PURE__*/_react["default"].createElement(Simple, null, "How are you"), /*#__PURE__*/_react["default"].createElement(Simple, null, "Make it simple"));
143
+
144
+ expect(JSON.stringify(response)).toEqual(JSON.stringify(expected));
145
+ });
146
+ });
147
+ describe('Verifying getI18NComponent method', function () {
148
+ it('An i18n key with JSX tag in its value', function () {
149
+ var i18n = {
150
+ 'support.demo': 'Hi <Bo01ld>Gigiee</Bo01ld>,<Simple>How are you</Simple><Simple>Make it simple</Simple>'
151
+ };
152
+ var I18N = (0, _jsxTranslations.getI18NComponent)(i18n);
153
+ var response = I18N('support.demo')({
154
+ components: {
155
+ 'Bo01ld': {
156
+ type: Bold
157
+ },
158
+ Simple: {
159
+ type: Simple
160
+ }
161
+ }
162
+ });
163
+
164
+ var expected = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "Hi ", /*#__PURE__*/_react["default"].createElement(Bold, null, "Gigiee"), ",", /*#__PURE__*/_react["default"].createElement(Simple, null, "How are you"), /*#__PURE__*/_react["default"].createElement(Simple, null, "Make it simple"));
165
+
166
+ expect(JSON.stringify(response)).toEqual(JSON.stringify(expected));
167
+ });
168
+ it('Testing absence of i18n object', function () {
169
+ var I18N = (0, _jsxTranslations.getI18NComponent)();
170
+ var response = I18N('support.demo');
171
+ var expected = 'support.demo';
172
+ expect(expected).toBe(response);
173
+ });
174
+ it('Testing of missing i18n key', function () {
175
+ var i18n = {
176
+ 'support.demo': 'Demo'
177
+ };
178
+ var I18N = (0, _jsxTranslations.getI18NComponent)(i18n);
179
+ var response = I18N('support.need');
180
+ var expected = 'support.need';
181
+ expect(expected).toBe(response);
182
+ });
183
+ });