@atlaskit/editor-common 60.1.0 → 61.0.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.
Files changed (221) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/card/package.json +7 -0
  3. package/dist/cjs/card/cardOptions.js +5 -0
  4. package/dist/cjs/emoji.js +23 -0
  5. package/dist/cjs/extensions/extension-fields-helpers.js +1 -1
  6. package/dist/cjs/extensions/index.js +46 -40
  7. package/dist/cjs/extensions/manifest-helpers.js +3 -1
  8. package/dist/cjs/extensions/module-helpers.js +3 -1
  9. package/dist/cjs/extensions/types/field-definitions.js +7 -1
  10. package/dist/cjs/extensions/types/index.js +14 -8
  11. package/dist/cjs/extensions.js +38 -32
  12. package/dist/cjs/i18n/cs.js +1 -0
  13. package/dist/cjs/i18n/da.js +1 -0
  14. package/dist/cjs/i18n/de.js +1 -0
  15. package/dist/cjs/i18n/es.js +1 -0
  16. package/dist/cjs/i18n/fi.js +1 -0
  17. package/dist/cjs/i18n/fr.js +1 -0
  18. package/dist/cjs/i18n/hu.js +1 -0
  19. package/dist/cjs/i18n/index.js +26 -26
  20. package/dist/cjs/i18n/it.js +1 -0
  21. package/dist/cjs/i18n/ja.js +1 -0
  22. package/dist/cjs/i18n/ko.js +1 -0
  23. package/dist/cjs/i18n/nb.js +1 -0
  24. package/dist/cjs/i18n/nl.js +1 -0
  25. package/dist/cjs/i18n/pl.js +1 -0
  26. package/dist/cjs/i18n/pt_BR.js +1 -0
  27. package/dist/cjs/i18n/ru.js +1 -0
  28. package/dist/cjs/i18n/sv.js +1 -0
  29. package/dist/cjs/i18n/th.js +1 -0
  30. package/dist/cjs/i18n/tr.js +1 -0
  31. package/dist/cjs/i18n/uk.js +1 -0
  32. package/dist/cjs/i18n/vi.js +1 -0
  33. package/dist/cjs/i18n/zh.js +1 -1
  34. package/dist/cjs/i18n/zh_TW.js +1 -0
  35. package/dist/cjs/in-product.js +14 -14
  36. package/dist/cjs/index.js +314 -302
  37. package/dist/cjs/mention.js +23 -0
  38. package/dist/cjs/messages/codeBidiWarning.js +21 -0
  39. package/dist/cjs/messages/index.js +8 -0
  40. package/dist/cjs/provider-factory/context.js +1 -1
  41. package/dist/cjs/provider-factory.js +6 -6
  42. package/dist/cjs/provider-helpers/promise-helpers.js +1 -1
  43. package/dist/cjs/styles/index.js +86 -80
  44. package/dist/cjs/styles/shared/annotation.js +1 -1
  45. package/dist/cjs/styles/shared/block-marks.js +1 -1
  46. package/dist/cjs/styles/shared/media-single.js +1 -1
  47. package/dist/cjs/styles/shared/panel.js +90 -37
  48. package/dist/cjs/styles/shared/table.js +3 -3
  49. package/dist/cjs/type-ahead/index.js +1 -1
  50. package/dist/cjs/types/annotation/emitter.js +1 -1
  51. package/dist/cjs/ufo/experience-store.js +160 -0
  52. package/dist/cjs/ufo/index.js +25 -0
  53. package/dist/cjs/ui/BaseTheme/index.js +2 -2
  54. package/dist/cjs/ui/Expand/index.js +1 -1
  55. package/dist/cjs/ui/MediaSingle/grid.js +2 -2
  56. package/dist/cjs/ui/MediaSingle/index.js +2 -1
  57. package/dist/cjs/ui/MediaSingle/styled.js +1 -1
  58. package/dist/cjs/ui/Messages/index.js +1 -1
  59. package/dist/cjs/ui/Popup/index.js +1 -1
  60. package/dist/cjs/ui/Popup/utils.js +5 -5
  61. package/dist/cjs/ui/WidthProvider/index.js +2 -2
  62. package/dist/cjs/ui/index.js +72 -72
  63. package/dist/cjs/utils/analytics.js +6 -5
  64. package/dist/cjs/utils/breakout.js +1 -1
  65. package/dist/cjs/utils/compareNodes.js +6 -0
  66. package/dist/cjs/utils/date.js +1 -1
  67. package/dist/cjs/utils/index.js +129 -107
  68. package/dist/cjs/utils/performance/measure-tti.js +2 -2
  69. package/dist/cjs/utils/performance/measure.js +1 -1
  70. package/dist/cjs/utils/profiler/render-count.js +135 -0
  71. package/dist/cjs/utils/table.js +1 -1
  72. package/dist/cjs/utils/validate-using-spec.js +1 -1
  73. package/dist/cjs/utils/validator.js +47 -27
  74. package/dist/cjs/version.json +1 -1
  75. package/dist/es2019/card/cardOptions.js +1 -0
  76. package/dist/es2019/emoji.js +2 -0
  77. package/dist/es2019/extensions/index.js +1 -1
  78. package/dist/es2019/extensions/types/field-definitions.js +3 -0
  79. package/dist/es2019/extensions/types/index.js +1 -1
  80. package/dist/es2019/extensions.js +1 -1
  81. package/dist/es2019/i18n/cs.js +1 -0
  82. package/dist/es2019/i18n/da.js +1 -0
  83. package/dist/es2019/i18n/de.js +1 -0
  84. package/dist/es2019/i18n/es.js +1 -0
  85. package/dist/es2019/i18n/fi.js +1 -0
  86. package/dist/es2019/i18n/fr.js +1 -0
  87. package/dist/es2019/i18n/hu.js +1 -0
  88. package/dist/es2019/i18n/it.js +1 -0
  89. package/dist/es2019/i18n/ja.js +1 -0
  90. package/dist/es2019/i18n/ko.js +1 -0
  91. package/dist/es2019/i18n/nb.js +1 -0
  92. package/dist/es2019/i18n/nl.js +1 -0
  93. package/dist/es2019/i18n/pl.js +1 -0
  94. package/dist/es2019/i18n/pt_BR.js +1 -0
  95. package/dist/es2019/i18n/ru.js +1 -0
  96. package/dist/es2019/i18n/sv.js +1 -0
  97. package/dist/es2019/i18n/th.js +1 -0
  98. package/dist/es2019/i18n/tr.js +1 -0
  99. package/dist/es2019/i18n/uk.js +1 -0
  100. package/dist/es2019/i18n/vi.js +1 -0
  101. package/dist/es2019/i18n/zh.js +1 -1
  102. package/dist/es2019/i18n/zh_TW.js +1 -0
  103. package/dist/es2019/index.js +26 -8
  104. package/dist/es2019/mention.js +2 -0
  105. package/dist/es2019/messages/codeBidiWarning.js +12 -0
  106. package/dist/es2019/messages/index.js +1 -0
  107. package/dist/es2019/styles/index.js +4 -2
  108. package/dist/es2019/styles/shared/block-marks.js +1 -2
  109. package/dist/es2019/styles/shared/media-single.js +10 -0
  110. package/dist/es2019/styles/shared/panel.js +99 -45
  111. package/dist/es2019/styles/shared/table.js +2 -1
  112. package/dist/es2019/ufo/experience-store.js +116 -0
  113. package/dist/es2019/ufo/index.js +1 -0
  114. package/dist/es2019/ui/index.js +8 -3
  115. package/dist/es2019/utils/compareNodes.js +6 -0
  116. package/dist/es2019/utils/index.js +3 -1
  117. package/dist/es2019/utils/profiler/render-count.js +107 -0
  118. package/dist/es2019/utils/validator.js +36 -13
  119. package/dist/es2019/version.json +1 -1
  120. package/dist/esm/card/cardOptions.js +1 -0
  121. package/dist/esm/emoji.js +2 -0
  122. package/dist/esm/extensions/index.js +1 -1
  123. package/dist/esm/extensions/types/field-definitions.js +3 -0
  124. package/dist/esm/extensions/types/index.js +1 -1
  125. package/dist/esm/extensions.js +1 -1
  126. package/dist/esm/i18n/cs.js +1 -0
  127. package/dist/esm/i18n/da.js +1 -0
  128. package/dist/esm/i18n/de.js +1 -0
  129. package/dist/esm/i18n/es.js +1 -0
  130. package/dist/esm/i18n/fi.js +1 -0
  131. package/dist/esm/i18n/fr.js +1 -0
  132. package/dist/esm/i18n/hu.js +1 -0
  133. package/dist/esm/i18n/it.js +1 -0
  134. package/dist/esm/i18n/ja.js +1 -0
  135. package/dist/esm/i18n/ko.js +1 -0
  136. package/dist/esm/i18n/nb.js +1 -0
  137. package/dist/esm/i18n/nl.js +1 -0
  138. package/dist/esm/i18n/pl.js +1 -0
  139. package/dist/esm/i18n/pt_BR.js +1 -0
  140. package/dist/esm/i18n/ru.js +1 -0
  141. package/dist/esm/i18n/sv.js +1 -0
  142. package/dist/esm/i18n/th.js +1 -0
  143. package/dist/esm/i18n/tr.js +1 -0
  144. package/dist/esm/i18n/uk.js +1 -0
  145. package/dist/esm/i18n/vi.js +1 -0
  146. package/dist/esm/i18n/zh.js +1 -1
  147. package/dist/esm/i18n/zh_TW.js +1 -0
  148. package/dist/esm/index.js +26 -8
  149. package/dist/esm/mention.js +2 -0
  150. package/dist/esm/messages/codeBidiWarning.js +12 -0
  151. package/dist/esm/messages/index.js +1 -0
  152. package/dist/esm/styles/index.js +4 -2
  153. package/dist/esm/styles/shared/block-marks.js +1 -1
  154. package/dist/esm/styles/shared/media-single.js +1 -1
  155. package/dist/esm/styles/shared/panel.js +84 -37
  156. package/dist/esm/styles/shared/table.js +2 -2
  157. package/dist/esm/ufo/experience-store.js +144 -0
  158. package/dist/esm/ufo/index.js +1 -0
  159. package/dist/esm/ui/index.js +8 -3
  160. package/dist/esm/utils/compareNodes.js +6 -0
  161. package/dist/esm/utils/index.js +3 -1
  162. package/dist/esm/utils/profiler/render-count.js +123 -0
  163. package/dist/esm/utils/validator.js +46 -26
  164. package/dist/esm/version.json +1 -1
  165. package/dist/types/card/cardOptions.d.ts +9 -0
  166. package/dist/types/card/index.d.ts +1 -9
  167. package/dist/types/collab.d.ts +1 -1
  168. package/dist/types/emoji.d.ts +3 -0
  169. package/dist/types/extensions/index.d.ts +1 -1
  170. package/dist/types/extensions/types/extension-handler.d.ts +6 -2
  171. package/dist/types/extensions/types/extension-parameters.d.ts +1 -0
  172. package/dist/types/extensions/types/field-definitions.d.ts +2 -0
  173. package/dist/types/extensions/types/index.d.ts +1 -1
  174. package/dist/types/extensions.d.ts +1 -1
  175. package/dist/types/i18n/cs.d.ts +1 -0
  176. package/dist/types/i18n/da.d.ts +1 -0
  177. package/dist/types/i18n/de.d.ts +1 -0
  178. package/dist/types/i18n/es.d.ts +1 -0
  179. package/dist/types/i18n/fi.d.ts +1 -0
  180. package/dist/types/i18n/fr.d.ts +1 -0
  181. package/dist/types/i18n/hu.d.ts +1 -0
  182. package/dist/types/i18n/it.d.ts +1 -0
  183. package/dist/types/i18n/ja.d.ts +1 -0
  184. package/dist/types/i18n/ko.d.ts +1 -0
  185. package/dist/types/i18n/nb.d.ts +1 -0
  186. package/dist/types/i18n/nl.d.ts +1 -0
  187. package/dist/types/i18n/pl.d.ts +1 -0
  188. package/dist/types/i18n/pt_BR.d.ts +1 -0
  189. package/dist/types/i18n/ru.d.ts +1 -0
  190. package/dist/types/i18n/sv.d.ts +1 -0
  191. package/dist/types/i18n/th.d.ts +1 -0
  192. package/dist/types/i18n/tr.d.ts +1 -0
  193. package/dist/types/i18n/uk.d.ts +1 -0
  194. package/dist/types/i18n/vi.d.ts +1 -0
  195. package/dist/types/i18n/zh.d.ts +1 -0
  196. package/dist/types/i18n/zh_TW.d.ts +1 -0
  197. package/dist/types/index.d.ts +7 -3
  198. package/dist/types/mention.d.ts +2 -0
  199. package/dist/types/messages/codeBidiWarning.d.ts +11 -0
  200. package/dist/types/messages/index.d.ts +1 -0
  201. package/dist/types/provider-factory.d.ts +1 -0
  202. package/dist/types/styles/index.d.ts +1 -1
  203. package/dist/types/styles/shared/panel.d.ts +2 -0
  204. package/dist/types/ufo/experience-store.d.ts +33 -0
  205. package/dist/types/ufo/index.d.ts +1 -0
  206. package/dist/types/utils/index.d.ts +2 -0
  207. package/dist/types/utils/profiler/render-count.d.ts +50 -0
  208. package/emoji/package.json +7 -0
  209. package/mention/package.json +7 -0
  210. package/package.json +29 -17
  211. package/provider-helpers/package.json +7 -0
  212. package/types/package.json +7 -0
  213. package/ufo/package.json +7 -0
  214. package/ui/package.json +7 -0
  215. package/utils/package.json +7 -0
  216. package/dist/cjs/ui/Caption/index.test.js +0 -82
  217. package/dist/cjs/utils/performance/measure-tti.test.js +0 -183
  218. package/dist/es2019/ui/Caption/index.test.js +0 -73
  219. package/dist/es2019/utils/performance/measure-tti.test.js +0 -124
  220. package/dist/esm/ui/Caption/index.test.js +0 -73
  221. package/dist/esm/utils/performance/measure-tti.test.js +0 -174
