@@ -2,6 +2,7 @@ describe('pan', function() {
22 describe ( 'auto' , jasmine . fixture . specs ( 'pan' ) ) ;
33
44 const data = {
5+ labels : [ 'a' , 'b' , 'c' , 'd' , 'e' ] ,
56 datasets : [ {
67 data : [ {
78 x : 1 ,
@@ -16,6 +17,83 @@ describe('pan', function() {
1617 } ]
1718 } ;
1819
20+ describe ( 'delta' , function ( ) {
21+ it ( 'should be applied cumulatively' , function ( ) {
22+ const chart = window . acquireChart ( {
23+ type : 'line' ,
24+ data,
25+ options : {
26+ plugins : {
27+ zoom : {
28+ pan : {
29+ enabled : true ,
30+ mode : 'x' ,
31+ }
32+ }
33+ } ,
34+ scales : {
35+ x : {
36+ min : 1 ,
37+ max : 2
38+ }
39+ }
40+ }
41+ } ) ;
42+ const scale = chart . scales . x ;
43+ expect ( scale . min ) . toBe ( 1 ) ;
44+ expect ( scale . max ) . toBe ( 2 ) ;
45+ chart . pan ( 20 ) ;
46+ expect ( scale . min ) . toBe ( 1 ) ;
47+ expect ( scale . max ) . toBe ( 2 ) ;
48+ chart . pan ( 20 ) ;
49+ expect ( scale . min ) . toBe ( 1 ) ;
50+ expect ( scale . max ) . toBe ( 2 ) ;
51+ chart . pan ( 20 ) ;
52+ expect ( scale . min ) . toBe ( 0 ) ;
53+ expect ( scale . max ) . toBe ( 1 ) ;
54+ } ) ;
55+
56+ it ( 'should not give credit' , function ( ) {
57+ const chart = window . acquireChart ( {
58+ type : 'scatter' ,
59+ data,
60+ options : {
61+ plugins : {
62+ zoom : {
63+ limits : {
64+ x : {
65+ max : 4
66+ }
67+ } ,
68+ pan : {
69+ enabled : true ,
70+ mode : 'x' ,
71+ }
72+ }
73+ } ,
74+ scales : {
75+ x : {
76+ min : 1 ,
77+ max : 3
78+ }
79+ }
80+ }
81+ } ) ;
82+ const scale = chart . scales . x ;
83+ expect ( scale . min ) . toBe ( 1 ) ;
84+ expect ( scale . max ) . toBe ( 3 ) ;
85+ chart . pan ( - 2000 ) ;
86+ expect ( scale . min ) . toBe ( 2 ) ;
87+ expect ( scale . max ) . toBe ( 4 ) ;
88+ chart . pan ( - 2000 ) ;
89+ expect ( scale . min ) . toBe ( 2 ) ;
90+ expect ( scale . max ) . toBe ( 4 ) ;
91+ chart . pan ( 50 ) ;
92+ expect ( scale . min ) . toBeLessThan ( 2 ) ;
93+ expect ( scale . max ) . toBe ( scale . min + 2 ) ;
94+ } ) ;
95+ } ) ;
96+
1997 describe ( 'events' , function ( ) {
2098 it ( 'should call onPanStart' , function ( done ) {
2199 const startSpy = jasmine . createSpy ( 'started' ) ;
0 commit comments