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,12 +351,16 @@
asyncTest( 'CrossOriginPolicyAnonymous', function () { asyncTest( 'CrossOriginPolicyAnonymous', function () {
browserSupportsImgCrossOrigin(function(supported) {
if (!supported) {
expect(0);
start();
} else {
viewer.crossOriginPolicy = 'Anonymous'; viewer.crossOriginPolicy = 'Anonymous';
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
} ] } ]
@ -348,6 +369,8 @@
ok(!isCanvasTainted(viewer.drawer.context), "Canvas should not be tainted."); ok(!isCanvasTainted(viewer.drawer.context), "Canvas should not be tainted.");
start(); start();
}); });
}
});
} ); } );