Replace eval call when passing a Json string.

This commit is contained in:
Antoine Vandecreme 2015-07-30 16:44:41 -04:00
parent 4bb80067f7
commit d960c69b34
2 changed files with 47 additions and 16 deletions

View File

@ -1996,8 +1996,7 @@ function getTileSourceImplementation( viewer, tileSource, successCallback,
if ( tileSource.match( /\s*<.*/ ) ) { if ( tileSource.match( /\s*<.*/ ) ) {
tileSource = $.parseXml( tileSource ); tileSource = $.parseXml( tileSource );
} else if ( tileSource.match( /\s*[\{\[].*/ ) ) { } else if ( tileSource.match( /\s*[\{\[].*/ ) ) {
/*jshint evil:true*/ tileSource = $.parseJSON(tileSource);
tileSource = eval( '(' + tileSource + ')' );
} }
} }

View File

@ -14,14 +14,18 @@
var viewer = null; var viewer = null;
// ---------- // ----------
var testOpen = function(name) { var testOpenUrl = function(relativeUrl) {
testOpen('/test/data/' + relativeUrl);
};
var testOpen = function(tileSource) {
$(document).ready(function() { $(document).ready(function() {
var timeWatcher = Util.timeWatcher(7000); var timeWatcher = Util.timeWatcher(7000);
viewer = OpenSeadragon({ viewer = OpenSeadragon({
id: 'example', id: 'example',
prefixUrl: '/build/openseadragon/images/', prefixUrl: '/build/openseadragon/images/',
tileSources: '/test/data/' + name tileSources: tileSource
}); });
ok(viewer, 'Viewer exists'); ok(viewer, 'Viewer exists');
@ -52,62 +56,90 @@
// ---------- // ----------
asyncTest('DZI', function() { asyncTest('DZI', function() {
testOpen('testpattern.dzi'); testOpenUrl('testpattern.dzi');
}); });
// ---------- // ----------
asyncTest('DZI JSONp', function() { asyncTest('DZI JSONp', function() {
testOpen('testpattern.js'); testOpenUrl('testpattern.js');
}); });
// ---------- // ----------
asyncTest('DZI XML', function() { asyncTest('DZI XML', function() {
testOpen('testpattern.xml'); testOpenUrl('testpattern.xml');
}); });
// ---------- // ----------
asyncTest('DZI XML with query parameter', function() { asyncTest('DZI XML with query parameter', function() {
testOpen('testpattern.xml?param=value'); testOpenUrl('testpattern.xml?param=value');
}); });
// ---------- // ----------
asyncTest('IIIF 1.0 JSON', function() { asyncTest('IIIF 1.0 JSON', function() {
testOpen('iiif_1_0_files/info.json'); testOpenUrl('iiif_1_0_files/info.json');
}); });
// ---------- // ----------
asyncTest('IIIF 1.0 XML', function() { asyncTest('IIIF 1.0 XML', function() {
testOpen('iiif_1_0_files/info.xml'); testOpenUrl('iiif_1_0_files/info.xml');
}); });
// ---------- // ----------
asyncTest('IIIF 1.1 JSON', function() { asyncTest('IIIF 1.1 JSON', function() {
testOpen('iiif_1_1_tiled/info.json'); testOpenUrl('iiif_1_1_tiled/info.json');
}); });
// ---------- // ----------
asyncTest('IIIF No Tiles, Less than 256', function() { asyncTest('IIIF No Tiles, Less than 256', function() {
testOpen('iiif_1_1_no_tiles_255/info.json'); testOpenUrl('iiif_1_1_no_tiles_255/info.json');
}); });
// ---------- // ----------
asyncTest('IIIF No Tiles, Bet. 256 and 512', function() { asyncTest('IIIF No Tiles, Bet. 256 and 512', function() {
testOpen('iiif_1_1_no_tiles_384/info.json'); testOpenUrl('iiif_1_1_no_tiles_384/info.json');
}); });
// ---------- // ----------
asyncTest('IIIF No Tiles, Bet. 512 and 1024', function() { asyncTest('IIIF No Tiles, Bet. 512 and 1024', function() {
testOpen('iiif_1_1_no_tiles_768/info.json'); testOpenUrl('iiif_1_1_no_tiles_768/info.json');
}); });
// ---------- // ----------
asyncTest('IIIF No Tiles, Larger than 1024', function() { asyncTest('IIIF No Tiles, Larger than 1024', function() {
testOpen('iiif_1_1_no_tiles_1048/info.json'); testOpenUrl('iiif_1_1_no_tiles_1048/info.json');
}); });
// ---------- // ----------
asyncTest('IIIF 2.0 JSON', function() { asyncTest('IIIF 2.0 JSON', function() {
testOpen('iiif_2_0_tiled/info.json'); testOpenUrl('iiif_2_0_tiled/info.json');
});
// ----------
asyncTest('IIIF 2.0 JSON String', function() {
testOpen(
'{' +
' "@context": "http://iiif.io/api/image/2/context.json",' +
' "@id": "http://localhost:8000/test/data/iiif_2_0_tiled",' +
' "protocol": "http://iiif.io/api/image",' +
' "height": 1024,' +
' "width": 775,' +
' "tiles" : [{"width":256, "scaleFactors":[1,2,4,8]}],' +
' "profile": ["http://iiif.io/api/image/2/level1.json",' +
' {' +
' "qualities": [' +
' "native",' +
' "bitonal",' +
' "grey",' +
' "color"' +
' ],' +
' "formats": [' +
' "jpg",' +
' "png",' +
' "gif"' +
' ]' +
' }' +
' ]' +
'}');
}); });
})(); })();