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

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 (232) 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 +143 -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/utils.d.ts +39 -0
  118. package/dist/utils.js +101 -0
  119. package/package.json +45 -36
  120. package/CHANGELOG.json +0 -17
  121. package/CHANGELOG.md +0 -1116
  122. package/lib/actions-button.js +0 -145
  123. package/lib/actions-button.js.map +0 -1
  124. package/lib/axes.js +0 -643
  125. package/lib/axes.js.map +0 -1
  126. package/lib/bars/bar.js +0 -58
  127. package/lib/bars/bar.js.map +0 -1
  128. package/lib/bars/common/bars.js +0 -277
  129. package/lib/bars/common/bars.js.map +0 -1
  130. package/lib/bars/common/correct-check-icon.js +0 -54
  131. package/lib/bars/common/correct-check-icon.js.map +0 -1
  132. package/lib/bars/histogram.js +0 -59
  133. package/lib/bars/histogram.js.map +0 -1
  134. package/lib/chart-setup.js +0 -382
  135. package/lib/chart-setup.js.map +0 -1
  136. package/lib/chart-type.js +0 -80
  137. package/lib/chart-type.js.map +0 -1
  138. package/lib/chart-types.js +0 -22
  139. package/lib/chart-types.js.map +0 -1
  140. package/lib/chart.js +0 -384
  141. package/lib/chart.js.map +0 -1
  142. package/lib/common/correctness-indicators.js +0 -156
  143. package/lib/common/correctness-indicators.js.map +0 -1
  144. package/lib/common/drag-handle.js +0 -160
  145. package/lib/common/drag-handle.js.map +0 -1
  146. package/lib/common/drag-icon.js +0 -52
  147. package/lib/common/drag-icon.js.map +0 -1
  148. package/lib/common/styles.js +0 -22
  149. package/lib/common/styles.js.map +0 -1
  150. package/lib/grid.js +0 -112
  151. package/lib/grid.js.map +0 -1
  152. package/lib/index.js +0 -42
  153. package/lib/index.js.map +0 -1
  154. package/lib/key-legend.js +0 -87
  155. package/lib/key-legend.js.map +0 -1
  156. package/lib/line/common/drag-handle.js +0 -146
  157. package/lib/line/common/drag-handle.js.map +0 -1
  158. package/lib/line/common/line.js +0 -214
  159. package/lib/line/common/line.js.map +0 -1
  160. package/lib/line/line-cross.js +0 -214
  161. package/lib/line/line-cross.js.map +0 -1
  162. package/lib/line/line-dot.js +0 -158
  163. package/lib/line/line-dot.js.map +0 -1
  164. package/lib/mark-label.js +0 -237
  165. package/lib/mark-label.js.map +0 -1
  166. package/lib/plot/common/plot.js +0 -349
  167. package/lib/plot/common/plot.js.map +0 -1
  168. package/lib/plot/dot.js +0 -110
  169. package/lib/plot/dot.js.map +0 -1
  170. package/lib/plot/line.js +0 -140
  171. package/lib/plot/line.js.map +0 -1
  172. package/lib/tool-menu.js +0 -106
  173. package/lib/tool-menu.js.map +0 -1
  174. package/lib/utils.js +0 -189
  175. package/lib/utils.js.map +0 -1
  176. package/src/__tests__/actions-button.test.jsx +0 -280
  177. package/src/__tests__/axes.test.jsx +0 -667
  178. package/src/__tests__/chart-setup.test.jsx +0 -532
  179. package/src/__tests__/chart-type.test.jsx +0 -23
  180. package/src/__tests__/chart.test.jsx +0 -86
  181. package/src/__tests__/grid.test.jsx +0 -37
  182. package/src/__tests__/key-legend.test.jsx +0 -223
  183. package/src/__tests__/mark-label.test.jsx +0 -33
  184. package/src/__tests__/tool-menu.test.jsx +0 -522
  185. package/src/__tests__/utils.js +0 -36
  186. package/src/__tests__/utils.test.js +0 -100
  187. package/src/actions-button.jsx +0 -115
  188. package/src/axes.jsx +0 -594
  189. package/src/bars/__tests__/bar.test.jsx +0 -45
  190. package/src/bars/__tests__/histogram.test.jsx +0 -45
  191. package/src/bars/__tests__/utils.js +0 -30
  192. package/src/bars/bar.js +0 -28
  193. package/src/bars/common/__tests__/bars.test.jsx +0 -68
  194. package/src/bars/common/__tests__/utils.js +0 -30
  195. package/src/bars/common/bars.jsx +0 -249
  196. package/src/bars/common/correct-check-icon.jsx +0 -25
  197. package/src/bars/histogram.js +0 -28
  198. package/src/chart-setup.jsx +0 -356
  199. package/src/chart-type.js +0 -59
  200. package/src/chart-types.js +0 -8
  201. package/src/chart.jsx +0 -357
  202. package/src/common/__tests__/correctness-indicators.test.jsx +0 -720
  203. package/src/common/__tests__/drag-handle.test.jsx +0 -58
  204. package/src/common/__tests__/utils.js +0 -30
  205. package/src/common/correctness-indicators.jsx +0 -128
  206. package/src/common/drag-handle.jsx +0 -125
  207. package/src/common/drag-icon.jsx +0 -36
  208. package/src/common/styles.js +0 -19
  209. package/src/grid.jsx +0 -80
  210. package/src/index.js +0 -7
  211. package/src/key-legend.jsx +0 -77
  212. package/src/line/__tests__/line-cross.test.jsx +0 -463
  213. package/src/line/__tests__/line-dot.test.jsx +0 -41
  214. package/src/line/__tests__/utils.js +0 -36
  215. package/src/line/common/__tests__/drag-handle.test.jsx +0 -62
  216. package/src/line/common/__tests__/line.test.jsx +0 -79
  217. package/src/line/common/__tests__/utils.js +0 -30
  218. package/src/line/common/drag-handle.jsx +0 -114
  219. package/src/line/common/line.jsx +0 -171
  220. package/src/line/line-cross.js +0 -144
  221. package/src/line/line-dot.js +0 -111
  222. package/src/mark-label.jsx +0 -238
  223. package/src/plot/__tests__/dot.test.jsx +0 -344
  224. package/src/plot/__tests__/line.test.jsx +0 -375
  225. package/src/plot/__tests__/utils.js +0 -30
  226. package/src/plot/common/__tests__/plot.test.jsx +0 -69
  227. package/src/plot/common/__tests__/utils.js +0 -30
  228. package/src/plot/common/plot.jsx +0 -358
  229. package/src/plot/dot.js +0 -74
  230. package/src/plot/line.js +0 -98
  231. package/src/tool-menu.jsx +0 -85
  232. 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
- });