Taking brackets out of the callback.
The Yahoo API doesn't accept quotes in the callback (e.g. foo['bar']). Since the callback registry is an object and all identifiers are prefixed with "c" now, we can use dot notation.
This commit is contained in:
@@ -56,10 +56,11 @@ OpenLayers.Protocol.Script = OpenLayers.Class(OpenLayers.Protocol, {
|
|||||||
/**
|
/**
|
||||||
* APIProperty: callbackTemplate
|
* APIProperty: callbackTemplate
|
||||||
* {String} Template for creating a unique callback function name
|
* {String} Template for creating a unique callback function name
|
||||||
* for the registry. Should include ${id}.
|
* for the registry. Should include ${id}. The ${id} variable will be
|
||||||
* Default is "OpenLayers.Protocol.Script.registry['${id}']".
|
* replaced with a string identifier prefixed with a "c" (e.g. c1, c2).
|
||||||
|
* Default is "OpenLayers.Protocol.Script.registry.${id}".
|
||||||
*/
|
*/
|
||||||
callbackTemplate: "OpenLayers.Protocol.Script.registry['${id}']",
|
callbackTemplate: "OpenLayers.Protocol.Script.registry.${id}",
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* APIProperty: callbackKey
|
* APIProperty: callbackKey
|
||||||
|
|||||||
@@ -135,7 +135,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function test_createRequest(t) {
|
function test_createRequest(t) {
|
||||||
t.plan(5);
|
t.plan(6);
|
||||||
var protocol = new OpenLayers.Protocol.Script({
|
var protocol = new OpenLayers.Protocol.Script({
|
||||||
callbackKey: 'cb_key',
|
callbackKey: 'cb_key',
|
||||||
callbackPrefix: 'cb_prefix:'
|
callbackPrefix: 'cb_prefix:'
|
||||||
@@ -153,15 +153,17 @@
|
|||||||
|
|
||||||
var params = OpenLayers.Util.getParameters(script.src);
|
var params = OpenLayers.Util.getParameters(script.src);
|
||||||
t.eq(params.k, "bar_param", "custom query string param");
|
t.eq(params.k, "bar_param", "custom query string param");
|
||||||
t.eq(params.cb_key, "cb_prefix:OpenLayers.Protocol.Script.registry['bar']", "callback with prefix");
|
t.eq(params.cb_key, "cb_prefix:OpenLayers.Protocol.Script.registry.bar", "callback with prefix");
|
||||||
|
|
||||||
t.eq(script.id, 'OpenLayers_Protocol_Script_bar',
|
t.eq(script.id, 'OpenLayers_Protocol_Script_bar',
|
||||||
'created script has a correct id');
|
'created script has a correct id');
|
||||||
|
|
||||||
protocol.callbackTemplate = "OpenLayers.Protocol.Script.registry.${id}";
|
protocol.callbackTemplate = "customCallback(${id})";
|
||||||
script = protocol.createRequest('http://bar_url/', {'k': 'bar_param'}, 'bar_callback');
|
script = protocol.createRequest('http://bar_url/', {'k': 'bar_param2'}, 'bar_callback');
|
||||||
t.eq(script.src, 'http://bar_url/?k=bar_param&cb_key=cb_prefix%3AOpenLayers.Protocol.Script.registry.bar',
|
|
||||||
'created script has a correct url with different template');
|
params = OpenLayers.Util.getParameters(script.src);
|
||||||
|
t.eq(params.k, "bar_param2", "custom query string param");
|
||||||
|
t.eq(params.cb_key, "cb_prefix:customCallback(bar)", "custom callback with prefix");
|
||||||
|
|
||||||
OpenLayers.Protocol.Script.register = _register;
|
OpenLayers.Protocol.Script.register = _register;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user