UNPKG

@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
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); }); });