Skip to content

Commit 8eb1183

Browse files
authored
Merge pull request #6884 from plotly/tests-fix-selection-double-y-axes
Add Jasmine Test for bugfix #6870
2 parents 7bca015 + fadbf40 commit 8eb1183

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

test/jasmine/tests/select_test.js

+96
Original file line numberDiff line numberDiff line change
@@ -1599,6 +1599,102 @@ describe('Test select box and lasso in general:', function() {
15991599
})
16001600
.then(done, done.fail);
16011601
});
1602+
1603+
it('should re-select data in all overlaying visible traces', function(done) {
1604+
var gd = createGraphDiv();
1605+
_newPlot(gd, [{
1606+
x: [1, 2, 3],
1607+
y: [4, 5, 6],
1608+
name: 'yaxis1 data',
1609+
type: 'scatter'
1610+
},
1611+
{
1612+
x: [2, 3, 4],
1613+
y: [40, 50, 60],
1614+
name: 'yaxis2 data',
1615+
yaxis: 'y2',
1616+
xaxis: 'x2',
1617+
type: 'scatter'
1618+
},
1619+
{
1620+
x: [3, 4, 5],
1621+
y: [400, 500, 600],
1622+
name: 'yaxis3 data',
1623+
yaxis: 'y3',
1624+
type: 'scatter'
1625+
},
1626+
{
1627+
x: [4, 5, 6],
1628+
y: [1000, 2000, 3000],
1629+
name: 'yaxis4 data',
1630+
yaxis: 'y4',
1631+
xaxis: 'x2',
1632+
type: 'scatter'
1633+
}
1634+
],
1635+
{
1636+
grid: {
1637+
rows: 2,
1638+
columns: 1,
1639+
pattern: 'independent'
1640+
},
1641+
width: 800,
1642+
height: 600,
1643+
yaxis: {
1644+
showline: true,
1645+
title: {
1646+
text: 'yaxis title'
1647+
}
1648+
},
1649+
yaxis2: {
1650+
title: {
1651+
text: 'yaxis2 title'
1652+
},
1653+
showline: true
1654+
},
1655+
yaxis3: {
1656+
title: {
1657+
text: 'yaxis3 title'
1658+
},
1659+
anchor: 'free',
1660+
overlaying: 'y',
1661+
showline: true,
1662+
autoshift: true
1663+
},
1664+
yaxis4: {
1665+
title: {
1666+
text: 'yaxis4 title'
1667+
},
1668+
anchor: 'free',
1669+
overlaying: 'y2',
1670+
showline: true,
1671+
autoshift: true
1672+
}
1673+
}).then(function() {
1674+
return Plotly.relayout(gd, 'dragmode', 'select');
1675+
}).then(function() {
1676+
return drag([[150, 450], [650, 350]]);
1677+
}).then(function() {
1678+
expect(gd.data[0].selectedpoints).toBe(undefined);
1679+
expect(gd.data[1].selectedpoints).toEqual([1, 2]);
1680+
expect(gd.data[2].selectedpoints).toBe(undefined);
1681+
expect(gd.data[3].selectedpoints).toEqual([1, 2]);
1682+
}).then(function() {
1683+
return drag([[150, 100], [600, 200]]);
1684+
}).then(function() {
1685+
expect(gd.data[0].selectedpoints).toEqual([1, 2]);
1686+
expect(gd.data[1].selectedpoints).toEqual([1, 2]);
1687+
expect(gd.data[2].selectedpoints).toEqual([1]);
1688+
expect(gd.data[3].selectedpoints).toEqual([1, 2]);
1689+
}).then(function() {
1690+
return drag([[600, 150], [650, 150]]); // Extend existing selection
1691+
}).then(function() {
1692+
expect(gd.data[0].selectedpoints).toEqual([1, 2]);
1693+
expect(gd.data[1].selectedpoints).toEqual([1, 2]);
1694+
expect(gd.data[2].selectedpoints).toEqual([1, 2]);
1695+
expect(gd.data[3].selectedpoints).toEqual([1, 2]);
1696+
}).then(done, done.fail);
1697+
});
16021698
});
16031699

16041700
describe('Test select box and lasso per trace:', function() {

0 commit comments

Comments
 (0)