@@ -1,124 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import { measureTTI } from './measure-tti';
3
- jest.useFakeTimers();
4
- jest.mock('./is-performance-api-available', () => ({
5
- isPerformanceObserverLongTaskAvailable: () => true
6
- }));
7
- describe('Measure TTI utility', () => {
8
- let time = 100;
9
- let perfNow = global.performance.now;
10
- beforeEach(() => {
11
- time = 100;
12
-
13
- global.performance.now = () => time;
14
- });
15
- afterEach(() => {
16
- global.performance.now = perfNow;
17
- });
18
- describe('No long tasks', () => {
19
- it('should fire callback right away', () => {
20
- const [, MockPerformanceObserver] = createMockPerformanceObserver();
21
- const cb = jest.fn();
22
- measureTTI(cb, 100, 1, MockPerformanceObserver);
23
- time += 100;
24
- jest.advanceTimersByTime(100);
25
- expect(cb).toBeCalledWith(100, 0, false);
26
- });
27
- });
28
- describe('Only 1 long task', () => {
29
- it('should return end time of the only long task', () => {
30
- const [trigger, MockPerformanceObserver] = createMockPerformanceObserver();
31
- const cb = jest.fn();
32
- const now = performance.now();
33
- measureTTI(cb, 100, 1, MockPerformanceObserver);
34
- trigger({
35
- startTime: now,
36
- duration: 100
37
- });
38
- time += 100;
39
- jest.advanceTimersByTime(100);
40
- time += 100;
41
- jest.advanceTimersByTime(100);
42
- expect(cb).toBeCalledWith(200, 100, false);
43
- });
44
- });
45
- describe('Multiple long tasks', () => {
46
- it('should return end time of the last long task no sufficient idle time', () => {
47
- const [trigger, MockPerformanceObserver] = createMockPerformanceObserver();
48
- const cb = jest.fn();
49
- const now = performance.now();
50
- measureTTI(cb, 100, 1, MockPerformanceObserver);
51
- trigger({
52
- startTime: now,
53
- duration: 50
54
- });
55
- trigger({
56
- startTime: now + 50,
57
- duration: 100
58
- });
59
- time += 150;
60
- jest.advanceTimersByTime(100);
61
- time += 100;
62
- jest.advanceTimersByTime(100);
63
- expect(cb).toBeCalledWith(250, 150, false);
64
- });
65
- it('should return end time of a long task with sufficient idle time', () => {
66
- const [trigger, MockPerformanceObserver] = createMockPerformanceObserver();
67
- const cb = jest.fn();
68
- const now = performance.now();
69
- measureTTI(cb, 100, 1, MockPerformanceObserver);
70
- trigger({
71
- startTime: now,
72
- duration: 50
73
- });
74
- trigger({
75
- startTime: now + 150,
76
- duration: 100
77
- });
78
- time += 50 + 100;
79
- jest.advanceTimersByTime(100);
80
- time += 100;
81
- jest.advanceTimersByTime(100);
82
- expect(cb).toBeCalledWith(now + 50, 50, false);
83
- });
84
- });
85
- describe('Cancel', () => {
86
- it('should cancel tti measurements after `cancelAfter` time', () => {
87
- const [trigger, MockPerformanceObserver] = createMockPerformanceObserver();
88
- const cb = jest.fn();
89
- const now = performance.now();
90
- measureTTI(cb, 100, 1, MockPerformanceObserver);
91
- trigger({
92
- startTime: now,
93
- duration: 2000
94
- });
95
- time += 2000;
96
- jest.advanceTimersByTime(100);
97
- trigger({
98
- startTime: time,
99
- duration: 50
100
- });
101
- time += 100;
102
- jest.advanceTimersByTime(100);
103
- expect(cb).toBeCalledWith(now + 2000 + 50, 2050, true);
104
- });
105
- });
106
- });
107
-
108
- function createMockPerformanceObserver() {
109
- let callback;
110
-
111
- class MockPerformanceObserver extends PerformanceObserver {
112
- constructor(cb) {
113
- super(cb);
114
- callback = cb;
115
- }
116
-
117
- }
118
-
119
- _defineProperty(MockPerformanceObserver, "supportedEntryTypes", []);
120
-
121
- return [event => callback({
122
- getEntries: () => [event]
123
- }), MockPerformanceObserver];
124
- }
@@ -1,73 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import { IntlProvider } from 'react-intl';
4
- import { N200, N400 } from '@atlaskit/theme/colors';
5
- import { messages } from './messages';
6
- import Caption from './index';
7
-
8
- var renderWithIntl = function renderWithIntl(component) {
9
- return render( /*#__PURE__*/React.createElement(IntlProvider, {
10
- locale: "en"
11
- }, component));
12
- };
13
-
14
- describe('CaptionComponent', function () {
15
- it('should show a placeholder by default', function () {
16
- var _renderWithIntl = renderWithIntl( /*#__PURE__*/React.createElement(Caption, null)),
17
- getByText = _renderWithIntl.getByText;
18
-
19
- expect(getByText(messages.placeholder.defaultMessage)).not.toBeNull();
20
- });
21
- it('should have the placeholder colour as N200', function () {
22
- var _renderWithIntl2 = renderWithIntl( /*#__PURE__*/React.createElement(Caption, null)),
23
- getByText = _renderWithIntl2.getByText;
24
-
25
- expect(getByText(messages.placeholder.defaultMessage)).toHaveStyle("color: ".concat(N200));
26
- });
27
- it('should have the colour N400', function () {
28
- var _renderWithIntl3 = renderWithIntl( /*#__PURE__*/React.createElement(Caption, null)),
29
- container = _renderWithIntl3.container;
30
-
31
- expect(container.firstChild).toHaveStyle("color: ".concat(N400));
32
- });
33
- it('should have centered text', function () {
34
- var _renderWithIntl4 = renderWithIntl( /*#__PURE__*/React.createElement(Caption, null)),
35
- container = _renderWithIntl4.container;
36
-
37
- expect(container.firstChild).toHaveStyle("text-align: center");
38
- });
39
- it("shouldn't show the placeholder when selected", function () {
40
- var _renderWithIntl5 = renderWithIntl( /*#__PURE__*/React.createElement(Caption, {
41
- selected: true
42
- })),
43
- queryByText = _renderWithIntl5.queryByText;
44
-
45
- expect(queryByText(messages.placeholder.defaultMessage)).toBeNull();
46
- });
47
- it("shouldn't show the placeholder if caption has content", function () {
48
- var _renderWithIntl6 = renderWithIntl( /*#__PURE__*/React.createElement(Caption, {
49
- hasContent: true
50
- })),
51
- queryByText = _renderWithIntl6.queryByText;
52
-
53
- expect(queryByText(messages.placeholder.defaultMessage)).toBeNull();
54
- });
55
- it('should have data-renderer-start-pos if provided', function () {
56
- var _renderWithIntl7 = renderWithIntl( /*#__PURE__*/React.createElement(Caption, {
57
- dataAttributes: {
58
- 'data-renderer-start-pos': 5
59
- }
60
- })),
61
- getByTestId = _renderWithIntl7.getByTestId;
62
-
63
- var caption = getByTestId('media-caption');
64
- expect(caption.getAttribute('data-renderer-start-pos')).toEqual('5');
65
- });
66
- it('should have data-media-caption', function () {
67
- var _renderWithIntl8 = renderWithIntl( /*#__PURE__*/React.createElement(Caption, null)),
68
- getByTestId = _renderWithIntl8.getByTestId;
69
-
70
- var caption = getByTestId('media-caption');
71
- expect(caption.getAttribute('data-media-caption')).toEqual('true');
72
- });
73
- });
@@ -1,174 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _inherits from "@babel/runtime/helpers/inherits";
3
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
4
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
5
- import _wrapNativeSuper from "@babel/runtime/helpers/wrapNativeSuper";
6
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
-
9
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
-
11
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
-
13
- import { measureTTI } from './measure-tti';
14
- jest.useFakeTimers();
15
- jest.mock('./is-performance-api-available', function () {
16
- return {
17
- isPerformanceObserverLongTaskAvailable: function isPerformanceObserverLongTaskAvailable() {
18
- return true;
19
- }
20
- };
21
- });
22
- describe('Measure TTI utility', function () {
23
- var time = 100;
24
- var perfNow = global.performance.now;
25
- beforeEach(function () {
26
- time = 100;
27
-
28
- global.performance.now = function () {
29
- return time;
30
- };
31
- });
32
- afterEach(function () {
33
- global.performance.now = perfNow;
34
- });
35
- describe('No long tasks', function () {
36
- it('should fire callback right away', function () {
37
- var _createMockPerformanc = createMockPerformanceObserver(),
38
- _createMockPerformanc2 = _slicedToArray(_createMockPerformanc, 2),
39
- MockPerformanceObserver = _createMockPerformanc2[1];
40
-
41
- var cb = jest.fn();
42
- measureTTI(cb, 100, 1, MockPerformanceObserver);
43
- time += 100;
44
- jest.advanceTimersByTime(100);
45
- expect(cb).toBeCalledWith(100, 0, false);
46
- });
47
- });
48
- describe('Only 1 long task', function () {
49
- it('should return end time of the only long task', function () {
50
- var _createMockPerformanc3 = createMockPerformanceObserver(),
51
- _createMockPerformanc4 = _slicedToArray(_createMockPerformanc3, 2),
52
- trigger = _createMockPerformanc4[0],
53
- MockPerformanceObserver = _createMockPerformanc4[1];
54
-
55
- var cb = jest.fn();
56
- var now = performance.now();
57
- measureTTI(cb, 100, 1, MockPerformanceObserver);
58
- trigger({
59
- startTime: now,
60
- duration: 100
61
- });
62
- time += 100;
63
- jest.advanceTimersByTime(100);
64
- time += 100;
65
- jest.advanceTimersByTime(100);
66
- expect(cb).toBeCalledWith(200, 100, false);
67
- });
68
- });
69
- describe('Multiple long tasks', function () {
70
- it('should return end time of the last long task no sufficient idle time', function () {
71
- var _createMockPerformanc5 = createMockPerformanceObserver(),
72
- _createMockPerformanc6 = _slicedToArray(_createMockPerformanc5, 2),
73
- trigger = _createMockPerformanc6[0],
74
- MockPerformanceObserver = _createMockPerformanc6[1];
75
-
76
- var cb = jest.fn();
77
- var now = performance.now();
78
- measureTTI(cb, 100, 1, MockPerformanceObserver);
79
- trigger({
80
- startTime: now,
81
- duration: 50
82
- });
83
- trigger({
84
- startTime: now + 50,
85
- duration: 100
86
- });
87
- time += 150;
88
- jest.advanceTimersByTime(100);
89
- time += 100;
90
- jest.advanceTimersByTime(100);
91
- expect(cb).toBeCalledWith(250, 150, false);
92
- });
93
- it('should return end time of a long task with sufficient idle time', function () {
94
- var _createMockPerformanc7 = createMockPerformanceObserver(),
95
- _createMockPerformanc8 = _slicedToArray(_createMockPerformanc7, 2),
96
- trigger = _createMockPerformanc8[0],
97
- MockPerformanceObserver = _createMockPerformanc8[1];
98
-
99
- var cb = jest.fn();
100
- var now = performance.now();
101
- measureTTI(cb, 100, 1, MockPerformanceObserver);
102
- trigger({
103
- startTime: now,
104
- duration: 50
105
- });
106
- trigger({
107
- startTime: now + 150,
108
- duration: 100
109
- });
110
- time += 50 + 100;
111
- jest.advanceTimersByTime(100);
112
- time += 100;
113
- jest.advanceTimersByTime(100);
114
- expect(cb).toBeCalledWith(now + 50, 50, false);
115
- });
116
- });
117
- describe('Cancel', function () {
118
- it('should cancel tti measurements after `cancelAfter` time', function () {
119
- var _createMockPerformanc9 = createMockPerformanceObserver(),
120
- _createMockPerformanc10 = _slicedToArray(_createMockPerformanc9, 2),
121
- trigger = _createMockPerformanc10[0],
122
- MockPerformanceObserver = _createMockPerformanc10[1];
123
-
124
- var cb = jest.fn();
125
- var now = performance.now();
126
- measureTTI(cb, 100, 1, MockPerformanceObserver);
127
- trigger({
128
- startTime: now,
129
- duration: 2000
130
- });
131
- time += 2000;
132
- jest.advanceTimersByTime(100);
133
- trigger({
134
- startTime: time,
135
- duration: 50
136
- });
137
- time += 100;
138
- jest.advanceTimersByTime(100);
139
- expect(cb).toBeCalledWith(now + 2000 + 50, 2050, true);
140
- });
141
- });
142
- });
143
-
144
- function createMockPerformanceObserver() {
145
- var callback;
146
-
147
- var MockPerformanceObserver = /*#__PURE__*/function (_PerformanceObserver) {
148
- _inherits(MockPerformanceObserver, _PerformanceObserver);
149
-
150
- var _super = _createSuper(MockPerformanceObserver);
151
-
152
- function MockPerformanceObserver(cb) {
153
- var _this;
154
-
155
- _classCallCheck(this, MockPerformanceObserver);
156
-
157
- _this = _super.call(this, cb);
158
- callback = cb;
159
- return _this;
160
- }
161
-
162
- return MockPerformanceObserver;
163
- }( /*#__PURE__*/_wrapNativeSuper(PerformanceObserver));
164
-
165
- _defineProperty(MockPerformanceObserver, "supportedEntryTypes", []);
166
-
167
- return [function (event) {
168
- return callback({
169
- getEntries: function getEntries() {
170
- return [event];
171
- }
172
- });
173
- }, MockPerformanceObserver];
174
- }