@atlaskit/adf-schema 28.1.12 → 28.1.13

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 (209) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +1 -1
  3. package/src/__tests__/unit/json-schema/v1.ts +0 -55
  4. package/src/__tests__/unit/schema/create-schema.ts +0 -214
  5. package/src/__tests__/unit/schema/default-schema.ts +0 -192
  6. package/src/__tests__/unit/schema/marks/annotation.ts +0 -46
  7. package/src/__tests__/unit/schema/marks/border.ts +0 -76
  8. package/src/__tests__/unit/schema/marks/breakout.ts +0 -24
  9. package/src/__tests__/unit/schema/marks/code.ts +0 -44
  10. package/src/__tests__/unit/schema/marks/confluence-inline-comment.ts +0 -25
  11. package/src/__tests__/unit/schema/marks/data-consumer.ts +0 -52
  12. package/src/__tests__/unit/schema/marks/em.ts +0 -37
  13. package/src/__tests__/unit/schema/marks/link.ts +0 -188
  14. package/src/__tests__/unit/schema/marks/strike.ts +0 -37
  15. package/src/__tests__/unit/schema/marks/strong.ts +0 -43
  16. package/src/__tests__/unit/schema/marks/subsup.ts +0 -50
  17. package/src/__tests__/unit/schema/marks/text-color.ts +0 -61
  18. package/src/__tests__/unit/schema/marks/underline.ts +0 -36
  19. package/src/__tests__/unit/schema/nodes/_consts.ts +0 -964
  20. package/src/__tests__/unit/schema/nodes/block-card.ts +0 -184
  21. package/src/__tests__/unit/schema/nodes/blockquote.ts +0 -44
  22. package/src/__tests__/unit/schema/nodes/bodied-extension.ts +0 -101
  23. package/src/__tests__/unit/schema/nodes/code-block.ts +0 -221
  24. package/src/__tests__/unit/schema/nodes/confluence-unsupported-block.ts +0 -32
  25. package/src/__tests__/unit/schema/nodes/confluence-unsupported-inline.ts +0 -35
  26. package/src/__tests__/unit/schema/nodes/date.ts +0 -51
  27. package/src/__tests__/unit/schema/nodes/decision-item.ts +0 -46
  28. package/src/__tests__/unit/schema/nodes/decision-list.ts +0 -52
  29. package/src/__tests__/unit/schema/nodes/embed-card.ts +0 -60
  30. package/src/__tests__/unit/schema/nodes/emoji.ts +0 -71
  31. package/src/__tests__/unit/schema/nodes/expand.ts +0 -51
  32. package/src/__tests__/unit/schema/nodes/extension.ts +0 -101
  33. package/src/__tests__/unit/schema/nodes/hard-break.ts +0 -24
  34. package/src/__tests__/unit/schema/nodes/heading.ts +0 -56
  35. package/src/__tests__/unit/schema/nodes/image.ts +0 -32
  36. package/src/__tests__/unit/schema/nodes/inline-card.ts +0 -106
  37. package/src/__tests__/unit/schema/nodes/inline-extension.ts +0 -79
  38. package/src/__tests__/unit/schema/nodes/layout-column.ts +0 -54
  39. package/src/__tests__/unit/schema/nodes/layout-section.ts +0 -95
  40. package/src/__tests__/unit/schema/nodes/list-item.ts +0 -49
  41. package/src/__tests__/unit/schema/nodes/media-group.ts +0 -67
  42. package/src/__tests__/unit/schema/nodes/media-single.ts +0 -171
  43. package/src/__tests__/unit/schema/nodes/media.ts +0 -384
  44. package/src/__tests__/unit/schema/nodes/mention.ts +0 -115
  45. package/src/__tests__/unit/schema/nodes/nestedExpand.ts +0 -72
  46. package/src/__tests__/unit/schema/nodes/ordered-list.ts +0 -49
  47. package/src/__tests__/unit/schema/nodes/panel.ts +0 -180
  48. package/src/__tests__/unit/schema/nodes/paragraph.ts +0 -25
  49. package/src/__tests__/unit/schema/nodes/placeholder.ts +0 -46
  50. package/src/__tests__/unit/schema/nodes/rule.ts +0 -24
  51. package/src/__tests__/unit/schema/nodes/status.ts +0 -120
  52. package/src/__tests__/unit/schema/nodes/tableNodes.ts +0 -555
  53. package/src/__tests__/unit/schema/nodes/task-item.ts +0 -39
  54. package/src/__tests__/unit/schema/nodes/task-list.ts +0 -45
  55. package/src/__tests__/unit/schema/nodes/unknown-block.ts +0 -42
  56. package/src/__tests__/unit/schema/nodes/unsupported-block.ts +0 -42
  57. package/src/__tests__/unit/schema/nodes/unsupported-inline.ts +0 -38
  58. package/src/__tests__/unit/utils/colors.ts +0 -42
  59. package/src/__tests__/unit/utils/url.ts +0 -209
  60. package/src/schema/bitbucket-schema.ts +0 -43
  61. package/src/schema/confluence-schema.ts +0 -76
  62. package/src/schema/create-schema.ts +0 -337
  63. package/src/schema/default-schema.ts +0 -180
  64. package/src/schema/groups.ts +0 -30
  65. package/src/schema/inline-nodes.ts +0 -9
  66. package/src/schema/jira-schema.ts +0 -158
  67. package/src/schema/marks/__tests__/unit/annotation.ts +0 -18
  68. package/src/schema/marks/alignment.ts +0 -48
  69. package/src/schema/marks/annotation.ts +0 -107
  70. package/src/schema/marks/border.ts +0 -74
  71. package/src/schema/marks/breakout.ts +0 -42
  72. package/src/schema/marks/code.ts +0 -45
  73. package/src/schema/marks/confluence-inline-comment.ts +0 -32
  74. package/src/schema/marks/data-consumer.ts +0 -100
  75. package/src/schema/marks/em.ts +0 -19
  76. package/src/schema/marks/fragment.ts +0 -77
  77. package/src/schema/marks/indentation.ts +0 -47
  78. package/src/schema/marks/link.ts +0 -139
  79. package/src/schema/marks/strike.ts +0 -26
  80. package/src/schema/marks/strong.ts +0 -45
  81. package/src/schema/marks/subsup.ts +0 -53
  82. package/src/schema/marks/text-color.ts +0 -172
  83. package/src/schema/marks/type-ahead-query.ts +0 -22
  84. package/src/schema/marks/underline.ts +0 -24
  85. package/src/schema/marks/unsupported-mark.ts +0 -9
  86. package/src/schema/marks/unsupported-node-attributes.ts +0 -8
  87. package/src/schema/nodes/block-card.ts +0 -121
  88. package/src/schema/nodes/blockquote.ts +0 -25
  89. package/src/schema/nodes/bodied-extension.ts +0 -75
  90. package/src/schema/nodes/bullet-list.ts +0 -17
  91. package/src/schema/nodes/caption.ts +0 -51
  92. package/src/schema/nodes/code-block.ts +0 -176
  93. package/src/schema/nodes/confluence-jira-issue.ts +0 -43
  94. package/src/schema/nodes/confluence-unsupported-block.ts +0 -29
  95. package/src/schema/nodes/confluence-unsupported-inline.ts +0 -30
  96. package/src/schema/nodes/date.ts +0 -38
  97. package/src/schema/nodes/decision-item.ts +0 -50
  98. package/src/schema/nodes/decision-list.ts +0 -56
  99. package/src/schema/nodes/doc.ts +0 -30
  100. package/src/schema/nodes/embed-card.ts +0 -62
  101. package/src/schema/nodes/emoji.ts +0 -89
  102. package/src/schema/nodes/expand.ts +0 -101
  103. package/src/schema/nodes/extension.ts +0 -60
  104. package/src/schema/nodes/hard-break.ts +0 -21
  105. package/src/schema/nodes/heading.ts +0 -64
  106. package/src/schema/nodes/image.ts +0 -32
  107. package/src/schema/nodes/inline-card.ts +0 -70
  108. package/src/schema/nodes/inline-extension.ts +0 -57
  109. package/src/schema/nodes/layout-column.ts +0 -68
  110. package/src/schema/nodes/layout-section.ts +0 -93
  111. package/src/schema/nodes/list-item.ts +0 -13
  112. package/src/schema/nodes/media-group.ts +0 -44
  113. package/src/schema/nodes/media-inline.ts +0 -19
  114. package/src/schema/nodes/media-single.ts +0 -179
  115. package/src/schema/nodes/media.ts +0 -253
  116. package/src/schema/nodes/mention.ts +0 -86
  117. package/src/schema/nodes/nested-expand.ts +0 -77
  118. package/src/schema/nodes/ordered-list.ts +0 -62
  119. package/src/schema/nodes/panel.ts +0 -133
  120. package/src/schema/nodes/paragraph.ts +0 -79
  121. package/src/schema/nodes/placeholder.ts +0 -40
  122. package/src/schema/nodes/rule.ts +0 -17
  123. package/src/schema/nodes/status.ts +0 -58
  124. package/src/schema/nodes/tableNodes.ts +0 -478
  125. package/src/schema/nodes/task-item.ts +0 -51
  126. package/src/schema/nodes/task-list.ts +0 -61
  127. package/src/schema/nodes/text.ts +0 -19
  128. package/src/schema/nodes/types/block-content.ts +0 -51
  129. package/src/schema/nodes/types/extensions.ts +0 -36
  130. package/src/schema/nodes/types/inline-content.ts +0 -56
  131. package/src/schema/nodes/types/list.ts +0 -54
  132. package/src/schema/nodes/types/mark.ts +0 -16
  133. package/src/schema/nodes/types/non-nestable-block-content.ts +0 -39
  134. package/src/schema/nodes/types/rich-media-common.ts +0 -51
  135. package/src/schema/nodes/unknown-block.ts +0 -13
  136. package/src/schema/nodes/unsupported-block.ts +0 -28
  137. package/src/schema/nodes/unsupported-inline.ts +0 -27
  138. package/src/schema/unsupported.ts +0 -4
  139. package/src/steps/__tests__/unit/analytics.ts +0 -72
  140. package/src/steps/__tests__/unit/link-meta-step.ts +0 -64
  141. package/src/steps/__tests__/unit/override-document-step.ts +0 -174
  142. package/src/steps/__tests__/unit/set-attrs.ts +0 -71
  143. package/src/steps/analytics.ts +0 -189
  144. package/src/steps/link-meta-step.ts +0 -105
  145. package/src/steps/override-document-step.ts +0 -97
  146. package/src/steps/set-attrs.tsx +0 -74
  147. package/src/steps/table/__tests__/__fixtures__/basic/add-column-at-0.json +0 -15
  148. package/src/steps/table/__tests__/__fixtures__/basic/add-column-at-1.json +0 -15
  149. package/src/steps/table/__tests__/__fixtures__/basic/add-column-at-2.json +0 -15
  150. package/src/steps/table/__tests__/__fixtures__/basic/add-column-at-3.json +0 -15
  151. package/src/steps/table/__tests__/__fixtures__/basic/remove-column-at-0.json +0 -9
  152. package/src/steps/table/__tests__/__fixtures__/basic/remove-column-at-1.json +0 -9
  153. package/src/steps/table/__tests__/__fixtures__/basic/remove-column-at-2.json +0 -9
  154. package/src/steps/table/__tests__/__fixtures__/basic/remove-table/remove-last-row-inverted.json +0 -98
  155. package/src/steps/table/__tests__/__fixtures__/basic/remove-table/remove-last-row.json +0 -71
  156. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/add-column-at-0-inverted.json +0 -19
  157. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/add-column-at-0.json +0 -19
  158. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/add-column-at-1-inverted.json +0 -21
  159. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/add-column-at-1.json +0 -21
  160. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/add-column-at-2-inverted.json +0 -21
  161. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/add-column-at-2.json +0 -21
  162. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/add-column-at-3-inverted.json +0 -19
  163. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/add-column-at-3.json +0 -19
  164. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/remove-column-at-0-inverted.json +0 -63
  165. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/remove-column-at-0.json +0 -21
  166. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/remove-column-at-1-inverted.json +0 -64
  167. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/remove-column-at-1.json +0 -22
  168. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/remove-column-at-2-inverted.json +0 -63
  169. package/src/steps/table/__tests__/__fixtures__/merge-cells/columns/remove-column-at-2.json +0 -21
  170. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/add-column-at-0-inverted.json +0 -19
  171. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/add-column-at-0.json +0 -19
  172. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/add-column-at-1-inverted.json +0 -19
  173. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/add-column-at-1.json +0 -19
  174. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/add-column-at-2-inverted.json +0 -19
  175. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/add-column-at-2.json +0 -19
  176. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/add-column-at-3-inverted.json +0 -19
  177. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/add-column-at-3.json +0 -19
  178. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/remove-column-at-0-inverted.json +0 -52
  179. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/remove-column-at-0.json +0 -38
  180. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/remove-column-at-1-inverted.json +0 -52
  181. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/remove-column-at-1.json +0 -38
  182. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/remove-column-at-2-inverted.json +0 -25
  183. package/src/steps/table/__tests__/__fixtures__/merge-cells/rows/remove-column-at-2.json +0 -11
  184. package/src/steps/table/__tests__/_utils.ts +0 -102
  185. package/src/steps/table/__tests__/add-column-merge-columns.ts +0 -509
  186. package/src/steps/table/__tests__/add-column-merge-rows.ts +0 -466
  187. package/src/steps/table/__tests__/add-column.ts +0 -638
  188. package/src/steps/table/add-column.ts +0 -443
  189. package/src/steps/table/constants.ts +0 -4
  190. package/src/steps/table/sort-column.ts +0 -57
  191. package/src/steps/table/types.ts +0 -48
  192. package/src/steps/table/utils/cell-step.ts +0 -239
  193. package/src/steps/table/utils/cells-at-column.ts +0 -75
  194. package/src/steps/table/utils/find-column.ts +0 -90
  195. package/src/steps/table/utils/get-table-rect-from-doc.ts +0 -37
  196. package/src/steps/table/utils/side-effects/rows.ts +0 -327
  197. package/src/steps/table/utils/side-effects/side-effects.ts +0 -90
  198. package/src/steps/table/utils/side-effects/table.ts +0 -112
  199. package/src/steps/table/utils/side-effects/types.ts +0 -34
  200. package/src/steps/table/utils/table-map.ts +0 -28
  201. package/src/steps/type-ahead.ts +0 -100
  202. package/src/steps.ts +0 -16
  203. package/src/utils/colors.ts +0 -171
  204. package/src/utils/confluence/emoji.ts +0 -99
  205. package/src/utils/extensions.ts +0 -32
  206. package/src/utils/parseDOM.ts +0 -2
  207. package/src/utils/url.ts +0 -173
  208. package/src/utils/uuid.ts +0 -19
  209. package/src/version.json +0 -6
