Skip to content

Commit aa3527f

Browse files
committed
add test to lock issue 4718
1 parent 061cf9a commit aa3527f

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

test/jasmine/tests/axes_test.js

+74
Original file line numberDiff line numberDiff line change
@@ -5431,3 +5431,77 @@ describe('Test template:', function() {
54315431
.then(done);
54325432
});
54335433
});
5434+
5435+
describe('more react tests', function() {
5436+
var gd;
5437+
5438+
beforeEach(function() {
5439+
gd = createGraphDiv();
5440+
});
5441+
5442+
afterEach(destroyGraphDiv);
5443+
5444+
it('should sort catgories on matching axes using react', function(done) {
5445+
var fig = {
5446+
data: [{
5447+
yaxis: 'y',
5448+
xaxis: 'x',
5449+
y: [0, 0],
5450+
x: ['A', 'Z']
5451+
}, {
5452+
yaxis: 'y2',
5453+
xaxis: 'x2',
5454+
y: [0, 0],
5455+
x: ['A', 'Z']
5456+
}],
5457+
layout: {
5458+
width: 400,
5459+
height: 300,
5460+
showlegend: false,
5461+
xaxis: {
5462+
matches: 'x2',
5463+
domain: [ 0, 1]
5464+
},
5465+
yaxis: {
5466+
domain: [0.6, 1],
5467+
anchor: 'x'
5468+
},
5469+
xaxis2: {
5470+
domain: [0, 1],
5471+
anchor: 'y2'
5472+
},
5473+
yaxis2: {
5474+
domain: [0, 0.4],
5475+
anchor: 'x2'
5476+
}
5477+
}
5478+
};
5479+
5480+
Plotly.newPlot(gd, fig)
5481+
.then(function() {
5482+
expect(gd._fullLayout.xaxis._categories).toEqual(['A', 'Z']);
5483+
expect(gd._fullLayout.xaxis2._categories).toEqual(['A', 'Z']);
5484+
expect(gd._fullLayout.xaxis._categoriesMap).toEqual({A: 0, Z: 1});
5485+
expect(gd._fullLayout.xaxis2._categoriesMap).toEqual({A: 0, Z: 1});
5486+
})
5487+
.then(function() {
5488+
var newFig = JSON.parse(JSON.stringify(fig));
5489+
5490+
// flip order
5491+
newFig.data[0].x.reverse();
5492+
newFig.data[0].y.reverse();
5493+
newFig.data[1].x.reverse();
5494+
newFig.data[1].y.reverse();
5495+
5496+
return Plotly.react(gd, newFig);
5497+
})
5498+
.then(function() {
5499+
expect(gd._fullLayout.xaxis._categories).toEqual(['Z', 'A']);
5500+
expect(gd._fullLayout.xaxis2._categories).toEqual(['Z', 'A']);
5501+
expect(gd._fullLayout.xaxis._categoriesMap).toEqual({Z: 0, A: 1});
5502+
expect(gd._fullLayout.xaxis2._categoriesMap).toEqual({Z: 0, A: 1});
5503+
})
5504+
.catch(failTest)
5505+
.then(done);
5506+
});
5507+
});

0 commit comments

Comments
 (0)