DSDSWeb/static/js/Cesium-1.53/Specs/Core/queryToObjectSpec.js

61 lines
1.4 KiB
JavaScript
Raw Normal View History

2024-07-11 18:02:47 +08:00
defineSuite([
'Core/queryToObject'
], function(
queryToObject) {
'use strict';
it('can decode data', function() {
var str = 'key1=some%20value&key2=a%2Fb';
var obj = queryToObject(str);
expect(obj).toEqual({
key1 : 'some value',
key2 : 'a/b'
});
str = 'spec=Core%2FobjectToQuery%20can%20encode%20data.&debug=Core%2FobjectToQuery%20can%20encode%20data.';
obj = queryToObject(str);
expect(obj).toEqual({
spec : 'Core/objectToQuery can encode data.',
debug : 'Core/objectToQuery can encode data.'
});
str = 'q=query+string';
obj = queryToObject(str);
expect(obj).toEqual({
q : 'query string'
});
});
it('can decode arrays of data', function() {
var str = 'key=a&key=b';
var obj = queryToObject(str);
expect(obj).toEqual({
key : ['a', 'b']
});
});
it('can use ; instead of &', function() {
var str = 'key=a;key=b;key2=c';
var obj = queryToObject(str);
expect(obj).toEqual({
key : ['a', 'b'],
key2 : 'c'
});
});
it('can decode blank', function() {
expect(queryToObject('')).toEqual({});
});
it('requires queryString', function() {
expect(function() {
queryToObject();
}).toThrowDeveloperError();
});
});