@pie-lib/charting 7.1.0-beta.8 → 8.0.0-next.35

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 (233) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +20 -0
  2. package/dist/actions-button.d.ts +26 -0
  3. package/dist/actions-button.js +84 -0
  4. package/dist/autosize-input.d.ts +10 -0
  5. package/dist/autosize-input.js +66 -0
  6. package/dist/axes.d.ts +84 -0
  7. package/dist/axes.js +376 -0
  8. package/dist/bars/bar.d.ts +47 -0
  9. package/dist/bars/bar.js +27 -0
  10. package/dist/bars/common/bars.d.ts +98 -0
  11. package/dist/bars/common/bars.js +174 -0
  12. package/dist/bars/common/correct-check-icon.d.ts +18 -0
  13. package/dist/bars/common/correct-check-icon.js +50 -0
  14. package/dist/bars/histogram.d.ts +47 -0
  15. package/dist/bars/histogram.js +28 -0
  16. package/dist/chart-setup.d.ts +29 -0
  17. package/dist/chart-setup.js +231 -0
  18. package/dist/chart-type.d.ts +32 -0
  19. package/dist/chart-type.js +68 -0
  20. package/dist/chart-types.d.ts +41 -0
  21. package/dist/chart-types.js +17 -0
  22. package/dist/chart.d.ts +88 -0
  23. package/dist/chart.js +250 -0
  24. package/dist/common/correctness-indicators.d.ts +70 -0
  25. package/dist/common/correctness-indicators.js +106 -0
  26. package/dist/common/drag-handle.d.ts +129 -0
  27. package/dist/common/drag-handle.js +120 -0
  28. package/dist/common/drag-icon.d.ts +23 -0
  29. package/dist/common/drag-icon.js +45 -0
  30. package/dist/common/styles.d.ts +23 -0
  31. package/dist/common/styles.js +17 -0
  32. package/dist/grid.d.ts +45 -0
  33. package/dist/grid.js +56 -0
  34. package/dist/index.d.ts +14 -0
  35. package/dist/index.js +6 -0
  36. package/dist/key-legend.d.ts +19 -0
  37. package/dist/key-legend.js +46 -0
  38. package/dist/line/common/drag-handle.d.ts +120 -0
  39. package/dist/line/common/drag-handle.js +92 -0
  40. package/dist/line/common/line.d.ts +96 -0
  41. package/dist/line/common/line.js +114 -0
  42. package/dist/line/line-cross.d.ts +47 -0
  43. package/dist/line/line-cross.js +133 -0
  44. package/dist/line/line-dot.d.ts +47 -0
  45. package/dist/line/line-dot.js +101 -0
  46. package/dist/mark-label.d.ts +55 -0
  47. package/dist/mark-label.js +138 -0
  48. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/Axis.js +67 -0
  49. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/AxisBottom.js +29 -0
  50. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/AxisLeft.js +30 -0
  51. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/AxisRenderer.js +66 -0
  52. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/Ticks.js +39 -0
  53. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/constants/orientation.js +9 -0
  54. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/createPoint.js +14 -0
  55. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js +13 -0
  56. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getLabelTransform.js +16 -0
  57. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getTickFormatter.js +8 -0
  58. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getTickPosition.js +14 -0
  59. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/GridColumns.js +46 -0
  60. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/GridRows.js +46 -0
  61. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/utils/getScaleBandwidth.js +6 -0
  62. package/dist/node_modules/.bun/@visx_group@4.0.0_d84c32d47042070f/node_modules/@visx/group/esm/Group.js +17 -0
  63. package/dist/node_modules/.bun/@visx_point@4.0.0/node_modules/@visx/point/esm/Point.js +20 -0
  64. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/align.js +6 -0
  65. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/base.js +6 -0
  66. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/clamp.js +6 -0
  67. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/constant.js +6 -0
  68. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/domain.js +6 -0
  69. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/exponent.js +6 -0
  70. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/interpolate.js +10 -0
  71. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/nice.js +37 -0
  72. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/padding.js +6 -0
  73. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/range.js +6 -0
  74. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/reverse.js +9 -0
  75. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/round.js +7 -0
  76. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/scaleOperator.js +56 -0
  77. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/unknown.js +6 -0
  78. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/operators/zero.js +9 -0
  79. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/scales/band.js +9 -0
  80. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/scales/point.js +9 -0
  81. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/coerceNumber.js +10 -0
  82. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/createColorInterpolator.js +29 -0
  83. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/getTicks.js +7 -0
  84. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/isUtcScale.js +7 -0
  85. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/toString.js +6 -0
  86. package/dist/node_modules/.bun/@visx_shape@4.0.0_d84c32d47042070f/node_modules/@visx/shape/esm/shapes/Bar.js +15 -0
  87. package/dist/node_modules/.bun/@visx_shape@4.0.0_d84c32d47042070f/node_modules/@visx/shape/esm/shapes/Circle.js +15 -0
  88. package/dist/node_modules/.bun/@visx_shape@4.0.0_d84c32d47042070f/node_modules/@visx/shape/esm/shapes/Line.js +27 -0
  89. package/dist/node_modules/.bun/@visx_shape@4.0.0_d84c32d47042070f/node_modules/@visx/shape/esm/shapes/LinePath.js +24 -0
  90. package/dist/node_modules/.bun/@visx_shape@4.0.0_d84c32d47042070f/node_modules/@visx/shape/esm/util/D3ShapeFactories.js +9 -0
  91. package/dist/node_modules/.bun/@visx_shape@4.0.0_d84c32d47042070f/node_modules/@visx/shape/esm/util/setNumberOrNumberAccessor.js +6 -0
  92. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/Text.js +27 -0
  93. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/hooks/useText.js +68 -0
  94. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/util/getStringWidth.js +19 -0
  95. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/util/memoize.js +13 -0
  96. package/dist/node_modules/.bun/@visx_vendor@4.0.0/node_modules/@visx/vendor/esm/d3-interpolate.js +8 -0
  97. package/dist/node_modules/.bun/@visx_vendor@4.0.0/node_modules/@visx/vendor/esm/d3-scale.js +8 -0
  98. package/dist/node_modules/.bun/@visx_vendor@4.0.0/node_modules/@visx/vendor/esm/d3-shape.js +8 -0
  99. package/dist/node_modules/.bun/@visx_vendor@4.0.0/node_modules/@visx/vendor/esm/d3-time.js +8 -0
  100. package/dist/node_modules/.bun/balanced-match@0.4.2/node_modules/balanced-match/index.js +32 -0
  101. package/dist/node_modules/.bun/balanced-match@1.0.2/node_modules/balanced-match/index.js +33 -0
  102. package/dist/node_modules/.bun/classnames@2.5.1/node_modules/classnames/index.js +32 -0
  103. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  104. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/formula_evaluator.js +37 -0
  105. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/lexer.js +509 -0
  106. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/math_function.js +108 -0
  107. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix.js +31 -0
  108. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix_evaluator.js +45 -0
  109. package/dist/node_modules/.bun/reduce-css-calc@1.3.0/node_modules/reduce-css-calc/index.js +49 -0
  110. package/dist/node_modules/.bun/reduce-function-call@1.0.3/node_modules/reduce-function-call/index.js +34 -0
  111. package/dist/plot/common/plot.d.ts +103 -0
  112. package/dist/plot/common/plot.js +227 -0
  113. package/dist/plot/dot.d.ts +47 -0
  114. package/dist/plot/dot.js +62 -0
  115. package/dist/plot/line.d.ts +47 -0
  116. package/dist/plot/line.js +84 -0
  117. package/dist/tool-menu.d.ts +31 -0
  118. package/dist/utils.d.ts +39 -0
  119. package/dist/utils.js +101 -0
  120. package/package.json +45 -36
  121. package/CHANGELOG.json +0 -17
  122. package/CHANGELOG.md +0 -1116
  123. package/lib/actions-button.js +0 -145
  124. package/lib/actions-button.js.map +0 -1
  125. package/lib/axes.js +0 -643
  126. package/lib/axes.js.map +0 -1
  127. package/lib/bars/bar.js +0 -58
  128. package/lib/bars/bar.js.map +0 -1
  129. package/lib/bars/common/bars.js +0 -277
  130. package/lib/bars/common/bars.js.map +0 -1
  131. package/lib/bars/common/correct-check-icon.js +0 -54
  132. package/lib/bars/common/correct-check-icon.js.map +0 -1
  133. package/lib/bars/histogram.js +0 -59
  134. package/lib/bars/histogram.js.map +0 -1
  135. package/lib/chart-setup.js +0 -382
  136. package/lib/chart-setup.js.map +0 -1
  137. package/lib/chart-type.js +0 -80
  138. package/lib/chart-type.js.map +0 -1
  139. package/lib/chart-types.js +0 -22
  140. package/lib/chart-types.js.map +0 -1
  141. package/lib/chart.js +0 -384
  142. package/lib/chart.js.map +0 -1
  143. package/lib/common/correctness-indicators.js +0 -156
  144. package/lib/common/correctness-indicators.js.map +0 -1
  145. package/lib/common/drag-handle.js +0 -160
  146. package/lib/common/drag-handle.js.map +0 -1
  147. package/lib/common/drag-icon.js +0 -52
  148. package/lib/common/drag-icon.js.map +0 -1
  149. package/lib/common/styles.js +0 -22
  150. package/lib/common/styles.js.map +0 -1
  151. package/lib/grid.js +0 -112
  152. package/lib/grid.js.map +0 -1
  153. package/lib/index.js +0 -42
  154. package/lib/index.js.map +0 -1
  155. package/lib/key-legend.js +0 -87
  156. package/lib/key-legend.js.map +0 -1
  157. package/lib/line/common/drag-handle.js +0 -146
  158. package/lib/line/common/drag-handle.js.map +0 -1
  159. package/lib/line/common/line.js +0 -214
  160. package/lib/line/common/line.js.map +0 -1
  161. package/lib/line/line-cross.js +0 -214
  162. package/lib/line/line-cross.js.map +0 -1
  163. package/lib/line/line-dot.js +0 -158
  164. package/lib/line/line-dot.js.map +0 -1
  165. package/lib/mark-label.js +0 -237
  166. package/lib/mark-label.js.map +0 -1
  167. package/lib/plot/common/plot.js +0 -349
  168. package/lib/plot/common/plot.js.map +0 -1
  169. package/lib/plot/dot.js +0 -110
  170. package/lib/plot/dot.js.map +0 -1
  171. package/lib/plot/line.js +0 -140
  172. package/lib/plot/line.js.map +0 -1
  173. package/lib/tool-menu.js +0 -106
  174. package/lib/tool-menu.js.map +0 -1
  175. package/lib/utils.js +0 -189
  176. package/lib/utils.js.map +0 -1
  177. package/src/__tests__/actions-button.test.jsx +0 -280
  178. package/src/__tests__/axes.test.jsx +0 -667
  179. package/src/__tests__/chart-setup.test.jsx +0 -532
  180. package/src/__tests__/chart-type.test.jsx +0 -23
  181. package/src/__tests__/chart.test.jsx +0 -86
  182. package/src/__tests__/grid.test.jsx +0 -37
  183. package/src/__tests__/key-legend.test.jsx +0 -223
  184. package/src/__tests__/mark-label.test.jsx +0 -33
  185. package/src/__tests__/tool-menu.test.jsx +0 -522
  186. package/src/__tests__/utils.js +0 -36
  187. package/src/__tests__/utils.test.js +0 -100
  188. package/src/actions-button.jsx +0 -115
  189. package/src/axes.jsx +0 -594
  190. package/src/bars/__tests__/bar.test.jsx +0 -45
  191. package/src/bars/__tests__/histogram.test.jsx +0 -45
  192. package/src/bars/__tests__/utils.js +0 -30
  193. package/src/bars/bar.js +0 -28
  194. package/src/bars/common/__tests__/bars.test.jsx +0 -68
  195. package/src/bars/common/__tests__/utils.js +0 -30
  196. package/src/bars/common/bars.jsx +0 -249
  197. package/src/bars/common/correct-check-icon.jsx +0 -25
  198. package/src/bars/histogram.js +0 -28
  199. package/src/chart-setup.jsx +0 -356
  200. package/src/chart-type.js +0 -59
  201. package/src/chart-types.js +0 -8
  202. package/src/chart.jsx +0 -357
  203. package/src/common/__tests__/correctness-indicators.test.jsx +0 -720
  204. package/src/common/__tests__/drag-handle.test.jsx +0 -58
  205. package/src/common/__tests__/utils.js +0 -30
  206. package/src/common/correctness-indicators.jsx +0 -128
  207. package/src/common/drag-handle.jsx +0 -125
  208. package/src/common/drag-icon.jsx +0 -36
  209. package/src/common/styles.js +0 -19
  210. package/src/grid.jsx +0 -80
  211. package/src/index.js +0 -7
  212. package/src/key-legend.jsx +0 -77
  213. package/src/line/__tests__/line-cross.test.jsx +0 -463
  214. package/src/line/__tests__/line-dot.test.jsx +0 -41
  215. package/src/line/__tests__/utils.js +0 -36
  216. package/src/line/common/__tests__/drag-handle.test.jsx +0 -62
  217. package/src/line/common/__tests__/line.test.jsx +0 -79
  218. package/src/line/common/__tests__/utils.js +0 -30
  219. package/src/line/common/drag-handle.jsx +0 -114
  220. package/src/line/common/line.jsx +0 -171
  221. package/src/line/line-cross.js +0 -144
  222. package/src/line/line-dot.js +0 -111
  223. package/src/mark-label.jsx +0 -238
  224. package/src/plot/__tests__/dot.test.jsx +0 -344
  225. package/src/plot/__tests__/line.test.jsx +0 -375
  226. package/src/plot/__tests__/utils.js +0 -30
  227. package/src/plot/common/__tests__/plot.test.jsx +0 -69
  228. package/src/plot/common/__tests__/utils.js +0 -30
  229. package/src/plot/common/plot.jsx +0 -358
  230. package/src/plot/dot.js +0 -74
  231. package/src/plot/line.js +0 -98
  232. package/src/tool-menu.jsx +0 -85
  233. package/src/utils.js +0 -201