@@ -1,25 +0,0 @@
1
- import { createSchema } from '../../../../schema/create-schema';
2
- import { toHTML } from 'adf-test-helpers/src/adf-schema/html-helpers';
3
-
4
- const packageName = process.env._PACKAGE_NAME_ as string;
5
-
6
- describe(`${packageName}/schema confluence-inline-comment mark`, () => {
7
- it('serializes to <span data-reference="hash-ref-goes-here">', () => {
8
- const schema = makeSchema();
9
- const node = schema.text('foo', [
10
- schema.marks.confluenceInlineComment.create({
11
- reference: 'hash-ref-goes-here',
12
- }),
13
- ]);
14
- expect(toHTML(node, schema)).toContain(
15
- 'data-reference="hash-ref-goes-here"',
16
- );
17
- });
18
- });
19
-
20
- function makeSchema() {
21
- return createSchema({
22
- nodes: ['doc', 'paragraph', 'text'],
23
- marks: ['confluenceInlineComment'],
24
- });
25
- }
@@ -1,52 +0,0 @@
1
- import { createSchema } from '../../../../schema/create-schema';
2
- import { toHTML, fromHTML } from 'adf-test-helpers/src/adf-schema/html-helpers';
3
- import { Schema } from '@atlaskit/editor-prosemirror/model';
4
-
5
- const packageName = process.env._PACKAGE_NAME_ as string;
6
-
7
- describe(`${packageName}/schema data-consumer mark`, () => {
8
- let schema: Schema;
9
- const firstSourceId = 'first-source-id';
10
- const secondSourceId = 'second-source-id';
11
- const dataSourceString = `&quot;${firstSourceId}&quot;,&quot;${secondSourceId}&quot;`;
12
-
13
- beforeEach(() => {
14
- schema = makeSchema();
15
- });
16
-
17
- it('serializes to the correct HTML', () => {
18
- const node = schema.text('foo', [
19
- schema.marks.dataConsumer.create({
20
- sources: [firstSourceId, secondSourceId],
21
- }),
22
- ]);
23
- const html = toHTML(node, schema);
24
-
25
- expect(html).toContain(`data-sources="[${dataSourceString}]"`);
26
- expect(html).toContain('data-mark-type="dataConsumer"');
27
- });
28
-
29
- it.each(['div', 'span'])(
30
- 'parses annotation correctly from html for %s',
31
- (wrapperType) => {
32
- const doc = fromHTML(
33
- `<${wrapperType} data-mark-type="dataConsumer" data-sources="[${dataSourceString}]">foo</${wrapperType}>`,
34
- schema,
35
- );
36
- const dataConsumerNode = doc.firstChild!;
37
-
38
- expect(dataConsumerNode.marks).toHaveLength(1);
39
- expect(dataConsumerNode.marks[0].type.name).toBe('dataConsumer');
40
- expect(dataConsumerNode.marks[0].attrs).toEqual({
41
- sources: [firstSourceId, secondSourceId],
42
- });
43
- },
44
- );
45
- });
46
-
47
- function makeSchema() {
48
- return createSchema({
49
- nodes: ['doc', 'paragraph', 'text'],
50
- marks: ['dataConsumer'],
51
- });
52
- }
@@ -1,37 +0,0 @@
1
- import { createSchema } from '../../../../schema/create-schema';
2
- import {
3
- fromHTML,
4
- toHTML,
5
- textWithMarks,
6
- } from 'adf-test-helpers/src/adf-schema';
7
-
8
- const packageName = process.env._PACKAGE_NAME_ as string;
9
-
10
- describe(`${packageName}/schema em mark`, () => {
11
- itMatches('<em>text</em>', 'text');
12
- itMatches('<i>text</i>', 'text');
13
- itMatches('<span style="font-style: italic">text</span>', 'text');
14
-
15
- it('serializes to <em>', () => {
16
- const schema = makeSchema();
17
- const node = schema.text('foo', [schema.marks.em.create()]);
18
- expect(toHTML(node, schema)).toEqual('<em>foo</em>');
19
- });
20
- });
21
-
22
- function makeSchema() {
23
- return createSchema({
24
- nodes: ['doc', 'paragraph', 'text'],
25
- marks: ['em'],
26
- });
27
- }
28
-
29
- function itMatches(html: string, expectedText: string) {
30
- it(`matches ${html}`, () => {
31
- const schema = makeSchema();
32
- const doc = fromHTML(`${html}`, schema);
33
- const emNode = schema.marks.em.create();
34
-
35
- expect(textWithMarks(doc, expectedText, [emNode])).toBe(true);
36
- });
37
- }
@@ -1,188 +0,0 @@
1
- import { createSchema } from '../../../../schema/create-schema';
2
- import {
3
- toHTML,
4
- fromHTML,
5
- textWithMarks,
6
- } from 'adf-test-helpers/src/adf-schema';
7
- import { Node } from '@atlaskit/editor-prosemirror/model';
8
-
9
- const href = 'http://atlassian.com';
10
- const href2 = 'http://atlassian.com/test';
11
- const href3 = 'http://atlassian.com?test=123';
12
- const unsafeHref = 'javascript:alert("hack")';
13
- const content = 'foo';
14
- const sampleLink = `<a href="${href}">${content}</a>`;
15
- const sampleBlockLink = `<a href="${href}" data-block-link="true" class="blockLink"><p>${content}</p></a>`;
16
- const emptyLink = `<a>${content}</a>`;
17
- const packageName = process.env._PACKAGE_NAME_ as string;
18
-
19
- describe(`${packageName}/schema link mark`, () => {
20
- itMatches(`<p>${sampleLink}</p>`, href, content);
21
- itMatches(
22
- `<p><a href="${href}" title="test" alt="hello">${content}</a></p>`,
23
- href,
24
- content,
25
- );
26
- itMatches(`<p><a href="${href2}">${content}</a></p>`, href2, content);
27
- itMatches(`<p><a href="${href3}">${content}</a></p>`, href3, content);
28
-
29
- describe('when there is a textColor mark', () => {
30
- it('should not throw an error when the check() is called', () => {
31
- const doc = {
32
- type: 'text',
33
- text: 'Foo',
34
- marks: [
35
- {
36
- type: 'link',
37
- attrs: {
38
- href: 'http://example.com',
39
- },
40
- },
41
-
42
- {
43
- type: 'textColor',
44
- attrs: {
45
- color: '#ff5630',
46
- },
47
- },
48
- ],
49
- };
50
-
51
- const textNode = Node.fromJSON(makeSchema(), doc);
52
- expect(() => {
53
- textNode.check();
54
- }).not.toThrow();
55
- });
56
- });
57
-
58
- describe('whitelist URLs', () => {
59
- const schema = makeSchema();
60
-
61
- it(`should parse links starting from http://`, () => {
62
- const doc = fromHTML(
63
- `<p><a href="http://www.atlassian.com">Atlassian</a></p>`,
64
- schema,
65
- );
66
- const textNode = doc.firstChild!.firstChild!;
67
-
68
- expect(textNode.marks).toHaveLength(1);
69
- });
70
-
71
- it(`should parse links starting from https://`, () => {
72
- const doc = fromHTML(
73
- `<p><a href="https://www.atlassian.com">Atlassian</a></p>`,
74
- schema,
75
- );
76
- const textNode = doc.firstChild!.firstChild!;
77
-
78
- expect(textNode.marks).toHaveLength(1);
79
- });
80
-
81
- it(`should parse links starting from sourcetree://`, () => {
82
- const doc = fromHTML(
83
- `<p><a href="sourcetree://cloneRepo/ssh://user@bitbucket.org/owner/repo.git">Clone me</a></p>`,
84
- schema,
85
- );
86
- const textNode = doc.firstChild!.firstChild!;
87
-
88
- expect(textNode.marks).toHaveLength(1);
89
- });
90
-
91
- it(`should parse root relative links`, () => {
92
- const doc = fromHTML(`<p><a href="/TEST-100">TEST-100</a></p>`, schema);
93
- const textNode = doc.firstChild!.firstChild!;
94
-
95
- expect(textNode.marks).toHaveLength(1);
96
- });
97
-
98
- it(`should not parse links starting from javascript://`, () => {
99
- const doc = fromHTML(
100
- `<p><a href="javascript:alert(1)">Click me</a></p>`,
101
- schema,
102
- );
103
- const textNode = doc.firstChild!.firstChild!;
104
-
105
- expect(textNode.marks).toHaveLength(0);
106
- });
107
-
108
- it(`should not parse links starting from javascript://`, () => {
109
- const doc = fromHTML(
110
- `<p><a href="view-source:https://bitbucket.org/atlassian/atlaskit/pull-requests/3196/fix-component-prevent-javascript-links-for/diff">View source</a></p>`,
111
- schema,
112
- );
113
- const textNode = doc.firstChild!.firstChild!;
114
-
115
- expect(textNode.marks).toHaveLength(0);
116
- });
117
-
118
- it(`should remove unsafe link when serialize`, () => {
119
- const schema = makeSchema();
120
- const node = schema.text(content, [
121
- schema.marks.link.create({ href: unsafeHref }),
122
- ]);
123
- const html: string = toHTML(node, schema);
124
-
125
- expect(html).toContain(`${emptyLink}`);
126
- });
127
- });
128
-
129
- describe('serialization', () => {
130
- it(`serializes to ${sampleLink}`, () => {
131
- const schema = makeSchema();
132
- const node = schema.text(content, [schema.marks.link.create({ href })]);
133
- const html: string = toHTML(node, schema);
134
- expect(html).toContain(`${sampleLink}`);
135
- });
136
- it(`serializes block marked links ${sampleLink}`, () => {
137
- const schema = makeSchema();
138
- const node = schema.nodes.paragraph.create(null, schema.text(content), [
139
- schema.marks.link.create({ href }),
140
- ]);
141
- const html: string = toHTML(node, schema);
142
- expect(html).toContain(`${sampleBlockLink}`);
143
- });
144
- });
145
-
146
- describe('confluence metadata', () => {
147
- it('creates a PM node with attributes from ADF', () => {
148
- const doc = {
149
- type: 'text',
150
- text: 'Foo',
151
- marks: [
152
- {
153
- type: 'link',
154
- attrs: {
155
- href: 'http://example.com',
156
- __confluenceMetadata: {
157
- linkType: 'value',
158
- },
159
- },
160
- },
161
- ],
162
- };
163
-
164
- const text = Node.fromJSON(makeSchema(), doc);
165
- expect(text.marks[0].attrs).toHaveProperty('__confluenceMetadata');
166
- expect(text.marks[0].attrs.__confluenceMetadata).toHaveProperty(
167
- 'linkType',
168
- 'value',
169
- );
170
- });
171
- });
172
- });
173
-
174
- function makeSchema() {
175
- return createSchema({
176
- nodes: ['doc', 'paragraph', 'text'],
177
- marks: ['link', 'textColor'],
178
- });
179
- }
180
-
181
- function itMatches(html: string, href: string, expectedText: string) {
182
- it(`matches ${html}`, () => {
183
- const schema = makeSchema();
184
- const doc = fromHTML(html, schema);
185
- const link = schema.marks.link.create({ href });
186
- expect(textWithMarks(doc, expectedText, [link])).toBe(true);
187
- });
188
- }
@@ -1,37 +0,0 @@
1
- import { createSchema } from '../../../../schema/create-schema';
2
- import {
3
- fromHTML,
4
- toHTML,
5
- textWithMarks,
6
- } from 'adf-test-helpers/src/adf-schema';
7
-
8
- const packageName = process.env._PACKAGE_NAME_ as string;
9
-
10
- describe(`${packageName}/schema strike mark`, () => {
11
- itMatches('<s>text</s>', 'text');
12
- itMatches('<del>text</del>', 'text');
13
- itMatches('<strike>text</strike>', 'text');
14
- itMatches('<span style="text-decoration: line-through">text</span>', 'text');
15
-
16
- it('serializes to <s>', () => {
17
- const schema = makeSchema();
18
- const node = schema.text('foo', [schema.marks.strike.create()]);
19
- expect(toHTML(node, schema)).toEqual('<s>foo</s>');
20
- });
21
- });
22
-
23
- function makeSchema() {
24
- return createSchema({
25
- nodes: ['doc', 'paragraph', 'text'],
26
- marks: ['strike'],
27
- });
28
- }
29
-
30
- function itMatches(html: string, expectedText: string) {
31
- it(`matches ${html}`, () => {
32
- const schema = makeSchema();
33
- const doc = fromHTML(html, schema);
34
- const strike = schema.marks.strike.create();
35
- expect(textWithMarks(doc, expectedText, [strike])).toBe(true);
36
- });
37
- }
@@ -1,43 +0,0 @@
1
- import { createSchema } from '../../../../schema/create-schema';
2
- import {
3
- fromHTML,
4
- toHTML,
5
- textWithMarks,
6
- } from 'adf-test-helpers/src/adf-schema';
7
-
8
- const packageName = process.env._PACKAGE_NAME_ as string;
9
-
10
- describe(`${packageName}/schema strong mark`, () => {
11
- itMatches('<strong>text</strong>', 'text');
12
- itMatches('<b>text</b>', 'text');
13
- itMatches('<b style="font-weight: bold">text</b>', 'text');
14
- itMatches('<span style="font-weight: bold">text</span>', 'text');
15
-
16
- it('serializes to <strong>', () => {
17
- const schema = makeSchema();
18
- const node = schema.text('foo', [schema.marks.strong.create()]);
19
- expect(toHTML(node, schema)).toEqual('<strong>foo</strong>');
20
- });
21
-
22
- it('should not match <b style=font-weight: normal> as strong', () => {
23
- const schema = makeSchema();
24
- const doc = fromHTML('<b style="font-weight: normal">text</b>', schema);
25
- expect(textWithMarks(doc, 'text', [])).toBe(true);
26
- });
27
- });
28
-
29
- function makeSchema() {
30
- return createSchema({
31
- nodes: ['doc', 'paragraph', 'text'],
32
- marks: ['strong'],
33
- });
34
- }
35
-
36
- function itMatches(html: string, expectedText: string) {
37
- it(`matches ${html}`, () => {
38
- const schema = makeSchema();
39
- const doc = fromHTML(html, schema);
40
- const strong = schema.marks.strong.create();
41
- expect(textWithMarks(doc, expectedText, [strong])).toBe(true);
42
- });
43
- }
@@ -1,50 +0,0 @@
1
- import { createSchema } from '../../../../schema/create-schema';
2
- import {
3
- fromHTML,
4
- toHTML,
5
- textWithMarks,
6
- } from 'adf-test-helpers/src/adf-schema';
7
-
8
- const packageName = process.env._PACKAGE_NAME_ as string;
9
-
10
- describe(`${packageName}/schema subsup mark`, () => {
11
- itMatches('<sub>text</sub>', 'text', { type: 'sub' });
12
- itMatches('<sup>text</sup>', 'text', { type: 'sup' });
13
-
14
- it('serializes to <sub>', () => {
15
- const schema = makeSchema();
16
- const node = schema.text('foo', [
17
- schema.marks.subsup.create({ type: 'sub' }),
18
- ]);
19
- expect(toHTML(node, schema)).toEqual('<sub>foo</sub>');
20
- });
21
-
22
- it('serializes to <sup>', () => {
23
- const schema = makeSchema();
24
- const node = schema.text('foo', [
25
- schema.marks.subsup.create({ type: 'sup' }),
26
- ]);
27
- expect(toHTML(node, schema)).toEqual('<sup>foo</sup>');
28
- });
29
- });
30
-
31
- function makeSchema() {
32
- return createSchema({
33
- nodes: ['doc', 'paragraph', 'text'],
34
- marks: ['subsup'],
35
- });
36
- }
37
-
38
- function itMatches(
39
- html: string,
40
- expectedText: string,
41
- attrs: { type: 'sub' | 'sup' },
42
- ) {
43
- it(`matches ${html}`, () => {
44
- const schema = makeSchema();
45
- const doc = fromHTML(`${html}`, schema);
46
- const subsupNode = schema.marks.subsup.create(attrs);
47
-
48
- expect(textWithMarks(doc, expectedText, [subsupNode])).toBe(true);
49
- });
50
- }
@@ -1,61 +0,0 @@
1
- import { createSchema } from '../../../../schema/create-schema';
2
- import {
3
- fromHTML,
4
- toHTML,
5
- textWithMarks,
6
- } from 'adf-test-helpers/src/adf-schema';
7
-
8
- const testColorObj1 = { color: '#97a0af' };
9
- const testColorObj2 = { color: '#97A0AF' };
10
- const packageName = process.env._PACKAGE_NAME_ as string;
11
-
12
- describe(`${packageName}/schema textColor mark`, () => {
13
- itMatches(
14
- `<span style="color: rgb(151, 160, 175);">text</span>`,
15
- 'text',
16
- testColorObj1,
17
- );
18
- itMatches(`<span style="color: #97a0af;">text</span>`, 'text', testColorObj1);
19
- itMatches(`<span style="color: #97A0AF;">text</span>`, 'text', testColorObj1);
20
-
21
- it('serializes to <span style="color: ...">', () => {
22
- const schema = makeSchema();
23
- const node = schema.text('foo', [
24
- schema.marks.textColor.create(testColorObj1),
25
- ]);
26
- expect(toHTML(node, schema)).toEqual(
27
- `<span class=\"fabric-text-color-mark\" style=\"--custom-palette-color: var(--ds-icon-accent-gray, #97A0AF)\" data-text-custom-color=\"#97a0af\">foo</span>`,
28
- );
29
- });
30
-
31
- it('serializes to <span style="color: ..."> case preserving', () => {
32
- const schema = makeSchema();
33
- const node = schema.text('foo', [
34
- schema.marks.textColor.create(testColorObj2),
35
- ]);
36
- expect(toHTML(node, schema)).toEqual(
37
- `<span class=\"fabric-text-color-mark\" style=\"--custom-palette-color: var(--ds-icon-accent-gray, #97A0AF)\" data-text-custom-color=\"#97A0AF\">foo</span>`,
38
- );
39
- });
40
- });
41
-
42
- function makeSchema() {
43
- return createSchema({
44
- nodes: ['doc', 'paragraph', 'text'],
45
- marks: ['textColor'],
46
- });
47
- }
48
-
49
- function itMatches(
50
- html: string,
51
- expectedText: string,
52
- attrs: { color: string },
53
- ) {
54
- it(`matches ${html}`, () => {
55
- const schema = makeSchema();
56
- const doc = fromHTML(`${html}`, schema);
57
- const textColorNode = schema.marks.textColor.create(attrs);
58
-
59
- expect(textWithMarks(doc, expectedText, [textColorNode])).toBe(true);
60
- });
61
- }
@@ -1,36 +0,0 @@
1
- import { createSchema } from '../../../../schema/create-schema';
2
- import {
3
- fromHTML,
4
- toHTML,
5
- textWithMarks,
6
- } from 'adf-test-helpers/src/adf-schema';
7
-
8
- const packageName = process.env._PACKAGE_NAME_ as string;
9
-
10
- describe(`${packageName}/schema underline mark`, () => {
11
- itMatches('<u>text</u>', 'text');
12
- itMatches('<span style="text-decoration: underline">text</span>', 'text');
13
-
14
- it('serializes to <u>', () => {
15
- const schema = makeSchema();
16
- const node = schema.text('foo', [schema.marks.underline.create()]);
17
- expect(toHTML(node, schema)).toEqual('<u>foo</u>');
18
- });
19
- });
20
-
21
- function makeSchema() {
22
- return createSchema({
23
- nodes: ['doc', 'paragraph', 'text'],
24
- marks: ['underline'],
25
- });
26
- }
27
-
28
- function itMatches(html: string, expectedText: string) {
29
- it(`matches ${html}`, () => {
30
- const schema = makeSchema();
31
- const doc = fromHTML(`${html}`, schema);
32
- const underlineNode = schema.marks.underline.create();
33
-
34
- expect(textWithMarks(doc, expectedText, [underlineNode])).toBe(true);
35
- });
36
- }