You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.2 KiB
JavaScript
54 lines
1.2 KiB
JavaScript
import { objectToQuery } from "../../Source/Cesium.js";
|
|
import { queryToObject } from "../../Source/Cesium.js";
|
|
|
|
describe("Core/objectToQuery", function () {
|
|
it("can encode data", function () {
|
|
var obj = {
|
|
key1: "some value",
|
|
key2: "a/b",
|
|
};
|
|
|
|
var str = objectToQuery(obj);
|
|
expect(str).toEqual("key1=some%20value&key2=a%2Fb");
|
|
});
|
|
|
|
it("can encode arrays of data", function () {
|
|
var obj = {
|
|
key: ["a", "b"],
|
|
};
|
|
|
|
var str = objectToQuery(obj);
|
|
expect(str).toEqual("key=a&key=b");
|
|
});
|
|
|
|
it("runs example code from the documentation", function () {
|
|
var str = objectToQuery({
|
|
key1: "some value",
|
|
key2: "a/b",
|
|
key3: ["x", "y"],
|
|
});
|
|
expect(str).toEqual("key1=some%20value&key2=a%2Fb&key3=x&key3=y");
|
|
});
|
|
|
|
it("can round-trip", function () {
|
|
var obj = {
|
|
foo: ["bar", "bar2"],
|
|
bit: "byte",
|
|
};
|
|
|
|
var obj2 = queryToObject(objectToQuery(obj));
|
|
|
|
expect(obj2).toEqual(obj);
|
|
});
|
|
|
|
it("can encode blank", function () {
|
|
expect(objectToQuery({})).toEqual("");
|
|
});
|
|
|
|
it("requires obj", function () {
|
|
expect(function () {
|
|
objectToQuery();
|
|
}).toThrowDeveloperError();
|
|
});
|
|
});
|