@@ -1,223 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import { createTheme, ThemeProvider } from '@mui/material/styles';
4
- import KeyLegend from '../key-legend';
5
-
6
- jest.mock('@pie-lib/translator', () => ({
7
- __esModule: true,
8
- default: {
9
- translator: {
10
- t: jest.fn((key) => {
11
- const translations = {
12
- 'charting.keyLegend.incorrectAnswer': 'Incorrect answer selected',
13
- 'charting.keyLegend.correctAnswer': 'Correct answer selected',
14
- 'charting.keyLegend.correctKeyAnswer': 'Correct answer',
15
- };
16
- return translations[key] || key;
17
- }),
18
- },
19
- },
20
- }));
21
-
22
- jest.mock('@mui/icons-material/Check', () => {
23
- return function Check(props) {
24
- return <div data-testid="check-icon" {...props} />;
25
- };
26
- });
27
-
28
- jest.mock('@mui/icons-material/Close', () => {
29
- return function Close(props) {
30
- return <div data-testid="close-icon" {...props} />;
31
- };
32
- });
33
-
34
- let theme;
35
-
36
- beforeAll(() => {
37
- theme = createTheme();
38
- });
39
-
40
- describe('KeyLegend', () => {
41
- const renderComponent = (extras = {}) => {
42
- const defaults = {
43
- language: 'en',
44
- };
45
- const props = { ...defaults, ...extras };
46
- return render(
47
- <ThemeProvider theme={theme}>
48
- <KeyLegend {...props} />
49
- </ThemeProvider>,
50
- );
51
- };
52
-
53
- describe('rendering', () => {
54
- it('renders without crashing', () => {
55
- const { container } = renderComponent();
56
- expect(container).toBeInTheDocument();
57
- });
58
-
59
- it('renders Key title', () => {
60
- const { getByText } = renderComponent();
61
- expect(getByText('Key')).toBeInTheDocument();
62
- });
63
-
64
- it('renders incorrect answer row', () => {
65
- const { getByText } = renderComponent();
66
- expect(getByText('Incorrect answer selected')).toBeInTheDocument();
67
- });
68
-
69
- it('renders correct answer row', () => {
70
- const { getByText } = renderComponent();
71
- expect(getByText('Correct answer selected')).toBeInTheDocument();
72
- });
73
-
74
- it('renders correct key answer row', () => {
75
- const { getByText } = renderComponent();
76
- expect(getByText('Correct answer')).toBeInTheDocument();
77
- });
78
-
79
- it('renders with custom language', () => {
80
- const { container } = renderComponent({ language: 'es' });
81
- expect(container).toBeInTheDocument();
82
- });
83
-
84
- it('renders with undefined language', () => {
85
- const { container } = renderComponent({ language: undefined });
86
- expect(container).toBeInTheDocument();
87
- });
88
- });
89
-
90
- describe('icons', () => {
91
- it('renders incorrect icon (Close)', () => {
92
- const { getAllByTestId } = renderComponent();
93
- const closeIcons = getAllByTestId('close-icon');
94
- expect(closeIcons.length).toBeGreaterThan(0);
95
- });
96
-
97
- it('renders correct icons (Check)', () => {
98
- const { getAllByTestId } = renderComponent();
99
- const checkIcons = getAllByTestId('check-icon');
100
- expect(checkIcons.length).toBe(2);
101
- });
102
-
103
- it('renders small check icon for correct key answer', () => {
104
- const { getAllByTestId } = renderComponent();
105
- const checkIcons = getAllByTestId('check-icon');
106
-
107
- expect(checkIcons.length).toBeGreaterThan(0);
108
-
109
- checkIcons.forEach((icon) => {
110
- expect(icon).toBeInTheDocument();
111
- });
112
- });
113
- });
114
-
115
- describe('structure', () => {
116
- it('has correct number of rows', () => {
117
- const { container } = renderComponent();
118
- const texts = ['Incorrect answer selected', 'Correct answer selected', 'Correct answer'];
119
-
120
- texts.forEach((text) => {
121
- expect(container.textContent).toContain(text);
122
- });
123
- });
124
-
125
- it('displays title at the top', () => {
126
- const { container } = renderComponent();
127
- const firstChild = container.querySelector('div > div');
128
- expect(firstChild?.textContent).toContain('Key');
129
- });
130
- });
131
-
132
- describe('styling', () => {
133
- it('applies styled container', () => {
134
- const { container } = renderComponent();
135
- const styledDiv = container.firstChild?.firstChild;
136
- expect(styledDiv).toBeInTheDocument();
137
- });
138
-
139
- it('renders all content in proper structure', () => {
140
- const { container } = renderComponent();
141
- expect(container.querySelector('[data-testid="close-icon"]')).toBeInTheDocument();
142
- expect(container.querySelectorAll('[data-testid="check-icon"]').length).toBe(2);
143
- });
144
- });
145
-
146
- describe('accessibility', () => {
147
- it('has readable text content', () => {
148
- const { container } = renderComponent();
149
- const text = container.textContent;
150
-
151
- expect(text).toContain('Key');
152
- expect(text).toContain('Incorrect answer selected');
153
- expect(text).toContain('Correct answer selected');
154
- expect(text).toContain('Correct answer');
155
- });
156
-
157
- it('icons have proper structure for screen readers', () => {
158
- const { getAllByTestId } = renderComponent();
159
- const icons = [...getAllByTestId('close-icon'), ...getAllByTestId('check-icon')];
160
-
161
- expect(icons.length).toBeGreaterThan(0);
162
- });
163
- });
164
-
165
- describe('edge cases', () => {
166
- it('handles null language', () => {
167
- const { container } = renderComponent({ language: null });
168
- expect(container).toBeInTheDocument();
169
- });
170
-
171
- it('handles empty string language', () => {
172
- const { container } = renderComponent({ language: '' });
173
- expect(container).toBeInTheDocument();
174
- });
175
-
176
- it('renders consistently with different language codes', () => {
177
- const languages = ['en', 'es', 'fr', 'de', 'zh'];
178
-
179
- languages.forEach((lang) => {
180
- const { container, unmount } = renderComponent({ language: lang });
181
- expect(container).toBeInTheDocument();
182
- unmount();
183
- });
184
- });
185
- });
186
-
187
- describe('translation integration', () => {
188
- it('calls translator with language parameter', () => {
189
- const Translator = require('@pie-lib/translator').default;
190
- const { t } = Translator.translator;
191
-
192
- renderComponent({ language: 'es' });
193
-
194
- expect(t).toHaveBeenCalled();
195
- });
196
-
197
- it('displays all required translation keys', () => {
198
- const { container } = renderComponent();
199
- const text = container.textContent;
200
-
201
- expect(text).toContain('Incorrect answer selected');
202
- expect(text).toContain('Correct answer selected');
203
- expect(text).toContain('Correct answer');
204
- });
205
- });
206
-
207
- describe('layout', () => {
208
- it('renders in a flex column layout', () => {
209
- const { container } = renderComponent();
210
- const mainContainer = container.firstChild?.firstChild;
211
- expect(mainContainer).toBeInTheDocument();
212
- });
213
-
214
- it('has proper spacing between elements', () => {
215
- const { getByText } = renderComponent();
216
-
217
- expect(getByText('Key')).toBeInTheDocument();
218
- expect(getByText('Incorrect answer selected')).toBeInTheDocument();
219
- expect(getByText('Correct answer selected')).toBeInTheDocument();
220
- expect(getByText('Correct answer')).toBeInTheDocument();
221
- });
222
- });
223
- });
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@pie-lib/test-utils';
3
- import { MarkLabel } from '../mark-label';
4
- import { graphProps as getGraphProps } from './utils';
5
-
6
- describe('MarkLabel', () => {
7
- let onChange = jest.fn();
8
-
9
- const renderComponent = (extras) => {
10
- const defaults = {
11
- classes: {},
12
- defineChart: false,
13
- className: 'className',
14
- onChange,
15
- mark: { x: 1, y: 1 },
16
- graphProps: getGraphProps(0, 10, 0, 10),
17
- };
18
- const props = { ...defaults, ...extras };
19
- return render(<MarkLabel {...props} />);
20
- };
21
-
22
- describe('rendering', () => {
23
- it('renders mark label', () => {
24
- const { container } = renderComponent();
25
- expect(container.firstChild).toBeInTheDocument();
26
- });
27
-
28
- it('renders mark label at different positions', () => {
29
- const { container } = renderComponent({ mark: { x: 10, y: 10 } });
30
- expect(container.firstChild).toBeInTheDocument();
31
- });
32
- });
33
- });