@applicaster/zapp-react-native-ui-components
Version:
Applicaster Zapp React Native ui components for the Quick Brick App
206 lines (138 loc) • 5.42 kB
text/typescript
import { withDimensions } from "..";
describe("withDimensions", () => {
const width = 300;
const height = 200;
it("only width in the beginning", () => {
const url = "https://some_url?width=511&quality=95&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(
`https://some_url?width=${width}&quality=95&sharpen=true`
);
});
it("only width in the middle", () => {
const url = "https://some_url?quality=95&width=511&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(
`https://some_url?quality=95&width=${width}&sharpen=true`
);
});
it("only height in the beginning", () => {
const url = "https://some_url?height=511&quality=95&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(
`https://some_url?height=${height}&quality=95&sharpen=true`
);
});
it("only height in the middle", () => {
const url = "https://some_url?quality=95&height=511&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(
`https://some_url?quality=95&height=${height}&sharpen=true`
);
});
it("width and height", () => {
const url = "https://some_url?width=511&quality=95&height=400&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(
`https://some_url?width=${width}&quality=95&height=${height}&sharpen=true`
);
});
it("no width and no height", () => {
const url = "https://some_url?quality=95&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual("https://some_url?quality=95&sharpen=true");
});
it("undefined width", () => {
const url = "https://some_url?width=511&quality=95&sharpen=true";
const result = withDimensions(url, undefined, height);
expect(result).toEqual(
"https://some_url?width=511&quality=95&sharpen=true"
);
});
it("undefined height", () => {
const url = "https://some_url?height=511&quality=95&sharpen=true";
const result = withDimensions(url, width, undefined);
expect(result).toEqual(
"https://some_url?height=511&quality=95&sharpen=true"
);
});
it("only Width", () => {
const url = "https://some_url?Width=511&quality=95&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(
`https://some_url?Width=${width}&quality=95&sharpen=true`
);
});
it("only heighT", () => {
const url = "https://some_url?heighT=511&quality=95&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(
`https://some_url?heighT=${height}&quality=95&sharpen=true`
);
});
it("no params", () => {
const url = "https://some_url";
const result = withDimensions(url, width, height);
expect(result).toEqual(url);
});
it("round input width", () => {
const width = 243.42857142857142;
const url = "https://some_url?width=511&quality=95&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(
"https://some_url?width=243&quality=95&sharpen=true"
);
});
it("takes original width when provided width more than original", () => {
const width = 1024;
const url = "https://some_url?width=511&quality=95&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(url);
});
it("takes original height when provided height more than original", () => {
const height = 1024;
const url = "https://some_url?height=511&quality=95&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(url);
});
it("doesnt touch url if no width value is provided", () => {
const url = "https://some_url?width=&quality=95&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(url);
});
it("doesnt touch url if width=0", () => {
const url = "https://some_url?width=0&quality=95&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(url);
});
it("doesnt touch url if no height value is provided", () => {
const url = "https://some_url?height=&quality=95&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(url);
});
it("doesnt touch url if height=0", () => {
const url = "https://some_url?height=0&quality=95&sharpen=true";
const result = withDimensions(url, width, height);
expect(result).toEqual(url);
});
it("returns original url ir url is undefined", () => {
const url = undefined;
const result = withDimensions(url, width, height);
expect(result).toEqual(url);
});
it("returns original url ir url is empty string", () => {
const url = "";
const result = withDimensions(url, width, height);
expect(result).toEqual(url);
});
it("returns original url ir url is invalid", () => {
const url = "invalid_url";
const result = withDimensions(url, width, height);
expect(result).toEqual(url);
});
it("returns original url ir url is invalid", () => {
const url = 1 as unknown as string;
const result = withDimensions(url, width, height);
expect(result).toEqual(url);
});
});