1- import { fixtureSync } from '@vaadin/testing-helpers/dist/fixture.js ' ;
1+ import { aTimeout , fixtureSync , nextFrame } from '@vaadin/testing-helpers' ;
22import { visualDiff } from '@web/test-runner-visual-regression' ;
3+ import '../../chart-not-animated-styles.js' ;
34import '../../../src/vaadin-chart.js' ;
5+ import Highcharts from 'highcharts/es-modules/masters/highstock.src.js' ;
6+ import { cleanupExport , prepareExport } from '../../../src/helpers.js' ;
47
58describe ( 'chart' , ( ) => {
69 let element ;
@@ -73,6 +76,10 @@ describe('chart', () => {
7376 ` ) ;
7477 } ) ;
7578
79+ afterEach ( ( ) => {
80+ document . documentElement . style . removeProperty ( 'color-scheme' ) ;
81+ } ) ;
82+
7683 it ( 'pie' , async ( ) => {
7784 await visualDiff ( element , 'pie' ) ;
7885 } ) ;
@@ -82,4 +89,66 @@ describe('chart', () => {
8289 await visualDiff ( element , 'pie-dark' ) ;
8390 } ) ;
8491 } ) ;
92+
93+ describe ( 'exporting' , ( ) => {
94+ let exporting ;
95+ beforeEach ( async ( ) => {
96+ const fixture = fixtureSync ( `
97+ <div>
98+ <vaadin-chart
99+ hidden
100+ title="Solar Employment Growth by Sector, 2010-2016"
101+ categories="[2010, 2011, 2012, 2013, 2014, 2015, 206, 2017]"
102+ additional-options='{
103+ "plotOptions": {
104+ "series": {
105+ "animation": false
106+ }
107+ }
108+ }'
109+ >
110+ <vaadin-chart-series
111+ title="Installation"
112+ values="[43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]"
113+ ></vaadin-chart-series>
114+ <vaadin-chart-series
115+ title="Manufacturing"
116+ values="[24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434]"
117+ ></vaadin-chart-series>
118+ <vaadin-chart-series
119+ title="Sales & Distribution"
120+ values="[11744, 17722, 16005, 19771, 20185, 24377, 32147, 39387]"
121+ ></vaadin-chart-series>
122+ <vaadin-chart-series
123+ title="Project Development"
124+ values="[null, null, 7988, 12169, 15112, 22452, 34400, 34227]"
125+ ></vaadin-chart-series>
126+ <vaadin-chart-series
127+ title="Other"
128+ values="[12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111]"
129+ ></vaadin-chart-series>
130+ </vaadin-chart>
131+ <div id="exporting" style="margin: 2em;"></div>
132+ </div>
133+ ` ) ;
134+ element = fixture . querySelector ( 'vaadin-chart' ) ;
135+ exporting = fixture . querySelector ( '#exporting' ) ;
136+
137+ await nextFrame ( ) ;
138+
139+ const chart = Highcharts . chart ( exporting , element . configuration . userOptions ) ;
140+ element . configuration . series . forEach ( ( series ) => chart . addSeries ( series . userOptions ) ) ;
141+ prepareExport ( element ) ;
142+
143+ await aTimeout ( 500 ) ;
144+ } ) ;
145+
146+ afterEach ( ( ) => {
147+ cleanupExport ( element ) ;
148+ } ) ;
149+
150+ it ( 'styled mode' , async ( ) => {
151+ await visualDiff ( exporting , 'styled-mode' ) ;
152+ } ) ;
153+ } ) ;
85154} ) ;
0 commit comments