Fix tests and coverage

This commit is contained in:
Antoine Vandecreme 2015-02-27 14:07:42 -05:00
parent a372274ee1
commit ed72ae748f
2 changed files with 39 additions and 16 deletions

View File

@ -39,7 +39,7 @@
<script src="/src/referencestrip.js"></script> <script src="/src/referencestrip.js"></script>
<script src="/src/displayrectangle.js"></script> <script src="/src/displayrectangle.js"></script>
<script src="/src/spring.js"></script> <script src="/src/spring.js"></script>
<script src="/src/imageLoader.js"></script> <script src="/src/imageloader.js"></script>
<script src="/src/tile.js"></script> <script src="/src/tile.js"></script>
<script src="/src/overlay.js"></script> <script src="/src/overlay.js"></script>
<script src="/src/drawer.js"></script> <script src="/src/drawer.js"></script>

View File

@ -301,6 +301,24 @@
viewer.open('/test/data/testpattern.dzi'); viewer.open('/test/data/testpattern.dzi');
}); });
// The Wikipedia logo has CORS enabled
var corsImg = 'http://upload.wikimedia.org/wikipedia/en/b/bc/Wiki.png';
// PhantomJS always taint the canvas, so we only run some tests on browsers
// supporting CORS images.
function browserSupportsImgCrossOrigin(callback) {
var img = new Image();
img.crossOrigin = 'anonymous';
img.onload = function() {
var canvas = document.createElement("canvas");
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
callback(!isCanvasTainted(ctx));
};
img.src = corsImg;
}
function isCanvasTainted(context) { function isCanvasTainted(context) {
var isTainted = false; var isTainted = false;
try { try {
@ -319,8 +337,7 @@
viewer.open( { viewer.open( {
type: 'legacy-image-pyramid', type: 'legacy-image-pyramid',
levels: [ { levels: [ {
// The Wikipedia logo has CORS enabled url: corsImg,
url: 'http://upload.wikimedia.org/wikipedia/en/b/bc/Wiki.png',
width: 135, width: 135,
height: 155 height: 155
} ] } ]
@ -334,19 +351,25 @@
asyncTest( 'CrossOriginPolicyAnonymous', function () { asyncTest( 'CrossOriginPolicyAnonymous', function () {
viewer.crossOriginPolicy = 'Anonymous'; browserSupportsImgCrossOrigin(function(supported) {
viewer.open( { if (!supported) {
type: 'legacy-image-pyramid', expect(0);
levels: [ { start();
// The Wikipedia logo has CORS enabled } else {
url: 'http://upload.wikimedia.org/wikipedia/en/b/bc/Wiki.png', viewer.crossOriginPolicy = 'Anonymous';
width: 135, viewer.open( {
height: 155 type: 'legacy-image-pyramid',
} ] levels: [ {
} ); url: corsImg,
viewer.addHandler('tile-drawn', function() { width: 135,
ok(!isCanvasTainted(viewer.drawer.context), "Canvas should not be tainted."); height: 155
start(); } ]
} );
viewer.addHandler('tile-drawn', function() {
ok(!isCanvasTainted(viewer.drawer.context), "Canvas should not be tainted.");
start();
});
}
}); });
} ); } );