diff --git a/.code-generation/config.js b/.code-generation/config.js new file mode 100644 index 00000000..98251dc0 --- /dev/null +++ b/.code-generation/config.js @@ -0,0 +1,77 @@ +module.exports = { + "SDKSpecVersion": "master", + "langConfig": { + newInstanceSyntax: 'new #name(#req)#optional', + lang: 'Javascript', + methodDelimiter: '.', + groupDelimiter: '.', + openQualifiersChar: '', + closeQualifiersChar: '', + closeTransformationChar: '', + hideActionGroups: true, + openSyntaxString: "new CloudinaryImage('#publicID')", + openActionChar: '(', + closeActionChar: ')', + overwritePreset: 'javascript', + closeSyntaxString: ';', + arraySeparator: ', ', + arrayOpen: '[', + arrayClose: ']', + prettier: { + parser: 'babel' + }, + formats: { + formatClassOrEnum: 'PascalCase', + formatMethod: 'camelCase', + formatFloat: (f) => { + if (!f.toString().includes('.')) { + return `'${f}.0'` // In JS world, 1.0 is 1, so we make sure 1.0 stays 1.0 + } else { + return f; + } + } + }, + childTransformations: { + image: { + open: "new ImageTransformation()", + close: '', + }, + video: { + open: "new VideoTransformation()", + close: '', + }, + media: { + open: "new MediaTransformation()", + close: '', + } + } + }, + "overwrites": { + qualifiers: { + color_override: (payload) => { + const {qualifierDTO} = payload; + const colorName = qualifierDTO.qualifiers[0].name; + + // TODO this should be streamlined with how we deal with color. + return `.colorOverride("${colorName}")` + }, + color: (payload) => { + const {qualifierDTO} = payload; + // This case supports three types of qualifiers + // TODO this DTO structure needs to be aligned + // {name:color, is_required:true qualifiers: [{group:'color', name: 'red', is_required:true}]} + // {group:'color', name: 'red', is_required:true} + // {group:'color', name: 'rgb', qualifiers: [{ "name": "color", "value": "#d5d2ca", "is_required": true, "value_type": "string" }]} + + let colorName; + if (qualifierDTO.qualifiers && qualifierDTO.name === 'rgb') { + colorName = qualifierDTO.qualifiers[0].value; + } else { + colorName = qualifierDTO.qualifiers ? qualifierDTO.qualifiers[0].name : qualifierDTO.name; + } + + return `'${colorName}'`; + } + } + } +} diff --git a/.gitignore b/.gitignore index 709e56c1..6a0c7168 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ __TESTS__/compilation.test.ts pcakage-lock.json .SIZE_TESTS __DOCS__/JSDocTemplate/examples +devTools/sanity/results.json diff --git a/__TESTS__/compilationsOutput.test.ts b/__TESTS__/compilationsOutput.test.ts new file mode 100644 index 00000000..8d3c2f89 --- /dev/null +++ b/__TESTS__/compilationsOutput.test.ts @@ -0,0 +1,18580 @@ +/** + * This file was generated automatically + * It tests a wide variety of URLs and ensures the URL generated by the SDK is compatible + */ + +import { CloudinaryMedia } from "../src/assets/CloudinaryMedia"; +import { VideoEdit } from "actions/videoEdit"; +import { Border } from "actions/border"; +import { Resize } from "actions/resize"; +import { Rotate } from "actions/rotate"; +import { RotationMode } from "qualifiers/rotationMode"; +import { Transcode } from "actions/transcode"; +import { AudioCodec } from "qualifiers/audioCodec"; +import { Overlay } from "actions/overlay"; +import { Source } from "qualifiers/source"; +import { RoundCorners } from "actions/roundCorners"; +import { AspectRatio } from "qualifiers/aspectRatio"; +import { Gravity } from "qualifiers/gravity"; +import { Delivery } from "actions/delivery"; +import { Format } from "qualifiers/format"; +import { Quality } from "qualifiers/quality"; +import { Dpr } from "qualifiers/dpr"; +import { Variable } from "actions/variable"; +import { CustomFunction } from "actions/customFunction"; +import { NamedTransformation } from "actions/namedTransformation"; +import { Color } from "qualifiers/color"; +import { Concatenate } from "qualifiers/concatenate"; +import { Expression } from "qualifiers/expression"; +import { Compass } from "qualifiers/compass"; +import { FocusOn } from "qualifiers/focusOn"; +import { AutoFocus } from "qualifiers/autoFocus"; +import { VideoCodec } from "qualifiers/videoCodec"; +import { Adjust } from "actions/adjust"; +import { ImageTransformation } from "index"; +import { Effect } from "actions/effect"; +import { Conditional } from "actions/conditional"; +import { Underlay } from "actions/underlay"; +import { ColorSpace } from "qualifiers/colorSpace"; +import { OutlineMode } from "qualifiers/outlineMode"; +import { VideoCodecLevel } from "qualifiers/videoCodecLevel"; +import { VideoCodecProfile } from "qualifiers/videoCodecProfile"; +import { Position } from "qualifiers/position"; +import { TextStyle } from "qualifiers/textStyle"; +import { ArtisticFilter } from "qualifiers/artisticFilter"; +import { Reshape } from "actions/reshape"; +import { ImproveMode } from "qualifiers/improveMode"; +import { BlendMode } from "qualifiers/blendMode"; +import { SimulateColorBlind } from "qualifiers/simulateColorBlind"; +import { Background } from "qualifiers/background"; +import { Transition } from "qualifiers/transition"; +import { ShakeStrength } from "qualifiers/shakeStrength"; +import { GradientFade } from "qualifiers/GradientFade"; +import { Region } from "qualifiers/region"; +import { Extract } from "actions/extract"; +import { Progressive } from "qualifiers/progressive"; +import { Timeline } from "qualifiers/timeline"; +import { TextDecoration } from "qualifiers/textDecoration"; +import { FontWeight } from "qualifiers/fontWeight"; +import { TextAlignment } from "qualifiers/textAlignment"; +import { AnimatedFormat } from "qualifiers/animatedFormat"; +import { ChromaSubSampling } from "qualifiers/chromaSubSampling"; +import { Dither } from "qualifiers/dither"; +import { Flag } from "qualifiers/flag"; +import { GradientDirection } from "qualifiers/gradientDirection"; +import { StreamingProfile } from "qualifiers/streamingProfile"; +import { PSDTools } from "actions/psdTools"; +import { FontStyle } from "qualifiers/fontStyle"; +import { Volume } from "../src/qualifiers/volume"; +import { FontAntialias } from "../src/qualifiers/FontAntialias"; +import { Animated } from "../src/actions/animated"; +const CloudinaryImage = CloudinaryMedia; +const CloudinaryVideo = CloudinaryMedia; +describe("Testing", () => { + it("so_3,eo_5,e_boomerang/e_loop", () => { + const parts = "so_3,eo_5,e_boomerang/e_loop".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("3.0").endOffset("5.0")) + .effect(Effect.boomerang()) + .animated(Animated.edit().loop()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("vs_10,dl_100,w_250,f_gif", () => { + const parts = "vs_10,dl_100,w_250,f_gif".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(250)) + .transcode(Transcode.toAnimated(AnimatedFormat.gif()).sampling(10)) + .animated(Animated.edit().delay(100)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("vs_10,dl_100,w_250,f_webp,fl_awebp,fl_animated", () => { + const parts = "vs_10,dl_100,w_250,f_webp,fl_awebp,fl_animated" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(250)) + .transcode(Transcode.toAnimated(AnimatedFormat.webp()).sampling(10)) + .animated(Animated.edit().delay(100)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dl_100", () => { + const parts = "dl_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").animated( + Animated.edit().delay(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dl_200", () => { + const parts = "dl_200".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").animated( + Animated.edit().delay(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_loop", () => { + const parts = "e_loop".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").animated( + Animated.edit().loop() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_preview:duration_8/c_crop,w_1600,h_800,e_loop", () => { + const parts = "e_preview:duration_8/c_crop,w_1600,h_800,e_loop" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.preview().duration("8.0")) + .resize(Resize.crop().width(1600).height(800)) + .animated(Animated.edit().loop()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("vs_1.1s,dl_200,w_200,e_loop:2", () => { + const parts = "vs_1.1s,dl_200,w_200,e_loop:2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(200)) + .transcode(Transcode.toAnimated().sampling("1.1s")) + .animated(Animated.edit().delay(200).loop(2)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("vs_40,dl_200,h_200,e_loop", () => { + const parts = "vs_40,dl_200,h_200,e_loop".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(200)) + .transcode(Transcode.toAnimated().sampling(40)) + .animated(Animated.edit().delay(200).loop()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_480,so_3,eo_5,e_boomerang/e_loop", () => { + const parts = "w_480,so_3,eo_5,e_boomerang/e_loop" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("3.0").endOffset("5.0")) + .resize(Resize.scale().width(480)) + .effect(Effect.boomerang()) + .animated(Animated.edit().loop()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,dl_1000,e_trim,w_700", () => { + const parts = "c_scale,dl_1000,e_trim,w_700".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .reshape(Reshape.trim()) + .resize(Resize.scale().width(700)) + .animated(Animated.edit().delay(1000)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,fl_animated,vs_10,dl_5", () => { + const parts = "f_auto,fl_animated,vs_10,dl_5" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .transcode(Transcode.toAnimated(AnimatedFormat.auto()).sampling(10)) + .animated(Animated.edit().delay(5)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_face,z_1.2,h_150,w_150", () => { + const parts = "c_crop,g_face,z_1.2,h_150,w_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(150) + .height(150) + .zoom(1.2) + .gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_sink,z_0.8", () => { + const parts = "c_crop,g_sink,z_0.8".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().zoom(0.8).gravity(Gravity.focusOn(FocusOn.sink())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("g_face,c_crop,z_1.3", () => { + const parts = "g_face,c_crop,z_1.3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().zoom(1.3).gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$award_!First!", () => { + const parts = "$award_!First!".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addVariable( + Variable.set("award", "First") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$bcolor_!rgb:0000ff!/if_fc_gt_0,$bcolor_!red!/bo_5px_solid_$bcolor,c_fill,h_120,w_120", () => { + const parts = + "$bcolor_!rgb:0000ff!/if_fc_gt_0,$bcolor_!red!/bo_5px_solid_$bcolor,c_fill,h_120,w_120" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("bcolor", "rgb:0000ff")) + .conditional( + Conditional.ifCondition( + "face_count > 0", + new ImageTransformation().addVariable(Variable.set("bcolor", "red")) + ) + ) + .border(Border.solid(5, "$bcolor")) + .resize(Resize.fill().width(120).height(120)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$bestpic_ref:!file.png!", () => { + const parts = "$bestpic_ref:!file.png!".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addVariable( + Variable.setAssetReference("bestpic", "file.png") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$colors_5,fn_wasm:quantize.wasm", () => { + const parts = "$colors_5,fn_wasm:quantize.wasm" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("colors", 5)) + .customFunction(CustomFunction.wasm("quantize.wasm")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$foo_!iw!", () => { + const parts = "$foo_!iw!".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addVariable( + Variable.set("foo", "iw") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$foo_1_to_f", () => { + const parts = "$foo_1_to_f".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addVariable( + Variable.set("foo", 1).asFloat() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$foo_bar", () => { + const parts = "$foo_bar".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addVariable( + Variable.set("foo", Expression.expression("bar")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$foo_bar_to_i", () => { + const parts = "$foo_bar_to_i".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addVariable( + Variable.set("foo", Expression.expression("bar")).asInteger() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$foo_iw_add_100_div_3", () => { + const parts = "$foo_iw_add_100_div_3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addVariable( + Variable.set("foo", Expression.expression("initial_width + 100 / 3")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$foo_md:!bar!_to_f", () => { + const parts = "$foo_md:!bar!_to_f".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addVariable( + Variable.setFromMetadata("foo", "bar").asFloat() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$img_current,$height_ih/if_w_lt_800/c_scale,e_blur:800,u_$img,w_800,h_$height/e_brightness:40,fl_layer_apply/if_end", () => { + const parts = + "$img_current,$height_ih/if_w_lt_800/c_scale,e_blur:800,u_$img,w_800,h_$height/e_brightness:40,fl_layer_apply/if_end" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("img", Expression.expression("current"))) + .addVariable( + Variable.set("height", Expression.expression("initial_height")) + ) + .conditional( + Conditional.ifCondition( + "width < 800", + new ImageTransformation().underlay( + Underlay.source( + Source.image("$img").transformation( + new ImageTransformation() + .resize(Resize.scale().width(800).height("$height")) + .effect(Effect.blur().strength(800)) + .adjust(Adjust.brightness().level(40)) + ) + ) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$img_current/e_grayscale/l_$img,w_0.3,bo_10px_solid_white/fl_layer_apply,g_north_west/q_auto,f_auto,dpr_2.0,w_900", () => { + const parts = + "$img_current/e_grayscale/l_$img,w_0.3,bo_10px_solid_white/fl_layer_apply,g_north_west/q_auto,f_auto,dpr_2.0,w_900" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("img", Expression.expression("current"))) + .effect(Effect.grayscale()) + .overlay( + Overlay.source( + Source.image("$img").transformation( + new ImageTransformation() + .border(Border.solid(10, "white")) + .resize(Resize.scale().width(0.3)) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northWest()))) + ) + .resize(Resize.scale().width(900)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$mainvideowidth_500/$overlaywidth_$mainvideowidth_div_3/w_$mainvideowidth/l_video:kitten_fighting,w_$overlaywidth,g_south_east", () => { + const parts = + "$mainvideowidth_500/$overlaywidth_$mainvideowidth_div_3/w_$mainvideowidth/l_video:kitten_fighting,w_$overlaywidth,g_south_east" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("mainvideowidth", 500)) + .addVariable( + Variable.set( + "overlaywidth", + Expression.expression("$mainvideowidth / 3") + ) + ) + .resize(Resize.scale().width("$mainvideowidth")) + .overlay( + Overlay.source( + Source.video("kitten_fighting").transformation( + new ImageTransformation().resize( + Resize.scale().width("$overlaywidth") + ) + ) + ).position(new Position().gravity(Gravity.compass(Compass.southEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$newwidth_10_add_iw_mul_0.3,w_$newwidth", () => { + const parts = "$newwidth_10_add_iw_mul_0.3,w_$newwidth" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable( + Variable.set( + "newwidth", + Expression.expression("10 + initial_width * 0.3") + ) + ) + .resize(Resize.scale().width("$newwidth")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$overlay_ref:!docs:sale!/fn_wasm:docs:pnglayer.wasm/bo_1px_solid_black", () => { + const parts = + "$overlay_ref:!docs:sale!/fn_wasm:docs:pnglayer.wasm/bo_1px_solid_black" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.setAssetReference("overlay", "docs:sale")) + .customFunction(CustomFunction.wasm("docs:pnglayer.wasm")) + .border(Border.solid(1, "black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$overlaywidth_$mainvideowidth_div_3", () => { + const parts = "$overlaywidth_$mainvideowidth_div_3" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").addVariable( + Variable.set("overlaywidth", Expression.expression("$mainvideowidth / 3")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$qualtag_!Pro!/if_$qualtag_in_tags,q_80/if_else,q_30/w_500", () => { + const parts = "$qualtag_!Pro!/if_$qualtag_in_tags,q_80/if_else,q_30/w_500" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("qualtag", "Pro")) + .conditional( + Conditional.ifCondition( + "$qualtag in tags", + new ImageTransformation().delivery(Delivery.quality(80)) + ).otherwise(new ImageTransformation().delivery(Delivery.quality(30))) + ) + .resize(Resize.scale().width(500)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$qualtag_!Pro!/if_$qualtag_in_tags,q_90/if_else,q_30/w_500", () => { + const parts = "$qualtag_!Pro!/if_$qualtag_in_tags,q_90/if_else,q_30/w_500" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("qualtag", "Pro")) + .conditional( + Conditional.ifCondition( + "$qualtag in tags", + new ImageTransformation().delivery(Delivery.quality(90)) + ).otherwise(new ImageTransformation().delivery(Delivery.quality(30))) + ) + .resize(Resize.scale().width(500)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$qualtag_!important!,$delwidth_450/t_highqual-if-tagged", () => { + const parts = "$qualtag_!important!,$delwidth_450/t_highqual-if-tagged" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("qualtag", "important")) + .addVariable(Variable.set("delwidth", 450)) + .namedTransformation(NamedTransformation.name("highqual-if-tagged")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$rating_!thumbs-down!/t_image_ratings", () => { + const parts = "$rating_!thumbs-down!/t_image_ratings" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("rating", "thumbs-down")) + .namedTransformation(NamedTransformation.name("image_ratings")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$rating_!thumbs-down!/t_image_ratings/w_200", () => { + const parts = "$rating_!thumbs-down!/t_image_ratings/w_200" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("rating", "thumbs-down")) + .namedTransformation(NamedTransformation.name("image_ratings")) + .resize(Resize.scale().width(200)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$rating_!thumbs-up!/t_image_ratings", () => { + const parts = "$rating_!thumbs-up!/t_image_ratings" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("rating", "thumbs-up")) + .namedTransformation(NamedTransformation.name("image_ratings")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$rating_!thumbs-up!/t_image_ratings/w_200", () => { + const parts = "$rating_!thumbs-up!/t_image_ratings/w_200" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("rating", "thumbs-up")) + .namedTransformation(NamedTransformation.name("image_ratings")) + .resize(Resize.scale().width(200)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$small_150,$big_2_div_$small/c_fill,w_$big,h_$small_add_20/l_my_named_div_layer", () => { + const parts = + "$small_150,$big_2_div_$small/c_fill,w_$big,h_$small_add_20/l_my_named_div_layer" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("small", 150)) + .addVariable(Variable.set("big", Expression.expression("2 / $small"))) + .resize( + Resize.fill().width("$big").height(Expression.expression("$small + 20")) + ) + .overlay(Overlay.source(Source.image("my_named_div_layer"))); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$small_150,$big_2_div_$small/c_fill,w_$big,h_$small_add_20/l_my_named_div_layer/e_art:incognito", () => { + const parts = + "$small_150,$big_2_div_$small/c_fill,w_$big,h_$small_add_20/l_my_named_div_layer/e_art:incognito" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("small", 150)) + .addVariable(Variable.set("big", Expression.expression("2 / $small"))) + .resize( + Resize.fill().width("$big").height(Expression.expression("$small + 20")) + ) + .overlay(Overlay.source(Source.image("my_named_div_layer"))) + .effect(Effect.artisticFilter(ArtisticFilter.incognito())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$small_150,$big_2_mul_$small/c_fill,w_$big,h_$small_add_20", () => { + const parts = "$small_150,$big_2_mul_$small/c_fill,w_$big,h_$small_add_20" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("small", 150)) + .addVariable(Variable.set("big", Expression.expression("2 * $small"))) + .resize( + Resize.fill().width("$big").height(Expression.expression("$small + 20")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$small_150,$big_2_mul_$small/c_fill,w_$big,h_$small_add_20/t_my_named_mul_trans", () => { + const parts = + "$small_150,$big_2_mul_$small/c_fill,w_$big,h_$small_add_20/t_my_named_mul_trans" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("small", 150)) + .addVariable(Variable.set("big", Expression.expression("2 * $small"))) + .resize( + Resize.fill().width("$big").height(Expression.expression("$small + 20")) + ) + .namedTransformation(NamedTransformation.name("my_named_mul_trans")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$small_150,$big_2_mul_$small_add_4/c_fill,w_$big,h_$small_add_20", () => { + const parts = + "$small_150,$big_2_mul_$small_add_4/c_fill,w_$big,h_$small_add_20" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("small", 150)) + .addVariable(Variable.set("big", Expression.expression("2 * $small + 4"))) + .resize( + Resize.fill().width("$big").height(Expression.expression("$small + 20")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$small_150/c_fill,w_$big,h_$small_add_20", () => { + const parts = "$small_150/c_fill,w_$big,h_$small_add_20" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("small", 150)) + .resize( + Resize.fill().width("$big").height(Expression.expression("$small + 20")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$w_200,$ar_0.8/w_$w,ar_$ar,c_fill,g_face", () => { + const parts = "$w_200,$ar_0.8/w_$w,ar_$ar,c_fill,g_face" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("w", 200)) + .addVariable(Variable.set("ar", 0.8)) + .resize( + Resize.fill() + .width("$w") + .aspectRatio("$ar") + .gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$width_115/t_passport_photo", () => { + const parts = "$width_115/t_passport_photo".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("width", 115)) + .namedTransformation(NamedTransformation.name("passport_photo")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$width_140/t_passport_photo", () => { + const parts = "$width_140/t_passport_photo".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("width", 140)) + .namedTransformation(NamedTransformation.name("passport_photo")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$width_165/t_passport_photo", () => { + const parts = "$width_165/t_passport_photo".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("width", 165)) + .namedTransformation(NamedTransformation.name("passport_photo")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$width_60/t_passport_photo", () => { + const parts = "$width_60/t_passport_photo".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("width", 60)) + .namedTransformation(NamedTransformation.name("passport_photo")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$width_iw_mul_3/w_$width", () => { + const parts = "$width_iw_mul_3/w_$width".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable( + Variable.set("width", Expression.expression("initial_width * 3")) + ) + .resize(Resize.scale().width("$width")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("$widthval_200,$arval_0.8/w_$widthval,ar_$arval,c_fill,g_face", () => { + const parts = "$widthval_200,$arval_0.8/w_$widthval,ar_$arval,c_fill,g_face" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .addVariable(Variable.set("widthval", 200)) + .addVariable(Variable.set("arval", 0.8)) + .resize( + Resize.fill() + .width("$widthval") + .aspectRatio("$arval") + .gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("a_-20", () => { + const parts = "a_-20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").rotate(Rotate.byAngle(-20)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("a_180", () => { + const parts = "a_180".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").rotate(Rotate.byAngle(180)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("a_180/w_300,h_200,c_fill/l_video:dog,fl_splice,w_300,h_200,c_fill,so_0,du_5/fl_layer_apply", () => { + const parts = + "a_180/w_300,h_200,c_fill/l_video:dog,fl_splice,w_300,h_200,c_fill,so_0,du_5/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .rotate(Rotate.byAngle(180)) + .resize(Resize.fill().width(300).height(200)) + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("dog").transformation( + new ImageTransformation().resize( + Resize.fill().width(300).height(200) + ) + ) + ) + .prepend() + .duration(5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("a_20", () => { + const parts = "a_20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").rotate(Rotate.byAngle(20)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("a_90", () => { + const parts = "a_90".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").rotate(Rotate.byAngle(90)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("a_auto_left", () => { + const parts = "a_auto_left".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").rotate( + Rotate.mode(RotationMode.autoLeft()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("a_auto_right", () => { + const parts = "a_auto_right".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").rotate( + Rotate.mode(RotationMode.autoRight()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("a_hflip", () => { + const parts = "a_hflip".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").rotate( + Rotate.mode(RotationMode.horizontalFlip()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("a_ignore", () => { + const parts = "a_ignore".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").rotate( + Rotate.mode(RotationMode.ignore()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("a_vflip", () => { + const parts = "a_vflip".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").rotate( + Rotate.mode(RotationMode.verticalFlip()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("a_vflip/a_20", () => { + const parts = "a_vflip/a_20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .rotate(Rotate.mode(RotationMode.verticalFlip())) + .rotate(Rotate.byAngle(20)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ac_none", () => { + const parts = "ac_none".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.audioCodec(AudioCodec.none()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ac_none/l_video:electronic,e_volume:-50", () => { + const parts = "ac_none/l_video:electronic,e_volume:-50" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .transcode(Transcode.audioCodec(AudioCodec.none())) + .overlay( + Overlay.source( + Source.video("electronic").transformation( + new ImageTransformation().videoEdit(VideoEdit.volume(-50)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("af_22050", () => { + const parts = "af_22050".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.audioFrequency(22050) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("af_96000", () => { + const parts = "af_96000".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.audioFrequency(96000) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ar_1,c_fill,r_max", () => { + const parts = "ar_1,c_fill,r_max".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().aspectRatio("1.0")) + .roundCorners(RoundCorners.max()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ar_1.0,c_scale,g_liquid,w_1.0/w_500,h_500", () => { + const parts = "ar_1.0,c_scale,g_liquid,w_1.0/w_500,h_500" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width("1.0").aspectRatio("1.0").liquidRescaling()) + .resize(Resize.scale().width(500).height(500)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ar_1.5,c_crop", () => { + const parts = "ar_1.5,c_crop".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().aspectRatio(1.5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ar_16:9,c_fill", () => { + const parts = "ar_16:9,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().aspectRatio(AspectRatio.ar16X9()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ar_16:9,c_fill/c_scale,w_auto/c_limit,w_1000", () => { + const parts = "ar_16:9,c_fill/c_scale,w_auto/c_limit,w_1000" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().aspectRatio(AspectRatio.ar16X9())) + .resize(Resize.scale().width("auto")) + .resize(Resize.limitFit().width(1000)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ar_16:9,c_fill/c_scale,w_auto:breakpoints", () => { + const parts = "ar_16:9,c_fill/c_scale,w_auto:breakpoints" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().aspectRatio(AspectRatio.ar16X9())) + .resize(Resize.scale().width("auto:breakpoints")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ar_16:9,c_fill/c_scale,w_auto:breakpoints:json", () => { + const parts = "ar_16:9,c_fill/c_scale,w_auto:breakpoints:json" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().aspectRatio(AspectRatio.ar16X9())) + .resize(Resize.scale().width("auto:breakpoints:json")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ar_16:9,c_fill/c_scale,w_auto:breakpoints_200_1920_30_15", () => { + const parts = "ar_16:9,c_fill/c_scale,w_auto:breakpoints_200_1920_30_15" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().aspectRatio(AspectRatio.ar16X9())) + .resize(Resize.scale().width("auto:breakpoints_200_1920_30_15")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ar_1:1,c_fill", () => { + const parts = "ar_1:1,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().aspectRatio(AspectRatio.ar1X1()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ar_1:1,c_fill,g_auto,w_400", () => { + const parts = "ar_1:1,c_fill,g_auto,w_400".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(400) + .aspectRatio(AspectRatio.ar1X1()) + .gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ar_2.5,c_crop", () => { + const parts = "ar_2.5,c_crop".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().aspectRatio(2.5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ar_4:3,c_fill/c_scale,w_auto,dpr_auto", () => { + const parts = "ar_4:3,c_fill/c_scale,w_auto,dpr_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().aspectRatio(AspectRatio.ar4X3())) + .resize(Resize.scale().width("auto")) + .delivery(Delivery.dpr(Dpr.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("b_blue,c_pad,h_400,w_660", () => { + const parts = "b_blue,c_pad,h_400,w_660".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(660).height(400).background(Background.color("blue")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("b_blue,o_0", () => { + const parts = "b_blue,o_0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .adjust(Adjust.opacity(0)) + .backgroundColor("blue"); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("b_green", () => { + const parts = "b_green".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").backgroundColor("green"); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("b_lightblue", () => { + const parts = "b_lightblue".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").backgroundColor("lightblue"); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("b_rgb:d5d2ca,h_300", () => { + const parts = "b_rgb:d5d2ca,h_300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(300)) + .backgroundColor("#d5d2ca"); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("b_rgb:fff", () => { + const parts = "b_rgb:fff".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").backgroundColor("#fff"); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("b_white,co_red,l_subtitles:arial_17:my_subs_file.srt", () => { + const parts = "b_white,co_red,l_subtitles:arial_17:my_subs_file.srt" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.subtitles("my_subs_file.srt") + .textStyle(new TextStyle("arial", 17)) + .textColor("red") + .backgroundColor("white") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_black,a_0/f_auto,q_auto,dpr_auto", () => { + const parts = "bo_1px_solid_black,a_0/f_auto,q_auto,dpr_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "black")) + .rotate(Rotate.byAngle(0)) + .delivery(Delivery.dpr(Dpr.auto())) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_black,a_0/f_auto,q_auto,dpr_auto,h_300", () => { + const parts = "bo_1px_solid_black,a_0/f_auto,q_auto,dpr_auto,h_300" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "black")) + .rotate(Rotate.byAngle(0)) + .resize(Resize.scale().height(300)) + .delivery(Delivery.dpr(Dpr.auto())) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_black,dpr_2,q_auto,f_auto,w_400", () => { + const parts = "bo_1px_solid_black,dpr_2,q_auto,f_auto,w_400" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "black")) + .resize(Resize.scale().width(400)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_black,q_auto,dpr_2,f_auto", () => { + const parts = "bo_1px_solid_black,q_auto,dpr_2,f_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "black")) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray", () => { + const parts = "bo_1px_solid_gray".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").border( + Border.solid(1, "gray") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray,dpr_auto", () => { + const parts = "bo_1px_solid_gray,dpr_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .delivery(Delivery.dpr(Dpr.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/dpr_auto", () => { + const parts = "bo_1px_solid_gray/dpr_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .delivery(Delivery.dpr(Dpr.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto,dpr_2,q_auto/h_250", () => { + const parts = "bo_1px_solid_gray/f_auto,dpr_2,q_auto/h_250" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())) + .resize(Resize.scale().height(250)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto,dpr_auto,q_auto", () => { + const parts = "bo_1px_solid_gray/f_auto,dpr_auto,q_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .delivery(Delivery.dpr(Dpr.auto())) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto,q_auto,dpr_auto", () => { + const parts = "bo_1px_solid_gray/f_auto,q_auto,dpr_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .delivery(Delivery.dpr(Dpr.auto())) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto,q_auto,w_350,dpr_2", () => { + const parts = "bo_1px_solid_gray/f_auto,q_auto,w_350,dpr_2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(350)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto,q_auto,w_600,dpr_2", () => { + const parts = "bo_1px_solid_gray/f_auto,q_auto,w_600,dpr_2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(600)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto,q_auto,w_700,dpr_2", () => { + const parts = "bo_1px_solid_gray/f_auto,q_auto,w_700,dpr_2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(700)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto,w_250,dpr_2,q_auto", () => { + const parts = "bo_1px_solid_gray/f_auto,w_250,dpr_2,q_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(250)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto,w_300,dpr_2,q_auto", () => { + const parts = "bo_1px_solid_gray/f_auto,w_300,dpr_2,q_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(300)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto,w_350,dpr_2,q_auto", () => { + const parts = "bo_1px_solid_gray/f_auto,w_350,dpr_2,q_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(350)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto,w_500,dpr_2,q_auto", () => { + const parts = "bo_1px_solid_gray/f_auto,w_500,dpr_2,q_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(500)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto,w_600,dpr_2,q_auto", () => { + const parts = "bo_1px_solid_gray/f_auto,w_600,dpr_2,q_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(600)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto,w_650,dpr_2,q_auto", () => { + const parts = "bo_1px_solid_gray/f_auto,w_650,dpr_2,q_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(650)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto,w_700,dpr_2,q_auto", () => { + const parts = "bo_1px_solid_gray/f_auto,w_700,dpr_2,q_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(700)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/f_auto/q_auto", () => { + const parts = "bo_1px_solid_gray/f_auto/q_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/q_auto,h_450,f_auto,dpr_2", () => { + const parts = "bo_1px_solid_gray/q_auto,h_450,f_auto,dpr_2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().height(450)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/q_auto,w_400,f_auto,dpr_2", () => { + const parts = "bo_1px_solid_gray/q_auto,w_400,f_auto,dpr_2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(400)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/w_300,f_auto,q_auto,dpr_2", () => { + const parts = "bo_1px_solid_gray/w_300,f_auto,q_auto,dpr_2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(300)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/w_400,dpr_2,q_auto,f_auto", () => { + const parts = "bo_1px_solid_gray/w_400,dpr_2,q_auto,f_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(400)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/w_400,f_auto,q_auto,dpr_2", () => { + const parts = "bo_1px_solid_gray/w_400,f_auto,q_auto,dpr_2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(400)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/w_400,q_auto,dpr_2,f_auto", () => { + const parts = "bo_1px_solid_gray/w_400,q_auto,dpr_2,f_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(400)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/w_450,f_auto,dpr_2,q_auto", () => { + const parts = "bo_1px_solid_gray/w_450,f_auto,dpr_2,q_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(450)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/w_500,f_auto,q_auto,dpr_2", () => { + const parts = "bo_1px_solid_gray/w_500,f_auto,q_auto,dpr_2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(500)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/w_550,q_auto,dpr_2,f_auto", () => { + const parts = "bo_1px_solid_gray/w_550,q_auto,dpr_2,f_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(550)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/w_550,q_auto,f_auto,dpr_2", () => { + const parts = "bo_1px_solid_gray/w_550,q_auto,f_auto,dpr_2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(550)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_gray/w_600,f_auto,q_auto,dpr_2", () => { + const parts = "bo_1px_solid_gray/w_600,f_auto,q_auto,dpr_2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(600)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_1px_solid_rgb:ccc,f_auto,dpr_2", () => { + const parts = "bo_1px_solid_rgb:ccc,f_auto,dpr_2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "#ccc")) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black", () => { + const parts = "bo_2px_solid_black".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").border( + Border.solid(2, "black") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black,f_auto,q_auto", () => { + const parts = "bo_2px_solid_black,f_auto,q_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(2, "black")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black,so_100", () => { + const parts = "bo_2px_solid_black,so_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("100.0")) + .border(Border.solid(2, "black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black,so_101", () => { + const parts = "bo_2px_solid_black,so_101".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("101.0")) + .border(Border.solid(2, "black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black,so_133", () => { + const parts = "bo_2px_solid_black,so_133".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("133.0")) + .border(Border.solid(2, "black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black,so_14", () => { + const parts = "bo_2px_solid_black,so_14".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("14.0")) + .border(Border.solid(2, "black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black,so_256", () => { + const parts = "bo_2px_solid_black,so_256".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("256.0")) + .border(Border.solid(2, "black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black,so_36", () => { + const parts = "bo_2px_solid_black,so_36".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("36.0")) + .border(Border.solid(2, "black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black,so_371", () => { + const parts = "bo_2px_solid_black,so_371".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("371.0")) + .border(Border.solid(2, "black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black,so_386,c_fill,w_230,h_129", () => { + const parts = "bo_2px_solid_black,so_386,c_fill,w_230,h_129" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("386.0")) + .border(Border.solid(2, "black")) + .resize(Resize.fill().width(230).height(129)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black,so_48.5", () => { + const parts = "bo_2px_solid_black,so_48.5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset(48.5)) + .border(Border.solid(2, "black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black,so_63,c_fill,w_230,h_129", () => { + const parts = "bo_2px_solid_black,so_63,c_fill,w_230,h_129" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("63.0")) + .border(Border.solid(2, "black")) + .resize(Resize.fill().width(230).height(129)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black,so_68", () => { + const parts = "bo_2px_solid_black,so_68".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("68.0")) + .border(Border.solid(2, "black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black,so_98", () => { + const parts = "bo_2px_solid_black,so_98".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("98.0")) + .border(Border.solid(2, "black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_2px_solid_black/c_fill,w_230,h_129", () => { + const parts = "bo_2px_solid_black/c_fill,w_230,h_129" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(2, "black")) + .resize(Resize.fill().width(230).height(129)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_40px_solid_brown", () => { + const parts = "bo_40px_solid_brown".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").border( + Border.solid(40, "brown") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_5.5px_solid_hotpink,r_100", () => { + const parts = "bo_5.5px_solid_hotpink,r_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").border( + Border.solid(5.5, "hotpink").roundCorners(RoundCorners.byRadius(100)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_5.5px_solid_hotpink,r_max", () => { + const parts = "bo_5.5px_solid_hotpink,r_max".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").border( + Border.solid(5.5, "hotpink").roundCorners(RoundCorners.max()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_5.5px_solid_rgb:aabbcc,r_max", () => { + const parts = "bo_5.5px_solid_rgb:aabbcc,r_max" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").border( + Border.solid(5.5, "#aabbcc").roundCorners(RoundCorners.max()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_5.5px_solid_rgb:fff", () => { + const parts = "bo_5.5px_solid_rgb:fff".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").border( + Border.solid(5.5, "#fff") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_5px_solid_black", () => { + const parts = "bo_5px_solid_black".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").border( + Border.solid(5, "black") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_5px_solid_black,f_auto,q_auto/dpr_auto", () => { + const parts = "bo_5px_solid_black,f_auto,q_auto/dpr_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(5, "black")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())) + .delivery(Delivery.dpr(Dpr.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_5px_solid_hotpink", () => { + const parts = "bo_5px_solid_hotpink".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").border( + Border.solid(5, "hotpink") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_5px_solid_red", () => { + const parts = "bo_5px_solid_red".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").border(Border.solid(5, "red")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_5px_solid_rgb:aabbcc,r_max", () => { + const parts = "bo_5px_solid_rgb:aabbcc,r_max" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").border( + Border.solid(5, "#aabbcc").roundCorners(RoundCorners.max()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("bo_60px_solid_rgb:00390b60", () => { + const parts = "bo_60px_solid_rgb:00390b60".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").border( + Border.solid(60, "#00390b60") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("br_100", () => { + const parts = "br_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.bitRate(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("br_100:constant", () => { + const parts = "br_100:constant".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.bitRate(100).constant() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("br_250k", () => { + const parts = "br_250k".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.bitRate("250k") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("br_500000", () => { + const parts = "br_500000".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.bitRate(500000) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("br_500k:constant", () => { + const parts = "br_500k:constant".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.bitRate("500k").constant() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,ar_1.85356,so_813,g_south", () => { + const parts = "c_crop,ar_1.85356,so_813,g_south" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("813.0")) + .resize( + Resize.crop() + .aspectRatio(1.85356) + .gravity(Gravity.compass(Compass.south())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,ar_1.85356,so_813,g_south/c_fill,w_230,h_129", () => { + const parts = "c_crop,ar_1.85356,so_813,g_south/c_fill,w_230,h_129" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("813.0")) + .resize( + Resize.crop() + .aspectRatio(1.85356) + .gravity(Gravity.compass(Compass.south())) + ) + .resize(Resize.fill().width(230).height(129)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,ar_1:1,w_1000,g_auto:cat", () => { + const parts = "c_crop,ar_1:1,w_1000,g_auto:cat" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(1000) + .aspectRatio(AspectRatio.ar1X1()) + .gravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.cat())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,e_sepia,h_150,r_20,w_150", () => { + const parts = "c_crop,e_sepia,h_150,r_20,w_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().width(150).height(150)) + .roundCorners(RoundCorners.byRadius(20)) + .effect(Effect.sepia()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,e_sepia,h_150,r_20,w_150/g_north,l_text:arial_60:This", () => { + const parts = "c_crop,e_sepia,h_150,r_20,w_150/g_north,l_text:arial_60:This" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().width(150).height(150)) + .roundCorners(RoundCorners.byRadius(20)) + .effect(Effect.sepia()) + .overlay( + Overlay.source( + Source.text("This", new TextStyle("arial", 60)) + ).position(new Position().gravity(Gravity.compass(Compass.north()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,e_viesus_correct,g_south,r_20,w_1000/c_scale,g_north_east,l_viesus_logo,o_50,w_100,x_10,y_10/c_scale,w_600", () => { + const parts = + "c_crop,e_viesus_correct,g_south,r_20,w_1000/c_scale,g_north_east,l_viesus_logo,o_50,w_100,x_10,y_10/c_scale,w_600" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop().width(1000).gravity(Gravity.compass(Compass.south())) + ) + .roundCorners(RoundCorners.byRadius(20)) + .adjust(Adjust.viesusCorrect()) + .overlay( + Overlay.source( + Source.image("viesus_logo").transformation( + new ImageTransformation() + .resize(Resize.scale().width(100)) + .adjust(Adjust.opacity(50)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.northEast())) + .offsetX(10) + .offsetY(10) + ) + ) + .resize(Resize.scale().width(600)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,fl_region_relative", () => { + const parts = "c_crop,fl_region_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,fl_relative", () => { + const parts = "c_crop,fl_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_auto", () => { + const parts = "c_crop,g_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_auto:cat_30:dog_avoid,w_300", () => { + const parts = "c_crop,g_auto:cat_30:dog_avoid,w_300" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(300) + .gravity( + Gravity.autoGravity().autoFocus( + AutoFocus.focusOn(FocusOn.cat()).weight(30), + AutoFocus.focusOn(FocusOn.dog()).avoid() + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_auto:ocr_text", () => { + const parts = "c_crop,g_auto:ocr_text".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().gravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.ocr())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_auto:ocr_text_30", () => { + const parts = "c_crop,g_auto:ocr_text_30".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().gravity( + Gravity.autoGravity().autoFocus( + AutoFocus.focusOn(FocusOn.ocr()).weight(30) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_auto:ocr_text_avoid", () => { + const parts = "c_crop,g_auto:ocr_text_avoid".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().gravity( + Gravity.autoGravity().autoFocus( + AutoFocus.focusOn(FocusOn.ocr()).avoid() + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_cat:dog", () => { + const parts = "c_crop,g_cat:dog".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().gravity(Gravity.focusOn(FocusOn.cat(), FocusOn.dog())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_cat:dog/w_0.25,c_scale", () => { + const parts = "c_crop,g_cat:dog/w_0.25,c_scale" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop().gravity(Gravity.focusOn(FocusOn.cat(), FocusOn.dog())) + ) + .resize(Resize.scale().width(0.25)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_cat:dog:auto:microwave_30:bicycle_avoid", () => { + const parts = "c_crop,g_cat:dog:auto:microwave_30:bicycle_avoid" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().gravity( + Gravity.focusOn(FocusOn.cat(), FocusOn.dog()).fallbackGravity( + Gravity.autoGravity().autoFocus( + AutoFocus.focusOn(FocusOn.microwave()).weight(30), + AutoFocus.focusOn(FocusOn.bicycle()).avoid() + ) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_dog:auto:bird,w_600,h_800", () => { + const parts = "c_crop,g_dog:auto:bird,w_600,h_800" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(600) + .height(800) + .gravity( + Gravity.focusOn(FocusOn.dog()).fallbackGravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.bird())) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_dog:auto:bird,w_600,h_800/w_0.25,c_scale", () => { + const parts = "c_crop,g_dog:auto:bird,w_600,h_800/w_0.25,c_scale" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop() + .width(600) + .height(800) + .gravity( + Gravity.focusOn(FocusOn.dog()).fallbackGravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.bird())) + ) + ) + ) + .resize(Resize.scale().width(0.25)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_dog:bird,w_600,h_800", () => { + const parts = "c_crop,g_dog:bird,w_600,h_800" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(600) + .height(800) + .gravity(Gravity.focusOn(FocusOn.dog(), FocusOn.bird())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_dog:bird,w_600,h_800/w_0.25,c_scale", () => { + const parts = "c_crop,g_dog:bird,w_600,h_800/w_0.25,c_scale" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop() + .width(600) + .height(800) + .gravity(Gravity.focusOn(FocusOn.dog(), FocusOn.bird())) + ) + .resize(Resize.scale().width(0.25)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_dog:cat", () => { + const parts = "c_crop,g_dog:cat".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().gravity(Gravity.focusOn(FocusOn.dog(), FocusOn.cat())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_dog:cat/w_0.25,c_scale", () => { + const parts = "c_crop,g_dog:cat/w_0.25,c_scale" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop().gravity(Gravity.focusOn(FocusOn.dog(), FocusOn.cat())) + ) + .resize(Resize.scale().width(0.25)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_face", () => { + const parts = "c_crop,g_face".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_face,h_150,w_150", () => { + const parts = "c_crop,g_face,h_150,w_150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(150) + .height(150) + .gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_face,h_400,w_400", () => { + const parts = "c_crop,g_face,h_400,w_400".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(400) + .height(400) + .gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_face,r_75,bo_10px_solid_grey/l_young_couple,w_150,h_150,c_thumb,r_max,g_faces,bo_3px_solid_black/fl_layer_apply,g_north_east", () => { + const parts = + "c_crop,g_face,r_75,bo_10px_solid_grey/l_young_couple,w_150,h_150,c_thumb,r_max,g_faces,bo_3px_solid_black/fl_layer_apply,g_north_east" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(10, "grey").roundCorners(RoundCorners.byRadius(75))) + .resize(Resize.crop().gravity(Gravity.focusOn(FocusOn.face()))) + .overlay( + Overlay.source( + Source.image("young_couple").transformation( + new ImageTransformation() + .border(Border.solid(3, "black").roundCorners(RoundCorners.max())) + .resize( + Resize.thumbnail() + .width(150) + .height(150) + .gravity(Gravity.focusOn(FocusOn.faces())) + ) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_microwave", () => { + const parts = "c_crop,g_microwave".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().gravity(Gravity.focusOn(FocusOn.microwave())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_microwave,ar_1", () => { + const parts = "c_crop,g_microwave,ar_1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .aspectRatio("1.0") + .gravity(Gravity.focusOn(FocusOn.microwave())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_microwave,ar_1/w_0.3,c_scale", () => { + const parts = "c_crop,g_microwave,ar_1/w_0.3,c_scale" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop() + .aspectRatio("1.0") + .gravity(Gravity.focusOn(FocusOn.microwave())) + ) + .resize(Resize.scale().width(0.3)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_microwave/w_0.3,c_scale", () => { + const parts = "c_crop,g_microwave/w_0.3,c_scale" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().gravity(Gravity.focusOn(FocusOn.microwave()))) + .resize(Resize.scale().width(0.3)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_north,h_200,w_260", () => { + const parts = "c_crop,g_north,h_200,w_260".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(260) + .height(200) + .gravity(Gravity.compass(Compass.north())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_north,w_300", () => { + const parts = "c_crop,g_north,w_300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(300).gravity(Gravity.compass(Compass.north())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_north,w_300,x_100", () => { + const parts = "c_crop,g_north,w_300,x_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(300).gravity(Gravity.compass(Compass.north())).x(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_north_west,h_150,w_150", () => { + const parts = "c_crop,g_north_west,h_150,w_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(150) + .height(150) + .gravity(Gravity.compass(Compass.northWest())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_ocr_text", () => { + const parts = "c_crop,g_ocr_text".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().gravity(Gravity.focusOn(FocusOn.ocr())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_refrigerator", () => { + const parts = "c_crop,g_refrigerator".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().gravity(Gravity.focusOn(FocusOn.refrigerator())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_refrigerator,ar_1", () => { + const parts = "c_crop,g_refrigerator,ar_1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .aspectRatio("1.0") + .gravity(Gravity.focusOn(FocusOn.refrigerator())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_refrigerator,ar_1/w_0.3,c_scale", () => { + const parts = "c_crop,g_refrigerator,ar_1/w_0.3,c_scale" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop() + .aspectRatio("1.0") + .gravity(Gravity.focusOn(FocusOn.refrigerator())) + ) + .resize(Resize.scale().width(0.3)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_refrigerator/w_0.3,c_scale", () => { + const parts = "c_crop,g_refrigerator/w_0.3,c_scale" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().gravity(Gravity.focusOn(FocusOn.refrigerator()))) + .resize(Resize.scale().width(0.3)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_sink", () => { + const parts = "c_crop,g_sink".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().gravity(Gravity.focusOn(FocusOn.sink())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_sink,ar_1", () => { + const parts = "c_crop,g_sink,ar_1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().aspectRatio("1.0").gravity(Gravity.focusOn(FocusOn.sink())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_sink,ar_1/w_0.3,c_scale", () => { + const parts = "c_crop,g_sink,ar_1/w_0.3,c_scale" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop() + .aspectRatio("1.0") + .gravity(Gravity.focusOn(FocusOn.sink())) + ) + .resize(Resize.scale().width(0.3)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,g_sink/w_0.3,c_scale", () => { + const parts = "c_crop,g_sink/w_0.3,c_scale".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().gravity(Gravity.focusOn(FocusOn.sink()))) + .resize(Resize.scale().width(0.3)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,h_100", () => { + const parts = "c_crop,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,h_100,w_150,x_380,y_250/c_fill,h_100,w_130/a_20/c_scale,w_0.8", () => { + const parts = + "c_crop,h_100,w_150,x_380,y_250/c_fill,h_100,w_130/a_20/c_scale,w_0.8" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().width(150).height(100).x(380).y(250)) + .resize(Resize.fill().width(130).height(100)) + .rotate(Rotate.byAngle(20)) + .resize(Resize.scale().width(0.8)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,h_160,w_100", () => { + const parts = "c_crop,h_160,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(100).height(160) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,h_200", () => { + const parts = "c_crop,h_200".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().height(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,h_200,w_100", () => { + const parts = "c_crop,h_200,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(100).height(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,h_200,w_200", () => { + const parts = "c_crop,h_200,w_200".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(200).height(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,w_100", () => { + const parts = "c_crop,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,w_100,ar_2.0", () => { + const parts = "c_crop,w_100,ar_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(100).aspectRatio("2.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,w_100,h_100", () => { + const parts = "c_crop,w_100,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,w_100,h_200,e_sepia:17", () => { + const parts = "c_crop,w_100,h_200,e_sepia:17" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().width(100).height(200)) + .effect(Effect.sepia().level(17)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,w_200,h_200,g_xy_center,x_100,y_100", () => { + const parts = "c_crop,w_200,h_200,g_xy_center,x_100,y_100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(200) + .height(200) + .gravity(Gravity.xyCenter()) + .x(100) + .y(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,w_300,h_300/c_scale,w_150,r_max", () => { + const parts = "c_crop,w_300,h_300/c_scale,w_150,r_max" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().width(300).height(300)) + .resize(Resize.scale().width(150)) + .roundCorners(RoundCorners.max()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,x_1", () => { + const parts = "c_crop,x_1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize(Resize.crop().x(1)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,x_1,y_2", () => { + const parts = "c_crop,x_1,y_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().x(1).y(2) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_crop,x_80,y_30,h_150,w_150", () => { + const parts = "c_crop,x_80,y_30,h_150,w_150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(150).height(150).x(80).y(30) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,ar_0.7,w_200", () => { + const parts = "c_fill,ar_0.7,w_200".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(200).aspectRatio(0.7) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,ar_0.7,w_750", () => { + const parts = "c_fill,ar_0.7,w_750".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(750).aspectRatio(0.7) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,ar_4:3", () => { + const parts = "c_fill,ar_4:3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().aspectRatio(AspectRatio.ar4X3()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,e_sepia,h_150,r_20,w_150/g_north,l_text:arial_60:This", () => { + const parts = "c_fill,e_sepia,h_150,r_20,w_150/g_north,l_text:arial_60:This" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(150).height(150)) + .roundCorners(RoundCorners.byRadius(20)) + .effect(Effect.sepia()) + .overlay( + Overlay.source( + Source.text("This", new TextStyle("arial", 60)) + ).position(new Position().gravity(Gravity.compass(Compass.north()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,e_sepia,h_150,r_20,w_150/g_north,l_text:arial_60:Thishttps", () => { + const parts = + "c_fill,e_sepia,h_150,r_20,w_150/g_north,l_text:arial_60:Thishttps" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(150).height(150)) + .roundCorners(RoundCorners.byRadius(20)) + .effect(Effect.sepia()) + .overlay( + Overlay.source( + Source.text("Thishttps", new TextStyle("arial", 60)) + ).position(new Position().gravity(Gravity.compass(Compass.north()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,e_style_transfer,h_700,l_lighthouse,w_700", () => { + const parts = "c_fill,e_style_transfer,h_700,l_lighthouse,w_700" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.styleTransfer( + Source.image("lighthouse").transformation( + new ImageTransformation().resize(Resize.fill().width(700).height(700)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,e_style_transfer,h_700,l_lighthouse,w_700/c_scale,w_250", () => { + const parts = + "c_fill,e_style_transfer,h_700,l_lighthouse,w_700/c_scale,w_250" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .effect( + Effect.styleTransfer( + Source.image("lighthouse").transformation( + new ImageTransformation().resize( + Resize.fill().width(700).height(700) + ) + ) + ) + ) + .resize(Resize.scale().width(250)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,fl_region_relative", () => { + const parts = "c_fill,fl_region_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,fl_relative", () => { + const parts = "c_fill,fl_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,g_auto,h_250,w_250", () => { + const parts = "c_fill,g_auto,h_250,w_250".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(250).height(250).gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,g_auto,h_400,ar_0.8", () => { + const parts = "c_fill,g_auto,h_400,ar_0.8".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().height(400).aspectRatio(0.8).gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,g_auto,h_400,ar_0.8/h_300", () => { + const parts = "c_fill,g_auto,h_400,ar_0.8/h_300" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fill() + .height(400) + .aspectRatio(0.8) + .gravity(Gravity.autoGravity()) + ) + .resize(Resize.scale().height(300)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,g_auto,h_500,w_500", () => { + const parts = "c_fill,g_auto,h_500,w_500".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(500).height(500).gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,g_auto:ocr_text_avoid,h_400,ar_0.8", () => { + const parts = "c_fill,g_auto:ocr_text_avoid,h_400,ar_0.8" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .height(400) + .aspectRatio(0.8) + .gravity( + Gravity.autoGravity().autoFocus( + AutoFocus.focusOn(FocusOn.ocr()).avoid() + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,g_auto:ocr_text_avoid,h_400,ar_0.8/h_300", () => { + const parts = "c_fill,g_auto:ocr_text_avoid,h_400,ar_0.8/h_300" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fill() + .height(400) + .aspectRatio(0.8) + .gravity( + Gravity.autoGravity().autoFocus( + AutoFocus.focusOn(FocusOn.ocr()).avoid() + ) + ) + ) + .resize(Resize.scale().height(300)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,g_face,h_10,w_10", () => { + const parts = "c_fill,g_face,h_10,w_10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(10) + .height(10) + .gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,g_north,h_200,w_150", () => { + const parts = "c_fill,g_north,h_200,w_150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(150) + .height(200) + .gravity(Gravity.compass(Compass.north())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,g_north,h_200,w_150/", () => { + const parts = "c_fill,g_north,h_200,w_150/".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("/sample").resize( + Resize.fill() + .width(150) + .height(200) + .gravity(Gravity.compass(Compass.north())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,g_ocr_text,h_250,w_250", () => { + const parts = "c_fill,g_ocr_text,h_250,w_250" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(250) + .height(250) + .gravity(Gravity.focusOn(FocusOn.ocr())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,g_ocr_text,h_500,w_500", () => { + const parts = "c_fill,g_ocr_text,h_500,w_500" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(500) + .height(500) + .gravity(Gravity.focusOn(FocusOn.ocr())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,g_south,h_250,w_400/l_nice_couple/c_crop,fl_region_relative,g_faces,h_1.3,w_1.3/e_saturation:50/e_vignette/c_scale,w_100/r_max/fl_layer_apply,g_center,x_-20,y_20/l_balloon/c_scale,h_55/e_hue:-20/a_5/fl_layer_apply,x_30,y_5/l_text:Cookie_40_bold:Love/co_rgb:F08,e_colorize/a_20/fl_layer_apply,x_-45,y_44/c_crop,h_250,w_300,x_30/r_60", () => { + const parts = + "c_fill,g_south,h_250,w_400/l_nice_couple/c_crop,fl_region_relative,g_faces,h_1.3,w_1.3/e_saturation:50/e_vignette/c_scale,w_100/r_max/fl_layer_apply,g_center,x_-20,y_20/l_balloon/c_scale,h_55/e_hue:-20/a_5/fl_layer_apply,x_30,y_5/l_text:Cookie_40_bold:Love/co_rgb:F08,e_colorize/a_20/fl_layer_apply,x_-45,y_44/c_crop,h_250,w_300,x_30/r_60" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fill() + .width(400) + .height(250) + .gravity(Gravity.compass(Compass.south())) + ) + .overlay( + Overlay.source( + Source.image("nice_couple").transformation( + new ImageTransformation() + .resize( + Resize.crop() + .width(1.3) + .height(1.3) + .gravity(Gravity.focusOn(FocusOn.faces())) + .regionRelative() + ) + .adjust(Adjust.saturation().level(50)) + .effect(Effect.vignette()) + .resize(Resize.scale().width(100)) + .roundCorners(RoundCorners.max()) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.center())) + .offsetX(-20) + .offsetY(20) + ) + ) + .overlay( + Overlay.source( + Source.image("balloon").transformation( + new ImageTransformation() + .resize(Resize.scale().height(55)) + .adjust(Adjust.hue().level(-20)) + .rotate(Rotate.byAngle(5)) + ) + ).position(new Position().offsetX(30).offsetY(5)) + ) + .overlay( + Overlay.source( + Source.text( + "Love", + new TextStyle("Cookie", 40).fontWeight(FontWeight.bold()) + ).transformation( + new ImageTransformation() + .effect(Effect.colorize().color("#F08")) + .rotate(Rotate.byAngle(20)) + ) + ).position(new Position().offsetX(-45).offsetY(44)) + ) + .resize(Resize.crop().width(300).height(250).x(30)) + .roundCorners(RoundCorners.byRadius(60)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,g_xy_center,x_1,y_2", () => { + const parts = "c_fill,g_xy_center,x_1,y_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().gravity(Gravity.xyCenter()).x(1).y(2) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_100", () => { + const parts = "c_fill,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_100,w_150", () => { + const parts = "c_fill,h_100,w_150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(150).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_150,q_jpegmini,w_200", () => { + const parts = "c_fill,h_150,q_jpegmini,w_200" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(200).height(150)) + .delivery(Delivery.quality(Quality.jpegmini())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_150,w_100", () => { + const parts = "c_fill,h_150,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(100).height(150) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_150/l_video:dog,c_fill,h_150/l_video:transition1,e_transition/fl_layer_apply/fl_layer_apply", () => { + const parts = + "c_fill,h_150/l_video:dog,c_fill,h_150/l_video:transition1,e_transition/fl_layer_apply/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().height(150)) + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("dog").transformation( + new ImageTransformation().resize(Resize.fill().height(150)) + ) + ).transition(Transition.videoSource("transition1")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_200,w_200", () => { + const parts = "c_fill,h_200,w_200".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(200).height(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_200,w_200/e_brightness:100,h_200,u_site_bg,w_200", () => { + const parts = "c_fill,h_200,w_200/e_brightness:100,h_200,u_site_bg,w_200" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(200).height(200)) + .underlay( + Underlay.source( + Source.image("site_bg").transformation( + new ImageTransformation() + .resize(Resize.scale().width(200).height(200)) + .adjust(Adjust.brightness().level(100)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_200,w_300,r_20", () => { + const parts = "c_fill,h_200,w_300,r_20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(300).height(200)) + .roundCorners(RoundCorners.byRadius(20)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_250,w_250", () => { + const parts = "c_fill,h_250,w_250".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(250).height(250) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_300,w_200", () => { + const parts = "c_fill,h_300,w_200".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(200).height(300) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_300,w_300", () => { + const parts = "c_fill,h_300,w_300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(300).height(300) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_500,w_500", () => { + const parts = "c_fill,h_500,w_500".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(500).height(500) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_700,w_700/e_style_transfer:60,l_lighthouse", () => { + const parts = "c_fill,h_700,w_700/e_style_transfer:60,l_lighthouse" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(700).height(700)) + .effect(Effect.styleTransfer(Source.image("lighthouse")).strength(60)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_700,w_700/e_style_transfer:preserve_color,l_lighthouse", () => { + const parts = + "c_fill,h_700,w_700/e_style_transfer:preserve_color,l_lighthouse" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(700).height(700)) + .effect(Effect.styleTransfer(Source.image("lighthouse")).preserveColor()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_700,w_700/e_style_transfer:preserve_color:40,l_lighthouse", () => { + const parts = + "c_fill,h_700,w_700/e_style_transfer:preserve_color:40,l_lighthouse" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(700).height(700)) + .effect( + Effect.styleTransfer(Source.image("lighthouse")) + .preserveColor() + .strength(40) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,h_700,w_700/e_style_transfer:preserve_color:40,l_lighthouse/w_250", () => { + const parts = + "c_fill,h_700,w_700/e_style_transfer:preserve_color:40,l_lighthouse/w_250" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(700).height(700)) + .effect( + Effect.styleTransfer(Source.image("lighthouse")) + .preserveColor() + .strength(40) + ) + .resize(Resize.scale().width(250)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,r_50,w_400,h_400,g_north,f_auto,bo_2px_solid_rgb:999/e_shadow:20,co_rgb:ccc/a_30,co_rgb:ec9800,e_colorize,l_url2png_logo", () => { + const parts = + "c_fill,r_50,w_400,h_400,g_north,f_auto,bo_2px_solid_rgb:999/e_shadow:20,co_rgb:ccc/a_30,co_rgb:ec9800,e_colorize,l_url2png_logo" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(2, "#999").roundCorners(RoundCorners.byRadius(50))) + .resize( + Resize.fill() + .width(400) + .height(400) + .gravity(Gravity.compass(Compass.north())) + ) + .delivery(Delivery.format(Format.auto())) + .effect(Effect.shadow().strength(20).color("#ccc")) + .overlay( + Overlay.source( + Source.image("url2png_logo").transformation( + new ImageTransformation() + .rotate(Rotate.byAngle(30)) + .effect(Effect.colorize().color("#ec9800")) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,r_50,w_400,h_400,g_north,f_auto,bo_2px_solid_rgb:999/e_shadow:20,co_rgb:ccc/a_30,co_rgb:ec9800,e_colorize,l_url2png_logo/", () => { + const parts = + "c_fill,r_50,w_400,h_400,g_north,f_auto,bo_2px_solid_rgb:999/e_shadow:20,co_rgb:ccc/a_30,co_rgb:ec9800,e_colorize,l_url2png_logo/" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("/sample") + .border(Border.solid(2, "#999").roundCorners(RoundCorners.byRadius(50))) + .resize( + Resize.fill() + .width(400) + .height(400) + .gravity(Gravity.compass(Compass.north())) + ) + .delivery(Delivery.format(Format.auto())) + .effect(Effect.shadow().strength(20).color("#ccc")) + .overlay( + Overlay.source( + Source.image("url2png_logo").transformation( + new ImageTransformation() + .rotate(Rotate.byAngle(30)) + .effect(Effect.colorize().color("#ec9800")) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,w_100", () => { + const parts = "c_fill,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,w_100,ar_2.0", () => { + const parts = "c_fill,w_100,ar_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(100).aspectRatio("2.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,w_100,h_100", () => { + const parts = "c_fill,w_100,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,w_100_mul_2", () => { + const parts = "c_fill,w_100_mul_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(Expression.expression("100 * 2")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill,x_100,g_xy_center,w_500", () => { + const parts = "c_fill,x_100,g_xy_center,w_500" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(500).gravity(Gravity.xyCenter()).x(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill_pad,g_auto,fl_region_relative", () => { + const parts = "c_fill_pad,g_auto,fl_region_relative" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fillPad().gravity(Gravity.autoGravity()).regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill_pad,g_auto,fl_relative", () => { + const parts = "c_fill_pad,g_auto,fl_relative" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fillPad().gravity(Gravity.autoGravity()).relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill_pad,g_auto,h_100", () => { + const parts = "c_fill_pad,g_auto,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fillPad().height(100).gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill_pad,g_auto,w_100", () => { + const parts = "c_fill_pad,g_auto,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fillPad().width(100).gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill_pad,g_auto,w_100,ar_2.0", () => { + const parts = "c_fill_pad,g_auto,w_100,ar_2.0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fillPad() + .width(100) + .aspectRatio("2.0") + .gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill_pad,g_auto,w_100,h_100", () => { + const parts = "c_fill_pad,g_auto,w_100,h_100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fillPad().width(100).height(100).gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill_pad,g_auto,x_1", () => { + const parts = "c_fill_pad,g_auto,x_1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fillPad().gravity(Gravity.autoGravity()).offsetX(1) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fill_pad,g_auto,x_1,y_2", () => { + const parts = "c_fill_pad,g_auto,x_1,y_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fillPad().gravity(Gravity.autoGravity()).offsetX(1).offsetY(2) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fit,fl_region_relative", () => { + const parts = "c_fit,fl_region_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fit().regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fit,fl_relative", () => { + const parts = "c_fit,fl_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fit().relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fit,h_100", () => { + const parts = "c_fit,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fit().height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fit,h_150,w_150", () => { + const parts = "c_fit,h_150,w_150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fit().width(150).height(150) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fit,h_16,w_16/e_sepia", () => { + const parts = "c_fit,h_16,w_16/e_sepia".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fit().width(16).height(16)) + .effect(Effect.sepia()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fit,w_10/a_15", () => { + const parts = "c_fit,w_10/a_15".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fit().width(10)) + .rotate(Rotate.byAngle(15)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fit,w_100", () => { + const parts = "c_fit,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fit().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fit,w_100,ar_2.0", () => { + const parts = "c_fit,w_100,ar_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fit().width(100).aspectRatio("2.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_fit,w_100,h_100", () => { + const parts = "c_fit,w_100,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fit().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_crop", () => { + const parts = "c_imagga_crop".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize(Resize.imaggaCrop()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_crop,e_saturation:50,h_300,r_20,w_450/g_south_west,l_imagga_logo,o_80,w_100,x_10,y_10", () => { + const parts = + "c_imagga_crop,e_saturation:50,h_300,r_20,w_450/g_south_west,l_imagga_logo,o_80,w_100,x_10,y_10" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.imaggaCrop().width(450).height(300)) + .roundCorners(RoundCorners.byRadius(20)) + .adjust(Adjust.saturation().level(50)) + .overlay( + Overlay.source( + Source.image("imagga_logo").transformation( + new ImageTransformation() + .resize(Resize.scale().width(100)) + .adjust(Adjust.opacity(80)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.southWest())) + .offsetX(10) + .offsetY(10) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_crop,fl_region_relative", () => { + const parts = "c_imagga_crop,fl_region_relative" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaCrop().regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_crop,fl_relative", () => { + const parts = "c_imagga_crop,fl_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaCrop().relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_crop,h_100", () => { + const parts = "c_imagga_crop,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaCrop().height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_crop,h_380,w_380", () => { + const parts = "c_imagga_crop,h_380,w_380".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaCrop().width(380).height(380) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_crop,w_100", () => { + const parts = "c_imagga_crop,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaCrop().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_crop,w_100,ar_2.0", () => { + const parts = "c_imagga_crop,w_100,ar_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaCrop().width(100).aspectRatio("2.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_crop,w_100,h_100", () => { + const parts = "c_imagga_crop,w_100,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaCrop().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_scale,fl_region_relative", () => { + const parts = "c_imagga_scale,fl_region_relative" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaScale().regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_scale,fl_relative", () => { + const parts = "c_imagga_scale,fl_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaScale().relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_scale,h_100", () => { + const parts = "c_imagga_scale,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaScale().height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_scale,h_150,w_150", () => { + const parts = "c_imagga_scale,h_150,w_150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaScale().width(150).height(150) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_scale,h_200,w_150", () => { + const parts = "c_imagga_scale,h_200,w_150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaScale().width(150).height(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_scale,h_240,w_260", () => { + const parts = "c_imagga_scale,h_240,w_260".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaScale().width(260).height(240) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_scale,w_100", () => { + const parts = "c_imagga_scale,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaScale().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_scale,w_100,ar_2.0", () => { + const parts = "c_imagga_scale,w_100,ar_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaScale().width(100).aspectRatio("2.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_scale,w_100,h_100", () => { + const parts = "c_imagga_scale,w_100,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaScale().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_imagga_scale,w_150,h_200", () => { + const parts = "c_imagga_scale,w_150,h_200".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.imaggaScale().width(150).height(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lfill,fl_region_relative", () => { + const parts = "c_lfill,fl_region_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFill().regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lfill,fl_relative", () => { + const parts = "c_lfill,fl_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFill().relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lfill,g_xy_center,x_1,y_2", () => { + const parts = "c_lfill,g_xy_center,x_1,y_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFill().gravity(Gravity.xyCenter()).x(1).y(2) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lfill,h_100", () => { + const parts = "c_lfill,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFill().height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lfill,w_100", () => { + const parts = "c_lfill,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFill().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lfill,w_100,ar_2.0", () => { + const parts = "c_lfill,w_100,ar_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFill().width(100).aspectRatio("2.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lfill,w_100,h_100", () => { + const parts = "c_lfill,w_100,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFill().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_limit,fl_region_relative", () => { + const parts = "c_limit,fl_region_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFit().regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_limit,fl_relative", () => { + const parts = "c_limit,fl_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFit().relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_limit,h_100", () => { + const parts = "c_limit,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFit().height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_limit,w_100", () => { + const parts = "c_limit,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFit().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_limit,w_100,ar_2.0", () => { + const parts = "c_limit,w_100,ar_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFit().width(100).aspectRatio("2.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_limit,w_100,h_100", () => { + const parts = "c_limit,w_100,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFit().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lpad,fl_region_relative", () => { + const parts = "c_lpad,fl_region_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitPad().regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lpad,fl_relative", () => { + const parts = "c_lpad,fl_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitPad().relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lpad,h_100", () => { + const parts = "c_lpad,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitPad().height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lpad,w_100", () => { + const parts = "c_lpad,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitPad().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lpad,w_100,ar_2.0", () => { + const parts = "c_lpad,w_100,ar_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitPad().width(100).aspectRatio("2.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lpad,w_100,h_100", () => { + const parts = "c_lpad,w_100,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitPad().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lpad,w_480,h_320,vs_2,q_70,br_1400k,vc_h264:baseline:3.0", () => { + const parts = "c_lpad,w_480,h_320,vs_2,q_70,br_1400k,vc_h264:baseline:3.0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .transcode( + Transcode.videoCodec( + VideoCodec.h264() + .profile(VideoCodecProfile.baseline()) + .level(VideoCodecLevel.vcl30()) + ) + ) + .resize(Resize.limitPad().width(480).height(320)) + .transcode(Transcode.bitRate("1400k")) + .transcode(Transcode.toAnimated().sampling(2)) + .delivery(Delivery.quality(70)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lpad,w_960,h_640,vs_2,q_70,br_5m,vc_h264:main:3.1", () => { + const parts = "c_lpad,w_960,h_640,vs_2,q_70,br_5m,vc_h264:main:3.1" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .transcode( + Transcode.videoCodec( + VideoCodec.h264() + .profile(VideoCodecProfile.main()) + .level(VideoCodecLevel.vcl31()) + ) + ) + .resize(Resize.limitPad().width(960).height(640)) + .transcode(Transcode.bitRate("5m")) + .transcode(Transcode.toAnimated().sampling(2)) + .delivery(Delivery.quality(70)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lpad,x_1", () => { + const parts = "c_lpad,x_1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitPad().offsetX(1) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_lpad,x_1,y_2", () => { + const parts = "c_lpad,x_1,y_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitPad().offsetX(1).offsetY(2) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mfit,fl_region_relative", () => { + const parts = "c_mfit,fl_region_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumFit().regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mfit,fl_relative", () => { + const parts = "c_mfit,fl_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumFit().relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mfit,h_100", () => { + const parts = "c_mfit,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumFit().height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mfit,w_100", () => { + const parts = "c_mfit,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumFit().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mfit,w_100,ar_16:9", () => { + const parts = "c_mfit,w_100,ar_16:9".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumFit().width(100).aspectRatio(AspectRatio.ar16X9()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mfit,w_100,ar_2.0", () => { + const parts = "c_mfit,w_100,ar_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumFit().width(100).aspectRatio("2.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mfit,w_100,fl_ignore_aspect_ratio", () => { + const parts = "c_mfit,w_100,fl_ignore_aspect_ratio" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumFit() + .width(100) + .aspectRatio(AspectRatio.ignoreInitialAspectRatio()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mfit,w_100,h_100", () => { + const parts = "c_mfit,w_100,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumFit().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mpad,fl_region_relative", () => { + const parts = "c_mpad,fl_region_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumPad().regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mpad,fl_relative", () => { + const parts = "c_mpad,fl_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumPad().relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mpad,h_100", () => { + const parts = "c_mpad,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumPad().height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mpad,w_100", () => { + const parts = "c_mpad,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumPad().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mpad,w_100,ar_2.0", () => { + const parts = "c_mpad,w_100,ar_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumPad().width(100).aspectRatio("2.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mpad,w_100,h_100", () => { + const parts = "c_mpad,w_100,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumPad().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mpad,x_1", () => { + const parts = "c_mpad,x_1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumPad().offsetX(1) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_mpad,x_1,y_2", () => { + const parts = "c_mpad,x_1,y_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumPad().offsetX(1).offsetY(2) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto", () => { + const parts = "c_pad,b_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.auto()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:border", () => { + const parts = "c_pad,b_auto:border".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.border()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:border:palette_red_green", () => { + const parts = "c_pad,b_auto:border:palette_red_green" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.border().palette("red", "green")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:border_contrast", () => { + const parts = "c_pad,b_auto:border_contrast".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.border().contrast()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:border_contrast:palette_red_green", () => { + const parts = "c_pad,b_auto:border_contrast:palette_red_green" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.border().contrast().palette("red", "green") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:border_gradient", () => { + const parts = "c_pad,b_auto:border_gradient".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.borderGradient()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:border_gradient:2", () => { + const parts = "c_pad,b_auto:border_gradient:2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.borderGradient().gradientColors(2)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:border_gradient:2:horizontal", () => { + const parts = "c_pad,b_auto:border_gradient:2:horizontal" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.borderGradient() + .gradientDirection(GradientDirection.horizontal()) + .gradientColors(2) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:border_gradient:horizontal", () => { + const parts = "c_pad,b_auto:border_gradient:horizontal" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.borderGradient().gradientDirection( + GradientDirection.horizontal() + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:border_gradient:palette_red_green", () => { + const parts = "c_pad,b_auto:border_gradient:palette_red_green" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.borderGradient().palette("red", "green") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:border_gradient_contrast", () => { + const parts = "c_pad,b_auto:border_gradient_contrast" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.borderGradient().contrast()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:border_gradient_contrast:2", () => { + const parts = "c_pad,b_auto:border_gradient_contrast:2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.borderGradient().contrast().gradientColors(2) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:border_gradient_contrast:palette_red_green", () => { + const parts = "c_pad,b_auto:border_gradient_contrast:palette_red_green" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.borderGradient().contrast().palette("red", "green") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:predominant", () => { + const parts = "c_pad,b_auto:predominant".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.predominant()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:predominant:palette_red_green", () => { + const parts = "c_pad,b_auto:predominant:palette_red_green" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.predominant().palette("red", "green")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:predominant_contrast", () => { + const parts = "c_pad,b_auto:predominant_contrast" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.predominant().contrast()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:predominant_contrast:palette_red_green", () => { + const parts = "c_pad,b_auto:predominant_contrast:palette_red_green" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.predominant().contrast().palette("red", "green") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:predominant_gradient", () => { + const parts = "c_pad,b_auto:predominant_gradient" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.predominantGradient()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:predominant_gradient:2", () => { + const parts = "c_pad,b_auto:predominant_gradient:2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.predominantGradient().gradientColors(2) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:predominant_gradient:2:horizontal", () => { + const parts = "c_pad,b_auto:predominant_gradient:2:horizontal" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.predominantGradient() + .gradientDirection(GradientDirection.horizontal()) + .gradientColors(2) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:predominant_gradient:horizontal", () => { + const parts = "c_pad,b_auto:predominant_gradient:horizontal" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.predominantGradient().gradientDirection( + GradientDirection.horizontal() + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:predominant_gradient:palette_red_green", () => { + const parts = "c_pad,b_auto:predominant_gradient:palette_red_green" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.predominantGradient().palette("red", "green") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:predominant_gradient_contrast", () => { + const parts = "c_pad,b_auto:predominant_gradient_contrast" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.predominantGradient().contrast()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:predominant_gradient_contrast:2", () => { + const parts = "c_pad,b_auto:predominant_gradient_contrast:2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.predominantGradient().contrast().gradientColors(2) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_auto:predominant_gradient_contrast:palette_red_green", () => { + const parts = "c_pad,b_auto:predominant_gradient_contrast:palette_red_green" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.predominantGradient().contrast().palette("red", "green") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_blurred", () => { + const parts = "c_pad,b_blurred".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.blurred()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_blurred:100:500", () => { + const parts = "c_pad,b_blurred:100:500".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background( + Background.blurred().intensity(100).brightness(500) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_green", () => { + const parts = "c_pad,b_green".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.color("green")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,b_rgb:fff", () => { + const parts = "c_pad,b_rgb:fff".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().background(Background.color("#fff")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,du_10,h_360,q_70,w_480", () => { + const parts = "c_pad,du_10,h_360,q_70,w_480".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().duration("10.0")) + .resize(Resize.pad().width(480).height(360)) + .delivery(Delivery.quality(70)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,fl_region_relative", () => { + const parts = "c_pad,fl_region_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,fl_relative", () => { + const parts = "c_pad,fl_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,h_100", () => { + const parts = "c_pad,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,h_200,w_200,b_black", () => { + const parts = "c_pad,h_200,w_200,b_black".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(200).height(200).background(Background.color("black")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,h_300,w_400", () => { + const parts = "c_pad,h_300,w_400".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(400).height(300) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,h_320,w_480,b_blurred:400:15", () => { + const parts = "c_pad,h_320,w_480,b_blurred:400:15" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad() + .width(480) + .height(320) + .background(Background.blurred().intensity(400).brightness(15)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,h_360,w_480,q_70,du_10", () => { + const parts = "c_pad,h_360,w_480,q_70,du_10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().duration("10.0")) + .resize(Resize.pad().width(480).height(360)) + .delivery(Delivery.quality(70)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,h_360,w_480/du_10/q_70", () => { + const parts = "c_pad,h_360,w_480/du_10/q_70".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.pad().width(480).height(360)) + .videoEdit(VideoEdit.trim().duration("10.0")) + .delivery(Delivery.quality(70)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,h_360,w_480/du_10/q_70/vc_auto", () => { + const parts = "c_pad,h_360,w_480/du_10/q_70/vc_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.pad().width(480).height(360)) + .videoEdit(VideoEdit.trim().duration("10.0")) + .delivery(Delivery.quality(70)) + .transcode(Transcode.videoCodec(VideoCodec.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,h_360,w_480/du_10/q_70/vc_h265", () => { + const parts = "c_pad,h_360,w_480/du_10/q_70/vc_h265" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.pad().width(480).height(360)) + .videoEdit(VideoEdit.trim().duration("10.0")) + .delivery(Delivery.quality(70)) + .transcode(Transcode.videoCodec(VideoCodec.h265())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,h_360,w_480/du_10/q_70/vc_vp9", () => { + const parts = "c_pad,h_360,w_480/du_10/q_70/vc_vp9" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.pad().width(480).height(360)) + .videoEdit(VideoEdit.trim().duration("10.0")) + .delivery(Delivery.quality(70)) + .transcode(Transcode.videoCodec(VideoCodec.vp9())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,w_100", () => { + const parts = "c_pad,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,w_100,ar_2.0", () => { + const parts = "c_pad,w_100,ar_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(100).aspectRatio("2.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,w_100,h_100", () => { + const parts = "c_pad,w_100,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,w_200,h_200,e_saturation:50/e_shadow/bo_1px_solid_rgb:666", () => { + const parts = + "c_pad,w_200,h_200,e_saturation:50/e_shadow/bo_1px_solid_rgb:666" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.pad().width(200).height(200)) + .adjust(Adjust.saturation().level(50)) + .effect(Effect.shadow()) + .border(Border.solid(1, "#666")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,w_400", () => { + const parts = "c_pad,w_400".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(400) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,x_1", () => { + const parts = "c_pad,x_1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().offsetX(1) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_pad,x_1,y_2", () => { + const parts = "c_pad,x_1,y_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().offsetX(1).offsetY(2) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,e_grayscale,f_auto,q_auto,w_100", () => { + const parts = "c_scale,e_grayscale,f_auto,q_auto,w_100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(100)) + .effect(Effect.grayscale()) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,e_saturation:50,r_20,w_400/g_south_east,l_logo_jpegmini,o_80,w_100,x_10,y_10/q_jpegmini", () => { + const parts = + "c_scale,e_saturation:50,r_20,w_400/g_south_east,l_logo_jpegmini,o_80,w_100,x_10,y_10/q_jpegmini" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(400)) + .roundCorners(RoundCorners.byRadius(20)) + .adjust(Adjust.saturation().level(50)) + .overlay( + Overlay.source( + Source.image("logo_jpegmini").transformation( + new ImageTransformation() + .resize(Resize.scale().width(100)) + .adjust(Adjust.opacity(80)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.southEast())) + .offsetX(10) + .offsetY(10) + ) + ) + .delivery(Delivery.quality(Quality.jpegmini())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,e_viesus_correct,w_400", () => { + const parts = "c_scale,e_viesus_correct,w_400" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(400)) + .adjust(Adjust.viesusCorrect()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,e_viesus_correct,w_500", () => { + const parts = "c_scale,e_viesus_correct,w_500" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .adjust(Adjust.viesusCorrect()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,fl_region_relative", () => { + const parts = "c_scale,fl_region_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,fl_relative", () => { + const parts = "c_scale,fl_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,g_liquid", () => { + const parts = "c_scale,g_liquid".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().liquidRescaling() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,h_0.3", () => { + const parts = "c_scale,h_0.3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().height(0.3) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,h_100", () => { + const parts = "c_scale,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,h_150", () => { + const parts = "c_scale,h_150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().height(150) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,h_200,w_200", () => { + const parts = "c_scale,h_200,w_200".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(200).height(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,h_200,w_200/e_sepia", () => { + const parts = "c_scale,h_200,w_200/e_sepia".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(200).height(200)) + .effect(Effect.sepia()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,q_jpegmini,w_400", () => { + const parts = "c_scale,q_jpegmini,w_400".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(400)) + .delivery(Delivery.quality(Quality.jpegmini())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,q_jpegmini:1,w_400", () => { + const parts = "c_scale,q_jpegmini:1,w_400".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(400)) + .delivery(Delivery.quality(Quality.jpegminiHigh())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,t_sample_named_transform,w_1.0/t_sample_named_transform2", () => { + const parts = + "c_scale,t_sample_named_transform,w_1.0/t_sample_named_transform2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width("1.0")) + .namedTransformation(NamedTransformation.name("sample_named_transform")) + .namedTransformation(NamedTransformation.name("sample_named_transform2")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,w_0.1/e_sepia:30", () => { + const parts = "c_scale,w_0.1/e_sepia:30".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(0.1)) + .effect(Effect.sepia().level(30)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,w_0.5", () => { + const parts = "c_scale,w_0.5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(0.5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,w_100", () => { + const parts = "c_scale,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,w_100,ar_2.0", () => { + const parts = "c_scale,w_100,ar_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(100).aspectRatio("2.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,w_100,h_100", () => { + const parts = "c_scale,w_100,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,w_200/r_max", () => { + const parts = "c_scale,w_200/r_max".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(200)) + .roundCorners(RoundCorners.max()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,w_400", () => { + const parts = "c_scale,w_400".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(400) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,w_400/c_imagga_scale,h_150,l_family_bench.png,r_max,w_150", () => { + const parts = + "c_scale,w_400/c_imagga_scale,h_150,l_family_bench.png,r_max,w_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(400)) + .overlay( + Overlay.source( + Source.image("family_bench") + .format(Format.png()) + .transformation( + new ImageTransformation() + .resize(Resize.imaggaScale().width(150).height(150)) + .roundCorners(RoundCorners.max()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,w_400/l_cloudinary_icon_blue,fl_no_overflow", () => { + const parts = "c_scale,w_400/l_cloudinary_icon_blue,fl_no_overflow" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(400)) + .overlay( + Overlay.source(Source.image("cloudinary_icon_blue")).position( + new Position().allowOverflow(false) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_scale,w_400/l_text:Arial_100:Flowers,co_yellow,b_rgb:FEB61FC2", () => { + const parts = + "c_scale,w_400/l_text:Arial_100:Flowers,co_yellow,b_rgb:FEB61FC2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(400)) + .overlay( + Overlay.source( + Source.text("Flowers", new TextStyle("Arial", 100)) + .textColor("yellow") + .backgroundColor("#FEB61FC2") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,fl_region_relative", () => { + const parts = "c_thumb,fl_region_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail().regionRelative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,fl_relative", () => { + const parts = "c_thumb,fl_relative".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail().relative() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,g_adv_eyes", () => { + const parts = "c_thumb,g_adv_eyes".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail().gravity(Gravity.focusOn(FocusOn.advancedEyes())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,g_adv_face,h_100,w_100", () => { + const parts = "c_thumb,g_adv_face,h_100,w_100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(100) + .height(100) + .gravity(Gravity.focusOn(FocusOn.advancedFace())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,g_adv_face,w_100,h_100", () => { + const parts = "c_thumb,g_adv_face,w_100,h_100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(100) + .height(100) + .gravity(Gravity.focusOn(FocusOn.advancedFace())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,g_adv_faces,w_150,h_150", () => { + const parts = "c_thumb,g_adv_faces,w_150,h_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(150) + .height(150) + .gravity(Gravity.focusOn(FocusOn.advancedFaces())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,g_center,w_300", () => { + const parts = "c_thumb,g_center,w_300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail().width(300).gravity(Gravity.compass(Compass.center())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,g_face,h_130,w_130/g_south_east,l_badge,w_40,x_20,y_-40", () => { + const parts = + "c_thumb,g_face,h_130,w_130/g_south_east,l_badge,w_40,x_20,y_-40" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(130) + .height(130) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .overlay( + Overlay.source( + Source.image("badge").transformation( + new ImageTransformation().resize(Resize.scale().width(40)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.southEast())) + .offsetX(20) + .offsetY(-40) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,g_face,h_150,w_150/g_north_east,l_badge,w_0.08,x_0.15,y_0.15", () => { + const parts = + "c_thumb,g_face,h_150,w_150/g_north_east,l_badge,w_0.08,x_0.15,y_0.15" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(150) + .height(150) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .overlay( + Overlay.source( + Source.image("badge").transformation( + new ImageTransformation().resize(Resize.scale().width(0.08)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.northEast())) + .offsetX(0.15) + .offsetY(0.15) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,g_face,h_150,w_150/r_20/e_sepia/l_cloudinary_icon_blue,g_south_east,x_5,y_5,w_50,o_60,e_brightness:100/a_10", () => { + const parts = + "c_thumb,g_face,h_150,w_150/r_20/e_sepia/l_cloudinary_icon_blue,g_south_east,x_5,y_5,w_50,o_60,e_brightness:100/a_10" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(150) + .height(150) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.byRadius(20)) + .effect(Effect.sepia()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_blue").transformation( + new ImageTransformation() + .resize(Resize.scale().width(50)) + .adjust(Adjust.opacity(60)) + .adjust(Adjust.brightness().level(100)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.southEast())) + .offsetX(5) + .offsetY(5) + ) + ) + .rotate(Rotate.byAngle(10)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,g_face,h_150,w_150/r_20/e_sepia/l_cloudinary_icon_blue/e_brightness:100/o_60/c_scale,w_50/fl_layer_apply,g_south_east,x_5,y_5/a_10", () => { + const parts = + "c_thumb,g_face,h_150,w_150/r_20/e_sepia/l_cloudinary_icon_blue/e_brightness:100/o_60/c_scale,w_50/fl_layer_apply,g_south_east,x_5,y_5/a_10" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(150) + .height(150) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.byRadius(20)) + .effect(Effect.sepia()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_blue").transformation( + new ImageTransformation() + .adjust(Adjust.brightness().level(100)) + .adjust(Adjust.opacity(60)) + .resize(Resize.scale().width(50)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.southEast())) + .offsetX(5) + .offsetY(5) + ) + ) + .rotate(Rotate.byAngle(10)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,g_face,z_0.75,h_150,w_150", () => { + const parts = "c_thumb,g_face,z_0.75,h_150,w_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(150) + .height(150) + .zoom(0.75) + .gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,h_100", () => { + const parts = "c_thumb,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail().height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,w_100", () => { + const parts = "c_thumb,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,w_100,ar_2.0", () => { + const parts = "c_thumb,w_100,ar_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail().width(100).aspectRatio("2.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,w_100,h_100", () => { + const parts = "c_thumb,w_100,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon,e_brightness:100,fl_relative,w_0.5,o_60/dpr_1.0", () => { + const parts = + "c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon,e_brightness:100,fl_relative,w_0.5,o_60/dpr_1.0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(100) + .height(100) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.5).relative()) + .adjust(Adjust.opacity(60)) + .adjust(Adjust.brightness().level(100)) + ) + ) + ) + .delivery(Delivery.dpr("1.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon,e_brightness:100,fl_relative,w_0.5,o_60/dpr_2.0", () => { + const parts = + "c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon,e_brightness:100,fl_relative,w_0.5,o_60/dpr_2.0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(100) + .height(100) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.5).relative()) + .adjust(Adjust.opacity(60)) + .adjust(Adjust.brightness().level(100)) + ) + ) + ) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon,e_brightness:100,fl_relative,w_0.5,o_60/dpr_3.0", () => { + const parts = + "c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon,e_brightness:100,fl_relative,w_0.5,o_60/dpr_3.0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(100) + .height(100) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.5).relative()) + .adjust(Adjust.opacity(60)) + .adjust(Adjust.brightness().level(100)) + ) + ) + ) + .delivery(Delivery.dpr("3.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon,e_brightness:100,w_50,o_60/dpr_2.0", () => { + const parts = + "c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon,e_brightness:100,w_50,o_60/dpr_2.0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(100) + .height(100) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(50)) + .adjust(Adjust.opacity(60)) + .adjust(Adjust.brightness().level(100)) + ) + ) + ) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon_white,e_brightness:100,fl_relative,w_0.5,o_60/dpr_1.0", () => { + const parts = + "c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon_white,e_brightness:100,fl_relative,w_0.5,o_60/dpr_1.0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(100) + .height(100) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_white").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.5).relative()) + .adjust(Adjust.opacity(60)) + .adjust(Adjust.brightness().level(100)) + ) + ) + ) + .delivery(Delivery.dpr("1.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon_white,e_brightness:100,fl_relative,w_0.5,o_60/dpr_2.0", () => { + const parts = + "c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon_white,e_brightness:100,fl_relative,w_0.5,o_60/dpr_2.0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(100) + .height(100) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_white").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.5).relative()) + .adjust(Adjust.opacity(60)) + .adjust(Adjust.brightness().level(100)) + ) + ) + ) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon_white,e_brightness:100,fl_relative,w_0.5,o_60/dpr_3.0", () => { + const parts = + "c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon_white,e_brightness:100,fl_relative,w_0.5,o_60/dpr_3.0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(100) + .height(100) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_white").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.5).relative()) + .adjust(Adjust.opacity(60)) + .adjust(Adjust.brightness().level(100)) + ) + ) + ) + .delivery(Delivery.dpr("3.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon_white,e_brightness:100,w_50,o_60/dpr_2.0", () => { + const parts = + "c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon_white,e_brightness:100,w_50,o_60/dpr_2.0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(100) + .height(100) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_white").transformation( + new ImageTransformation() + .resize(Resize.scale().width(50)) + .adjust(Adjust.opacity(60)) + .adjust(Adjust.brightness().level(100)) + ) + ) + ) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("co_lightblue,e_outline:outer:100", () => { + const parts = "co_lightblue,e_outline:outer:100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.outline().mode(OutlineMode.outer()).width(100).color("lightblue") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("co_orange,e_outline:outer:15:200", () => { + const parts = "co_orange,e_outline:outer:15:200" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.outline() + .mode(OutlineMode.outer()) + .width(15) + .blurLevel(200) + .color("orange") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("co_rgb:009900,e_shadow:50,x_10,y_10", () => { + const parts = "co_rgb:009900,e_shadow:50,x_10,y_10" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.shadow().strength(50).color("#009900").offsetX(10).offsetY(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("co_rgb:1a8502,e_shadow:50,x_-15,y_15", () => { + const parts = "co_rgb:1a8502,e_shadow:50,x_-15,y_15" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.shadow().strength(50).color("#1a8502").offsetX(-15).offsetY(15) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("co_rgb:20a020,e_colorize:50", () => { + const parts = "co_rgb:20a020,e_colorize:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.colorize().level(50).color("#20a020") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("co_rgb:ec9800,e_colorize:17", () => { + const parts = "co_rgb:ec9800,e_colorize:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.colorize().level(17).color("#ec9800") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("cs_icc:icc_file_public_id", () => { + const parts = "cs_icc:icc_file_public_id".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.colorSpaceFromICC("icc_file_public_id") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("cs_keep_cmyk", () => { + const parts = "cs_keep_cmyk".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.colorSpace(ColorSpace.keepCmyk()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("cs_no_cmyk", () => { + const parts = "cs_no_cmyk".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.colorSpace(ColorSpace.noCmyk()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("cs_srgb", () => { + const parts = "cs_srgb".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.colorSpace(ColorSpace.srgb()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("d_avatar.png", () => { + const parts = "d_avatar.png".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.defaultImage("avatar.png") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("d_public_id", () => { + const parts = "d_public_id".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.defaultImage("public_id") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("d_publicid", () => { + const parts = "d_publicid".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.defaultImage("publicid") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dn_150", () => { + const parts = "dn_150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.density(150) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dn_20", () => { + const parts = "dn_20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery(Delivery.density(20)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_1.0", () => { + const parts = "dpr_1.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery(Delivery.dpr("1.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_2", () => { + const parts = "dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_2,f_auto,q_auto,bo_1px_solid_black", () => { + const parts = "dpr_2,f_auto,q_auto,bo_1px_solid_black" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "black")) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_2,f_auto,q_auto,w_800", () => { + const parts = "dpr_2,f_auto,q_auto,w_800".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(800)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_2,f_auto,q_auto/bo_1px_solid_gray", () => { + const parts = "dpr_2,f_auto,q_auto/bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_2,q_auto,f_auto", () => { + const parts = "dpr_2,q_auto,f_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_2,q_auto,f_auto,bo_1px_solid_black", () => { + const parts = "dpr_2,q_auto,f_auto,bo_1px_solid_black" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "black")) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_2,q_auto,f_auto,w_500,bo_1px_solid_gray", () => { + const parts = "dpr_2,q_auto,f_auto,w_500,bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(500)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_2,q_auto,f_auto,w_600", () => { + const parts = "dpr_2,q_auto,f_auto,w_600".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(600)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_2,q_auto,f_auto,w_600,bo_1px_solid_gray", () => { + const parts = "dpr_2,q_auto,f_auto,w_600,bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(600)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_2,q_auto,f_auto/bo_1px_solid_gray", () => { + const parts = "dpr_2,q_auto,f_auto/bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_auto", () => { + const parts = "dpr_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.dpr(Dpr.auto()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_auto,w_400/bo_1px_solid_gray", () => { + const parts = "dpr_auto,w_400/bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(400)) + .delivery(Delivery.dpr(Dpr.auto())) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_auto,w_600/bo_1px_solid_gray", () => { + const parts = "dpr_auto,w_600/bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(600)) + .delivery(Delivery.dpr(Dpr.auto())) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_auto/bo_1px_solid_gray", () => { + const parts = "dpr_auto/bo_1px_solid_gray".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr(Dpr.auto())) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_auto/bo_1px_solid_gray/h_300", () => { + const parts = "dpr_auto/bo_1px_solid_gray/h_300" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr(Dpr.auto())) + .border(Border.solid(1, "gray")) + .resize(Resize.scale().height(300)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("dpr_auto/h_300/bo_1px_solid_gray", () => { + const parts = "dpr_auto/h_300/bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr(Dpr.auto())) + .resize(Resize.scale().height(300)) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("du_2/e_volume:30", () => { + const parts = "du_2/e_volume:30".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().duration("2.0")) + .videoEdit(VideoEdit.volume(30)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("du_2/e_volume:45", () => { + const parts = "du_2/e_volume:45".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().duration("2.0")) + .videoEdit(VideoEdit.volume(45)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("du_3", () => { + const parts = "du_3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().duration("3.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("du_30,q_70:qmax_20", () => { + const parts = "du_30,q_70:qmax_20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().duration("30.0")) + .delivery(Delivery.quality(70).quantization(20)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("du_5,l_sample/e_transition,l_video:transition1/fl_layer_apply/fl_layer_apply", () => { + const parts = + "du_5,l_sample/e_transition,l_video:transition1/fl_layer_apply/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.concatenate(Concatenate.imageSource("sample")) + .transition(Transition.videoSource("transition1")) + .duration(5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("du_5,w_300,h_200/l_video:dog,w_300,h_200/du_5/l_video:transition1,e_transition/e_accelerate:5s,a_180/fl_layer_apply/fl_layer_apply", () => { + const parts = + "du_5,w_300,h_200/l_video:dog,w_300,h_200/du_5/l_video:transition1,e_transition/e_accelerate:5s,a_180/fl_layer_apply/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().duration("5.0")) + .resize(Resize.scale().width(300).height(200)) + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("dog").transformation( + new ImageTransformation() + .resize(Resize.scale().width(300).height(200)) + .videoEdit(VideoEdit.trim().duration("5.0")) + ) + ).transition( + Transition.videoSource("transition1").transformation( + new ImageTransformation() + .rotate(Rotate.byAngle(180)) + .effect(Effect.accelerate().rate("5s")) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("du_50p,so_2", () => { + const parts = "du_50p,so_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset("2.0").duration("50%") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_accelerate:100", () => { + const parts = "e_accelerate:100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.accelerate().rate(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_accelerate:6", () => { + const parts = "e_accelerate:6".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.accelerate().rate(6) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_adv_redeye", () => { + const parts = "e_adv_redeye".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.advancedRedEye() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_adv_redeye/w_300,h_80,c_thumb,g_adv_eyes", () => { + const parts = "e_adv_redeye/w_300,h_80,c_thumb,g_adv_eyes" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .effect(Effect.advancedRedEye()) + .resize( + Resize.thumbnail() + .width(300) + .height(80) + .gravity(Gravity.focusOn(FocusOn.advancedEyes())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_anti_removal:95,l_cloudinary_icon,g_north_west", () => { + const parts = "e_anti_removal:95,l_cloudinary_icon,g_north_west" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("cloudinary_icon")) + .position(new Position().gravity(Gravity.compass(Compass.northWest()))) + .blendMode(BlendMode.antiRemoval(95)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:al_dente", () => { + const parts = "e_art:al_dente".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.alDente()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:athena", () => { + const parts = "e_art:athena".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.athena()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:audrey", () => { + const parts = "e_art:audrey".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.audrey()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:aurora", () => { + const parts = "e_art:aurora".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.aurora()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:daguerre", () => { + const parts = "e_art:daguerre".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.daguerre()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:eucalyptus", () => { + const parts = "e_art:eucalyptus".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.eucalyptus()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:fes", () => { + const parts = "e_art:fes".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.fes()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:frost", () => { + const parts = "e_art:frost".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.frost()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:hairspray", () => { + const parts = "e_art:hairspray".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.hairspray()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:hokusai", () => { + const parts = "e_art:hokusai".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.hokusai()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:incognito", () => { + const parts = "e_art:incognito".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.incognito()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:linen", () => { + const parts = "e_art:linen".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.linen()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:peacock", () => { + const parts = "e_art:peacock".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.peacock()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:primavera", () => { + const parts = "e_art:primavera".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.primavera()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:quartz", () => { + const parts = "e_art:quartz".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.quartz()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:red_rock", () => { + const parts = "e_art:red_rock".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.redRock()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:refresh", () => { + const parts = "e_art:refresh".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.refresh()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:sizzle", () => { + const parts = "e_art:sizzle".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.sizzle()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:sonnet", () => { + const parts = "e_art:sonnet".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.sonnet()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:ukulele", () => { + const parts = "e_art:ukulele".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.ukulele()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_art:zorro", () => { + const parts = "e_art:zorro".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.artisticFilter(ArtisticFilter.zorro()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_assist_colorblind", () => { + const parts = "e_assist_colorblind".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.assistColorBlind() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_assist_colorblind:20", () => { + const parts = "e_assist_colorblind:20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.assistColorBlind().stripesStrength(20) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_assist_colorblind:8", () => { + const parts = "e_assist_colorblind:8".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.assistColorBlind().stripesStrength(8) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_assist_colorblind:8/e_simulate_colorblind", () => { + const parts = "e_assist_colorblind:8/e_simulate_colorblind" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .effect(Effect.assistColorBlind().stripesStrength(8)) + .effect(Effect.simulateColorBlind()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_assist_colorblind:xray", () => { + const parts = "e_assist_colorblind:xray".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.assistColorBlind().xray() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_auto_brightness", () => { + const parts = "e_auto_brightness".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.autoBrightness() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_auto_brightness:10", () => { + const parts = "e_auto_brightness:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.autoBrightness().blend(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_auto_brightness:17", () => { + const parts = "e_auto_brightness:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.autoBrightness().blend(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_auto_brightness:80", () => { + const parts = "e_auto_brightness:80".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.autoBrightness().blend(80) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_auto_color", () => { + const parts = "e_auto_color".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.autoColor()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_auto_color:10", () => { + const parts = "e_auto_color:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.autoColor().blend(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_auto_color:17", () => { + const parts = "e_auto_color:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.autoColor().blend(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_auto_color:80", () => { + const parts = "e_auto_color:80".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.autoColor().blend(80) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_auto_contrast", () => { + const parts = "e_auto_contrast".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.autoContrast()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_auto_contrast:10", () => { + const parts = "e_auto_contrast:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.autoContrast().blend(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_auto_contrast:17", () => { + const parts = "e_auto_contrast:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.autoContrast().blend(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_auto_contrast:80", () => { + const parts = "e_auto_contrast:80".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.autoContrast().blend(80) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_bgremoval", () => { + const parts = "e_bgremoval".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.removeBackground() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_bgremoval:ffff00", () => { + const parts = "e_bgremoval:ffff00".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.removeBackground().colorToRemove("#ffff00") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_bgremoval:screen", () => { + const parts = "e_bgremoval:screen".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.removeBackground().screen() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blackwhite", () => { + const parts = "e_blackwhite".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect(Effect.blackwhite()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blackwhite:40", () => { + const parts = "e_blackwhite:40".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.blackwhite().threshold(40) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blackwhite:5", () => { + const parts = "e_blackwhite:5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.blackwhite().threshold(5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blue", () => { + const parts = "e_blue".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.blue()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blue:10", () => { + const parts = "e_blue:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.blue().level(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blue:17", () => { + const parts = "e_blue:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.blue().level(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blue:90", () => { + const parts = "e_blue:90".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.blue().level(90) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur", () => { + const parts = "e_blur".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect(Effect.blur()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur:100", () => { + const parts = "e_blur:100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.blur().strength(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur:300", () => { + const parts = "e_blur:300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.blur().strength(300) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur:5", () => { + const parts = "e_blur:5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.blur().strength(5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur:500/l_video:dog,w_600/w_500", () => { + const parts = "e_blur:500/l_video:dog,w_600/w_500" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .effect(Effect.blur().strength(500)) + .overlay( + Overlay.source( + Source.video("dog").transformation( + new ImageTransformation().resize(Resize.scale().width(600)) + ) + ) + ) + .resize(Resize.scale().width(500)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur:800", () => { + const parts = "e_blur:800".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.blur().strength(800) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur_faces:5", () => { + const parts = "e_blur_faces:5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.blur().strength(5).region(Region.faces()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur_faces:800", () => { + const parts = "e_blur_faces:800".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.blur().strength(800).region(Region.faces()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur_region,h_100,w_100,x_50,y_120", () => { + const parts = "e_blur_region,h_100,w_100,x_50,y_120" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.blur().region(Region.custom().width(100).height(100).x(50).y(120)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur_region:1000,h_425,w_550,x_600,y_400", () => { + const parts = "e_blur_region:1000,h_425,w_550,x_600,y_400" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.blur() + .strength(1000) + .region(Region.custom().width(550).height(425).x(600).y(400)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur_region:1500,y_0.75", () => { + const parts = "e_blur_region:1500,y_0.75".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.blur().strength(1500).region(Region.custom().y(0.75)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur_region:5,g_ocr_text", () => { + const parts = "e_blur_region:5,g_ocr_text".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.blur().strength(5).region(Region.ocr()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur_region:800,g_ocr_text", () => { + const parts = "e_blur_region:800,g_ocr_text".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.blur().strength(800).region(Region.ocr()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_blur_region:800,g_ocr_text/h_300", () => { + const parts = "e_blur_region:800,g_ocr_text/h_300" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .effect(Effect.blur().strength(800).region(Region.ocr())) + .resize(Resize.scale().height(300)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_brightness:17", () => { + const parts = "e_brightness:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.brightness().level(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_brightness:60", () => { + const parts = "e_brightness:60".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.brightness().level(60) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_brightness_hsb", () => { + const parts = "e_brightness_hsb".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.brightnessHSB()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_brightness_hsb:-50", () => { + const parts = "e_brightness_hsb:-50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.brightnessHSB().level(-50) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_brightness_hsb:10", () => { + const parts = "e_brightness_hsb:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.brightnessHSB().level(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_cartoonify", () => { + const parts = "e_cartoonify".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect(Effect.cartoonify()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_cartoonify/r_max/e_outline:100,co_lightblue/b_lightblue,h_300,c_pad", () => { + const parts = + "e_cartoonify/r_max/e_outline:100,co_lightblue/b_lightblue,h_300,c_pad" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .effect(Effect.cartoonify()) + .roundCorners(RoundCorners.max()) + .effect(Effect.outline().width(100).color("lightblue")) + .resize( + Resize.pad().height(300).background(Background.color("lightblue")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_cartoonify/r_max/e_outline:100,co_lightblue/b_lightblue/h_300", () => { + const parts = + "e_cartoonify/r_max/e_outline:100,co_lightblue/b_lightblue/h_300" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .effect(Effect.cartoonify()) + .roundCorners(RoundCorners.max()) + .effect(Effect.outline().width(100).color("lightblue")) + .backgroundColor("lightblue") + .resize(Resize.scale().height(300)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_cartoonify:20:bw", () => { + const parts = "e_cartoonify:20:bw".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.cartoonify().lineStrength(20).blackwhite() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_cartoonify:70:80", () => { + const parts = "e_cartoonify:70:80".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.cartoonify().lineStrength(70).colorReductionLevel(80) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_cartoonify:80", () => { + const parts = "e_cartoonify:80".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.cartoonify().lineStrength(80) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_cartoonify:80:100", () => { + const parts = "e_cartoonify:80:100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.cartoonify().lineStrength(80).colorReductionLevel(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_cartoonify:80:bw", () => { + const parts = "e_cartoonify:80:bw".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.cartoonify().lineStrength(80).blackwhite() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_colorize:35,co_darkviolet", () => { + const parts = "e_colorize:35,co_darkviolet".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.colorize().level(35).color("darkviolet") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_colorize:80", () => { + const parts = "e_colorize:80".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.colorize().level(80) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_contrast", () => { + const parts = "e_contrast".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.contrast()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_contrast:-70", () => { + const parts = "e_contrast:-70".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.contrast().level(-70) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_contrast:17", () => { + const parts = "e_contrast:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.contrast().level(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_contrast:50", () => { + const parts = "e_contrast:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.contrast().level(50) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_deshake", () => { + const parts = "e_deshake".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect(Effect.deshake()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_deshake:32", () => { + const parts = "e_deshake:32".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.deshake().shakeStrength(ShakeStrength.pixels32()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_distort:5:34:70:10:70:75:5:55", () => { + const parts = "e_distort:5:34:70:10:70:75:5:55" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").reshape( + Reshape.distort([5, 34, 70, 10, 70, 75, 5, 55]) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_distort:arc:180", () => { + const parts = "e_distort:arc:180".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").reshape( + Reshape.distortArc("180.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_distort:arc:5", () => { + const parts = "e_distort:arc:5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").reshape( + Reshape.distortArc("5.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_fade:-6", () => { + const parts = "e_fade:-6".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.fadeOut().duration(6) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_fade:2000", () => { + const parts = "e_fade:2000".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.fadeIn().duration(2000) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_fade:2000/e_fade:-4000", () => { + const parts = "e_fade:2000/e_fade:-4000".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .effect(Effect.fadeIn().duration(2000)) + .effect(Effect.fadeOut().duration(4000)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_fade:6", () => { + const parts = "e_fade:6".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.fadeIn().duration(6) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_fill_light", () => { + const parts = "e_fill_light".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.fillLight()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_fill_light:10:20", () => { + const parts = "e_fill_light:10:20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.fillLight().blend(10).bias(20) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_fill_light:17", () => { + const parts = "e_fill_light:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.fillLight().blend(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_fill_light:17:-100", () => { + const parts = "e_fill_light:17:-100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.fillLight().blend(17).bias(-100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_fill_light:70:20", () => { + const parts = "e_fill_light:70:20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.fillLight().blend(70).bias(20) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_gamma:17", () => { + const parts = "e_gamma:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.gamma().level(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_gamma:50", () => { + const parts = "e_gamma:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.gamma().level(50) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_gradient_fade:symmetric:10,x_0.2,y_0.4", () => { + const parts = "e_gradient_fade:symmetric:10,x_0.2,y_0.4" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.gradientFade() + .strength(10) + .type(GradientFade.symmetric()) + .horizontalStartPoint(0.2) + .verticalStartPoint(0.4) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_gradient_fade:symmetric_pad:50,x_0.2", () => { + const parts = "e_gradient_fade:symmetric_pad:50,x_0.2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.gradientFade() + .strength(50) + .type(GradientFade.symmetricPad()) + .horizontalStartPoint(0.2) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_grayscale", () => { + const parts = "e_grayscale".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect(Effect.grayscale()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_green", () => { + const parts = "e_green".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.green()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_green:-30", () => { + const parts = "e_green:-30".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.green().level(-30) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_green:10", () => { + const parts = "e_green:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.green().level(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_green:17", () => { + const parts = "e_green:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.green().level(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_hue", () => { + const parts = "e_hue".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.hue()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_hue:10", () => { + const parts = "e_hue:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.hue().level(10)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_hue:17", () => { + const parts = "e_hue:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.hue().level(17)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_hue:40", () => { + const parts = "e_hue:40".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.hue().level(40)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_improve", () => { + const parts = "e_improve".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.improve()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_improve:50", () => { + const parts = "e_improve:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.improve().mode(50) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_improve:indoor", () => { + const parts = "e_improve:indoor".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.improve().mode(ImproveMode.indoor()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_improve:outdoor", () => { + const parts = "e_improve:outdoor".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.improve().mode(ImproveMode.outdoor()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_improve:outdoor:10", () => { + const parts = "e_improve:outdoor:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.improve().mode(ImproveMode.outdoor()).blend(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_improve:outdoor:50", () => { + const parts = "e_improve:outdoor:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.improve().mode(ImproveMode.outdoor()).blend(50) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_make_transparent:5", () => { + const parts = "e_make_transparent:5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.makeTransparent().tolerance("5.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_make_transparent:50,co_red", () => { + const parts = "e_make_transparent:50,co_red".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.makeTransparent().tolerance("50.0").colorToReplace("red") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_multiply,l_cloudinary_icon_blue", () => { + const parts = "e_multiply,l_cloudinary_icon_blue" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("cloudinary_icon_blue")).blendMode( + BlendMode.multiply() + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_negate", () => { + const parts = "e_negate".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect(Effect.negate()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_noise:100", () => { + const parts = "e_noise:100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.noise().level(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_oil_paint", () => { + const parts = "e_oil_paint".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect(Effect.oilPaint()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_oil_paint:40", () => { + const parts = "e_oil_paint:40".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.oilPaint().strength(40) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_oil_paint:5", () => { + const parts = "e_oil_paint:5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.oilPaint().strength(5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_oil_paint:70", () => { + const parts = "e_oil_paint:70".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.oilPaint().strength(70) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_opacity_threshold", () => { + const parts = "e_opacity_threshold".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.opacityThreshold() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_opacity_threshold:1/b_blue", () => { + const parts = "e_opacity_threshold:1/b_blue".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .adjust(Adjust.opacityThreshold().level(1)) + .backgroundColor("blue"); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_opacity_threshold:10", () => { + const parts = "e_opacity_threshold:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.opacityThreshold().level(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_opacity_threshold:17", () => { + const parts = "e_opacity_threshold:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.opacityThreshold().level(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_ordered_dither", () => { + const parts = "e_ordered_dither".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect(Effect.dither()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_ordered_dither:12", () => { + const parts = "e_ordered_dither:12".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.dither().type(Dither.halftone16x16Orthogonal()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_ordered_dither:13", () => { + const parts = "e_ordered_dither:13".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.dither().type(Dither.circles5x5Black()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_ordered_dither:3", () => { + const parts = "e_ordered_dither:3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.dither().type(Dither.ordered3x3Dispersed()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_ordered_dither:6", () => { + const parts = "e_ordered_dither:6".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.dither().type(Dither.halftone4x4Angled()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_outline,co_orange", () => { + const parts = "e_outline,co_orange".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.outline().color("orange") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_outline:$foo:100:5,co_red", () => { + const parts = "e_outline:$foo:100:5,co_red".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.outline().mode("$foo").width(100).blurLevel(5).color("red") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_outline:fill,co_orange", () => { + const parts = "e_outline:fill,co_orange".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.outline().mode(OutlineMode.fill()).color("orange") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_outline:inner,co_orange", () => { + const parts = "e_outline:inner,co_orange".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.outline().mode(OutlineMode.inner()).color("orange") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_outline:inner:100:5,co_rgb:ffffff", () => { + const parts = "e_outline:inner:100:5,co_rgb:ffffff" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.outline() + .mode(OutlineMode.inner()) + .width(100) + .blurLevel(5) + .color("#ffffff") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_outline:inner_fill,co_orange", () => { + const parts = "e_outline:inner_fill,co_orange" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.outline().mode(OutlineMode.innerFill()).color("orange") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_outline:outer,co_orange", () => { + const parts = "e_outline:outer,co_orange".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.outline().mode(OutlineMode.outer()).color("orange") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_outline:outer:20:200", () => { + const parts = "e_outline:outer:20:200".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.outline().mode(OutlineMode.outer()).width(20).blurLevel(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_outline:outer:20:200/e_red:50/e_sharpen/e_improve/o_70", () => { + const parts = "e_outline:outer:20:200/e_red:50/e_sharpen/e_improve/o_70" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .effect( + Effect.outline().mode(OutlineMode.outer()).width(20).blurLevel(200) + ) + .adjust(Adjust.red().level(50)) + .adjust(Adjust.sharpen()) + .adjust(Adjust.improve()) + .adjust(Adjust.opacity(70)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_outline:outer:20:200/l_cloudinary_icon/e_red:50/e_sharpen/e_improve/o_70", () => { + const parts = + "e_outline:outer:20:200/l_cloudinary_icon/e_red:50/e_sharpen/e_improve/o_70" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .effect( + Effect.outline().mode(OutlineMode.outer()).width(20).blurLevel(200) + ) + .overlay(Overlay.source(Source.image("cloudinary_icon"))) + .adjust(Adjust.red().level(50)) + .adjust(Adjust.sharpen()) + .adjust(Adjust.improve()) + .adjust(Adjust.opacity(70)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_outline:outer:20:200/l_cloudinary_icon_white/e_red:50/e_sharpen/e_improve/o_70", () => { + const parts = + "e_outline:outer:20:200/l_cloudinary_icon_white/e_red:50/e_sharpen/e_improve/o_70" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .effect( + Effect.outline().mode(OutlineMode.outer()).width(20).blurLevel(200) + ) + .overlay(Overlay.source(Source.image("cloudinary_icon_white"))) + .adjust(Adjust.red().level(50)) + .adjust(Adjust.sharpen()) + .adjust(Adjust.improve()) + .adjust(Adjust.opacity(70)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_overlay,l_cloudinary_icon_blue", () => { + const parts = "e_overlay,l_cloudinary_icon_blue" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("cloudinary_icon_blue")).blendMode( + BlendMode.overlay() + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_pixelate", () => { + const parts = "e_pixelate".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect(Effect.pixelate()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_pixelate:17", () => { + const parts = "e_pixelate:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.pixelate().squareSize(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_pixelate:20", () => { + const parts = "e_pixelate:20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.pixelate().squareSize(20) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_pixelate_faces:15", () => { + const parts = "e_pixelate_faces:15".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.pixelate().squareSize(15).region(Region.faces()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_pixelate_faces:5", () => { + const parts = "e_pixelate_faces:5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.pixelate().squareSize(5).region(Region.faces()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_pixelate_faces:9", () => { + const parts = "e_pixelate_faces:9".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.pixelate().squareSize(9).region(Region.faces()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_pixelate_region,w_100", () => { + const parts = "e_pixelate_region,w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.pixelate().region(Region.custom().width(100)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_pixelate_region:2,h_100,w_200,x_1,y_3", () => { + const parts = "e_pixelate_region:2,h_100,w_200,x_1,y_3" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.pixelate() + .squareSize(2) + .region(Region.custom().width(200).height(100).x(1).y(3)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_pixelate_region:25,y_0.75", () => { + const parts = "e_pixelate_region:25,y_0.75".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.pixelate().squareSize(25).region(Region.custom().y(0.75)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_pixelate_region:35,h_425,w_550,x_600,y_400", () => { + const parts = "e_pixelate_region:35,h_425,w_550,x_600,y_400" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.pixelate() + .squareSize(35) + .region(Region.custom().width(550).height(425).x(600).y(400)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_pixelate_region:5,g_ocr_text", () => { + const parts = "e_pixelate_region:5,g_ocr_text" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.pixelate().squareSize(5).region(Region.ocr()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_preview,fl_getinfo", () => { + const parts = "e_preview,fl_getinfo".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.preview()) + .addFlag(Flag.getInfo()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_preview:duration_12.0:max_seg_3:min_seg_dur_3.0", () => { + const parts = "e_preview:duration_12.0:max_seg_3:min_seg_dur_3.0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.preview() + .duration("12.0") + .maximumSegments(3) + .minimumSegmentDuration("3.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_preview:duration_5", () => { + const parts = "e_preview:duration_5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.preview().duration("5.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_preview:duration_5.0", () => { + const parts = "e_preview:duration_5.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.preview().duration("5.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_preview:duration_5.0:max_seg_10:min_seg_dur_1.0", () => { + const parts = "e_preview:duration_5.0:max_seg_10:min_seg_dur_1.0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.preview() + .duration("5.0") + .maximumSegments(10) + .minimumSegmentDuration("1.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_recolor:0.3:0.7:0.1:0.2:0.3:0.6:0.1:0.2:0.2:0.5:0.1:0.2", () => { + const parts = "e_recolor:0.3:0.7:0.1:0.2:0.3:0.6:0.1:0.2:0.2:0.5:0.1:0.2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.recolor([ + [0.3, 0.7, 0.1, 0.2], + [0.3, 0.6, 0.1, 0.2], + [0.2, 0.5, 0.1, 0.2] + ]) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_recolor:0.3:0.7:0.1:0.3:0.6:0.1:0.2:0.5:0.1", () => { + const parts = "e_recolor:0.3:0.7:0.1:0.3:0.6:0.1:0.2:0.5:0.1" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.recolor([ + [0.3, 0.7, 0.1], + [0.3, 0.6, 0.1], + [0.2, 0.5, 0.1] + ]) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_red", () => { + const parts = "e_red".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.red()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_red:10", () => { + const parts = "e_red:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.red().level(10)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_red:17", () => { + const parts = "e_red:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.red().level(17)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_red:50", () => { + const parts = "e_red:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.red().level(50)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_redeye", () => { + const parts = "e_redeye".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect(Effect.redEye()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_replace_color:2F4F4F:20", () => { + const parts = "e_replace_color:2F4F4F:20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.replaceColor("#2F4F4F").tolerance(20) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_replace_color:maroon:80:2b38aa", () => { + const parts = "e_replace_color:maroon:80:2b38aa" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.replaceColor("maroon").fromColor("#2b38aa").tolerance(80) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_replace_color:maroon:80:2b38aa/w_250", () => { + const parts = "e_replace_color:maroon:80:2b38aa/w_250" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .adjust(Adjust.replaceColor("maroon").fromColor("#2b38aa").tolerance(80)) + .resize(Resize.scale().width(250)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_replace_color:red:5:blue", () => { + const parts = "e_replace_color:red:5:blue".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.replaceColor("red").fromColor("blue").tolerance(5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_replace_color:saddlebrown", () => { + const parts = "e_replace_color:saddlebrown".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.replaceColor("saddlebrown") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_replace_color:silver:55:89b8ed", () => { + const parts = "e_replace_color:silver:55:89b8ed" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.replaceColor("silver").fromColor("#89b8ed").tolerance(55) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_reverse", () => { + const parts = "e_reverse".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect(Effect.reverse()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_reverse,fl_splice,l_video:ski_jump/l_video:ski_jump,fl_splice,e_accelerate:-50/e_brightness:10,r_max", () => { + const parts = + "e_reverse,fl_splice,l_video:ski_jump/l_video:ski_jump,fl_splice,e_accelerate:-50/e_brightness:10,r_max" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("ski_jump").transformation( + new ImageTransformation().effect(Effect.reverse()) + ) + ) + ) + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("ski_jump").transformation( + new ImageTransformation().effect(Effect.accelerate().rate(-50)) + ) + ) + ) + .roundCorners(RoundCorners.max()) + .adjust(Adjust.brightness().level(10)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_saturation:17", () => { + const parts = "e_saturation:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.saturation().level(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_saturation:50", () => { + const parts = "e_saturation:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.saturation().level(50) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_saturation:70", () => { + const parts = "e_saturation:70".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.saturation().level(70) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_screen,l_cloudinary_icon", () => { + const parts = "e_screen,l_cloudinary_icon".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("cloudinary_icon")).blendMode( + BlendMode.screen() + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_screen,l_cloudinary_icon_blue", () => { + const parts = "e_screen,l_cloudinary_icon_blue" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("cloudinary_icon_blue")).blendMode( + BlendMode.screen() + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_sepia", () => { + const parts = "e_sepia".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect(Effect.sepia()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_sepia:17", () => { + const parts = "e_sepia:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.sepia().level(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_sepia:17/c_crop,h_200,w_100", () => { + const parts = "e_sepia:17/c_crop,h_200,w_100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .effect(Effect.sepia().level(17)) + .resize(Resize.crop().width(100).height(200)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_sepia:50", () => { + const parts = "e_sepia:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.sepia().level(50) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_shadow:50,x_10,y_10", () => { + const parts = "e_shadow:50,x_10,y_10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.shadow().strength(50).offsetX(10).offsetY(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_sharpen", () => { + const parts = "e_sharpen".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.sharpen()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_sharpen:10", () => { + const parts = "e_sharpen:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.sharpen().strength(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_sharpen:17", () => { + const parts = "e_sharpen:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.sharpen().strength(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_sharpen:400", () => { + const parts = "e_sharpen:400".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.sharpen().strength(400) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_shear:20.0:0.0", () => { + const parts = "e_shear:20.0:0.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").reshape( + Reshape.shear("20.0", "0.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_shear:23.0:50.0", () => { + const parts = "e_shear:23.0:50.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").reshape( + Reshape.shear("23.0", "50.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_simulate_colorblind", () => { + const parts = "e_simulate_colorblind".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.simulateColorBlind() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_simulate_colorblind/h_200", () => { + const parts = "e_simulate_colorblind/h_200".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .effect(Effect.simulateColorBlind()) + .resize(Resize.scale().height(200)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_simulate_colorblind:deuteranopia", () => { + const parts = "e_simulate_colorblind:deuteranopia" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.simulateColorBlind().condition(SimulateColorBlind.deuteranopia()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_simulate_colorblind:protanopia", () => { + const parts = "e_simulate_colorblind:protanopia" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.simulateColorBlind().condition(SimulateColorBlind.protanopia()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_style_transfer,l_davinci_mona_lisa", () => { + const parts = "e_style_transfer,l_davinci_mona_lisa" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.styleTransfer(Source.image("davinci_mona_lisa")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_style_transfer,l_lighthouse", () => { + const parts = "e_style_transfer,l_lighthouse" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.styleTransfer(Source.image("lighthouse")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_style_transfer:preserve_color:40,l_lighthouse", () => { + const parts = "e_style_transfer:preserve_color:40,l_lighthouse" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.styleTransfer(Source.image("lighthouse")) + .preserveColor() + .strength(40) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_style_transfer:preserve_color:40,l_lighthouse/e_sepia/fl_layer_apply", () => { + const parts = + "e_style_transfer:preserve_color:40,l_lighthouse/e_sepia/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.styleTransfer( + Source.image("lighthouse").transformation( + new ImageTransformation().effect(Effect.sepia()) + ) + ) + .preserveColor() + .strength(40) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_tint", () => { + const parts = "e_tint".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.tint()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_tint:100:red:blue:yellow", () => { + const parts = "e_tint:100:red:blue:yellow".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.tint("100:red:blue:yellow") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_tint:20", () => { + const parts = "e_tint:20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.tint(20)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_tint:50:red:blue", () => { + const parts = "e_tint:50:red:blue".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.tint("50:red:blue") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_tint:equalize:80:red:50p:blue:60p:yellow:40p", () => { + const parts = "e_tint:equalize:80:red:50p:blue:60p:yellow:40p" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.tint("equalize:80:red:50p:blue:60p:yellow:40p") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_tint:equalize:80:red:blue:yellow", () => { + const parts = "e_tint:equalize:80:red:blue:yellow" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.tint("equalize:80:red:blue:yellow") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_trim", () => { + const parts = "e_trim".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").reshape(Reshape.trim()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_trim:50", () => { + const parts = "e_trim:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").reshape( + Reshape.trim().colorSimilarity(50) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_trim:50:yellow", () => { + const parts = "e_trim:50:yellow".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").reshape( + Reshape.trim().colorSimilarity(50).colorOverride("yellow") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_unsharp_mask", () => { + const parts = "e_unsharp_mask".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.unsharpMask()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_unsharp_mask:10", () => { + const parts = "e_unsharp_mask:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.unsharpMask().strength(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_unsharp_mask:17", () => { + const parts = "e_unsharp_mask:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.unsharpMask().strength(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_unsharp_mask:500", () => { + const parts = "e_unsharp_mask:500".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.unsharpMask().strength(500) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_vectorize:colors:15:detail:200:despeckle:0.2:paths:90:corners:100", () => { + const parts = + "e_vectorize:colors:15:detail:200:despeckle:0.2:paths:90:corners:100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.vectorize() + .numOfColors(15) + .detailsLevel(200) + .despeckleLevel(0.2) + .paths(90) + .cornersLevel(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_vectorize:colors:17", () => { + const parts = "e_vectorize:colors:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.vectorize().numOfColors(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_vectorize:colors:17:detail:100", () => { + const parts = "e_vectorize:colors:17:detail:100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.vectorize().numOfColors(17).detailsLevel(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_vectorize:colors:3:detail:0.5", () => { + const parts = "e_vectorize:colors:3:detail:0.5" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.vectorize().numOfColors(3).detailsLevel(0.5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_vectorize:detail:200", () => { + const parts = "e_vectorize:detail:200".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.vectorize().detailsLevel(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_vibrance", () => { + const parts = "e_vibrance".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.vibrance()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_vibrance:10", () => { + const parts = "e_vibrance:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.vibrance().strength(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_vibrance:17", () => { + const parts = "e_vibrance:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.vibrance().strength(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_vibrance:70", () => { + const parts = "e_vibrance:70".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.vibrance().strength(70) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_viesus_correct", () => { + const parts = "e_viesus_correct".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.viesusCorrect()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_viesus_correct:no_redeye", () => { + const parts = "e_viesus_correct:no_redeye".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.viesusCorrect().noRedEye() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_viesus_correct:no_redeye:skin_saturation_5", () => { + const parts = "e_viesus_correct:no_redeye:skin_saturation_5" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.viesusCorrect().noRedEye().skinSaturation(5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_viesus_correct:skin_saturation", () => { + const parts = "e_viesus_correct:skin_saturation" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.viesusCorrect().skinSaturation() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_viesus_correct:skin_saturation_20", () => { + const parts = "e_viesus_correct:skin_saturation_20" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.viesusCorrect().skinSaturation(20) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_vignette", () => { + const parts = "e_vignette".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect(Effect.vignette()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_vignette:17", () => { + const parts = "e_vignette:17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.vignette().strength(17) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_vignette:30", () => { + const parts = "e_vignette:30".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").effect( + Effect.vignette().strength(30) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_volume:10", () => { + const parts = "e_volume:10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.volume(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_volume:50", () => { + const parts = "e_volume:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.volume(50) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_volume:5db", () => { + const parts = "e_volume:5db".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.volume("5db") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("e_volume:mute", () => { + const parts = "e_volume:mute".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.volume(Volume.mute()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("eo_10", () => { + const parts = "eo_10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().endOffset("10.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("eo_3", () => { + const parts = "eo_3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().endOffset("3.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto", () => { + const parts = "f_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.format(Format.auto()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,dpr_2,q_auto,h_150,bo_1px_solid_gray", () => { + const parts = "f_auto,dpr_2,q_auto,h_150,bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().height(150)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,dpr_2,q_auto,h_200,bo_1px_solid_gray", () => { + const parts = "f_auto,dpr_2,q_auto,h_200,bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().height(200)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,dpr_auto", () => { + const parts = "f_auto,dpr_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr(Dpr.auto())) + .delivery(Delivery.format(Format.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,fl_preserve_transparency", () => { + const parts = "f_auto,fl_preserve_transparency" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.format(Format.auto()).preserveTransparency() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,q_auto", () => { + const parts = "f_auto,q_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,q_auto,dpr_2", () => { + const parts = "f_auto,q_auto,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,q_auto,dpr_2,h_150,bo_1px_solid_gray", () => { + const parts = "f_auto,q_auto,dpr_2,h_150,bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().height(150)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,q_auto,dpr_2,h_200,bo_1px_solid_gray", () => { + const parts = "f_auto,q_auto,dpr_2,h_200,bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().height(200)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,q_auto,dpr_2/bo_1px_solid_gray/w_500", () => { + const parts = "f_auto,q_auto,dpr_2/bo_1px_solid_gray/w_500" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())) + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(500)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,q_auto,dpr_auto,w_300", () => { + const parts = "f_auto,q_auto,dpr_auto,w_300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .delivery(Delivery.dpr(Dpr.auto())) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,q_auto,h_150,dpr_2,bo_1px_solid_gray", () => { + const parts = "f_auto,q_auto,h_150,dpr_2,bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().height(150)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,q_auto,w_500,dpr_2,bo_1px_solid_gray", () => { + const parts = "f_auto,q_auto,w_500,dpr_2,bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(500)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,q_auto/", () => { + const parts = "f_auto,q_auto/".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("/sample") + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto,w_150,dpr_2,q_auto", () => { + const parts = "f_auto,w_150,dpr_2,q_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_auto/dpr_auto", () => { + const parts = "f_auto/dpr_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.dpr(Dpr.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_gif,fl_lossy", () => { + const parts = "f_gif,fl_lossy".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.format(Format.gif()).lossy() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_gif/ar_1,b_rgb:a17ec5,c_fill,fl_animated,h_200", () => { + const parts = "f_gif/ar_1,b_rgb:a17ec5,c_fill,fl_animated,h_200" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.format(Format.gif())) + .resize(Resize.fill().height(200).aspectRatio("1.0")) + .backgroundColor("#a17ec5") + .transcode(Transcode.toAnimated()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_glb", () => { + const parts = "f_glb".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.format(Format.glb()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_jpg", () => { + const parts = "f_jpg".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.format(Format.jpg()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_jpg,fl_progressive", () => { + const parts = "f_jpg,fl_progressive".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.format(Format.jpg()).progressive(Progressive.progressive()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_jpg,fl_progressive:semi", () => { + const parts = "f_jpg,fl_progressive:semi".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.format(Format.jpg()).progressive(Progressive.semi()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_jpg,u_some", () => { + const parts = "f_jpg,u_some".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").underlay( + Underlay.source( + Source.image("some").transformation( + new ImageTransformation().delivery(Delivery.format(Format.jpg())) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_jpg/u_some", () => { + const parts = "f_jpg/u_some".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.format(Format.jpg())) + .underlay(Underlay.source(Source.image("some"))); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_mp3", () => { + const parts = "f_mp3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.format(Format.audioMp3()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_mp4", () => { + const parts = "f_mp4".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.format(Format.videoMp4()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_mp4,w_300", () => { + const parts = "f_mp4,w_300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .delivery(Delivery.format(Format.videoMp4())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_mp4/b_rgb:d5d2ca,h_300,fl_animated", () => { + const parts = "f_mp4/b_rgb:d5d2ca,h_300,fl_animated" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.format(Format.videoMp4())) + .resize(Resize.scale().height(300)) + .backgroundColor("#d5d2ca") + .transcode(Transcode.toAnimated()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_png", () => { + const parts = "f_png".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.format(Format.png()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_png/a_90,ar_1,b_rgb:a17ec5,c_fill,g_auto,h_200", () => { + const parts = "f_png/a_90,ar_1,b_rgb:a17ec5,c_fill,g_auto,h_200" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.format(Format.png())) + .rotate(Rotate.byAngle(90)) + .resize( + Resize.fill() + .height(200) + .aspectRatio("1.0") + .gravity(Gravity.autoGravity()) + ) + .backgroundColor("#a17ec5"); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_png/w_800/l_text:Unkempt_250_bold:Water,fl_cutter,e_shadow", () => { + const parts = "f_png/w_800/l_text:Unkempt_250_bold:Water,fl_cutter,e_shadow" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.format(Format.png())) + .resize(Resize.scale().width(800)) + .reshape( + Reshape.cutByImage( + Source.text( + "Water", + new TextStyle("Unkempt", 250).fontWeight(FontWeight.bold()) + ).transformation(new ImageTransformation().effect(Effect.shadow())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_webm", () => { + const parts = "f_webm".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.format(Format.videoWebm()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("f_webp,fl_animated,fl_awebp,vs_10", () => { + const parts = "f_webp,fl_animated,fl_awebp,vs_10" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.toAnimated(AnimatedFormat.webp()).sampling(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_animated,f_auto", () => { + const parts = "fl_animated,f_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.toAnimated(AnimatedFormat.auto()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_animated,f_gif", () => { + const parts = "fl_animated,f_gif".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.toAnimated(AnimatedFormat.gif()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_apng", () => { + const parts = "fl_apng".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addFlag("apng"); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_attachment", () => { + const parts = "fl_attachment".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addFlag(Flag.attachment()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_attachment:pretty_flower", () => { + const parts = "fl_attachment:pretty_flower".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addFlag( + Flag.attachment("pretty_flower") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_attachment:pretty_flower,f_auto", () => { + const parts = "fl_attachment:pretty_flower,f_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.format(Format.auto())) + .addFlag(Flag.attachment("pretty_flower")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_clip,pg_2", () => { + const parts = "fl_clip,pg_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.clip().byIndex(2) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_clip,pg_name:path", () => { + const parts = "fl_clip,pg_name:path".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.clip().byName("path") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_clip,pg_name:stones", () => { + const parts = "fl_clip,pg_name:stones".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.clip().byName("stones") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_clip_evenodd", () => { + const parts = "fl_clip_evenodd".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.clip().evenOdd() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_clip_evenodd,pg_2", () => { + const parts = "fl_clip_evenodd,pg_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.clip().byIndex(2).evenOdd() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_draco", () => { + const parts = "fl_draco".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addFlag("draco"); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_keep_iptc", () => { + const parts = "fl_keep_iptc".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addFlag(Flag.keepIptc()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_lossy", () => { + const parts = "fl_lossy".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.format(Format.gif()).lossy() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_lossy,q_50", () => { + const parts = "fl_lossy,q_50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.format(Format.gif()).lossy()) + .delivery(Delivery.quality(50)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_progressive,r_10", () => { + const parts = "fl_progressive,r_10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .roundCorners(RoundCorners.byRadius(10)) + .addFlag(Flag.progressive()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_region_relative,g_adv_eyes,l_glasses,w_1.5", () => { + const parts = "fl_region_relative,g_adv_eyes,l_glasses,w_1.5" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("glasses").transformation( + new ImageTransformation().resize( + Resize.scale().width(1.5).regionRelative() + ) + ) + ).position( + new Position().gravity(Gravity.focusOn(FocusOn.advancedEyes())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_region_relative,g_adv_eyes,l_glasses,w_1.7", () => { + const parts = "fl_region_relative,g_adv_eyes,l_glasses,w_1.7" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("glasses").transformation( + new ImageTransformation().resize( + Resize.scale().width(1.7).regionRelative() + ) + ) + ).position( + new Position().gravity(Gravity.focusOn(FocusOn.advancedEyes())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_region_relative,g_adv_faces,l_silver_face_mask,w_1.1", () => { + const parts = "fl_region_relative,g_adv_faces,l_silver_face_mask,w_1.1" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("silver_face_mask").transformation( + new ImageTransformation().resize( + Resize.scale().width(1.1).regionRelative() + ) + ) + ).position( + new Position().gravity(Gravity.focusOn(FocusOn.advancedFaces())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_splice,l_sample/fl_layer_apply", () => { + const parts = "fl_splice,l_sample/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.concatenate(Concatenate.imageSource("sample")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_splice,l_video:dog/fl_layer_apply", () => { + const parts = "fl_splice,l_video:dog/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.concatenate(Concatenate.videoSource("dog")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_splice,l_video:dog/fl_layer_apply,so_0", () => { + const parts = "fl_splice,l_video:dog/fl_layer_apply,so_0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.concatenate(Concatenate.videoSource("dog")).prepend() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fl_whatever", () => { + const parts = "fl_whatever".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").addFlag("whatever"); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fn_pre:remote:aHR0cHM6Ly9teS5wcmVwcm9jZXNzLmN1c3RvbS9mdW5jdGlvbg==", () => { + const parts = + "fn_pre:remote:aHR0cHM6Ly9teS5wcmVwcm9jZXNzLmN1c3RvbS9mdW5jdGlvbg==" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").customFunction( + CustomFunction.remote( + "https://my.preprocess.custom/function" + ).preprocess() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fn_remote:aHR0cHM6Ly9teS5leGFtcGxlLmN1c3RvbS9mdW5jdGlvbg==", () => { + const parts = "fn_remote:aHR0cHM6Ly9teS5leGFtcGxlLmN1c3RvbS9mdW5jdGlvbg==" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").customFunction( + CustomFunction.remote("https://my.example.custom/function") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fn_wasm:my_example.wasm", () => { + const parts = "fn_wasm:my_example.wasm".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").customFunction( + CustomFunction.wasm("my_example.wasm") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fps_1-5", () => { + const parts = "fps_1-5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.fpsRange(1, 5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fps_10", () => { + const parts = "fps_10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode(Transcode.fps(10)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fps_10-", () => { + const parts = "fps_10-".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.fpsRange(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("fps_10-20", () => { + const parts = "fps_10-20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.fpsRange(10, 20) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("g_face,c_crop", () => { + const parts = "g_face,c_crop".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("g_face,c_thumb,w_150,h_150", () => { + const parts = "g_face,c_thumb,w_150,h_150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(150) + .height(150) + .gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("g_face,c_thumb,w_150,h_150,z_0.7", () => { + const parts = "g_face,c_thumb,w_150,h_150,z_0.7" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(150) + .height(150) + .zoom(0.7) + .gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("g_face,w_500,c_thumb,fl_getinfo", () => { + const parts = "g_face,w_500,c_thumb,fl_getinfo" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail().width(500).gravity(Gravity.focusOn(FocusOn.face())) + ) + .addFlag(Flag.getInfo()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("g_north,l_text:arial_60:watchme,y_20", () => { + const parts = "g_north,l_text:arial_60:watchme,y_20" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.text("watchme", new TextStyle("arial", 60)) + ).position( + new Position().gravity(Gravity.compass(Compass.north())).offsetY(20) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("g_south,l_text:Arial_200:Flower", () => { + const parts = "g_south,l_text:Arial_200:Flower" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.text("Flower", new TextStyle("Arial", 200)) + ).position(new Position().gravity(Gravity.compass(Compass.south()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_100,w_190", () => { + const parts = "h_100,w_190".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(190).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_105/e_shadow:50,x_10,y_10", () => { + const parts = "h_105/e_shadow:50,x_10,y_10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(105)) + .effect(Effect.shadow().strength(50).offsetX(10).offsetY(10)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_120", () => { + const parts = "h_120".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().height(120) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_150", () => { + const parts = "h_150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().height(150) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_150,c_scale,fl_ignore_aspect_ratio", () => { + const parts = "h_150,c_scale,fl_ignore_aspect_ratio" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale() + .height(150) + .aspectRatio(AspectRatio.ignoreInitialAspectRatio()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_150,dpr_2.0", () => { + const parts = "h_150,dpr_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(150)) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_150,dpr_auto", () => { + const parts = "h_150,dpr_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(150)) + .delivery(Delivery.dpr(Dpr.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_150,fl_ignore_aspect_ratio", () => { + const parts = "h_150,fl_ignore_aspect_ratio".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale() + .height(150) + .aspectRatio(AspectRatio.ignoreInitialAspectRatio()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_150,w_150,c_pad,b_auto:predominant", () => { + const parts = "h_150,w_150,c_pad,b_auto:predominant" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(150).height(150).background(Background.predominant()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_150,w_150,c_pad,b_auto:predominant_gradient:2:diagonal_desc", () => { + const parts = + "h_150,w_150,c_pad,b_auto:predominant_gradient:2:diagonal_desc" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad() + .width(150) + .height(150) + .background( + Background.predominantGradient() + .gradientDirection(GradientDirection.diagonalDesc()) + .gradientColors(2) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_150/l_play_icon2,w_0.1", () => { + const parts = "h_150/l_play_icon2,w_0.1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(150)) + .overlay( + Overlay.source( + Source.image("play_icon2").transformation( + new ImageTransformation().resize(Resize.scale().width(0.1)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_150/q_auto,f_auto,dpr_2/bo_1px_solid_gray", () => { + const parts = "h_150/q_auto,f_auto,dpr_2/bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(150)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_200", () => { + const parts = "h_200".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().height(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_200,c_scale/e_outline:15:200,co_orange", () => { + const parts = "h_200,c_scale/e_outline:15:200,co_orange" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(200)) + .effect(Effect.outline().width(15).blurLevel(200).color("orange")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_200,w_200,c_pad,b_auto:border", () => { + const parts = "h_200,w_200,c_pad,b_auto:border" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(200).height(200).background(Background.border()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_200,w_200,c_pad,b_auto:border_contrast", () => { + const parts = "h_200,w_200,c_pad,b_auto:border_contrast" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad() + .width(200) + .height(200) + .background(Background.border().contrast()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_200,w_200,c_pad,b_auto:predominant", () => { + const parts = "h_200,w_200,c_pad,b_auto:predominant" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(200).height(200).background(Background.predominant()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_200,w_200,c_pad,b_auto:predominant_contrast", () => { + const parts = "h_200,w_200,c_pad,b_auto:predominant_contrast" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad() + .width(200) + .height(200) + .background(Background.predominant().contrast()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_200/u_docs:iphone_template,h_300,a_90", () => { + const parts = "h_200/u_docs:iphone_template,h_300,a_90" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(200)) + .underlay( + Underlay.source( + Source.image("docs/iphone_template").transformation( + new ImageTransformation() + .rotate(Rotate.byAngle(90)) + .resize(Resize.scale().height(300)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_200/u_docs:transparent_grid,w_1.0,h_1.0,fl_relative,c_crop,o_50", () => { + const parts = + "h_200/u_docs:transparent_grid,w_1.0,h_1.0,fl_relative,c_crop,o_50" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(200)) + .underlay( + Underlay.source( + Source.image("docs/transparent_grid").transformation( + new ImageTransformation() + .resize(Resize.crop().width("1.0").height("1.0").relative()) + .adjust(Adjust.opacity(50)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_225/q_auto,f_auto,bo_1px_solid_black", () => { + const parts = "h_225/q_auto,f_auto,bo_1px_solid_black" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(225)) + .border(Border.solid(1, "black")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_250", () => { + const parts = "h_250".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().height(250) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_250,w_150,c_fill,g_auto/f_auto/q_auto", () => { + const parts = "h_250,w_150,c_fill,g_auto/f_auto/q_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fill().width(150).height(250).gravity(Gravity.autoGravity()) + ) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_300", () => { + const parts = "h_300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().height(300) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_300,ar_3:4,c_fill,g_auto:face", () => { + const parts = "h_300,ar_3:4,c_fill,g_auto:face" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .height(300) + .aspectRatio("3:4") + .gravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.face())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_300,ar_3:4,c_fill,g_auto:faces", () => { + const parts = "h_300,ar_3:4,c_fill,g_auto:faces" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .height(300) + .aspectRatio("3:4") + .gravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.faces())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_300,dpr_2.0", () => { + const parts = "h_300,dpr_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(300)) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_300,q_auto,f_auto,dpr_2", () => { + const parts = "h_300,q_auto,f_auto,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(300)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_300,w_300", () => { + const parts = "h_300,w_300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(300).height(300) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_300,w_300,c_pad,b_auto:predominant", () => { + const parts = "h_300,w_300,c_pad,b_auto:predominant" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(300).height(300).background(Background.predominant()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_300,w_300,c_pad,b_auto:predominant/e_gradient_fade:symmetric_pad,x_0.5", () => { + const parts = + "h_300,w_300,c_pad,b_auto:predominant/e_gradient_fade:symmetric_pad,x_0.5" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.pad().width(300).height(300).background(Background.predominant()) + ) + .effect( + Effect.gradientFade() + .type(GradientFade.symmetricPad()) + .horizontalStartPoint(0.5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_300,w_300,c_pad,b_auto:predominant_gradient:2:diagonal_desc", () => { + const parts = + "h_300,w_300,c_pad,b_auto:predominant_gradient:2:diagonal_desc" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad() + .width(300) + .height(300) + .background( + Background.predominantGradient() + .gradientDirection(GradientDirection.diagonalDesc()) + .gradientColors(2) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_300,w_300,c_pad,b_auto:predominant_gradient:4:palette_red_green_blue_orange", () => { + const parts = + "h_300,w_300,c_pad,b_auto:predominant_gradient:4:palette_red_green_blue_orange" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad() + .width(300) + .height(300) + .background( + Background.predominantGradient() + .gradientColors(4) + .palette("red", "green", "blue", "orange") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_300,w_300,c_pad,b_auto:predominant_gradient_contrast:4", () => { + const parts = "h_300,w_300,c_pad,b_auto:predominant_gradient_contrast:4" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad() + .width(300) + .height(300) + .background( + Background.predominantGradient().contrast().gradientColors(4) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_310", () => { + const parts = "h_310".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().height(310) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_320,c_scale/c_pad,h_320,w_480,b_blurred:400:15/e_volume:mute/e_accelerate:100", () => { + const parts = + "h_320,c_scale/c_pad,h_320,w_480,b_blurred:400:15/e_volume:mute/e_accelerate:100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(320)) + .resize( + Resize.pad() + .width(480) + .height(320) + .background(Background.blurred().intensity(400).brightness(15)) + ) + .videoEdit(VideoEdit.volume(Volume.mute())) + .effect(Effect.accelerate().rate(100)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_320,w_480", () => { + const parts = "h_320,w_480".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(480).height(320) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_320,w_480/h_150", () => { + const parts = "h_320,w_480/h_150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(480).height(320)) + .resize(Resize.scale().height(150)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_350/q_auto,dpr_auto", () => { + const parts = "h_350/q_auto,dpr_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(350)) + .delivery(Delivery.dpr(Dpr.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_375/u_docs:bg_beach,g_south,w_800", () => { + const parts = "h_375/u_docs:bg_beach,g_south,w_800" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(375)) + .underlay( + Underlay.source( + Source.image("docs/bg_beach").transformation( + new ImageTransformation().resize(Resize.scale().width(800)) + ) + ).position(new Position().gravity(Gravity.compass(Compass.south()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_375/u_docs:bg_beach,g_south,w_800/h_200", () => { + const parts = "h_375/u_docs:bg_beach,g_south,w_800/h_200" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(375)) + .underlay( + Underlay.source( + Source.image("docs/bg_beach").transformation( + new ImageTransformation().resize(Resize.scale().width(800)) + ) + ).position(new Position().gravity(Gravity.compass(Compass.south()))) + ) + .resize(Resize.scale().height(200)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_375/u_docs:rainbow_field,g_south,w_800", () => { + const parts = "h_375/u_docs:rainbow_field,g_south,w_800" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(375)) + .underlay( + Underlay.source( + Source.image("docs/rainbow_field").transformation( + new ImageTransformation().resize(Resize.scale().width(800)) + ) + ).position(new Position().gravity(Gravity.compass(Compass.south()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_375/u_docs:rainbow_field,g_south,w_800/h_200", () => { + const parts = "h_375/u_docs:rainbow_field,g_south,w_800/h_200" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(375)) + .underlay( + Underlay.source( + Source.image("docs/rainbow_field").transformation( + new ImageTransformation().resize(Resize.scale().width(800)) + ) + ).position(new Position().gravity(Gravity.compass(Compass.south()))) + ) + .resize(Resize.scale().height(200)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_400,ar_3:4,c_fill,g_auto:face", () => { + const parts = "h_400,ar_3:4,c_fill,g_auto:face" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .height(400) + .aspectRatio("3:4") + .gravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.face())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_400,ar_9:16,c_fill_pad,g_auto/so_8", () => { + const parts = "h_400,ar_9:16,c_fill_pad,g_auto/so_8" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fillPad() + .height(400) + .aspectRatio("9:16") + .gravity(Gravity.autoGravity()) + ) + .videoEdit(VideoEdit.trim().startOffset("8.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_400,w_244,c_fill", () => { + const parts = "h_400,w_244,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(244).height(400) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_400,w_244,c_fill,so_1", () => { + const parts = "h_400,w_244,c_fill,so_1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("1.0")) + .resize(Resize.fill().width(244).height(400)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_400,w_244,g_auto,c_fill", () => { + const parts = "h_400,w_244,g_auto,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(244).height(400).gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("h_500,w_500,c_fill", () => { + const parts = "h_500,w_500,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(500).height(500) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_!sale:in_stock!_in_tags,l_sale_icon,w_180,g_south_east,x_30,y_30", () => { + const parts = + "if_!sale:in_stock!_in_tags,l_sale_icon,w_180,g_south_east,x_30,y_30" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "!sale:in_stock! in tags", + new ImageTransformation().overlay( + Overlay.source( + Source.image("sale_icon").transformation( + new ImageTransformation().resize(Resize.scale().width(180)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.southEast())) + .offsetX(30) + .offsetY(30) + ) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_!sale:in_stock!_in_tags,l_sale_icon,w_180,g_south_east,x_30,y_30/w_250", () => { + const parts = + "if_!sale:in_stock!_in_tags,l_sale_icon,w_180,g_south_east,x_30,y_30/w_250" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .conditional( + Conditional.ifCondition( + "!sale:in_stock! in tags", + new ImageTransformation().overlay( + Overlay.source( + Source.image("sale_icon").transformation( + new ImageTransformation().resize(Resize.scale().width(180)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.southEast())) + .offsetX(30) + .offsetY(30) + ) + ) + ) + ) + .resize(Resize.scale().width(250)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_ar_gt_0.65_and_w_gt_1000,ar_0.65,h_1000,c_fill", () => { + const parts = "if_ar_gt_0.65_and_w_gt_1000,ar_0.65,h_1000,c_fill" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "aspect_ratio > 0.65 && width > 1000", + new ImageTransformation().resize( + Resize.fill().height(1000).aspectRatio(0.65) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_ar_gt_1.2,c_pad,h_320,w_480,b_black/if_else,c_pad,h_320,w_480,b_blurred:400:15", () => { + const parts = + "if_ar_gt_1.2,c_pad,h_320,w_480,b_black/if_else,c_pad,h_320,w_480,b_blurred:400:15" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "aspect_ratio > 1.2", + new ImageTransformation().resize( + Resize.pad() + .width(480) + .height(320) + .background(Background.color("black")) + ) + ).otherwise( + new ImageTransformation().resize( + Resize.pad() + .width(480) + .height(320) + .background(Background.blurred().intensity(400).brightness(15)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_ar_gt_1.2,c_pad,h_320,w_480,b_green/if_else,c_pad,h_320,w_480,b_blurred:400:15", () => { + const parts = + "if_ar_gt_1.2,c_pad,h_320,w_480,b_green/if_else,c_pad,h_320,w_480,b_blurred:400:15" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "aspect_ratio > 1.2", + new ImageTransformation().resize( + Resize.pad() + .width(480) + .height(320) + .background(Background.color("green")) + ) + ).otherwise( + new ImageTransformation().resize( + Resize.pad() + .width(480) + .height(320) + .background(Background.blurred().intensity(400).brightness(15)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_ar_gt_3:4_and_w_gt_300_and_h_gt_200,c_crop,w_300,h_200", () => { + const parts = "if_ar_gt_3:4_and_w_gt_300_and_h_gt_200,c_crop,w_300,h_200" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "aspect_ratio > 3:4 && width > 300 && height > 200", + new ImageTransformation().resize(Resize.crop().width(300).height(200)) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_ar_lt_1.0,$height_300/if_else,$height_200/h_$height", () => { + const parts = "if_ar_lt_1.0,$height_300/if_else,$height_200/h_$height" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .conditional( + Conditional.ifCondition( + "aspect_ratio < 1.0", + new ImageTransformation().addVariable(Variable.set("height", 300)) + ).otherwise( + new ImageTransformation().addVariable(Variable.set("height", 200)) + ) + ) + .resize(Resize.scale().height("$height")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_ctx:!productType!_eq_!shoes!,w_200,ar_1:1,c_fill,g_auto", () => { + const parts = "if_ctx:!productType!_eq_!shoes!,w_200,ar_1:1,c_fill,g_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "ctx:!productType! = !shoes!", + new ImageTransformation().resize( + Resize.fill() + .width(200) + .aspectRatio(AspectRatio.ar1X1()) + .gravity(Gravity.autoGravity()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_expression,a_20", () => { + const parts = "if_expression,a_20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "expression", + new ImageTransformation().rotate(Rotate.byAngle(20)) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_expression/a_20/if_else/a_30/if_end", () => { + const parts = "if_expression/a_20/if_else/a_30/if_end" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "expression", + new ImageTransformation().rotate(Rotate.byAngle(20)) + ).otherwise(new ImageTransformation().rotate(Rotate.byAngle(30))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_expression/a_20/if_end", () => { + const parts = "if_expression/a_20/if_end".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "expression", + new ImageTransformation().rotate(Rotate.byAngle(20)) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_ils_gt_0.5,w_120,h_150,c_pad/if_else,w_120,h_150,c_fill", () => { + const parts = "if_ils_gt_0.5,w_120,h_150,c_pad/if_else,w_120,h_150,c_fill" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "ils > 0.5", + new ImageTransformation().resize(Resize.pad().width(120).height(150)) + ).otherwise( + new ImageTransformation().resize(Resize.fill().width(120).height(150)) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_iw_lte_200,c_fill,h_120,w_80/if_else,c_fill,h_90,w_100", () => { + const parts = "if_iw_lte_200,c_fill,h_120,w_80/if_else,c_fill,h_90,w_100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "iw_lte_200", + new ImageTransformation().resize(Resize.fill().width(80).height(120)) + ).otherwise( + new ImageTransformation().resize(Resize.fill().width(100).height(90)) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_w_gt_300,e_oil_paint", () => { + const parts = "if_w_gt_300,e_oil_paint".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "width > 300", + new ImageTransformation().effect(Effect.oilPaint()) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_w_gt_400,l_thumbs-up-small,w_150,g_north_east,x_10,y_10/w_400,c_limit", () => { + const parts = + "if_w_gt_400,l_thumbs-up-small,w_150,g_north_east,x_10,y_10/w_400,c_limit" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .conditional( + Conditional.ifCondition( + "width > 400", + new ImageTransformation().overlay( + Overlay.source( + Source.image("thumbs-up-small").transformation( + new ImageTransformation().resize(Resize.scale().width(150)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.northEast())) + .offsetX(10) + .offsetY(10) + ) + ) + ) + ) + .resize(Resize.limitFit().width(400)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_w_lte_200,c_fill,h_120,w_80/if_else,c_fill,h_90,w_100", () => { + const parts = "if_w_lte_200,c_fill,h_120,w_80/if_else,c_fill,h_90,w_100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "w_lte_200", + new ImageTransformation().resize(Resize.fill().width(80).height(120)) + ).otherwise( + new ImageTransformation().resize(Resize.fill().width(100).height(90)) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("if_w_lte_400/c_fill,h_220,w_180/e_red/if_else/c_fill,h_190,w_300/e_oil_paint/if_end", () => { + const parts = + "if_w_lte_400/c_fill,h_220,w_180/e_red/if_else/c_fill,h_190,w_300/e_oil_paint/if_end" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").conditional( + Conditional.ifCondition( + "w_lte_400", + new ImageTransformation() + .resize(Resize.fill().width(180).height(220)) + .adjust(Adjust.red()) + ).otherwise( + new ImageTransformation() + .resize(Resize.fill().width(300).height(190)) + .effect(Effect.oilPaint()) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ki_0.15", () => { + const parts = "ki_0.15".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.keyframeInterval(0.15) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("ki_0.4", () => { + const parts = "ki_0.4".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.keyframeInterval(0.4) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_badge,o_60,w_500", () => { + const parts = "l_badge,o_60,w_500".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("badge").transformation( + new ImageTransformation() + .resize(Resize.scale().width(500)) + .adjust(Adjust.opacity(60)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_call_text,fl_region_relative,w_1.1,g_ocr_text", () => { + const parts = "l_call_text,fl_region_relative,w_1.1,g_ocr_text" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("call_text").transformation( + new ImageTransformation().resize( + Resize.scale().width(1.1).regionRelative() + ) + ) + ).position(new Position().gravity(Gravity.focusOn(FocusOn.ocr()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_call_text,fl_region_relative,w_1.1,g_ocr_text/w_120", () => { + const parts = "l_call_text,fl_region_relative,w_1.1,g_ocr_text/w_120" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .overlay( + Overlay.source( + Source.image("call_text").transformation( + new ImageTransformation().resize( + Resize.scale().width(1.1).regionRelative() + ) + ) + ).position(new Position().gravity(Gravity.focusOn(FocusOn.ocr()))) + ) + .resize(Resize.scale().width(120)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon", () => { + const parts = "l_cloudinary_icon".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("cloudinary_icon")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon,g_north_west,y_20", () => { + const parts = "l_cloudinary_icon,g_north_west,y_20" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("cloudinary_icon")).position( + new Position().gravity(Gravity.compass(Compass.northWest())).offsetY(20) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon,so_6.5,eo_10,o_50,e_brightness:100", () => { + const parts = "l_cloudinary_icon,so_6.5,eo_10,o_50,e_brightness:100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .adjust(Adjust.opacity(50)) + .adjust(Adjust.brightness().level(100)) + ) + ).timeline(Timeline.position().startOffset(6.5).endOffset("10.0")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon,w_0.2,fl_relative", () => { + const parts = "l_cloudinary_icon,w_0.2,fl_relative" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation().resize(Resize.scale().width(0.2).relative()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon,w_0.8,fl_relative", () => { + const parts = "l_cloudinary_icon,w_0.8,fl_relative" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation().resize(Resize.scale().width(0.8).relative()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon,w_0.9,c_scale,g_north_east,o_70,e_brightness:50", () => { + const parts = + "l_cloudinary_icon,w_0.9,c_scale,g_north_east,o_70,e_brightness:50" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.9)) + .adjust(Adjust.opacity(70)) + .adjust(Adjust.brightness().level(50)) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon,w_300,g_north_east,o_60", () => { + const parts = "l_cloudinary_icon,w_300,g_north_east,o_60" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(300)) + .adjust(Adjust.opacity(60)) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon_blue", () => { + const parts = "l_cloudinary_icon_blue".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("cloudinary_icon_blue")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon_blue,g_north_west,x_20,y_20", () => { + const parts = "l_cloudinary_icon_blue,g_north_west,x_20,y_20" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("cloudinary_icon_blue")).position( + new Position() + .gravity(Gravity.compass(Compass.northWest())) + .offsetX(20) + .offsetY(20) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon_blue,w_0.3,fl_relative,g_north_east", () => { + const parts = "l_cloudinary_icon_blue,w_0.3,fl_relative,g_north_east" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("cloudinary_icon_blue").transformation( + new ImageTransformation().resize(Resize.scale().width(0.3).relative()) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon_blue,w_0.5,c_scale,g_north_east,o_70,e_brightness:50", () => { + const parts = + "l_cloudinary_icon_blue,w_0.5,c_scale,g_north_east,o_70,e_brightness:50" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("cloudinary_icon_blue").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.5)) + .adjust(Adjust.opacity(70)) + .adjust(Adjust.brightness().level(50)) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon_blue,w_0.8,fl_relative", () => { + const parts = "l_cloudinary_icon_blue,w_0.8,fl_relative" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("cloudinary_icon_blue").transformation( + new ImageTransformation().resize(Resize.scale().width(0.8).relative()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon_white,so_6.5,eo_10,o_50,e_brightness:100", () => { + const parts = "l_cloudinary_icon_white,so_6.5,eo_10,o_50,e_brightness:100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("cloudinary_icon_white").transformation( + new ImageTransformation() + .adjust(Adjust.opacity(50)) + .adjust(Adjust.brightness().level(100)) + ) + ).timeline(Timeline.position().startOffset(6.5).endOffset("10.0")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon_white,w_200,o_30,fl_tiled", () => { + const parts = "l_cloudinary_icon_white,w_200,o_30,fl_tiled" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("cloudinary_icon_white").transformation( + new ImageTransformation() + .resize(Resize.scale().width(200)) + .adjust(Adjust.opacity(30)) + ) + ).position(new Position().tiled()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_cloudinary_icon_white,w_300,g_north_east,o_60", () => { + const parts = "l_cloudinary_icon_white,w_300,g_north_east,o_60" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("cloudinary_icon_white").transformation( + new ImageTransformation() + .resize(Resize.scale().width(300)) + .adjust(Adjust.opacity(60)) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_face_left/w_200,h_200,c_thumb,g_face,r_max/fl_layer_apply,g_north_east", () => { + const parts = + "l_face_left/w_200,h_200,c_thumb,g_face,r_max/fl_layer_apply,g_north_east" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("face_left").transformation( + new ImageTransformation() + .resize( + Resize.thumbnail() + .width(200) + .height(200) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_fetch:aHR0cDovL2Nsb3VkaW5hcnkuY29tL2ltYWdlcy9sb2dvLnBuZw==,g_north_west,x_5,y_5", () => { + const parts = + "l_fetch:aHR0cDovL2Nsb3VkaW5hcnkuY29tL2ltYWdlcy9sb2dvLnBuZw==,g_north_west,x_5,y_5" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.fetch("http://cloudinary.com/images/logo.png") + ).position( + new Position() + .gravity(Gravity.compass(Compass.northWest())) + .offsetX(5) + .offsetY(5) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_fetch:aHR0cDovL2Nsb3VkaW5hcnkuY29tL2ltYWdlcy9sb2dvLnBuZw==,g_north_west,x_5,y_5,eo_5", () => { + const parts = + "l_fetch:aHR0cDovL2Nsb3VkaW5hcnkuY29tL2ltYWdlcy9sb2dvLnBuZw==,g_north_west,x_5,y_5,eo_5" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.fetch("http://cloudinary.com/images/logo.png")) + .position( + new Position() + .gravity(Gravity.compass(Compass.northWest())) + .offsetX(5) + .offsetY(5) + ) + .timeline(Timeline.position().endOffset("5.0")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_fetch:aHR0cDovL2Nsb3VkaW5hcnkuY29tL2ltYWdlcy9vbGRfbG9nby5wbmc=", () => { + const parts = + "l_fetch:aHR0cDovL2Nsb3VkaW5hcnkuY29tL2ltYWdlcy9vbGRfbG9nby5wbmc=" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.fetch("http://cloudinary.com/images/old_logo.png")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_fetch:aHR0cHM6Ly9yZXMuY2xvdWRpbmFyeS5jb20vZGVtby9pbWFnZS91cGxvYWQvbG9nb3MvY2xvdWRpbmFyeV9mdWxsX2xvZ29fd2hpdGVfc21hbGwucG5n", () => { + const parts = + "l_fetch:aHR0cHM6Ly9yZXMuY2xvdWRpbmFyeS5jb20vZGVtby9pbWFnZS91cGxvYWQvbG9nb3MvY2xvdWRpbmFyeV9mdWxsX2xvZ29fd2hpdGVfc21hbGwucG5n" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.fetch( + "https://res.cloudinary.com/demo/image/upload/logos/cloudinary_full_logo_white_small.png" + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_golden_star,g_faces,w_1.0,fl_region_relative", () => { + const parts = "l_golden_star,g_faces,w_1.0,fl_region_relative" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("golden_star").transformation( + new ImageTransformation().resize( + Resize.scale().width("1.0").regionRelative() + ) + ) + ).position(new Position().gravity(Gravity.focusOn(FocusOn.faces()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_golden_star,g_faces,w_1.1,fl_region_relative", () => { + const parts = "l_golden_star,g_faces,w_1.1,fl_region_relative" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("golden_star").transformation( + new ImageTransformation().resize( + Resize.scale().width(1.1).regionRelative() + ) + ) + ).position(new Position().gravity(Gravity.focusOn(FocusOn.faces()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_golden_star,g_north_west,w_20,x_314,y_148/w_500", () => { + const parts = "l_golden_star,g_north_west,w_20,x_314,y_148/w_500" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .overlay( + Overlay.source( + Source.image("golden_star").transformation( + new ImageTransformation().resize(Resize.scale().width(20)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.northWest())) + .offsetX(314) + .offsetY(148) + ) + ) + .resize(Resize.scale().width(500)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_happy_smiley,w_1.3,fl_region_relative,g_faces", () => { + const parts = "l_happy_smiley,w_1.3,fl_region_relative,g_faces" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("happy_smiley").transformation( + new ImageTransformation().resize( + Resize.scale().width(1.3).regionRelative() + ) + ) + ).position(new Position().gravity(Gravity.focusOn(FocusOn.faces()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_lut:iwltbap_aspen.3dl", () => { + const parts = "l_lut:iwltbap_aspen.3dl".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.by3dLut("iwltbap_aspen.3dl") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_lut:iwltbap_aspen.3dl/w_200", () => { + const parts = "l_lut:iwltbap_aspen.3dl/w_200" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .adjust(Adjust.by3dLut("iwltbap_aspen.3dl")) + .resize(Resize.scale().width(200)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_lut:iwltbap_sedona.3dl", () => { + const parts = "l_lut:iwltbap_sedona.3dl".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust( + Adjust.by3dLut("iwltbap_sedona.3dl") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_lut:iwltbap_sedona.3dl/w_200", () => { + const parts = "l_lut:iwltbap_sedona.3dl/w_200" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .adjust(Adjust.by3dLut("iwltbap_sedona.3dl")) + .resize(Resize.scale().width(200)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample", () => { + const parts = "l_sample".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("sample")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample,fl_cutter", () => { + const parts = "l_sample,fl_cutter".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").reshape( + Reshape.cutByImage(Source.image("sample")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample,fl_replace_image,e_cartoonify", () => { + const parts = "l_sample,fl_replace_image,e_cartoonify" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("sample").transformation( + new ImageTransformation() + .effect(Effect.cartoonify()) + .addFlag("replace_image") + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample,so_6.5,eo_10", () => { + const parts = "l_sample,so_6.5,eo_10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("sample")).timeline( + Timeline.position().startOffset(6.5).endOffset("10.0") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample.jpg", () => { + const parts = "l_sample.jpg".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("sample").format(Format.jpg())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample/e_anti_removal,fl_layer_apply", () => { + const parts = "l_sample/e_anti_removal,fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("sample")).blendMode(BlendMode.antiRemoval()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample/e_mask,fl_layer_apply", () => { + const parts = "l_sample/e_mask,fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("sample")).blendMode(BlendMode.mask()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample/e_multiply,fl_layer_apply", () => { + const parts = "l_sample/e_multiply,fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("sample")).blendMode(BlendMode.multiply()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample/e_overlay,fl_layer_apply", () => { + const parts = "l_sample/e_overlay,fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("sample")).blendMode(BlendMode.overlay()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample/e_screen,fl_layer_apply", () => { + const parts = "l_sample/e_screen,fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("sample")).blendMode(BlendMode.screen()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample/e_sepia/fl_layer_apply", () => { + const parts = "l_sample/e_sepia/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("sample").transformation( + new ImageTransformation().effect(Effect.sepia()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample/fl_cutter,fl_layer_apply,g_south", () => { + const parts = "l_sample/fl_cutter,fl_layer_apply,g_south" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").reshape( + Reshape.cutByImage(Source.image("sample")).position( + new Position().gravity(Gravity.compass(Compass.south())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample/fl_first_flag/fl_second_flag/fl_layer_apply", () => { + const parts = "l_sample/fl_first_flag/fl_second_flag/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("sample").transformation( + new ImageTransformation().addFlag("first_flag").addFlag("second_flag") + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample/fl_no_overflow,fl_layer_apply", () => { + const parts = "l_sample/fl_no_overflow,fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("sample")).position( + new Position().allowOverflow(false) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample/fl_tiled,fl_layer_apply", () => { + const parts = "l_sample/fl_tiled,fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("sample")).position(new Position().tiled()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample/g_face,fl_layer_apply", () => { + const parts = "l_sample/g_face,fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("sample")).position( + new Position().gravity(Gravity.focusOn(FocusOn.face())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_sample/x_10,fl_layer_apply", () => { + const parts = "l_sample/x_10,fl_layer_apply".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.image("sample")).position( + new Position().offsetX(10) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_subtitles:arial_17:sample_sub_en.srt", () => { + const parts = "l_subtitles:arial_17:sample_sub_en.srt" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.subtitles("sample_sub_en.srt").textStyle( + new TextStyle("arial", 17) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_subtitles:arial_20:sample_sub_en.srt", () => { + const parts = "l_subtitles:arial_20:sample_sub_en.srt" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.subtitles("sample_sub_en.srt").textStyle( + new TextStyle("arial", 20) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_subtitles:arial_40:sample_sub_en.srt,co_yellow,b_black", () => { + const parts = "l_subtitles:arial_40:sample_sub_en.srt,co_yellow,b_black" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.subtitles("sample_sub_en.srt") + .textStyle(new TextStyle("arial", 40)) + .textColor("yellow") + .backgroundColor("black") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_subtitles:arial_70:sample_sub_en.srt,co_rgb:ffff00,b_black", () => { + const parts = "l_subtitles:arial_70:sample_sub_en.srt,co_rgb:ffff00,b_black" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.subtitles("sample_sub_en.srt") + .textStyle(new TextStyle("arial", 70)) + .textColor("#ffff00") + .backgroundColor("black") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_subtitles:folder-permissions-tutorial.en-us.azure.transcript", () => { + const parts = + "l_subtitles:folder-permissions-tutorial.en-us.azure.transcript" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.subtitles("folder-permissions-tutorial.en-us.azure.transcript") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_subtitles:impact_15:lincoln.transcript,b_rgb:331a00", () => { + const parts = "l_subtitles:impact_15:lincoln.transcript,b_rgb:331a00" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.subtitles("lincoln.transcript") + .textStyle(new TextStyle("impact", 15)) + .backgroundColor("#331a00") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_subtitles:impact_15:lincoln.transcript,co_khaki,b_rgb:331a00,g_south_west", () => { + const parts = + "l_subtitles:impact_15:lincoln.transcript,co_khaki,b_rgb:331a00,g_south_west" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.subtitles("lincoln.transcript") + .textStyle(new TextStyle("impact", 15)) + .textColor("khaki") + .backgroundColor("#331a00") + ).position(new Position().gravity(Gravity.compass(Compass.southWest()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_subtitles:lincoln.transcript", () => { + const parts = "l_subtitles:lincoln.transcript" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.subtitles("lincoln.transcript")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_subtitles:sample_sub_en.srt", () => { + const parts = "l_subtitles:sample_sub_en.srt" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.subtitles("sample_sub_en.srt")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_subtitles:times_20:folder-permissions-tutorial.en-us.azure.transcript,co_blue,g_north", () => { + const parts = + "l_subtitles:times_20:folder-permissions-tutorial.en-us.azure.transcript,co_blue,g_north" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.subtitles("folder-permissions-tutorial.en-us.azure.transcript") + .textStyle(new TextStyle("times", 20)) + .textColor("blue") + ).position(new Position().gravity(Gravity.compass(Compass.north()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_text:Arial_45_bold:John", () => { + const parts = "l_text:Arial_45_bold:John".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.text( + "John", + new TextStyle("Arial", 45).fontWeight(FontWeight.bold()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_text:arial_15:hello", () => { + const parts = "l_text:arial_15:hello".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.text("hello", new TextStyle("arial", 15))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_text:arial_15_bold:hello", () => { + const parts = "l_text:arial_15_bold:hello".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.text( + "hello", + new TextStyle("arial", 15).fontWeight(FontWeight.bold()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_text:parisienne_17_bold_strikethrough_justify_stroke_letter_spacing_17_antialias_subpixel:Hello", () => { + const parts = + "l_text:parisienne_17_bold_strikethrough_justify_stroke_letter_spacing_17_antialias_subpixel:Hello" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.text( + "Hello", + new TextStyle("parisienne", 17) + .fontWeight(FontWeight.bold()) + .fontAntialias(FontAntialias.subpixel()) + .textDecoration(TextDecoration.strikethrough()) + .textAlignment(TextAlignment.justify()) + .letterSpacing(17) + .stroke() + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:dog,fl_splice,so_0,du_5", () => { + const parts = "l_video:dog,fl_splice,so_0,du_5" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.concatenate(Concatenate.videoSource("dog")) + .prepend() + .duration(5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:dog,fl_splice,w_300,c_fill,so_0/fl_layer_apply", () => { + const parts = "l_video:dog,fl_splice,w_300,c_fill,so_0/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("dog").transformation( + new ImageTransformation().resize(Resize.fill().width(300)) + ) + ).prepend() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:dog,so_4.5,eo_8,a_90,w_200,g_east", () => { + const parts = "l_video:dog,so_4.5,eo_8,a_90,w_200,g_east" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.video("dog").transformation( + new ImageTransformation() + .rotate(Rotate.byAngle(90)) + .resize(Resize.scale().width(200)) + ) + ) + .position(new Position().gravity(Gravity.compass(Compass.east()))) + .timeline(Timeline.position().startOffset(4.5).endOffset("8.0")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:dog,w_0.5", () => { + const parts = "l_video:dog,w_0.5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.video("dog").transformation( + new ImageTransformation().resize(Resize.scale().width(0.5)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:dog/du_5/l_video:transition1,e_transition/fl_layer_apply/fl_layer_apply", () => { + const parts = + "l_video:dog/du_5/l_video:transition1,e_transition/fl_layer_apply/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("dog").transformation( + new ImageTransformation().videoEdit(VideoEdit.trim().duration("5.0")) + ) + ).transition(Transition.videoSource("transition1")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:dog/e_transition,l_video:transition1/fl_layer_apply/fl_layer_apply", () => { + const parts = + "l_video:dog/e_transition,l_video:transition1/fl_layer_apply/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.concatenate(Concatenate.videoSource("dog")).transition( + Transition.videoSource("transition1") + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:dog/l_video:transition1,e_transition/a_180/fl_layer_apply/fl_layer_apply", () => { + const parts = + "l_video:dog/l_video:transition1,e_transition/a_180/fl_layer_apply/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.concatenate(Concatenate.videoSource("dog")).transition( + Transition.videoSource("transition1").transformation( + new ImageTransformation().rotate(Rotate.byAngle(180)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:electronic", () => { + const parts = "l_video:electronic".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.video("electronic")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:kitten_fighting,e_fade:3000,w_100", () => { + const parts = "l_video:kitten_fighting,e_fade:3000,w_100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.video("kitten_fighting").transformation( + new ImageTransformation() + .resize(Resize.scale().width(100)) + .effect(Effect.fadeIn().duration(3000)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:sample", () => { + const parts = "l_video:sample".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source(Source.video("sample")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:sample/e_sepia/fl_layer_apply", () => { + const parts = "l_video:sample/e_sepia/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.video("sample").transformation( + new ImageTransformation().effect(Effect.sepia()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:ski_jump,eo_6,c_scale,w_250,g_north_east", () => { + const parts = "l_video:ski_jump,eo_6,c_scale,w_250,g_north_east" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.video("ski_jump").transformation( + new ImageTransformation().resize(Resize.scale().width(250)) + ) + ) + .position(new Position().gravity(Gravity.compass(Compass.northEast()))) + .timeline(Timeline.position().endOffset("6.0")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:ski_jump,fl_splice,e_reverse/l_video:ski_jump,fl_splice,e_accelerate:-50/e_brightness:10,r_max", () => { + const parts = + "l_video:ski_jump,fl_splice,e_reverse/l_video:ski_jump,fl_splice,e_accelerate:-50/e_brightness:10,r_max" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("ski_jump").transformation( + new ImageTransformation().effect(Effect.reverse()) + ) + ) + ) + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("ski_jump").transformation( + new ImageTransformation().effect(Effect.accelerate().rate(-50)) + ) + ) + ) + .roundCorners(RoundCorners.max()) + .adjust(Adjust.brightness().level(10)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:ski_jump,fl_splice,e_reverse/l_video:ski_jump,fl_splice,e_accelerate:-50/e_volume:mute/e_brightness:10,r_max", () => { + const parts = + "l_video:ski_jump,fl_splice,e_reverse/l_video:ski_jump,fl_splice,e_accelerate:-50/e_volume:mute/e_brightness:10,r_max" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("ski_jump").transformation( + new ImageTransformation().effect(Effect.reverse()) + ) + ) + ) + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("ski_jump").transformation( + new ImageTransformation().effect(Effect.accelerate().rate(-50)) + ) + ) + ) + .videoEdit(VideoEdit.volume(Volume.mute())) + .roundCorners(RoundCorners.max()) + .adjust(Adjust.brightness().level(10)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("l_video:ski_jump,so_3,eo_6,c_scale,w_250,g_north_east", () => { + const parts = "l_video:ski_jump,so_3,eo_6,c_scale,w_250,g_north_east" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.video("ski_jump").transformation( + new ImageTransformation().resize(Resize.scale().width(250)) + ) + ) + .position(new Position().gravity(Gravity.compass(Compass.northEast()))) + .timeline(Timeline.position().startOffset("3.0").endOffset("6.0")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("o_17", () => { + const parts = "o_17".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.opacity(17)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("o_30", () => { + const parts = "o_30".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").adjust(Adjust.opacity(30)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_2", () => { + const parts = "pg_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").extract( + Extract.getPage().byNumber(2) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_2-4;6;8", () => { + const parts = "pg_2-4;6;8".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").extract( + Extract.getPage().byRange(2, 4).byNumber(6).byNumber(8) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_2-4;6;8/w_300", () => { + const parts = "pg_2-4;6;8/w_300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .extract(Extract.getPage().byRange(2, 4).byNumber(6).byNumber(8)) + .resize(Resize.scale().width(300)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_3", () => { + const parts = "pg_3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").extract( + Extract.getPage().byNumber(3) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_4-7;9", () => { + const parts = "pg_4-7;9".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").extract( + Extract.getPage().byRange(4, 7).byNumber(9) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_embedded:3", () => { + const parts = "pg_embedded:3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.smartObject().byIndex(3) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_embedded:3/w_300", () => { + const parts = "pg_embedded:3/w_300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .psdTools(PSDTools.smartObject().byIndex(3)) + .resize(Resize.scale().width(300)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_embedded:3;5", () => { + const parts = "pg_embedded:3;5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.smartObject().byIndex(3).byIndex(5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_embedded:7", () => { + const parts = "pg_embedded:7".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.smartObject().byIndex(7) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_embedded:name:skyline-3242040_1920", () => { + const parts = "pg_embedded:name:skyline-3242040_1920" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.smartObject().byLayerName("skyline-3242040_1920") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_embedded:name:skyline-3242040_1920.jpg", () => { + const parts = "pg_embedded:name:skyline-3242040_1920.jpg" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.smartObject().byLayerName("skyline-3242040_1920.jpg") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_embedded:name:skyline.jpg", () => { + const parts = "pg_embedded:name:skyline.jpg".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.smartObject().byLayerName("skyline.jpg") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_embedded:name:skyline.jpg;bg.jpg", () => { + const parts = "pg_embedded:name:skyline.jpg;bg.jpg" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.smartObject().byLayerName("skyline.jpg").byLayerName("bg.jpg") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_name:lala;fofo", () => { + const parts = "pg_name:lala;fofo".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.getLayer().byName("lala").byName("fofo") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_name:record_cover;Shadow", () => { + const parts = "pg_name:record_cover;Shadow".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.getLayer().byName("record_cover").byName("Shadow") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_name:record_cover;Shadow/w_300", () => { + const parts = "pg_name:record_cover;Shadow/w_300" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .psdTools(PSDTools.getLayer().byName("record_cover").byName("Shadow")) + .resize(Resize.scale().width(300)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("pg_name:skyline", () => { + const parts = "pg_name:skyline".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").psdTools( + PSDTools.getLayer().byName("skyline") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_100", () => { + const parts = "q_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.quality(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_20", () => { + const parts = "q_20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery(Delivery.quality(20)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_50", () => { + const parts = "q_50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery(Delivery.quality(50)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_60", () => { + const parts = "q_60".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery(Delivery.quality(60)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_60:420", () => { + const parts = "q_60:420".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.quality(60).chromaSubSampling(ChromaSubSampling.chroma420()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_70:qmax_20", () => { + const parts = "q_70:qmax_20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.quality(70).quantization(20) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_80", () => { + const parts = "q_80".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery(Delivery.quality(80)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto", () => { + const parts = "q_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.quality(Quality.auto()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,dpr_2,bo_1px_solid_black,f_auto", () => { + const parts = "q_auto,dpr_2,bo_1px_solid_black,f_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "black")) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,dpr_2,f_auto", () => { + const parts = "q_auto,dpr_2,f_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,dpr_2,f_auto,bo_1px_solid_black", () => { + const parts = "q_auto,dpr_2,f_auto,bo_1px_solid_black" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "black")) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,dpr_2,f_auto,bo_1px_solid_gray", () => { + const parts = "q_auto,dpr_2,f_auto,bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,dpr_2,f_auto,h_300", () => { + const parts = "q_auto,dpr_2,f_auto,h_300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(300)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,dpr_2,h_300,f_auto,bo_1px_solid_black", () => { + const parts = "q_auto,dpr_2,h_300,f_auto,bo_1px_solid_black" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "black")) + .resize(Resize.scale().height(300)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,dpr_2,w_150,f_auto", () => { + const parts = "q_auto,dpr_2,w_150,f_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,dpr_auto", () => { + const parts = "q_auto,dpr_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr(Dpr.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto", () => { + const parts = "q_auto,f_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,bo_1px_solid_black", () => { + const parts = "q_auto,f_auto,bo_1px_solid_black" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "black")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,bo_1px_solid_gray,dpr_2,h_450", () => { + const parts = "q_auto,f_auto,bo_1px_solid_gray,dpr_2,h_450" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().height(450)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,bo_1px_solid_gray,dpr_2,w_250", () => { + const parts = "q_auto,f_auto,bo_1px_solid_gray,dpr_2,w_250" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(250)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,bo_1px_solid_gray,dpr_2,w_650", () => { + const parts = "q_auto,f_auto,bo_1px_solid_gray,dpr_2,w_650" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(650)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,bo_1px_solid_gray,dpr_2,w_660", () => { + const parts = "q_auto,f_auto,bo_1px_solid_gray,dpr_2,w_660" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(660)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,dpr_2", () => { + const parts = "q_auto,f_auto,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,dpr_2,bo_1px_solid_gray", () => { + const parts = "q_auto,f_auto,dpr_2,bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,dpr_2,c_crop,w_100,h_80/w_40", () => { + const parts = "q_auto,f_auto,dpr_2,c_crop,w_100,h_80/w_40" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().width(100).height(80)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())) + .resize(Resize.scale().width(40)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,dpr_2,h_300", () => { + const parts = "q_auto,f_auto,dpr_2,h_300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().height(300)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,dpr_2,w_350,r_20/e_outline:1,co_black", () => { + const parts = "q_auto,f_auto,dpr_2,w_350,r_20/e_outline:1,co_black" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(350)) + .roundCorners(RoundCorners.byRadius(20)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())) + .effect(Effect.outline().width(1).color("black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,dpr_2,w_400", () => { + const parts = "q_auto,f_auto,dpr_2,w_400".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(400)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,dpr_2/bo_1px_solid_gray", () => { + const parts = "q_auto,f_auto,dpr_2/bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,dpr_2/w_20", () => { + const parts = "q_auto,f_auto,dpr_2/w_20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())) + .resize(Resize.scale().width(20)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,dpr_auto", () => { + const parts = "q_auto,f_auto,dpr_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .delivery(Delivery.dpr(Dpr.auto())) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,f_auto,w_500", () => { + const parts = "q_auto,f_auto,w_500".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,w_600,f_auto,dpr_2", () => { + const parts = "q_auto,w_600,f_auto,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(600)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto,w_800,f_auto", () => { + const parts = "q_auto,w_800,f_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(800)) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto:best", () => { + const parts = "q_auto:best".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.quality(Quality.autoBest()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto:eco", () => { + const parts = "q_auto:eco".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.quality(Quality.autoEco()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto:good", () => { + const parts = "q_auto:good".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.quality(Quality.autoGood()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto:low", () => { + const parts = "q_auto:low".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.quality(Quality.autoLow()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_auto:low:444", () => { + const parts = "q_auto:low:444".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.quality(Quality.autoLow()).chromaSubSampling( + ChromaSubSampling.chroma444() + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_jpegmini", () => { + const parts = "q_jpegmini".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.quality(Quality.jpegmini()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_jpegmini:0", () => { + const parts = "q_jpegmini:0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.quality(Quality.jpegminiBest()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_jpegmini:1", () => { + const parts = "q_jpegmini:1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.quality(Quality.jpegminiHigh()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("q_jpegmini:2", () => { + const parts = "q_jpegmini:2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").delivery( + Delivery.quality(Quality.jpegminiMedium()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("r_10", () => { + const parts = "r_10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").roundCorners( + RoundCorners.byRadius(10) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("r_10:20", () => { + const parts = "r_10:20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").roundCorners( + RoundCorners.byRadius(10, 20) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("r_10:20:30", () => { + const parts = "r_10:20:30".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").roundCorners( + RoundCorners.byRadius(10, 20, 30) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("r_10:20:30:40", () => { + const parts = "r_10:20:30:40".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").roundCorners( + RoundCorners.byRadius(10, 20, 30, 40) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("r_20", () => { + const parts = "r_20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").roundCorners( + RoundCorners.byRadius(20) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("r_20:0:40:60", () => { + const parts = "r_20:0:40:60".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").roundCorners( + RoundCorners.byRadius(20, 0, 40, 60) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("r_20:80", () => { + const parts = "r_20:80".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").roundCorners( + RoundCorners.byRadius(20, 80) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("r_max", () => { + const parts = "r_max".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").roundCorners( + RoundCorners.max() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_0,du_3", () => { + const parts = "so_0,du_3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset("0.0").duration("3.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_1", () => { + const parts = "so_1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset("1.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_10", () => { + const parts = "so_10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset("10.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_10p,du_30p", () => { + const parts = "so_10p,du_30p".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset("10%").duration("30%") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_120", () => { + const parts = "so_120".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset("120.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_21/bo_2px_solid_black", () => { + const parts = "so_21/bo_2px_solid_black".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("21.0")) + .border(Border.solid(2, "black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_3", () => { + const parts = "so_3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset("3.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_3,du_5", () => { + const parts = "so_3,du_5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset("3.0").duration("5.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_3,eo_5", () => { + const parts = "so_3,eo_5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset("3.0").endOffset("5.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_30/bo_2px_solid_black", () => { + const parts = "so_30/bo_2px_solid_black".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("30.0")) + .border(Border.solid(2, "black")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_3p,du_5p", () => { + const parts = "so_3p,du_5p".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset("3%").duration("5%") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_4,w_350,h_350,c_crop,r_20,e_grayscale,bo_5px_solid_black", () => { + const parts = "so_4,w_350,h_350,c_crop,r_20,e_grayscale,bo_5px_solid_black" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("4.0")) + .border(Border.solid(5, "black").roundCorners(RoundCorners.byRadius(20))) + .resize(Resize.crop().width(350).height(350)) + .effect(Effect.grayscale()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_43,du_10/fl_mono", () => { + const parts = "so_43,du_10/fl_mono".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("43.0").duration("10.0")) + .addFlag(Flag.mono()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_5", () => { + const parts = "so_5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset("5.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_6.5,eo_10", () => { + const parts = "so_6.5,eo_10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset(6.5).endOffset("10.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_62", () => { + const parts = "so_62".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset("62.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_7/h_400,ar_9:16,c_fill,g_auto", () => { + const parts = "so_7/h_400,ar_9:16,c_fill,g_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("7.0")) + .resize( + Resize.fill() + .height(400) + .aspectRatio("9:16") + .gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_7/h_400,ar_9:16,c_fill_pad,g_auto", () => { + const parts = "so_7/h_400,ar_9:16,c_fill_pad,g_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("7.0")) + .resize( + Resize.fillPad() + .height(400) + .aspectRatio("9:16") + .gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_8", () => { + const parts = "so_8".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset("8.0") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("so_8.5", () => { + const parts = "so_8.5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").videoEdit( + VideoEdit.trim().startOffset(8.5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("sp_custom_square", () => { + const parts = "sp_custom_square".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.streamingProfile("custom_square") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("sp_full_hd", () => { + const parts = "sp_full_hd".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.streamingProfile(StreamingProfile.fullHd()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("sp_full_hd_lean", () => { + const parts = "sp_full_hd_lean".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.streamingProfile(StreamingProfile.fullHdLean()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("sp_full_hd_wifi", () => { + const parts = "sp_full_hd_wifi".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.streamingProfile(StreamingProfile.fullHdWifi()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("sp_hd", () => { + const parts = "sp_hd".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.streamingProfile(StreamingProfile.hd()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("sp_hd_lean", () => { + const parts = "sp_hd_lean".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.streamingProfile(StreamingProfile.hdLean()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("sp_my_custom_sp", () => { + const parts = "sp_my_custom_sp".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.streamingProfile("my_custom_sp") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("sp_sd", () => { + const parts = "sp_sd".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.streamingProfile(StreamingProfile.sd()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("t_demo_combined", () => { + const parts = "t_demo_combined".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").namedTransformation( + NamedTransformation.name("demo_combined") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("t_fit_100x150", () => { + const parts = "t_fit_100x150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").namedTransformation( + NamedTransformation.name("fit_100x150") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("t_jpg_with_quality_30,w_100,h_50,c_fit", () => { + const parts = "t_jpg_with_quality_30,w_100,h_50,c_fit" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fit().width(100).height(50)) + .namedTransformation(NamedTransformation.name("jpg_with_quality_30")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("t_jpg_with_quality_30/t_crop_400x400/t_fit_100x150", () => { + const parts = "t_jpg_with_quality_30/t_crop_400x400/t_fit_100x150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .namedTransformation(NamedTransformation.name("jpg_with_quality_30")) + .namedTransformation(NamedTransformation.name("crop_400x400")) + .namedTransformation(NamedTransformation.name("fit_100x150")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("t_my_named_transformation", () => { + const parts = "t_my_named_transformation".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").namedTransformation( + NamedTransformation.name("my_named_transformation") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("t_sample_named_transform", () => { + const parts = "t_sample_named_transform".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").namedTransformation( + NamedTransformation.name("sample_named_transform") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("t_sample_named_transform.sample_named_transform2", () => { + const parts = "t_sample_named_transform.sample_named_transform2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").namedTransformation( + NamedTransformation.name("sample_named_transform.sample_named_transform2") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("t_vignette_angle", () => { + const parts = "t_vignette_angle".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").namedTransformation( + NamedTransformation.name("vignette_angle") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("u_docs:iphone_template,h_300,a_90", () => { + const parts = "u_docs:iphone_template,h_300,a_90" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").underlay( + Underlay.source( + Source.image("docs/iphone_template").transformation( + new ImageTransformation() + .rotate(Rotate.byAngle(90)) + .resize(Resize.scale().height(300)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("u_sample/g_face,fl_layer_apply", () => { + const parts = "u_sample/g_face,fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").underlay( + Underlay.source(Source.image("sample")).position( + new Position().gravity(Gravity.focusOn(FocusOn.face())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("u_site_bg,w_1.0,h_1.0,fl_relative", () => { + const parts = "u_site_bg,w_1.0,h_1.0,fl_relative" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").underlay( + Underlay.source( + Source.image("site_bg").transformation( + new ImageTransformation().resize( + Resize.scale().width("1.0").height("1.0").relative() + ) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("vc_auto", () => { + const parts = "vc_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.videoCodec(VideoCodec.auto()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("vc_h264:baseline:3.1", () => { + const parts = "vc_h264:baseline:3.1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.videoCodec( + VideoCodec.h264() + .profile(VideoCodecProfile.baseline()) + .level(VideoCodecLevel.vcl31()) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("vs_40", () => { + const parts = "vs_40".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").transcode( + Transcode.toAnimated().sampling(40) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_0.25,c_scale", () => { + const parts = "w_0.25,c_scale".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(0.25) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_0.4,a_20/l_cloudinary_icon,o_50,w_60,g_south_east,y_15,x_60", () => { + const parts = + "w_0.4,a_20/l_cloudinary_icon,o_50,w_60,g_south_east,y_15,x_60" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .rotate(Rotate.byAngle(20)) + .resize(Resize.scale().width(0.4)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(60)) + .adjust(Adjust.opacity(50)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.southEast())) + .offsetX(60) + .offsetY(15) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_0.4,a_20/l_cloudinary_icon_white,w_60,o_50,g_south_east,y_15,x_60", () => { + const parts = + "w_0.4,a_20/l_cloudinary_icon_white,w_60,o_50,g_south_east,y_15,x_60" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .rotate(Rotate.byAngle(20)) + .resize(Resize.scale().width(0.4)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_white").transformation( + new ImageTransformation() + .resize(Resize.scale().width(60)) + .adjust(Adjust.opacity(50)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.southEast())) + .offsetX(60) + .offsetY(15) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_0.5", () => { + const parts = "w_0.5".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(0.5) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_10/a_10", () => { + const parts = "w_10/a_10".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(10)) + .rotate(Rotate.byAngle(10)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100", () => { + const parts = "w_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100,c_fill", () => { + const parts = "w_100,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100,h_100,c_fill", () => { + const parts = "w_100,h_100,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(100).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100,h_100,c_fill,dpr_2.0", () => { + const parts = "w_100,h_100,c_fill,dpr_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(100).height(100)) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100,h_100,c_fill,dpr_2.0,g_face", () => { + const parts = "w_100,h_100,c_fill,dpr_2.0,g_face" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fill() + .width(100) + .height(100) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100,h_100,c_pad,dpr_2.0", () => { + const parts = "w_100,h_100,c_pad,dpr_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.pad().width(100).height(100)) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100,h_150,c_fill", () => { + const parts = "w_100,h_150,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(100).height(150) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100,h_150,c_fill,g_faces", () => { + const parts = "w_100,h_150,c_fill,g_faces".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(100) + .height(150) + .gravity(Gravity.focusOn(FocusOn.faces())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100,h_40,c_thumb,g_adv_eyes", () => { + const parts = "w_100,h_40,c_thumb,g_adv_eyes" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(100) + .height(40) + .gravity(Gravity.focusOn(FocusOn.advancedEyes())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100/a_-20", () => { + const parts = "w_100/a_-20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(100)) + .rotate(Rotate.byAngle(-20)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100/a_90", () => { + const parts = "w_100/a_90".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(100)) + .rotate(Rotate.byAngle(90)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100/a_vflip/a_45", () => { + const parts = "w_100/a_vflip/a_45".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(100)) + .rotate(Rotate.mode(RotationMode.verticalFlip())) + .rotate(Rotate.byAngle(45)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100/dpr_1.0", () => { + const parts = "w_100/dpr_1.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(100)) + .delivery(Delivery.dpr("1.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100/dpr_2.0", () => { + const parts = "w_100/dpr_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(100)) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_100/dpr_3.0", () => { + const parts = "w_100/dpr_3.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(100)) + .delivery(Delivery.dpr("3.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_1000", () => { + const parts = "w_1000".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(1000) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_1000,dpr_2", () => { + const parts = "w_1000,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(1000)) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_1000,f_auto,q_auto:best", () => { + const parts = "w_1000,f_auto,q_auto:best".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(1000)) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.autoBest())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_115,h_135,c_thumb,g_faces", () => { + const parts = "w_115,h_135,c_thumb,g_faces".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(115) + .height(135) + .gravity(Gravity.focusOn(FocusOn.faces())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_120", () => { + const parts = "w_120".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(120) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_123/a_45", () => { + const parts = "w_123/a_45".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(123)) + .rotate(Rotate.byAngle(45)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,c_scale", () => { + const parts = "w_150,c_scale".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(150) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:al_dente", () => { + const parts = "w_150,e_art:al_dente".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.alDente())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:athena", () => { + const parts = "w_150,e_art:athena".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.athena())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:audrey", () => { + const parts = "w_150,e_art:audrey".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.audrey())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:aurora", () => { + const parts = "w_150,e_art:aurora".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.aurora())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:daguerre", () => { + const parts = "w_150,e_art:daguerre".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.daguerre())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:eucalyptus", () => { + const parts = "w_150,e_art:eucalyptus".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.eucalyptus())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:fes", () => { + const parts = "w_150,e_art:fes".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.fes())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:frost", () => { + const parts = "w_150,e_art:frost".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.frost())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:hairspray", () => { + const parts = "w_150,e_art:hairspray".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.hairspray())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:hokusai", () => { + const parts = "w_150,e_art:hokusai".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.hokusai())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:incognito", () => { + const parts = "w_150,e_art:incognito".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.incognito())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:linen", () => { + const parts = "w_150,e_art:linen".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.linen())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:peacock", () => { + const parts = "w_150,e_art:peacock".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.peacock())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:primavera", () => { + const parts = "w_150,e_art:primavera".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.primavera())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:quartz", () => { + const parts = "w_150,e_art:quartz".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.quartz())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:red_rock", () => { + const parts = "w_150,e_art:red_rock".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.redRock())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:refresh", () => { + const parts = "w_150,e_art:refresh".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.refresh())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:sizzle", () => { + const parts = "w_150,e_art:sizzle".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.sizzle())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:sonnet", () => { + const parts = "w_150,e_art:sonnet".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.sonnet())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:ukulele", () => { + const parts = "w_150,e_art:ukulele".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.ukulele())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,e_art:zorro", () => { + const parts = "w_150,e_art:zorro".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .effect(Effect.artisticFilter(ArtisticFilter.zorro())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,f_auto,q_auto,dpr_2", () => { + const parts = "w_150,f_auto,q_auto,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(150)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_100", () => { + const parts = "w_150,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(150).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_100,c_fill", () => { + const parts = "w_150,h_100,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(150).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_100,c_fill,r_10:40:25", () => { + const parts = "w_150,h_100,c_fill,r_10:40:25" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(150).height(100)) + .roundCorners(RoundCorners.byRadius(10, 40, 25)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_100,c_fill,r_25", () => { + const parts = "w_150,h_100,c_fill,r_25".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(150).height(100)) + .roundCorners(RoundCorners.byRadius(25)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_100,c_fill,r_25:0", () => { + const parts = "w_150,h_100,c_fill,r_25:0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(150).height(100)) + .roundCorners(RoundCorners.byRadius(25, 0)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_100,c_fill,r_30:0:30:30", () => { + const parts = "w_150,h_100,c_fill,r_30:0:30:30" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(150).height(100)) + .roundCorners(RoundCorners.byRadius(30, 0, 30, 30)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_100,c_scale", () => { + const parts = "w_150,h_100,c_scale".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(150).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_150,c_fill", () => { + const parts = "w_150,h_150,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(150).height(150) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_150,c_fill,g_east", () => { + const parts = "w_150,h_150,c_fill,g_east".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(150) + .height(150) + .gravity(Gravity.compass(Compass.east())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_150,c_lfill", () => { + const parts = "w_150,h_150,c_lfill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFill().width(150).height(150) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_150,c_limit", () => { + const parts = "w_150,h_150,c_limit".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFit().width(150).height(150) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_150,c_lpad,b_green", () => { + const parts = "w_150,h_150,c_lpad,b_green".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitPad() + .width(150) + .height(150) + .background(Background.color("green")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_150,c_pad,b_black", () => { + const parts = "w_150,h_150,c_pad,b_black".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(150).height(150).background(Background.color("black")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_150,c_pad,b_pink", () => { + const parts = "w_150,h_150,c_pad,b_pink".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(150).height(150).background(Background.color("pink")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_150,c_scale", () => { + const parts = "w_150,h_150,c_scale".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(150).height(150) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_150,c_thumb,g_auto", () => { + const parts = "w_150,h_150,c_thumb,g_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail().width(150).height(150).gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_150,c_thumb,g_center", () => { + const parts = "w_150,h_150,c_thumb,g_center".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(150) + .height(150) + .gravity(Gravity.compass(Compass.center())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_150,c_thumb,g_face", () => { + const parts = "w_150,h_150,c_thumb,g_face".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(150) + .height(150) + .gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_150,c_thumb,g_face,r_20,e_sepia/l_cloudinary_icon,g_south_east,x_5,y_5,w_50,o_60,e_brightness:100/a_10", () => { + const parts = + "w_150,h_150,c_thumb,g_face,r_20,e_sepia/l_cloudinary_icon,g_south_east,x_5,y_5,w_50,o_60,e_brightness:100/a_10" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(150) + .height(150) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.byRadius(20)) + .effect(Effect.sepia()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(50)) + .adjust(Adjust.opacity(60)) + .adjust(Adjust.brightness().level(100)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.southEast())) + .offsetX(5) + .offsetY(5) + ) + ) + .rotate(Rotate.byAngle(10)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_150,c_thumb,g_face/r_20/e_sepia/l_cloudinary_icon_blue,g_south_east,x_5,y_5,w_50,o_60,e_brightness:100/a_10", () => { + const parts = + "w_150,h_150,c_thumb,g_face/r_20/e_sepia/l_cloudinary_icon_blue,g_south_east,x_5,y_5,w_50,o_60,e_brightness:100/a_10" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(150) + .height(150) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.byRadius(20)) + .effect(Effect.sepia()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_blue").transformation( + new ImageTransformation() + .resize(Resize.scale().width(50)) + .adjust(Adjust.opacity(60)) + .adjust(Adjust.brightness().level(100)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.southEast())) + .offsetX(5) + .offsetY(5) + ) + ) + .rotate(Rotate.byAngle(10)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_200,c_lfill", () => { + const parts = "w_150,h_200,c_lfill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFill().width(150).height(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_150,h_60,c_fit", () => { + const parts = "w_150,h_60,c_fit".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fit().width(150).height(60) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_1520,h_1440,c_crop,g_west,x_50", () => { + const parts = "w_1520,h_1440,c_crop,g_west,x_50" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(1520) + .height(1440) + .gravity(Gravity.compass(Compass.west())) + .x(50) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_1520,h_1440,c_crop,g_west,x_50/e_pixelate_region:15,g_ocr_text", () => { + const parts = + "w_1520,h_1440,c_crop,g_west,x_50/e_pixelate_region:15,g_ocr_text" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop() + .width(1520) + .height(1440) + .gravity(Gravity.compass(Compass.west())) + .x(50) + ) + .effect(Effect.pixelate().squareSize(15).region(Region.ocr())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_1520,h_1440,c_crop,g_west,x_50/h_283", () => { + const parts = "w_1520,h_1440,c_crop,g_west,x_50/h_283" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop() + .width(1520) + .height(1440) + .gravity(Gravity.compass(Compass.west())) + .x(50) + ) + .resize(Resize.scale().height(283)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_20,h_20,c_mfit", () => { + const parts = "w_20,h_20,c_mfit".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumFit().width(20).height(20) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_20,h_20,c_mpad", () => { + const parts = "w_20,h_20,c_mpad".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumPad().width(20).height(20) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_20,q_auto", () => { + const parts = "w_20,q_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(20)) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200", () => { + const parts = "w_200".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,a_45", () => { + const parts = "w_200,a_45".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .rotate(Rotate.byAngle(45)) + .resize(Resize.scale().width(200)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,a_45/d_avatar.png", () => { + const parts = "w_200,a_45/d_avatar.png".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .rotate(Rotate.byAngle(45)) + .resize(Resize.scale().width(200)) + .delivery(Delivery.defaultImage("avatar.png")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,c_scale/e_outline:20:200,co_red/e_outline:15:200,co_orange/e_outline:10:200,co_yellow", () => { + const parts = + "w_200,c_scale/e_outline:20:200,co_red/e_outline:15:200,co_orange/e_outline:10:200,co_yellow" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(200)) + .effect(Effect.outline().width(20).blurLevel(200).color("red")) + .effect(Effect.outline().width(15).blurLevel(200).color("orange")) + .effect(Effect.outline().width(10).blurLevel(200).color("yellow")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,dpr_2.0", () => { + const parts = "w_200,dpr_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(200)) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,f_auto,q_auto,dpr_2", () => { + const parts = "w_200,f_auto,q_auto,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(200)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_100", () => { + const parts = "w_200,h_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(200).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_150,c_crop", () => { + const parts = "w_200,h_150,c_crop".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(200).height(150) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_150,c_crop,g_north_west", () => { + const parts = "w_200,h_150,c_crop,g_north_west" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(200) + .height(150) + .gravity(Gravity.compass(Compass.northWest())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_crop,g_auto", () => { + const parts = "w_200,h_200,c_crop,g_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(200).height(200).gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_crop,g_center", () => { + const parts = "w_200,h_200,c_crop,g_center".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(200) + .height(200) + .gravity(Gravity.compass(Compass.center())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_crop,r_max", () => { + const parts = "w_200,h_200,c_crop,r_max".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().width(200).height(200)) + .roundCorners(RoundCorners.max()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_fill", () => { + const parts = "w_200,h_200,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(200).height(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_fill,g_auto", () => { + const parts = "w_200,h_200,c_fill,g_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(200).height(200).gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_fill,g_center", () => { + const parts = "w_200,h_200,c_fill,g_center".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(200) + .height(200) + .gravity(Gravity.compass(Compass.center())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_fill,g_face", () => { + const parts = "w_200,h_200,c_fill,g_face".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(200) + .height(200) + .gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_fill,g_faces", () => { + const parts = "w_200,h_200,c_fill,g_faces".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(200) + .height(200) + .gravity(Gravity.focusOn(FocusOn.faces())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_fill,g_faces/u_docs:iphone_template,h_300,a_90", () => { + const parts = "w_200,h_200,c_fill,g_faces/u_docs:iphone_template,h_300,a_90" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fill() + .width(200) + .height(200) + .gravity(Gravity.focusOn(FocusOn.faces())) + ) + .underlay( + Underlay.source( + Source.image("docs/iphone_template").transformation( + new ImageTransformation() + .rotate(Rotate.byAngle(90)) + .resize(Resize.scale().height(300)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_fill,r_max/a_30/e_trim", () => { + const parts = "w_200,h_200,c_fill,r_max/a_30/e_trim" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(200).height(200)) + .roundCorners(RoundCorners.max()) + .rotate(Rotate.byAngle(30)) + .reshape(Reshape.trim()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_fill/e_style_transfer,l_sailing_angel", () => { + const parts = "w_200,h_200,c_fill/e_style_transfer,l_sailing_angel" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(200).height(200)) + .effect(Effect.styleTransfer(Source.image("sailing_angel"))); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_fit,a_hflip/l_cloudinary_icon,w_0.4,fl_relative,g_north,x_15,y_35,a_4,e_brightness:100,o_70", () => { + const parts = + "w_200,h_200,c_fit,a_hflip/l_cloudinary_icon,w_0.4,fl_relative,g_north,x_15,y_35,a_4,e_brightness:100,o_70" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .rotate(Rotate.mode(RotationMode.horizontalFlip())) + .resize(Resize.fit().width(200).height(200)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .rotate(Rotate.byAngle(4)) + .resize(Resize.scale().width(0.4).relative()) + .adjust(Adjust.opacity(70)) + .adjust(Adjust.brightness().level(100)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.north())) + .offsetX(15) + .offsetY(35) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_fit,a_hflip/l_cloudinary_icon_white,w_0.4,fl_relative,g_north,x_15,y_35,a_4,e_brightness:100,o_70", () => { + const parts = + "w_200,h_200,c_fit,a_hflip/l_cloudinary_icon_white,w_0.4,fl_relative,g_north,x_15,y_35,a_4,e_brightness:100,o_70" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .rotate(Rotate.mode(RotationMode.horizontalFlip())) + .resize(Resize.fit().width(200).height(200)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_white").transformation( + new ImageTransformation() + .rotate(Rotate.byAngle(4)) + .resize(Resize.scale().width(0.4).relative()) + .adjust(Adjust.opacity(70)) + .adjust(Adjust.brightness().level(100)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.north())) + .offsetX(15) + .offsetY(35) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_thumb,g_face", () => { + const parts = "w_200,h_200,c_thumb,g_face".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(200) + .height(200) + .gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_thumb,g_face,r_max", () => { + const parts = "w_200,h_200,c_thumb,g_face,r_max" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(200) + .height(200) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_thumb,g_face,r_max,e_sharpen", () => { + const parts = "w_200,h_200,c_thumb,g_face,r_max,e_sharpen" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(200) + .height(200) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()) + .adjust(Adjust.sharpen()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_thumb,g_face,r_max,l_face_left/fl_layer_apply,g_north_east", () => { + const parts = + "w_200,h_200,c_thumb,g_face,r_max,l_face_left/fl_layer_apply,g_north_east" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").overlay( + Overlay.source( + Source.image("face_left").transformation( + new ImageTransformation() + .resize( + Resize.thumbnail() + .width(200) + .height(200) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_thumb,g_face/r_20,bo_5px_solid_black/l_cloudinary_icon,o_50,w_0.25,fl_relative,g_north_east,y_10,x_10", () => { + const parts = + "w_200,h_200,c_thumb,g_face/r_20,bo_5px_solid_black/l_cloudinary_icon,o_50,w_0.25,fl_relative,g_north_east,y_10,x_10" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(200) + .height(200) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .border(Border.solid(5, "black").roundCorners(RoundCorners.byRadius(20))) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.25).relative()) + .adjust(Adjust.opacity(50)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.northEast())) + .offsetX(10) + .offsetY(10) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_200,c_thumb,g_face/r_20,bo_5px_solid_black/l_cloudinary_icon_white,o_50,w_0.25,fl_relative,g_north_east,y_10,x_10", () => { + const parts = + "w_200,h_200,c_thumb,g_face/r_20,bo_5px_solid_black/l_cloudinary_icon_white,o_50,w_0.25,fl_relative,g_north_east,y_10,x_10" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(200) + .height(200) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .border(Border.solid(5, "black").roundCorners(RoundCorners.byRadius(20))) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_white").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.25).relative()) + .adjust(Adjust.opacity(50)) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.northEast())) + .offsetX(10) + .offsetY(10) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_220,c_thumb,g_face/l_hexagon_feather_sample,fl_cutter", () => { + const parts = + "w_200,h_220,c_thumb,g_face/l_hexagon_feather_sample,fl_cutter" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(200) + .height(220) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .reshape(Reshape.cutByImage(Source.image("hexagon_feather_sample"))); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_300,c_fill,g_auto", () => { + const parts = "w_200,h_300,c_fill,g_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(200).height(300).gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200,h_300,c_fill,g_center", () => { + const parts = "w_200,h_300,c_fill,g_center".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(200) + .height(300) + .gravity(Gravity.compass(Compass.center())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200/dpr_1.0", () => { + const parts = "w_200/dpr_1.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(200)) + .delivery(Delivery.dpr("1.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200/dpr_2.0", () => { + const parts = "w_200/dpr_2.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(200)) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_200/dpr_3.0", () => { + const parts = "w_200/dpr_3.0".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(200)) + .delivery(Delivery.dpr("3.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_230,h_168,c_fit", () => { + const parts = "w_230,h_168,c_fit".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fit().width(230).height(168) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_25,h_150,c_fill,g_auto", () => { + const parts = "w_25,h_150,c_fill,g_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(25).height(150).gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_25,h_150,c_fill_pad,g_auto,b_auto", () => { + const parts = "w_25,h_150,c_fill_pad,g_auto,b_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fillPad() + .width(25) + .height(150) + .gravity(Gravity.autoGravity()) + .background(Background.auto()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250", () => { + const parts = "w_250".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(250) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,bo_1px_solid_gray", () => { + const parts = "w_250,bo_1px_solid_gray".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(250)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,f_auto,q_auto,dpr_2", () => { + const parts = "w_250,f_auto,q_auto,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(250)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,fl_animated,f_auto", () => { + const parts = "w_250,fl_animated,f_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(250)) + .transcode(Transcode.toAnimated(AnimatedFormat.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,h_150,c_fill,r_max", () => { + const parts = "w_250,h_150,c_fill,r_max".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(250).height(150)) + .roundCorners(RoundCorners.max()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,h_250,c_fill", () => { + const parts = "w_250,h_250,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(250).height(250) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,h_250,c_fill,g_east", () => { + const parts = "w_250,h_250,c_fill,g_east".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(250) + .height(250) + .gravity(Gravity.compass(Compass.east())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,h_250,c_fill,g_faces", () => { + const parts = "w_250,h_250,c_fill,g_faces".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(250) + .height(250) + .gravity(Gravity.focusOn(FocusOn.faces())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,h_250,c_fill,g_north", () => { + const parts = "w_250,h_250,c_fill,g_north".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(250) + .height(250) + .gravity(Gravity.compass(Compass.north())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,h_250,c_fill,g_south_east", () => { + const parts = "w_250,h_250,c_fill,g_south_east" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(250) + .height(250) + .gravity(Gravity.compass(Compass.southEast())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,h_250,c_fit", () => { + const parts = "w_250,h_250,c_fit".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fit().width(250).height(250) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,h_250,c_limit", () => { + const parts = "w_250,h_250,c_limit".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitFit().width(250).height(250) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,h_250,c_lpad,b_black", () => { + const parts = "w_250,h_250,c_lpad,b_black".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitPad() + .width(250) + .height(250) + .background(Background.color("black")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,h_250,c_mfit", () => { + const parts = "w_250,h_250,c_mfit".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumFit().width(250).height(250) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,h_250,c_mpad", () => { + const parts = "w_250,h_250,c_mpad".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.minimumPad().width(250).height(250) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,h_250,c_pad,b_black", () => { + const parts = "w_250,h_250,c_pad,b_black".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(250).height(250).background(Background.color("black")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,q_80", () => { + const parts = "w_250,q_80".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(250)) + .delivery(Delivery.quality(80)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,q_auto:best", () => { + const parts = "w_250,q_auto:best".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(250)) + .delivery(Delivery.quality(Quality.autoBest())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,q_auto:eco", () => { + const parts = "w_250,q_auto:eco".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(250)) + .delivery(Delivery.quality(Quality.autoEco())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,q_auto:good", () => { + const parts = "w_250,q_auto:good".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(250)) + .delivery(Delivery.quality(Quality.autoGood())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,q_auto:low", () => { + const parts = "w_250,q_auto:low".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(250)) + .delivery(Delivery.quality(Quality.autoLow())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,x_780,y_350,c_crop", () => { + const parts = "w_250,x_780,y_350,c_crop".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(250).x(780).y(350) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,x_780,y_350,c_crop/u_docs:transparent_grid,w_250,c_crop,o_50", () => { + const parts = + "w_250,x_780,y_350,c_crop/u_docs:transparent_grid,w_250,c_crop,o_50" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().width(250).x(780).y(350)) + .underlay( + Underlay.source( + Source.image("docs/transparent_grid").transformation( + new ImageTransformation() + .resize(Resize.crop().width(250)) + .adjust(Adjust.opacity(50)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250,x_780,y_350,c_crop/w_1100", () => { + const parts = "w_250,x_780,y_350,c_crop/w_1100" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().width(250).x(780).y(350)) + .resize(Resize.scale().width(1100)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250/u_docs:transparent_grid,w_1.0,h_1.0,fl_relative,c_crop,o_50", () => { + const parts = + "w_250/u_docs:transparent_grid,w_1.0,h_1.0,fl_relative,c_crop,o_50" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(250)) + .underlay( + Underlay.source( + Source.image("docs/transparent_grid").transformation( + new ImageTransformation() + .resize(Resize.crop().width("1.0").height("1.0").relative()) + .adjust(Adjust.opacity(50)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_250/u_docs:transparent_grid,w_250,c_crop,o_50", () => { + const parts = "w_250/u_docs:transparent_grid,w_250,c_crop,o_50" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(250)) + .underlay( + Underlay.source( + Source.image("docs/transparent_grid").transformation( + new ImageTransformation() + .resize(Resize.crop().width(250)) + .adjust(Adjust.opacity(50)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_260,h_200,c_crop,g_north", () => { + const parts = "w_260,h_200,c_crop,g_north".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(260) + .height(200) + .gravity(Gravity.compass(Compass.north())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_28,q_auto", () => { + const parts = "w_28,q_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(28)) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_28,q_auto,f_auto", () => { + const parts = "w_28,q_auto,f_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(28)) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_28,q_auto,f_auto,dpr_2", () => { + const parts = "w_28,q_auto,f_auto,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(28)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300", () => { + const parts = "w_300".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(300) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,c_fill,g_auto,ar_1:1", () => { + const parts = "w_300,c_fill,g_auto,ar_1:1".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(300) + .aspectRatio(AspectRatio.ar1X1()) + .gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,c_scale,pg_2", () => { + const parts = "w_300,c_scale,pg_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .extract(Extract.getPage().byNumber(2)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,c_scale,pg_4,e_sepia,r_50,bo_2px_solid_rgb:999/l_aspose_cloud_logo,w_0.9,fl_relative,o_70,g_south,y_20", () => { + const parts = + "w_300,c_scale,pg_4,e_sepia,r_50,bo_2px_solid_rgb:999/l_aspose_cloud_logo,w_0.9,fl_relative,o_70,g_south,y_20" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(2, "#999").roundCorners(RoundCorners.byRadius(50))) + .resize(Resize.scale().width(300)) + .effect(Effect.sepia()) + .extract(Extract.getPage().byNumber(4)) + .overlay( + Overlay.source( + Source.image("aspose_cloud_logo").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.9).relative()) + .adjust(Adjust.opacity(70)) + ) + ).position( + new Position().gravity(Gravity.compass(Compass.south())).offsetY(20) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,e_accelerate:100", () => { + const parts = "w_300,e_accelerate:100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .effect(Effect.accelerate().rate(100)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,e_grayscale", () => { + const parts = "w_300,e_grayscale".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .effect(Effect.grayscale()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,e_noise:50", () => { + const parts = "w_300,e_noise:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .effect(Effect.noise().level(50)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,f_auto,q_auto,dpr_2", () => { + const parts = "w_300,f_auto,q_auto,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,f_auto,q_auto,dpr_2,bo_1px_solid_gray", () => { + const parts = "w_300,f_auto,q_auto,dpr_2,bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(1, "gray")) + .resize(Resize.scale().width(300)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,fl_keep_iptc", () => { + const parts = "w_300,fl_keep_iptc".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .addFlag(Flag.keepIptc()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,fl_png8", () => { + const parts = "w_300,fl_png8".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .addFlag(Flag.png8()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_100,c_scale", () => { + const parts = "w_300,h_100,c_scale".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(300).height(100) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_200,c_crop", () => { + const parts = "w_300,h_200,c_crop".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(300).height(200) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_200,c_fill,dpr_auto", () => { + const parts = "w_300,h_200,c_fill,dpr_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(300).height(200)) + .delivery(Delivery.dpr(Dpr.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_200,c_fill/l_video:dog,fl_splice,w_300,h_200,c_fill", () => { + const parts = "w_300,h_200,c_fill/l_video:dog,fl_splice,w_300,h_200,c_fill" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(300).height(200)) + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("dog").transformation( + new ImageTransformation().resize( + Resize.fill().width(300).height(200) + ) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_200,c_fill/l_video:dog,fl_splice,w_300,h_200,c_fill,so_0", () => { + const parts = + "w_300,h_200,c_fill/l_video:dog,fl_splice,w_300,h_200,c_fill,so_0" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(300).height(200)) + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("dog").transformation( + new ImageTransformation().resize( + Resize.fill().width(300).height(200) + ) + ) + ).prepend() + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_200,du_5/l_video:dog,w_300,h_200/du_5/l_video:transition1,e_transition/fl_layer_apply/fl_layer_apply", () => { + const parts = + "w_300,h_200,du_5/l_video:dog,w_300,h_200/du_5/l_video:transition1,e_transition/fl_layer_apply/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().duration("5.0")) + .resize(Resize.scale().width(300).height(200)) + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("dog").transformation( + new ImageTransformation() + .resize(Resize.scale().width(300).height(200)) + .videoEdit(VideoEdit.trim().duration("5.0")) + ) + ).transition(Transition.videoSource("transition1")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_200,du_5/l_video:dog,w_300,h_200/du_5/l_video:transition1,e_transition/fl_layer_apply/fl_layer_apply/l_video:snow_deer,w_300,h_200/du_5/l_video:transition2,e_transition/fl_layer_apply/fl_layer_apply/l_video:dog,fl_splice,w_300,h_200/du_5/fl_layer_apply", () => { + const parts = + "w_300,h_200,du_5/l_video:dog,w_300,h_200/du_5/l_video:transition1,e_transition/fl_layer_apply/fl_layer_apply/l_video:snow_deer,w_300,h_200/du_5/l_video:transition2,e_transition/fl_layer_apply/fl_layer_apply/l_video:dog,fl_splice,w_300,h_200/du_5/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().duration("5.0")) + .resize(Resize.scale().width(300).height(200)) + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("dog").transformation( + new ImageTransformation() + .resize(Resize.scale().width(300).height(200)) + .videoEdit(VideoEdit.trim().duration("5.0")) + ) + ).transition(Transition.videoSource("transition1")) + ) + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("snow_deer").transformation( + new ImageTransformation() + .resize(Resize.scale().width(300).height(200)) + .videoEdit(VideoEdit.trim().duration("5.0")) + ) + ).transition(Transition.videoSource("transition2")) + ) + .videoEdit( + VideoEdit.concatenate( + Concatenate.videoSource("dog").transformation( + new ImageTransformation() + .resize(Resize.scale().width(300).height(200)) + .videoEdit(VideoEdit.trim().duration("5.0")) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_200/w_300,h_200,l_sample,fl_splice,du_3/so_0,fl_layer_apply", () => { + const parts = + "w_300,h_200/w_300,h_200,l_sample,fl_splice,du_3/so_0,fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300).height(200)) + .videoEdit( + VideoEdit.concatenate( + Concatenate.imageSource("sample").transformation( + new ImageTransformation().resize( + Resize.scale().width(300).height(200) + ) + ) + ) + .prepend() + .duration(3) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_250,e_grayscale", () => { + const parts = "w_300,h_250,e_grayscale".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300).height(250)) + .effect(Effect.grayscale()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_300,c_fill,b_blue,r_max", () => { + const parts = "w_300,h_300,c_fill,b_blue,r_max" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(300).height(300)) + .roundCorners(RoundCorners.max()) + .backgroundColor("blue"); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_300,c_fill,g_face,r_max,f_auto", () => { + const parts = "w_300,h_300,c_fill,g_face,r_max,f_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fill() + .width(300) + .height(300) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()) + .delivery(Delivery.format(Format.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_300,c_fill,r_max,e_sharpen,so_30p/l_cloudinary_icon,w_0.9,fl_relative,o_40", () => { + const parts = + "w_300,h_300,c_fill,r_max,e_sharpen,so_30p/l_cloudinary_icon,w_0.9,fl_relative,o_40" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("30%")) + .resize(Resize.fill().width(300).height(300)) + .roundCorners(RoundCorners.max()) + .adjust(Adjust.sharpen()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.9).relative()) + .adjust(Adjust.opacity(40)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_300,c_fill,r_max,e_sharpen,so_30p/l_cloudinary_icon_blue,w_0.9,fl_relative,o_40", () => { + const parts = + "w_300,h_300,c_fill,r_max,e_sharpen,so_30p/l_cloudinary_icon_blue,w_0.9,fl_relative,o_40" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("30%")) + .resize(Resize.fill().width(300).height(300)) + .roundCorners(RoundCorners.max()) + .adjust(Adjust.sharpen()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_blue").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.9).relative()) + .adjust(Adjust.opacity(40)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_300,c_fill/l_cloudinary_icon,w_0.8,fl_relative,e_brightness:100,o_50", () => { + const parts = + "w_300,h_300,c_fill/l_cloudinary_icon,w_0.8,fl_relative,e_brightness:100,o_50" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(300).height(300)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.8).relative()) + .adjust(Adjust.opacity(50)) + .adjust(Adjust.brightness().level(100)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_300,c_fill/l_cloudinary_icon_white,w_0.8,fl_relative,e_brightness:100,o_50", () => { + const parts = + "w_300,h_300,c_fill/l_cloudinary_icon_white,w_0.8,fl_relative,e_brightness:100,o_50" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(300).height(300)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_white").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.8).relative()) + .adjust(Adjust.opacity(50)) + .adjust(Adjust.brightness().level(100)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_300,c_pad,b_blue", () => { + const parts = "w_300,h_300,c_pad,b_blue".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(300).height(300).background(Background.color("blue")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_300,c_pad,b_green", () => { + const parts = "w_300,h_300,c_pad,b_green".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(300).height(300).background(Background.color("green")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_350,c_fill,g_north", () => { + const parts = "w_300,h_350,c_fill,g_north".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(300) + .height(350) + .gravity(Gravity.compass(Compass.north())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_350,c_fill,g_north/", () => { + const parts = "w_300,h_350,c_fill,g_north/".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("/sample").resize( + Resize.fill() + .width(300) + .height(350) + .gravity(Gravity.compass(Compass.north())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,h_80,c_thumb,g_adv_eyes", () => { + const parts = "w_300,h_80,c_thumb,g_adv_eyes" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(300) + .height(80) + .gravity(Gravity.focusOn(FocusOn.advancedEyes())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,pg_2", () => { + const parts = "w_300,pg_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .extract(Extract.getPage().byNumber(2)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,r_30", () => { + const parts = "w_300,r_30".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .roundCorners(RoundCorners.byRadius(30)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300,r_max", () => { + const parts = "w_300,r_max".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .roundCorners(RoundCorners.max()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300/c_fill,e_shadow,x_w_div_50,y_w_div_50", () => { + const parts = "w_300/c_fill,e_shadow,x_w_div_50,y_w_div_50" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .effect( + Effect.shadow() + .offsetX(Expression.expression("width / 50")) + .offsetY(Expression.expression("width / 50")) + ) + .resize(Resize.fill()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_300/l_video:dog,w_100,g_north_east,r_max", () => { + const parts = "w_300/l_video:dog,w_100,g_north_east,r_max" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(300)) + .overlay( + Overlay.source( + Source.video("dog").transformation( + new ImageTransformation() + .resize(Resize.scale().width(100)) + .roundCorners(RoundCorners.max()) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350", () => { + const parts = "w_350".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(350) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350,bo_5px_solid_black/q_auto,dpr_auto", () => { + const parts = "w_350,bo_5px_solid_black/q_auto,dpr_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(5, "black")) + .resize(Resize.scale().width(350)) + .delivery(Delivery.dpr(Dpr.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350,e_tint:100:red:blue:yellow", () => { + const parts = "w_350,e_tint:100:red:blue:yellow" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(350)) + .adjust(Adjust.tint("100:red:blue:yellow")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350,e_tint:20", () => { + const parts = "w_350,e_tint:20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(350)) + .adjust(Adjust.tint(20)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350,e_tint:equalize:80:red:50p:blue:60p:yellow:40p", () => { + const parts = "w_350,e_tint:equalize:80:red:50p:blue:60p:yellow:40p" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(350)) + .adjust(Adjust.tint("equalize:80:red:50p:blue:60p:yellow:40p")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350,f_auto", () => { + const parts = "w_350,f_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(350)) + .delivery(Delivery.format(Format.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350,f_gif", () => { + const parts = "w_350,f_gif".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(350)) + .delivery(Delivery.format(Format.gif())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350,h_200,x_230,y_20,c_crop", () => { + const parts = "w_350,h_200,x_230,y_20,c_crop" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(350).height(200).x(230).y(20) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350,q_100", () => { + const parts = "w_350,q_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(350)) + .delivery(Delivery.quality(100)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350,q_80", () => { + const parts = "w_350,q_80".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(350)) + .delivery(Delivery.quality(80)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350,q_auto:best", () => { + const parts = "w_350,q_auto:best".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(350)) + .delivery(Delivery.quality(Quality.autoBest())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350,q_auto:eco", () => { + const parts = "w_350,q_auto:eco".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(350)) + .delivery(Delivery.quality(Quality.autoEco())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350,q_auto:good", () => { + const parts = "w_350,q_auto:good".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(350)) + .delivery(Delivery.quality(Quality.autoGood())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350,q_auto:low", () => { + const parts = "w_350,q_auto:low".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(350)) + .delivery(Delivery.quality(Quality.autoLow())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_350/q_auto,dpr_auto", () => { + const parts = "w_350/q_auto,dpr_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(350)) + .delivery(Delivery.dpr(Dpr.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_400", () => { + const parts = "w_400".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(400) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_400,ar_1,c_thumb,g_auto:skateboard", () => { + const parts = "w_400,ar_1,c_thumb,g_auto:skateboard" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(400) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus( + AutoFocus.focusOn(FocusOn.skateboard()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_400,ar_1,g_auto,c_fill_pad", () => { + const parts = "w_400,ar_1,g_auto,c_fill_pad".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fillPad() + .width(400) + .aspectRatio("1.0") + .gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_400,ar_1,g_auto,c_fill_pad,so_1", () => { + const parts = "w_400,ar_1,g_auto,c_fill_pad,so_1" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.trim().startOffset("1.0")) + .resize( + Resize.fillPad() + .width(400) + .aspectRatio("1.0") + .gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_400,c_fill,ar_4:3", () => { + const parts = "w_400,c_fill,ar_4:3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(400).aspectRatio(AspectRatio.ar4X3()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_400,f_png", () => { + const parts = "w_400,f_png".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(400)) + .delivery(Delivery.format(Format.png())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_400,fl_keep_iptc", () => { + const parts = "w_400,fl_keep_iptc".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(400)) + .addFlag(Flag.keepIptc()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_400,h_150,c_lpad,b_green", () => { + const parts = "w_400,h_150,c_lpad,b_green".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.limitPad() + .width(400) + .height(150) + .background(Background.color("green")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_400,h_250,c_fill,g_south/l_nice_couple,w_1.3,h_1.3,g_faces,c_crop,fl_region_relative/e_saturation:50/e_vignette/fl_layer_apply,w_100,r_max,g_center,y_20,x_-20/l_balloon,h_55/e_hue:-20,a_5/fl_layer_apply,x_30,y_5/l_text:Cookie_40_bold:Love,e_colorize,co_rgb:f08/a_20,fl_layer_apply,x_-45,y_44/c_crop,w_300,h_250,x_30/r_60", () => { + const parts = + "w_400,h_250,c_fill,g_south/l_nice_couple,w_1.3,h_1.3,g_faces,c_crop,fl_region_relative/e_saturation:50/e_vignette/fl_layer_apply,w_100,r_max,g_center,y_20,x_-20/l_balloon,h_55/e_hue:-20,a_5/fl_layer_apply,x_30,y_5/l_text:Cookie_40_bold:Love,e_colorize,co_rgb:f08/a_20,fl_layer_apply,x_-45,y_44/c_crop,w_300,h_250,x_30/r_60" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fill() + .width(400) + .height(250) + .gravity(Gravity.compass(Compass.south())) + ) + .overlay( + Overlay.source( + Source.image("nice_couple").transformation( + new ImageTransformation() + .resize( + Resize.crop() + .width(1.3) + .height(1.3) + .gravity(Gravity.focusOn(FocusOn.faces())) + .regionRelative() + ) + .adjust(Adjust.saturation().level(50)) + .effect(Effect.vignette()) + .resize(Resize.scale().width(100)) + .roundCorners(RoundCorners.max()) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.center())) + .offsetX(-20) + .offsetY(20) + ) + ) + .overlay( + Overlay.source( + Source.image("balloon").transformation( + new ImageTransformation() + .resize(Resize.scale().height(55)) + .rotate(Rotate.byAngle(5)) + .adjust(Adjust.hue().level(-20)) + ) + ).position(new Position().offsetX(30).offsetY(5)) + ) + .overlay( + Overlay.source( + Source.text( + "Love", + new TextStyle("Cookie", 40).fontWeight(FontWeight.bold()) + ) + .textColor("#f08") + .transformation( + new ImageTransformation() + .effect(Effect.colorize()) + .rotate(Rotate.byAngle(20)) + ) + ).position(new Position().offsetX(-45).offsetY(44)) + ) + .resize(Resize.crop().width(300).height(250).x(30)) + .roundCorners(RoundCorners.byRadius(60)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_400,h_300,c_pad", () => { + const parts = "w_400,h_300,c_pad".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.pad().width(400).height(300) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_400,h_400,c_crop,g_face,r_max/w_200", () => { + const parts = "w_400,h_400,c_crop,g_face,r_max/w_200" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop() + .width(400) + .height(400) + .gravity(Gravity.focusOn(FocusOn.face())) + ) + .roundCorners(RoundCorners.max()) + .resize(Resize.scale().width(200)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_400,q_auto:best,vc_vp9", () => { + const parts = "w_400,q_auto:best,vc_vp9".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .transcode(Transcode.videoCodec(VideoCodec.vp9())) + .resize(Resize.scale().width(400)) + .delivery(Delivery.quality(Quality.autoBest())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_450,bo_5px_solid_black/q_auto,dpr_auto", () => { + const parts = "w_450,bo_5px_solid_black/q_auto,dpr_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(5, "black")) + .resize(Resize.scale().width(450)) + .delivery(Delivery.dpr(Dpr.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500", () => { + const parts = "w_500".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(500) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1,c_crop,g_auto:bottle", () => { + const parts = "w_500,ar_1,c_crop,g_auto:bottle" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(500) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.bottle())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1,c_crop,g_auto:bottle/h_150", () => { + const parts = "w_500,ar_1,c_crop,g_auto:bottle/h_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop() + .width(500) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.bottle())) + ) + ) + .resize(Resize.scale().height(150)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1,c_crop,g_bottle", () => { + const parts = "w_500,ar_1,c_crop,g_bottle".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop() + .width(500) + .aspectRatio("1.0") + .gravity(Gravity.focusOn(FocusOn.bottle())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1,c_crop,g_bottle/h_150", () => { + const parts = "w_500,ar_1,c_crop,g_bottle/h_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop() + .width(500) + .aspectRatio("1.0") + .gravity(Gravity.focusOn(FocusOn.bottle())) + ) + .resize(Resize.scale().height(150)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1,c_fill,g_auto:bottle", () => { + const parts = "w_500,ar_1,c_fill,g_auto:bottle" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(500) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.bottle())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1,c_fill,g_auto:bottle/h_150", () => { + const parts = "w_500,ar_1,c_fill,g_auto:bottle/h_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fill() + .width(500) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.bottle())) + ) + ) + .resize(Resize.scale().height(150)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1,c_fill,g_bottle", () => { + const parts = "w_500,ar_1,c_fill,g_bottle".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(500) + .aspectRatio("1.0") + .gravity(Gravity.focusOn(FocusOn.bottle())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1,c_fill,g_bottle/h_150", () => { + const parts = "w_500,ar_1,c_fill,g_bottle/h_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fill() + .width(500) + .aspectRatio("1.0") + .gravity(Gravity.focusOn(FocusOn.bottle())) + ) + .resize(Resize.scale().height(150)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1,c_thumb,g_auto:bottle", () => { + const parts = "w_500,ar_1,c_thumb,g_auto:bottle" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(500) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.bottle())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1,c_thumb,g_auto:bottle/h_150", () => { + const parts = "w_500,ar_1,c_thumb,g_auto:bottle/h_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(500) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.bottle())) + ) + ) + .resize(Resize.scale().height(150)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1,c_thumb,g_bottle", () => { + const parts = "w_500,ar_1,c_thumb,g_bottle".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(500) + .aspectRatio("1.0") + .gravity(Gravity.focusOn(FocusOn.bottle())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1,c_thumb,g_bottle/h_150", () => { + const parts = "w_500,ar_1,c_thumb,g_bottle/h_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(500) + .aspectRatio("1.0") + .gravity(Gravity.focusOn(FocusOn.bottle())) + ) + .resize(Resize.scale().height(150)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1.0,c_fill,g_auto", () => { + const parts = "w_500,ar_1.0,c_fill,g_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(500).aspectRatio("1.0").gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1.0,c_fill,g_auto/h_300", () => { + const parts = "w_500,ar_1.0,c_fill,g_auto/h_300" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fill() + .width(500) + .aspectRatio("1.0") + .gravity(Gravity.autoGravity()) + ) + .resize(Resize.scale().height(300)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1.0,c_fill,g_auto:person_avoid", () => { + const parts = "w_500,ar_1.0,c_fill,g_auto:person_avoid" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(500) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus( + AutoFocus.focusOn(FocusOn.person()).avoid() + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_1.0,c_fill,g_auto:person_avoid/h_300", () => { + const parts = "w_500,ar_1.0,c_fill,g_auto:person_avoid/h_300" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fill() + .width(500) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus( + AutoFocus.focusOn(FocusOn.person()).avoid() + ) + ) + ) + .resize(Resize.scale().height(300)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,ar_4:3", () => { + const parts = "w_500,ar_4:3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(500).aspectRatio(AspectRatio.ar4X3()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,bo_5px_solid_black", () => { + const parts = "w_500,bo_5px_solid_black".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .border(Border.solid(5, "black")) + .resize(Resize.scale().width(500)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,e_brightness:30", () => { + const parts = "w_500,e_brightness:30".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .adjust(Adjust.brightness().level(30)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,e_contrast:50", () => { + const parts = "w_500,e_contrast:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .adjust(Adjust.contrast().level(50)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,e_gamma:-20", () => { + const parts = "w_500,e_gamma:-20".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .adjust(Adjust.gamma().level(-20)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,e_reverse", () => { + const parts = "w_500,e_reverse".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .effect(Effect.reverse()); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,e_saturation:-50", () => { + const parts = "w_500,e_saturation:-50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .adjust(Adjust.saturation().level(-50)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,e_vignette:50", () => { + const parts = "w_500,e_vignette:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .effect(Effect.vignette().strength(50)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,e_volume:50", () => { + const parts = "w_500,e_volume:50".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .videoEdit(VideoEdit.volume(50)) + .resize(Resize.scale().width(500)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,f_auto", () => { + const parts = "w_500,f_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .delivery(Delivery.format(Format.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,f_auto,q_auto,dpr_2/bo_1px_solid_gray", () => { + const parts = "w_500,f_auto,q_auto,dpr_2/bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,f_auto/fl_streaming_attachment:mydog", () => { + const parts = "w_500,f_auto/fl_streaming_attachment:mydog" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .delivery(Delivery.format(Format.auto())) + .addFlag(Flag.streamingAttachment("mydog")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,q_auto,f_auto", () => { + const parts = "w_500,q_auto,f_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500,q_auto,f_auto,dpr_2", () => { + const parts = "w_500,q_auto,f_auto,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/e_brightness:70/l_woman,c_crop,g_face/w_150/e_saturation:50/e_shadow/fl_layer_apply", () => { + const parts = + "w_500/e_brightness:70/l_woman,c_crop,g_face/w_150/e_saturation:50/e_shadow/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .adjust(Adjust.brightness().level(70)) + .overlay( + Overlay.source( + Source.image("woman").transformation( + new ImageTransformation() + .resize(Resize.crop().gravity(Gravity.focusOn(FocusOn.face()))) + .resize(Resize.scale().width(150)) + .adjust(Adjust.saturation().level(50)) + .effect(Effect.shadow()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/e_brightness:70/l_woman,c_crop,g_face/w_250/e_saturation:50/e_shadow,x_20,y_20,co_grey/fl_layer_apply", () => { + const parts = + "w_500/e_brightness:70/l_woman,c_crop,g_face/w_250/e_saturation:50/e_shadow,x_20,y_20,co_grey/fl_layer_apply" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .adjust(Adjust.brightness().level(70)) + .overlay( + Overlay.source( + Source.image("woman").transformation( + new ImageTransformation() + .resize(Resize.crop().gravity(Gravity.focusOn(FocusOn.face()))) + .resize(Resize.scale().width(250)) + .adjust(Adjust.saturation().level(50)) + .effect(Effect.shadow().color("grey")) + ) + ).position(new Position().offsetX(20).offsetY(20)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_cloudinary_icon,g_north_east,o_50,w_200,e_anti_removal:90", () => { + const parts = + "w_500/l_cloudinary_icon,g_north_east,o_50,w_200,e_anti_removal:90" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(200)) + .adjust(Adjust.opacity(50)) + ) + ) + .position( + new Position().gravity(Gravity.compass(Compass.northEast())) + ) + .blendMode(BlendMode.antiRemoval(90)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_cloudinary_icon,o_50,w_100,e_brightness:100,fl_tiled", () => { + const parts = "w_500/l_cloudinary_icon,o_50,w_100,e_brightness:100,fl_tiled" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(100)) + .adjust(Adjust.opacity(50)) + .adjust(Adjust.brightness().level(100)) + ) + ).position(new Position().tiled()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_cloudinary_icon,w_150/e_blackwhite/fl_layer_apply,g_north_east", () => { + const parts = + "w_500/l_cloudinary_icon,w_150/e_blackwhite/fl_layer_apply,g_north_east" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(150)) + .effect(Effect.blackwhite()) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_cloudinary_icon,w_150/e_blackwhite/l_cloudinary_icon,w_50/fl_layer_apply/fl_layer_apply,g_north_east", () => { + const parts = + "w_500/l_cloudinary_icon,w_150/e_blackwhite/l_cloudinary_icon,w_50/fl_layer_apply/fl_layer_apply,g_north_east" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation() + .resize(Resize.scale().width(150)) + .effect(Effect.blackwhite()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon").transformation( + new ImageTransformation().resize(Resize.scale().width(50)) + ) + ) + ) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_cloudinary_icon_blue,g_north_east,o_50,w_200,e_anti_removal:90", () => { + const parts = + "w_500/l_cloudinary_icon_blue,g_north_east,o_50,w_200,e_anti_removal:90" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_blue").transformation( + new ImageTransformation() + .resize(Resize.scale().width(200)) + .adjust(Adjust.opacity(50)) + ) + ) + .position( + new Position().gravity(Gravity.compass(Compass.northEast())) + ) + .blendMode(BlendMode.antiRemoval(90)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_cloudinary_icon_blue,w_150/e_blackwhite/fl_layer_apply,g_north_east", () => { + const parts = + "w_500/l_cloudinary_icon_blue,w_150/e_blackwhite/fl_layer_apply,g_north_east" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_blue").transformation( + new ImageTransformation() + .resize(Resize.scale().width(150)) + .effect(Effect.blackwhite()) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_cloudinary_icon_blue,w_150/e_blackwhite/l_cloudinary_icon_blue,w_50/fl_layer_apply/fl_layer_apply,g_north_east", () => { + const parts = + "w_500/l_cloudinary_icon_blue,w_150/e_blackwhite/l_cloudinary_icon_blue,w_50/fl_layer_apply/fl_layer_apply,g_north_east" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_blue").transformation( + new ImageTransformation() + .resize(Resize.scale().width(150)) + .effect(Effect.blackwhite()) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_blue").transformation( + new ImageTransformation().resize(Resize.scale().width(50)) + ) + ) + ) + ) + ).position(new Position().gravity(Gravity.compass(Compass.northEast()))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_cloudinary_icon_white,o_50,w_100,e_brightness:100,fl_tiled", () => { + const parts = + "w_500/l_cloudinary_icon_white,o_50,w_100,e_brightness:100,fl_tiled" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.image("cloudinary_icon_white").transformation( + new ImageTransformation() + .resize(Resize.scale().width(100)) + .adjust(Adjust.opacity(50)) + .adjust(Adjust.brightness().level(100)) + ) + ).position(new Position().tiled()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_my_bg", () => { + const parts = "w_500/l_my_bg".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay(Overlay.source(Source.image("my_bg"))); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_my_icon", () => { + const parts = "w_500/l_my_icon".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay(Overlay.source(Source.image("my_icon"))); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_subtitles:Arial_40:sample_sub_he.srt", () => { + const parts = "w_500/l_subtitles:Arial_40:sample_sub_he.srt" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.subtitles("sample_sub_he.srt").textStyle( + new TextStyle("Arial", 40) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_subtitles:sample_sub_he.srt", () => { + const parts = "w_500/l_subtitles:sample_sub_he.srt" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay(Overlay.source(Source.subtitles("sample_sub_he.srt"))); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_text:Arial_80:Flowers", () => { + const parts = "w_500/l_text:Arial_80:Flowers" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source(Source.text("Flowers", new TextStyle("Arial", 80))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_text:Verdana_50_bold:Cool", () => { + const parts = "w_500/l_text:Verdana_50_bold:Cool" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.text( + "Cool", + new TextStyle("Verdana", 50).fontWeight(FontWeight.bold()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_text:Verdana_75_bold_underline_letter_spacing_14:Flowers", () => { + const parts = + "w_500/l_text:Verdana_75_bold_underline_letter_spacing_14:Flowers" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.text( + "Flowers", + new TextStyle("Verdana", 75) + .fontWeight(FontWeight.bold()) + .textDecoration(TextDecoration.underline()) + .letterSpacing(14) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_text:Verdana_75_bold_underline_stroke_letter_spacing_14_line_spacing_4:words,y_24", () => { + const parts = + "w_500/l_text:Verdana_75_bold_underline_stroke_letter_spacing_14_line_spacing_4:words,y_24" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.text( + "words", + new TextStyle("Verdana", 75) + .fontWeight(FontWeight.bold()) + .textDecoration(TextDecoration.underline()) + .letterSpacing(14) + .stroke() + .lineSpacing(4) + ) + ).position(new Position().offsetY(24)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_text:verdana_12_bold_underline_left:words", () => { + const parts = "w_500/l_text:verdana_12_bold_underline_left:words" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.text( + "words", + new TextStyle("verdana", 12) + .fontWeight(FontWeight.bold()) + .textDecoration(TextDecoration.underline()) + .textAlignment(TextAlignment.left()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_text:verdana_12_bold_underline_left:words,y_23", () => { + const parts = "w_500/l_text:verdana_12_bold_underline_left:words,y_23" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.text( + "words", + new TextStyle("verdana", 12) + .fontWeight(FontWeight.bold()) + .textDecoration(TextDecoration.underline()) + .textAlignment(TextAlignment.left()) + ) + ).position(new Position().offsetY(23)) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_text:verdana_1:words", () => { + const parts = "w_500/l_text:verdana_1:words".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source(Source.text("words", new TextStyle("verdana", 1))) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_video:docs:bluescreen_watches,e_make_transparent:10,co_rgb:3d8d48,w_1.0,fl_relative/du_15", () => { + const parts = + "w_500/l_video:docs:bluescreen_watches,e_make_transparent:10,co_rgb:3d8d48,w_1.0,fl_relative/du_15" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.video("docs/bluescreen_watches").transformation( + new ImageTransformation() + .resize(Resize.scale().width("1.0").relative()) + .effect( + Effect.makeTransparent() + .tolerance("10.0") + .colorToReplace("#3d8d48") + ) + ) + ) + ) + .videoEdit(VideoEdit.trim().duration("15.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/l_video:docs:bluescreen_watches,e_make_transparent:20,co_rgb:0e80d8,w_0.6,fl_relative,g_north/du_15", () => { + const parts = + "w_500/l_video:docs:bluescreen_watches,e_make_transparent:20,co_rgb:0e80d8,w_0.6,fl_relative,g_north/du_15" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .overlay( + Overlay.source( + Source.video("docs/bluescreen_watches").transformation( + new ImageTransformation() + .resize(Resize.scale().width(0.6).relative()) + .effect( + Effect.makeTransparent() + .tolerance("20.0") + .colorToReplace("#0e80d8") + ) + ) + ).position(new Position().gravity(Gravity.compass(Compass.north()))) + ) + .videoEdit(VideoEdit.trim().duration("15.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/u_fetch:aW1hZ2UudXJs", () => { + const parts = "w_500/u_fetch:aW1hZ2UudXJs".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .underlay(Underlay.source(Source.fetch("image.url"))); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_500/u_my_bg", () => { + const parts = "w_500/u_my_bg".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(500)) + .underlay(Underlay.source(Source.image("my_bg"))); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_550,h_300,c_fit/f_auto,q_auto,dpr_2", () => { + const parts = "w_550,h_300,c_fit/f_auto,q_auto,dpr_2" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fit().width(550).height(300)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_550,h_35,c_crop,g_north_west/bo_1px_solid_gray/dpr_auto", () => { + const parts = "w_550,h_35,c_crop,g_north_west/bo_1px_solid_gray/dpr_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.crop() + .width(550) + .height(35) + .gravity(Gravity.compass(Compass.northWest())) + ) + .border(Border.solid(1, "gray")) + .delivery(Delivery.dpr(Dpr.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_600", () => { + const parts = "w_600".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(600) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_600,ar_1,c_thumb,g_auto:microwave", () => { + const parts = "w_600,ar_1,c_thumb,g_auto:microwave" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(600) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus( + AutoFocus.focusOn(FocusOn.microwave()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_600,ar_1,c_thumb,g_auto:microwave/h_150", () => { + const parts = "w_600,ar_1,c_thumb,g_auto:microwave/h_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(600) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus( + AutoFocus.focusOn(FocusOn.microwave()) + ) + ) + ) + .resize(Resize.scale().height(150)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_600,ar_1,c_thumb,g_auto:refrigerator", () => { + const parts = "w_600,ar_1,c_thumb,g_auto:refrigerator" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(600) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus( + AutoFocus.focusOn(FocusOn.refrigerator()) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_600,ar_1,c_thumb,g_auto:refrigerator/h_150", () => { + const parts = "w_600,ar_1,c_thumb,g_auto:refrigerator/h_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(600) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus( + AutoFocus.focusOn(FocusOn.refrigerator()) + ) + ) + ) + .resize(Resize.scale().height(150)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_600,ar_1,c_thumb,g_auto:sink", () => { + const parts = "w_600,ar_1,c_thumb,g_auto:sink" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.thumbnail() + .width(600) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.sink())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_600,ar_1,c_thumb,g_auto:sink/h_150", () => { + const parts = "w_600,ar_1,c_thumb,g_auto:sink/h_150" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.thumbnail() + .width(600) + .aspectRatio("1.0") + .gravity( + Gravity.autoGravity().autoFocus(AutoFocus.focusOn(FocusOn.sink())) + ) + ) + .resize(Resize.scale().height(150)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_600,f_auto,q_auto,dpr_2", () => { + const parts = "w_600,f_auto,q_auto,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(600)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_600/q_100", () => { + const parts = "w_600/q_100".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(600)) + .delivery(Delivery.quality(100)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_600/q_auto,f_auto,dpr_2/bo_1px_solid_gray", () => { + const parts = "w_600/q_auto,f_auto,dpr_2/bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(600)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_600/q_auto:low", () => { + const parts = "w_600/q_auto:low".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(600)) + .delivery(Delivery.quality(Quality.autoLow())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_600/w_570,h_43,c_crop,g_north_west/bo_1px_solid_gray", () => { + const parts = "w_600/w_570,h_43,c_crop,g_north_west/bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(600)) + .resize( + Resize.crop() + .width(570) + .height(43) + .gravity(Gravity.compass(Compass.northWest())) + ) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_700,dpr_2/f_auto,q_auto", () => { + const parts = "w_700,dpr_2/f_auto,q_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(700)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_700,f_auto,q_auto,dpr_2/bo_1px_solid_gray", () => { + const parts = "w_700,f_auto,q_auto,dpr_2/bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(700)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_700,h_700,c_fill", () => { + const parts = "w_700,h_700,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(700).height(700) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_700,h_700,c_fill/e_style_transfer,l_sailing_angel", () => { + const parts = "w_700,h_700,c_fill/e_style_transfer,l_sailing_angel" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(700).height(700)) + .effect(Effect.styleTransfer(Source.image("sailing_angel"))); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_700,h_700,c_fill/e_style_transfer:60,l_lighthouse/w_250", () => { + const parts = "w_700,h_700,c_fill/e_style_transfer:60,l_lighthouse/w_250" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(700).height(700)) + .effect(Effect.styleTransfer(Source.image("lighthouse")).strength(60)) + .resize(Resize.scale().width(250)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_700,h_700,c_fill/e_style_transfer:preserve_color,l_lighthouse/w_250", () => { + const parts = + "w_700,h_700,c_fill/e_style_transfer:preserve_color,l_lighthouse/w_250" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(700).height(700)) + .effect(Effect.styleTransfer(Source.image("lighthouse")).preserveColor()) + .resize(Resize.scale().width(250)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_700,h_700,c_fill/w_250", () => { + const parts = "w_700,h_700,c_fill/w_250".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.fill().width(700).height(700)) + .resize(Resize.scale().width(250)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_700,q_auto,f_auto,dpr_2", () => { + const parts = "w_700,q_auto,f_auto,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(700)) + .delivery(Delivery.dpr("2.0")) + .delivery(Delivery.format(Format.auto())) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_700,r_max/fl_region_relative,g_adv_eyes,l_harlequinmask,w_1.7", () => { + const parts = + "w_700,r_max/fl_region_relative,g_adv_eyes,l_harlequinmask,w_1.7" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(700)) + .roundCorners(RoundCorners.max()) + .overlay( + Overlay.source( + Source.image("harlequinmask").transformation( + new ImageTransformation().resize( + Resize.scale().width(1.7).regionRelative() + ) + ) + ).position( + new Position().gravity(Gravity.focusOn(FocusOn.advancedEyes())) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_700/dpr_auto/bo_1px_solid_gray", () => { + const parts = "w_700/dpr_auto/bo_1px_solid_gray" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(700)) + .delivery(Delivery.dpr(Dpr.auto())) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_750,h_750,c_fill,g_faces", () => { + const parts = "w_750,h_750,c_fill,g_faces".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(750) + .height(750) + .gravity(Gravity.focusOn(FocusOn.faces())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_750,h_750,c_fill,g_faces/u_docs:iphone_template,h_300,a_90", () => { + const parts = "w_750,h_750,c_fill,g_faces/u_docs:iphone_template,h_300,a_90" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize( + Resize.fill() + .width(750) + .height(750) + .gravity(Gravity.focusOn(FocusOn.faces())) + ) + .underlay( + Underlay.source( + Source.image("docs/iphone_template").transformation( + new ImageTransformation() + .rotate(Rotate.byAngle(90)) + .resize(Resize.scale().height(300)) + ) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_80,h_120,c_fill,g_face", () => { + const parts = "w_80,h_120,c_fill,g_face".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill() + .width(80) + .height(120) + .gravity(Gravity.focusOn(FocusOn.face())) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_80,h_400,c_fill,g_auto", () => { + const parts = "w_80,h_400,c_fill,g_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width(80).height(400).gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_80,h_400,c_fill_pad,g_auto,b_auto", () => { + const parts = "w_80,h_400,c_fill_pad,g_auto,b_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fillPad() + .width(80) + .height(400) + .gravity(Gravity.autoGravity()) + .background(Background.auto()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_800", () => { + const parts = "w_800".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(800) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_800,r_150", () => { + const parts = "w_800,r_150".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(800)) + .roundCorners(RoundCorners.byRadius(150)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_800/bo_1px_solid_gray", () => { + const parts = "w_800/bo_1px_solid_gray".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(800)) + .border(Border.solid(1, "gray")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_850,dpr_2", () => { + const parts = "w_850,dpr_2".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width(850)) + .delivery(Delivery.dpr("2.0")); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_abc", () => { + const parts = "w_abc".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width("abc") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_auto", () => { + const parts = "w_auto".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width("auto") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_auto,c_scale", () => { + const parts = "w_auto,c_scale".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width("auto") + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_auto,dpr_auto,c_limit/g_north_east,y_5,x_5,co_white,l_text:Arial_18_bold:dpr_auto", () => { + const parts = + "w_auto,dpr_auto,c_limit/g_north_east,y_5,x_5,co_white,l_text:Arial_18_bold:dpr_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.limitFit().width("auto")) + .delivery(Delivery.dpr(Dpr.auto())) + .overlay( + Overlay.source( + Source.text( + "dpr_auto", + new TextStyle("Arial", 18).fontWeight(FontWeight.bold()) + ).textColor("white") + ).position( + new Position() + .gravity(Gravity.compass(Compass.northEast())) + .offsetX(5) + .offsetY(5) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_auto,dpr_auto,c_limit/g_north_east,y_5,x_5,co_white,l_text:Arial_18_bold:dpr_auto,w_auto", () => { + const parts = + "w_auto,dpr_auto,c_limit/g_north_east,y_5,x_5,co_white,l_text:Arial_18_bold:dpr_auto,w_auto" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.limitFit().width("auto")) + .delivery(Delivery.dpr(Dpr.auto())) + .overlay( + Overlay.source( + Source.text( + "dpr_auto", + new TextStyle("Arial", 18).fontWeight(FontWeight.bold()) + ) + .textColor("white") + .transformation( + new ImageTransformation().resize(Resize.scale().width("auto")) + ) + ).position( + new Position() + .gravity(Gravity.compass(Compass.northEast())) + .offsetX(5) + .offsetY(5) + ) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_auto,dpr_auto,c_scale", () => { + const parts = "w_auto,dpr_auto,c_scale".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width("auto")) + .delivery(Delivery.dpr(Dpr.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_auto,f_auto,c_scale", () => { + const parts = "w_auto,f_auto,c_scale".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width("auto")) + .delivery(Delivery.format(Format.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_auto,g_auto,c_fill", () => { + const parts = "w_auto,g_auto,c_fill".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.fill().width("auto").gravity(Gravity.autoGravity()) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_auto,q_auto,c_scale", () => { + const parts = "w_auto,q_auto,c_scale".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.scale().width("auto")) + .delivery(Delivery.quality(Quality.auto())); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("w_iw_add_100_div_3", () => { + const parts = "w_iw_add_100_div_3".replace(/\//g, ",").split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.scale().width(Expression.expression("initial_width + 100 / 3")) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("x_355,y_410,w_300,h_200,c_crop", () => { + const parts = "x_355,y_410,w_300,h_200,c_crop" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample").resize( + Resize.crop().width(300).height(200).x(355).y(410) + ); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("x_355,y_410,w_300,h_200,c_crop/w_130,h_100,c_fill", () => { + const parts = "x_355,y_410,w_300,h_200,c_crop/w_130,h_100,c_fill" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().width(300).height(200).x(355).y(410)) + .resize(Resize.fill().width(130).height(100)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("x_355,y_410,w_300,h_200,c_crop/w_130,h_100,c_fill/a_20/c_scale,w_0.5", () => { + const parts = + "x_355,y_410,w_300,h_200,c_crop/w_130,h_100,c_fill/a_20/c_scale,w_0.5" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().width(300).height(200).x(355).y(410)) + .resize(Resize.fill().width(130).height(100)) + .rotate(Rotate.byAngle(20)) + .resize(Resize.scale().width(0.5)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("x_355,y_410,w_300,h_200,c_crop/w_130,h_100,c_fill/a_20/w_0.5", () => { + const parts = "x_355,y_410,w_300,h_200,c_crop/w_130,h_100,c_fill/a_20/w_0.5" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().width(300).height(200).x(355).y(410)) + .resize(Resize.fill().width(130).height(100)) + .rotate(Rotate.byAngle(20)) + .resize(Resize.scale().width(0.5)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); + + it("x_355,y_410,w_300,h_200,c_crop/w_150,h_100,c_scale", () => { + const parts = "x_355,y_410,w_300,h_200,c_crop/w_150,h_100,c_scale" + .replace(/\//g, ",") + .split(","); + + const tAsset = new CloudinaryImage("sample") + .resize(Resize.crop().width(300).height(200).x(355).y(410)) + .resize(Resize.scale().width(150).height(100)); + parts.forEach((part) => { + expect(tAsset.toString()).toContain(part); + }); + }); +}); diff --git a/__TESTS__/unit/actions/Resize/LimitPadAction.test.ts b/__TESTS__/unit/actions/Resize/LimitPadAction.test.ts index 0b3bcbce..917a2644 100644 --- a/__TESTS__/unit/actions/Resize/LimitPadAction.test.ts +++ b/__TESTS__/unit/actions/Resize/LimitPadAction.test.ts @@ -2,6 +2,7 @@ import getImageWithResize from "./shared/getImageWithResize"; import {limitPad} from "../../../../src/actions/resize"; import {Background} from "../../../../src/qualifiers/background"; import {Gravity} from "../../../../src/qualifiers/gravity"; +import {Compass} from "../../../../src/qualifiers/compass"; describe('Tests for Transformation Action -- Resize.limitPad', () => { it('Ensures it generates the right URL', () => { @@ -17,9 +18,9 @@ describe('Tests for Transformation Action -- Resize.limitPad', () => { .aspectRatio(2) .offsetX(10) .offsetY(10) - .gravity(Gravity.autoGravity()) + .gravity(Gravity.compass(Compass.west())) .background(Background.color('red')), 'url'); - expect(url).toContain('ar_2.0,b_red,c_lpad,g_auto,h_250,w_250,x_10,y_10'); + expect(url).toContain('ar_2.0,b_red,c_lpad,g_west,h_250,w_250,x_10,y_10'); }); }); diff --git a/__TESTS__/unit/actions/Resize/MinimumPadAction.test.ts b/__TESTS__/unit/actions/Resize/MinimumPadAction.test.ts index a6f503ff..208059bb 100644 --- a/__TESTS__/unit/actions/Resize/MinimumPadAction.test.ts +++ b/__TESTS__/unit/actions/Resize/MinimumPadAction.test.ts @@ -2,6 +2,7 @@ import getImageWithResize from "./shared/getImageWithResize"; import {Background} from "../../../../src/qualifiers/background"; import {minimumPad} from "../../../../src/actions/resize"; import {Gravity} from "../../../../src/qualifiers/gravity"; +import {Compass} from "../../../../src/qualifiers/compass"; describe('Tests for Transformation Action -- Resize.minimumPad', () => { it('Ensures it generates the right URL', () => { @@ -14,12 +15,12 @@ describe('Tests for Transformation Action -- Resize.minimumPad', () => { minimumPad() .width(250) .height(250) - .gravity(Gravity.autoGravity()) + .gravity(Gravity.compass(Compass.west())) .offsetX(10) .offsetY(10) .background(Background.color('red')) .aspectRatio(1.2), 'url'); - expect(url).toContain('ar_1.2,b_red,c_mpad,g_auto,h_250,w_250,x_10,y_10'); + expect(url).toContain('ar_1.2,b_red,c_mpad,g_west,h_250,w_250,x_10,y_10'); }); }); diff --git a/__TESTS__/unit/actions/Resize/PadAction.test.ts b/__TESTS__/unit/actions/Resize/PadAction.test.ts index e65445f0..5229f333 100644 --- a/__TESTS__/unit/actions/Resize/PadAction.test.ts +++ b/__TESTS__/unit/actions/Resize/PadAction.test.ts @@ -2,6 +2,7 @@ import getImageWithResize from "./shared/getImageWithResize"; import {pad} from "../../../../src/actions/resize"; import {Background} from "../../../../src/qualifiers/background"; import {Gravity} from "../../../../src/qualifiers/gravity"; +import {Compass} from "../../../../src/qualifiers/compass"; describe('Tests for Transformation Action -- Resize.pad', () => { it('Ensures it generates the right URL', () => { @@ -14,12 +15,12 @@ describe('Tests for Transformation Action -- Resize.pad', () => { pad() .width(250) .height(250) - .gravity(Gravity.autoGravity()) + .gravity(Gravity.compass(Compass.west())) .offsetX(10) .offsetY(10) .background(Background.color('red')) .aspectRatio(1.2), 'url'); - expect(url).toContain('ar_1.2,b_red,c_pad,g_auto,h_250,w_250,x_10,y_10'); + expect(url).toContain('ar_1.2,b_red,c_pad,g_west,h_250,w_250,x_10,y_10'); }); }); diff --git a/__TESTS__/unit/index.test.ts b/__TESTS__/unit/index.test.ts index 54f8e156..5095a91d 100644 --- a/__TESTS__/unit/index.test.ts +++ b/__TESTS__/unit/index.test.ts @@ -1,7 +1,13 @@ +import { + CloudinaryImage, + CloudinaryVideo, + Transformation, + Cloudinary, + Qualifiers, + Actions +} from '../../src/index'; -import {CloudinaryImage, CloudinaryVideo, Transformation, Cloudinary, Qualifiers, Actions} from '../../src/index'; - -describe ('Ensures index exports correctly', () => { +describe('Ensures index exports correctly', () => { it('Exports correctly', () => { expect(CloudinaryImage).toBeDefined(); expect(CloudinaryVideo).toBeDefined(); @@ -11,3 +17,4 @@ describe ('Ensures index exports correctly', () => { expect(Actions).toBeDefined(); }); }); + diff --git a/devTools/sanity/createTestFile.ts b/devTools/sanity/createTestFile.ts new file mode 100644 index 00000000..46767ed2 --- /dev/null +++ b/devTools/sanity/createTestFile.ts @@ -0,0 +1,188 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +/* eslint-disable require-jsdoc */ + + +import {ITxResult} from "./index"; + +const fs = require('fs'); + +const prettier = require('prettier'); + +function createTestFile(txs: ITxResult[]){ + let file = ` + // In the future, we'll support HOTER tests without name duplication issues, for now it's commented out + // It's stored here since this is built manually, and it's best to keep the work :) + +// import { Dither, checkerboard2x1Dither, circles5x5Black, circles5x5White, circles6x6Black, circles6x6White, circles7x7Black, circles7x7White, halftone4x4Angled, halftone4x4Orthogonal, halftone6x6Angled, halftone6x6Orthogonal, halftone8x8Angled, halftone8x8Orthogonal, halftone16x16Orthogonal, ordered2x2Dispersed, ordered3x3Dispersed, ordered4x4Dispersed, ordered8x8Dispersed, threshold1x1Nondither} from "../src/qualifiers/dither"; +// import { Variable, setString, setInteger, set, setAssetReference, setFloat, setFromContext, setFromMetadata } from "../src/actions/variable"; +// import { Rotate, byAngle, mode } from "../src/actions/rotate"; +// import { GradientDirection, diagonalAsc, diagonalDesc, horizontal, vertical } from "../src/qualifiers/gradientDirection"; +// import { ColorSpace, cmyk, keepCmyk, noCmyk, srgb, tinySrgb, trueColor } from "../src/qualifiers/colorSpace"; +// import { Dpr, auto } from "../src/qualifiers/dpr"; +// import { CustomFunction, remote, wasm, } from "../src/actions/customFunction"; +// import { Extract, ExtractAction, getFrame, getPage, } from "../src/actions/extract"; +// import { ImproveMode } from "../src/qualifiers/improveMode"; +// import { Source, video, image, subtitles, fetch, text } from "../src/qualifiers/source"; +// import { RoundCorners, max, byRadius } from "../src/actions/roundCorners"; +// import { Format, auto, ai, arw, audioAac, audioAiff, audioAmr, audioFlac, audioM4a, audioMp3, audioOgg, audioOpus, audioWav, avif, bmp, cr2, djvu, eps, eps3, ept, flif, fxb, gif, glb, gltf, hdp, heic, heif, ico, indd, jp2, jpc, jpe, jpeg, jpg, jxr, pdf, png, ps, psd, spd, svg, tga, tif, tiff, usdz, video3g2, video3gp, videoAvi, videoFlv, videoM2ts, videoM3u8, videoMkv, videoMov, videoMp4, videoMpd, videoMpeg, videoMts, videoMxf, videoOgv, videoTs, videoWebm, videoWmv, wdp, webp} from "../src/qualifiers/format"; +// import { Quality, auto, autoBest, autoEco, autoGood, autoLow, jpegmini, jpegminiBest, jpegminiHigh, jpegminiMedium } from "../src/qualifiers/quality"; +// import { ImageTransformation } from "../src/transformation/ImageTransformation"; +// import { Transcode, audioCodec, audioFrequency, bitRate, fps, fpsRange, ITranscodeAction, keyframeInterval, streamingProfile, toAnimated, videoCodec } from "../src/actions/transcode"; +// import { Overlay, source } from "../src/actions/overlay"; +// import { AutoFocus } from "../src/qualifiers/autoFocus"; +// import { ArtisticFilter, alDente, athena, audrey, aurora, daguerre, eucalyptus, fes, frost, hairspray, hokusai, incognito, linen, peacock, primavera, quartz, redRock, refresh, sizzle, sonnet, ukulele, zorro} from "../src/qualifiers/artisticFilter"; +// import { Gravity, autoGravity, compass, focusOn, xyCenter } from "../src/qualifiers/gravity"; +// import { AnimatedFormat, webp, png, gif, auto } from "../src/qualifiers/animatedFormat"; +// import { Background, auto, blurred, border, borderGradient, color, predominant, predominantGradient } from "../src/qualifiers/background"; +// import { ChromaSubSampling, chroma420, chroma444 } from "../src/qualifiers/chromaSubSampling"; +// import { Position } from "../src/qualifiers/position"; +// import { Resize, fill, thumbnail, scale, crop, fillPad, fit, imaggaCrop, imaggaScale, limitFill, limitFit, limitPad, minimumFit, minimumPad, pad} from "../src/actions/resize"; +// import { BlendMode, antiRemoval, mask, multiply, overlay, screen } from "../src/qualifiers/blendMode"; +// import { CloudinaryMedia } from "../src/assets/CloudinaryMedia"; +// import { Compass, center, east, north, northEast, northWest, south, southEast, southWest, west } from "../src/qualifiers/compass"; +// import { Adjust, saturation, autoBrightness, autoColor, autoContrast, blue, brightness, brightnessHSB, by3dLut, contrast, fillLight, gamma, green, hue, IAdjustAction, improve, opacity, opacityThreshold, recolor, red, replaceColor, sharpen, tint, unsharpMask, vibrance, viesusCorrect } from "../src/actions/adjust"; +// import { +// RotationMode, +// verticalFlip, +// autoRight, +// autoLeft, horizontalFlip, ignore +// } from "../src/qualifiers/rotationMode"; +// import { Region, ocr, faces, custom} from "../src/qualifiers/region"; +// import { GradientFade } from "../src/qualifiers/GradientFade"; +// import { Effect, vignette, sepia, accelerate, advancedRedEye, artisticFilter, assistColorBlind, blackwhite, blur, boomerang, cartoonify, colorize, deshake, dither, EffectActions, fadeIn, fadeOut, gradientFade, grayscale, loop, makeTransparent, negate, noise, oilPaint, outline, pixelate, redEye, removeBackground, reverse, shadow, simulateColorBlind, styleTransfer, theme, transition, vectorize} from "../src/actions/effect"; +// import { Delivery, dpr, quality, colorSpace, colorSpaceFromICC, defaultImage, density, format} from "../src/actions/delivery"; +// import { FocusOn, advancedEyes, advancedFace, advancedFaces, aeroplane, background, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, diningtable, dog, face, faces, horse, microwave, motorbike, FocusOnValue, ocr, person, pottedplant, refrigerator, sheep, sink, skateboard, sofa, train, tvmonitor } from "../src/qualifiers/focusOn"; +// import { OutlineMode, fill, inner, innerFill, outer } from "../src/qualifiers/outlineMode"; +// import { SimulateColorBlind, coneMonochromacy, deuteranomaly, deuteranopia, protanopia, rodMonochromacy, tritanomaly, tritanopia } from "../src/qualifiers/simulateColorBlind"; +// import { StreamingProfile } from "../src/qualifiers/streamingProfile"; +// import { Underlay } from "../src/actions/underlay"; +// import { VideoEdit, trim, volume, concatenate, preview } from "../src/actions/videoEdit"; +// import { VideoTransformation } from "../src/transformation/VideoTransformation"; +// import { Border, solid } from "../src/actions/border"; +// import { Flag, custom, ignoreInitialAspectRatio, attachment, animated, animatedPng, animatedWebP, anyFormat, clip, clipEvenOdd, forceIcc, forceStrip, getInfo, hlsv3, ignoreMaskChannels, immutableCache, keepAttribution, keepDar, keepIptc, layerApply, lossy, mono, noOverflow, noStream, png8, png24, png32, preserveTransparency, progressive, rasterize, regionRelative, relative, sanitize, splice, streamingAttachment, stripProfile, tiff8Lzw, tiled, truncateTS, waveform} from "../src/qualifiers/flag"; +// import { AudioCodec, none } from "../src/qualifiers/audioCodec"; +// import { PSDTools, clip, getLayer, smartObject } from "../src/actions/psdTools"; +// import { TextDecoration, normal, strikethrough, underline } from "../src/qualifiers/textDecoration"; +// import { Transformation } from "../src/transformation/Transformation"; +// import { AutoGravity } from "../src/qualifiers/gravity/autoGravity/AutoGravity"; +// import { Conditional, ConditionalAction, ifCondition } from "../src/actions/conditional"; +// import { FontWeight, normal, bold, light, thin } from "../src/qualifiers/fontWeight"; +// import { AspectRatio, ar1X1, ar3X1, ar3X2, ar4X3, ar5X4, ar16X9, ignoreInitialAspectRatio} from "../src/qualifiers/aspectRatio"; +// import { Timeline, position } from "../src/qualifiers/timeline"; +// import { NamedTransformation, name } from "../src/actions/namedTransformation"; +// import { Reshape, trim, cutByImage, distort, distortArc, shear } from "../src/actions/reshape"; +// import { Expression, expression } from "../src/qualifiers/expression"; +// import { Concatenate, videoSource } from "../src/qualifiers/concatenate"; +// import { TextStyle } from "../src/qualifiers/textStyle"; +// import { Volume, byDecibels, byPercent, mute } from "../src/qualifiers/volume"; +// import { TextAlignment, center, end, justify, left, right, start } from "../src/qualifiers/textAlignment"; +// import { Transition, videoSource } from "../src/qualifiers/transition"; +// import { VideoCodecLevel, vcl30, vcl31, vcl40, vcl41, vcl42, vcl50, vcl51, vcl52 } from "../src/qualifiers/videoCodecLevel"; +// import { Progressive, progressive, none, ProgressiveQualifier, semi, steep } from "../src/qualifiers/progressive"; +// import { FontStyle, italic, normal } from "../src/qualifiers/fontStyle"; +// import { VideoCodecProfile, baseline, high, main } from "../src/qualifiers/videoCodecProfile"; +// import { ShakeStrength, pixels16, pixels32, pixels48, pixels64 } from "../src/qualifiers/shakeStrength"; +// import { VideoCodec, auto, h264, h265, proRes, theora, vp8, vp9 } from "../src/qualifiers/videoCodec"; +// import { FontAntialias, best, fast, good, gray, none, subpixel } from "../src/qualifiers/FontAntialias"; +// const https = require("http"); +// + +// Use Full import paths for HOTER tests +import { CloudinaryMedia } from "../src/assets/CloudinaryMedia"; +import { VideoEdit } from "actions/videoEdit"; +import { Border } from "actions/border"; +import { Resize } from "actions/resize"; +import { Rotate } from "actions/rotate"; +import { RotationMode } from "qualifiers/rotationMode"; +import { Transcode } from "actions/transcode"; +import { AudioCodec } from "qualifiers/audioCodec"; +import { Overlay } from "actions/overlay"; +import { Source } from "qualifiers/source"; +import { RoundCorners } from "actions/roundCorners"; +import { AspectRatio } from "qualifiers/aspectRatio"; +import { Gravity } from "qualifiers/gravity"; +import { Delivery } from "actions/delivery"; +import { Format } from "qualifiers/format"; +import { Quality } from "qualifiers/quality"; +import { Dpr } from "qualifiers/dpr"; +import { Variable } from "actions/variable"; +import { CustomFunction } from "actions/customFunction"; +import { NamedTransformation } from "actions/namedTransformation"; +import { Color } from "qualifiers/color"; +import { Concatenate } from "qualifiers/concatenate"; +import { Expression } from "qualifiers/expression"; +import { Compass } from "qualifiers/compass"; +import { FocusOn } from "qualifiers/focusOn"; +import { AutoFocus } from "qualifiers/autoFocus"; +import { VideoCodec } from "qualifiers/videoCodec"; +import { Adjust } from "actions/adjust"; +import { ImageTransformation } from "index"; +import { Effect } from "actions/effect"; +import { Conditional } from "actions/conditional"; +import { Underlay } from "actions/underlay"; +import { ColorSpace } from "qualifiers/colorSpace"; +import { OutlineMode } from "qualifiers/outlineMode"; +import { VideoCodecLevel } from "qualifiers/videoCodecLevel"; +import { VideoCodecProfile } from "qualifiers/videoCodecProfile"; +import { Position } from "qualifiers/position"; +import { TextStyle } from "qualifiers/textStyle"; +import { ArtisticFilter } from "qualifiers/artisticFilter"; +import { Reshape } from "actions/reshape"; +import { ImproveMode } from "qualifiers/improveMode"; +import { BlendMode } from "qualifiers/blendMode"; +import { SimulateColorBlind } from "qualifiers/simulateColorBlind"; +import { Background } from "qualifiers/background"; +import { Transition } from "qualifiers/transition"; +import { ShakeStrength } from "qualifiers/shakeStrength"; +import { GradientFade } from "qualifiers/GradientFade"; +import { Region } from "qualifiers/region"; +import { Extract } from "actions/extract"; +import { Progressive } from "qualifiers/progressive"; +import { Timeline } from "qualifiers/timeline"; +import { TextDecoration } from "qualifiers/textDecoration"; +import { FontWeight } from "qualifiers/fontWeight"; +import { TextAlignment } from "qualifiers/textAlignment"; +import { AnimatedFormat } from "qualifiers/animatedFormat"; +import { ChromaSubSampling } from "qualifiers/chromaSubSampling"; +import { Dither } from "qualifiers/dither"; +import { Flag } from "qualifiers/flag"; +import {GradientDirection} from "qualifiers/gradientDirection"; +import {StreamingProfile} from "qualifiers/streamingProfile"; +import { PSDTools } from "actions/psdTools"; +import { FontStyle } from "qualifiers/fontStyle"; +import {Volume} from "../src/qualifiers/volume"; +import {FontAntialias} from "../src/qualifiers/FontAntialias"; +import {Animated} from "../src/actions/animated"; +const CloudinaryImage = CloudinaryMedia; +const CloudinaryVideo = CloudinaryMedia; + `; + + + file += `describe("Testing", () => {\n`; + + file += txs.map((txResult) => { + let test = `it("${txResult.txString}", () => {`; + test += `const parts = '${txResult.txString}'.replace(/\\//g, ',').split(',');\n\n`; + test += `const tAsset = ${txResult.parsedCode}`; + test += `parts.forEach((part) => { expect(tAsset.toString()).toContain(part)})`; + + + test += '\n})\n'; // Close it test + + try { + return prettier.format(test, {parser:'babel'}); + } catch (e) { + return test; + } + }).join('\n'); + + file += `\n})\n`; + + try { + return prettier.format(file, {parser:'babel'}); + } catch (e) { + return file; + } +} + +module.exports = createTestFile; diff --git a/devTools/sanity/index.ts b/devTools/sanity/index.ts new file mode 100644 index 00000000..1258b3eb --- /dev/null +++ b/devTools/sanity/index.ts @@ -0,0 +1,98 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +/* eslint-disable require-jsdoc */ +const querystring = require('querystring'); +const fs = require('fs'); +const nodeFetch = require('node-fetch'); +const file = fs.readFileSync(`${__dirname}/txList`, 'utf-8'); +const createTestFile = require('./createTestFile'); + +export interface ITxResult { + error: string; + txString: string; + parsedCode: string; +} + +export interface ITXResults { + success: ITxResult[], + fail: ITxResult[] +} + +/* + * Remove duplicates and clean lines starting with # + * @type {string[]} + */ +const transformationStrings = ([...new Set(file.split('\n'))] as string[]) + .filter((a) => a[0] !== '#').filter((a) => a); + +/* + * Set the SDK Code Snippets Service URL (Change domain/port only + */ +const baseURL = `https://staging-code-snippets.cloudinary.com/dev/sdk-code-gen`; + +const results:ITXResults = { + success:[], + fail: [] +}; + +console.log(`Attempting to generate code for ${transformationStrings.length} transformations\n`); + + +let counter = 0; +transformationStrings.forEach(async (txString, i) => { + // Space requests apart + await new Promise((res) => { + setTimeout(() => { + res(); + }, 30 * i + 1); + }); + + console.log('Processing transformation:', i); + + const queryArgs = { + framework: 'js_2', + url: `https://res.cloudinary.com/demo/image/upload/${txString}/sample`, + hideActionGroups:0 + }; + + const queryString = querystring.stringify(queryArgs, '&', '=', { + encodeURIComponent(a: string) { + return a; + } + }); + + const URL = `${baseURL}?${queryString}`; + + const res = await nodeFetch(URL).catch((e: Error) => { + console.log(e); + }); + + const obj = await res.json(); + + // Fail + if (obj.parsedCode.includes('Unable to parse') || obj.parsedCode.includes('not currently available')) { + results.fail.push({ + txString, + error: obj.parsedCode, + parsedCode: null + }); + } else { // Success + results.success.push({ + txString, + parsedCode: obj.parsedCode, + error: null + }); + } + + /* + * Store the result in a file of your choosing + */ + if (counter === transformationStrings.length - 1) { + console.log (`Successful transformations: ${results.success.length}`); + console.log (`Failed transformations: ${results.fail.length}`); + fs.writeFileSync(`${__dirname}/results.json`, JSON.stringify(results)); + fs.writeFileSync(`${__dirname}/../../__TESTS__/compilation.test.ts`, createTestFile(results.success)); + } + counter++; +}); + + diff --git a/devTools/sanity/package-lock.json b/devTools/sanity/package-lock.json new file mode 100644 index 00000000..d33c29dd --- /dev/null +++ b/devTools/sanity/package-lock.json @@ -0,0 +1,79 @@ +{ + "name": "sanity-test-creator", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/node": { + "version": "15.12.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.4.tgz", + "integrity": "sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==" + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, + "prettier": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz", + "integrity": "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "ts-node": { + "version": "8.10.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", + "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", + "requires": { + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + } + }, + "typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + } + } +} diff --git a/devTools/sanity/package.json b/devTools/sanity/package.json new file mode 100644 index 00000000..360850ee --- /dev/null +++ b/devTools/sanity/package.json @@ -0,0 +1,14 @@ +{ + "name": "sanity-test-creator", + "version": "1.0.0", + "scripts": { + "test": "ts-node ./index.ts" + }, + "dependencies": { + "@types/node": "^15.12.4", + "node-fetch": "^2.6.1", + "prettier": "^2.3.1", + "ts-node": "^8.10.2", + "typescript": "^3.9.3" + } +} diff --git a/devTools/sanity/tsconfig.json b/devTools/sanity/tsconfig.json new file mode 100644 index 00000000..adc792a2 --- /dev/null +++ b/devTools/sanity/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "noImplicitAny": true, + "outDir": "./dist", + "target": "ES2015", + "declaration": true, + "module": "ES2015", + "moduleResolution": "node", + "baseUrl": ".", + "esModuleInterop": true, + "resolveJsonModule": true + }, + "include": [ + "." + ] +} diff --git a/devTools/sanity/txList b/devTools/sanity/txList new file mode 100644 index 00000000..54f26f7f --- /dev/null +++ b/devTools/sanity/txList @@ -0,0 +1,1412 @@ +# Invalid String - Text should be "double encoded" - $award_!First!,$color_!rgb:FFFFFF!,$style_!Arial_45!/l_text:$style:%20%20$(award +# Invalid String - Text should be "double encoded" - $newwidth_1080/w_$newwidth/$name_!Jane%20Smith!/l_text:Comic%20Sans%20MS_24:%C2%A9$(name),g_south_east,x_10,y_10 +# Invalid String - Text should be "double encoded" - c_fill,e_sepia,h_150,r_20,w_150/g_north,l_text:arial_60:This%20is%20my%20picture,y_20/a_20 +# Invalid String - Text should be "double encoded" - c_limit,w_300/if_iw_gt_300,co_white,g_south_east,l_text:Arial_15_bold:Image%20scaled%20down%20to%20300px +# Invalid String - Text should be "double encoded" - c_scale,w_400/l_text:Arial_100:Big%20Flowers,co_yellow,fl_text_disallow_overflow +# Invalid String - Text should be "double encoded" - if_w_lt_600/l_text:Arial_20:Image%20shown%20in%20full%20scale,co_white,g_south_east/c_scale,e_blur:400,u_small_dinosaur,w_600/if_end +# Invalid String - Text should be "double encoded" - l_cloudinary_icon_blue,w_200,g_east,so_1,eo_11/l_text:arial_40:Sample%20Video,g_south,y_60,so_2 +# Invalid String - Text should be "double encoded" - l_couple/c_crop,g_faces,w_120,h_150/r_max/fl_layer_apply,g_north_east/l_cloudinary_icon,w_0.8,fl_relative,o_50,e_brightness:100/l_text:impact_40_bold:Sample image,g_south,y_20 +# Invalid String - Text should be "double encoded" - l_couple/c_crop,g_faces,w_120,h_150/r_max/fl_layer_apply,g_north_east/l_cloudinary_icon_white,w_0.8,fl_relative,o_50,e_brightness:100/l_text:impact_40_bold:Sample%20image,g_south,y_20 +# Invalid String - Text should be "double encoded" - l_text:AlexBrush-Regular.ttf_100:Happy%20New%20Year%20%202017%20,co_white,g_north_west,x_30,y_30 +# Invalid String - Text should be "double encoded" - l_text:arial_60:Cool%20Video,g_south,y_80,so_2,eo_5 +# Invalid String - Text should be "double encoded" - l_text:impact_150:Your%20Brand%20Name%20or%20Logo%20Here,e_distort:arc:-120,co_white,g_south,y_840,o_60 +# Invalid String - Text should be "double encoded" - w_200/l_text:Arial_30:Cool%F0%9F%98%8E +# Invalid String - Text should be "double encoded" - w_300/w_200,y_30,a_9,h_150,g_north,c_fit,l_text:Times_18_bold_center:Lorem%20ipsum%20dolor%20sit%20amet%20consectetur%20adipisicing%20elit%20sed%20do%20eiusmod%20tempor%20incididunt%20ut%20labore%20et%20dolore%20magna%20aliqua.%20Ut%20enim%20ad%20minim%20veniam%20quis%20nostrud%20exercitation%20ullamco%20laboris%20nisi%20ut%20aliquip%20ex%20ea%20commodo%20consequat. +# Invalid String - Text should be "double encoded" - w_500/if_!cloudinary!_in_tags/l_cloudinary_icon,w_100,g_north_east,o_50,e_brightness:100/l_text:arial_15:By Cloudinary,g_north_east,y_10,x_105/if_end/du_5 +# Invalid String - Text should be "double encoded" - w_500/l_text:Times_60:Cool%20image,g_south,y_20 +# Invalid String - Text should be "double encoded" - w_500/l_text:Times_90_bold:Cool%20image,g_south,y_80,co_rgb:FFFF00 +# Invalid String - Text should be "double encoded" - w_500/l_text:Times_90_bold:Cool%20image,g_south,y_80,co_rgb:FFFF0080 +# Invalid String - Text should be "double encoded" - w_500/l_text:Verdana_50_bold:Cool%20image,g_west,x_10 +# Invalid String - Text should be "double encoded" - w_500/if_!cloudinary!_in_tags/l_cloudinary_icon_white,w_100,g_north_east,o_50,e_brightness:100/l_text:arial_15:By%20Cloudinary,g_north_east,y_10,x_105/if_end/du_5 +# Invalid String - Text should be "double encoded" - w_500/l_text:sample_text_style:Stylish%20text,g_south +# Invalid String - Text should be "double encoded" - w_500/w_400,c_fit,l_text:Neucha_26_bold:Lorem%20ipsum%20dolor%20sit%20amet%20consectetur%20adipisicing%20elit%20sed%20do%20eiusmod%20tempor%20incididunt%20ut%20labore%20et%20dolore%20magna%20aliqua.%20Ut%20enim%20ad%20minim%20veniam%20quis%20nostrud%20exercitation%20ullamco%20laboris%20nisi%20ut%20aliquip%20ex%20ea%20commodo%20consequat. +# Invalid String for tests - Emoji returned - w_300/l_text:Arial_40:Cool%25F0%259F%2598%258E +# No action spec (g_auto:0) - w_150,h_150,c_thumb,g_auto:0 +# No action spec (g_auto:0) - w_150,h_150,c_thumb,g_auto:0 +# No subject/classic support - c_fill,g_auto:classic,ar_0.7,w_200 +# No subject/classic support - c_fill,g_auto:subject,ar_0.7,w_200 +# No subject/classic support - c_fill,g_auto:subject,ar_1:1 +# No subject/classic support - g_auto:subject,c_fill,ar_0.7,w_750 +# No subject/classic support - g_auto:subject,c_fill,ar_0.7,w_750,fl_getinfo +# no action spec (e_cut_out): e_cut_out,l_docs:logo:logo,g_south_west,w_200,x_20,y_20 +# no action spec: e_displace,l_radialize,y_100 +# no action spec: e_theme:color_black:photosensitivity_110 +# no action spec: e_theme:color_d3d3d3 +# no action spec: h_150/e_progressbar:bar:blue:6/ac_none +# no action spec: h_150/e_progressbar:frame:FF0000:6/ac_none +# no action spec: w_500/e_progressbar:bar:blue:6/ac_none +# no action spec: w_500/e_progressbar:bar:blue:6/ac_none/l_play_icon2,w_0.15 +# no action spec: w_500/e_progressbar:frame:FF0000:12/ac_none +# no action spec: w_500/e_progressbar:frame:FF0000:12/ac_none/l_play_icon2,w_0.15 +# Stroke not implemented in action generator yet - g_south,l_text:Arial_200_bold_italic_stroke_letter_spacing_50:Smile!,co_yellow,bo_10px_solid_blue +so_3,eo_5,e_boomerang/e_loop +vs_10,dl_100,w_250,f_gif +vs_10,dl_100,w_250,f_webp,fl_awebp,fl_animated +dl_100 +dl_200 +e_loop +e_preview:duration_8/c_crop,w_1600,h_800,e_loop +vs_1.1s,dl_200,w_200,e_loop:2 +# Needs spec: missing fl_awebp in result syntax - vs_10,dl_100,w_250,fl_awebp,fl_animated +vs_40,dl_200,h_200,e_loop +#No action spec: e_lightroom:saturation_-100:clarity_25:contrast_73:vignetteamount_60 +#No action spec: e_lightroom:saturation_-100:clarity_25:contrast_73:vignetteamount_60/w_500,q_auto,e_distort:0:0:500:100:500:232:0:332 +#No action spec: e_lightroom:whitebalance_auto +#No action spec: e_lightroom:whitebalance_shade:clarity_25 +#No action spec: e_lightroom:whitebalance_tungsten +#No action spec: e_lightroom:xmp:authenticated:my_presets:warm_shadow_auth.xmp +#No action spec: e_lightroom:xmp:my_presets:warm_shadow.xmp +#No action spec: e_lightroom:xmp:soft_mist.xmp +#No action spec: e_lightroom:xmp:soft_mist.xmp/r_50,f_auto,q_auto,bo_40px_solid_orange/a_5/w_400 +#No action spec: e_lightroom:xmp:soft_mist.xmp/w_300 +#No action spec: e_lightroom:xmp:warm_shadow.xmp +#No action spec: e_lightroom:xmp:warm_shadow.xmp/w_300 +#No action spec: e_progressbar:bar:blue:6 +#No action spec: e_progressbar:color_FF0000:width_12:type_frame +#No action spec: e_progressbar:frame:FF0000:12 +#No action spec: e_progressbar:frame:FF0000:6 +#No action spec: e_progressbar:type_bar:color_blue:width_6 +#Prefix not yet implemented - p_home_thing_ +#Prefix not yet implemented p_my_sprite_ +#Waveform not implemented yet h_200,w_500,fl_waveform +#Waveform not implemented yet h_200,w_500,fl_waveform,co_black,b_white +#Waveform not implemented yet h_200,w_500,fl_waveform,co_darkblue,b_grey +#Waveform not implemented yet h_250,w_400,fl_waveform,so_2,eo_4,co_blue,b_transparent +#e_loop:2 +#w_300,e_distort:40:25:280:60:260:155:35:165 +w_480,so_3,eo_5,e_boomerang/e_loop +c_scale,dl_1000,e_trim,w_700 +f_auto,fl_animated,vs_10,dl_5 +c_crop,g_face,z_1.2,h_150,w_150 +c_crop,g_sink,z_0.8 +g_face,c_crop,z_1.3 +$award_!First! +$bcolor_!rgb:0000ff!/if_fc_gt_0,$bcolor_!red!/bo_5px_solid_$bcolor,c_fill,h_120,w_120 +$bestpic_ref:!file.png! +$colors_5,fn_wasm:quantize.wasm +$foo_!iw! +$foo_1_to_f +$foo_bar +$foo_bar_to_i +$foo_iw_add_100_div_3 +$foo_md:!bar!_to_f +$img_current,$height_ih/if_w_lt_800/c_scale,e_blur:800,u_$img,w_800,h_$height/e_brightness:40,fl_layer_apply/if_end +$img_current/e_grayscale/l_$img,w_0.3,bo_10px_solid_white/fl_layer_apply,g_north_west/q_auto,f_auto,dpr_2.0,w_900 +$mainvideowidth_500/$overlaywidth_$mainvideowidth_div_3/w_$mainvideowidth/l_video:kitten_fighting,w_$overlaywidth,g_south_east +$newwidth_10_add_iw_mul_0.3,w_$newwidth +$overlay_ref:!docs:sale!/fn_wasm:docs:pnglayer.wasm/bo_1px_solid_black +$overlaywidth_$mainvideowidth_div_3 +$qualtag_!Pro!/if_$qualtag_in_tags,q_80/if_else,q_30/w_500 +$qualtag_!Pro!/if_$qualtag_in_tags,q_90/if_else,q_30/w_500 +$qualtag_!important!,$delwidth_450/t_highqual-if-tagged +$rating_!thumbs-down!/t_image_ratings +$rating_!thumbs-down!/t_image_ratings/w_200 +$rating_!thumbs-up!/t_image_ratings +$rating_!thumbs-up!/t_image_ratings/w_200 +$small_150,$big_2_div_$small/c_fill,w_$big,h_$small_add_20/l_my_named_div_layer +$small_150,$big_2_div_$small/c_fill,w_$big,h_$small_add_20/l_my_named_div_layer/e_art:incognito +$small_150,$big_2_mul_$small/c_fill,w_$big,h_$small_add_20 +$small_150,$big_2_mul_$small/c_fill,w_$big,h_$small_add_20/t_my_named_mul_trans +$small_150,$big_2_mul_$small_add_4/c_fill,w_$big,h_$small_add_20 +$small_150/c_fill,w_$big,h_$small_add_20 +$w_200,$ar_0.8/w_$w,ar_$ar,c_fill,g_face +$width_115/t_passport_photo +$width_140/t_passport_photo +$width_165/t_passport_photo +$width_60/t_passport_photo +$width_iw_mul_3/w_$width +$widthval_200,$arval_0.8/w_$widthval,ar_$arval,c_fill,g_face +a_-20 +a_180 +a_180/w_300,h_200,c_fill/l_video:dog,fl_splice,w_300,h_200,c_fill,so_0,du_5/fl_layer_apply +a_20 +a_90 +a_auto_left +a_auto_right +a_hflip +a_ignore +a_vflip +a_vflip/a_20 +ac_none +ac_none/l_video:electronic,e_volume:-50 +af_22050 +af_96000 +ar_1,c_fill,r_max +ar_1.0,c_scale,g_liquid,w_1.0/w_500,h_500 +ar_1.5,c_crop +ar_16:9,c_fill +ar_16:9,c_fill/c_scale,w_auto/c_limit,w_1000 +ar_16:9,c_fill/c_scale,w_auto:breakpoints +ar_16:9,c_fill/c_scale,w_auto:breakpoints:json +ar_16:9,c_fill/c_scale,w_auto:breakpoints_200_1920_30_15 +ar_1:1,c_fill +ar_1:1,c_fill,g_auto,w_400 +ar_2.5,c_crop +ar_4:3,c_fill/c_scale,w_auto,dpr_auto +b_blue,c_pad,h_400,w_660 +b_blue,o_0 +b_green +b_lightblue +b_rgb:d5d2ca,h_300 +b_rgb:fff +b_white,co_red,l_subtitles:arial_17:my_subs_file.srt +bo_1px_solid_black,a_0/f_auto,q_auto,dpr_auto +bo_1px_solid_black,a_0/f_auto,q_auto,dpr_auto,h_300 +bo_1px_solid_black,dpr_2,q_auto,f_auto,w_400 +bo_1px_solid_black,q_auto,dpr_2,f_auto +bo_1px_solid_gray +bo_1px_solid_gray,dpr_auto +bo_1px_solid_gray/dpr_auto +bo_1px_solid_gray/f_auto,dpr_2,q_auto/h_250 +bo_1px_solid_gray/f_auto,dpr_auto,q_auto +bo_1px_solid_gray/f_auto,q_auto,dpr_auto +bo_1px_solid_gray/f_auto,q_auto,w_350,dpr_2 +bo_1px_solid_gray/f_auto,q_auto,w_600,dpr_2 +bo_1px_solid_gray/f_auto,q_auto,w_700,dpr_2 +bo_1px_solid_gray/f_auto,w_250,dpr_2,q_auto +bo_1px_solid_gray/f_auto,w_300,dpr_2,q_auto +bo_1px_solid_gray/f_auto,w_350,dpr_2,q_auto +bo_1px_solid_gray/f_auto,w_500,dpr_2,q_auto +bo_1px_solid_gray/f_auto,w_600,dpr_2,q_auto +bo_1px_solid_gray/f_auto,w_650,dpr_2,q_auto +bo_1px_solid_gray/f_auto,w_700,dpr_2,q_auto +bo_1px_solid_gray/f_auto/q_auto +bo_1px_solid_gray/q_auto,h_450,f_auto,dpr_2 +bo_1px_solid_gray/q_auto,w_400,f_auto,dpr_2 +bo_1px_solid_gray/w_300,f_auto,q_auto,dpr_2 +bo_1px_solid_gray/w_400,dpr_2,q_auto,f_auto +bo_1px_solid_gray/w_400,f_auto,q_auto,dpr_2 +bo_1px_solid_gray/w_400,q_auto,dpr_2,f_auto +bo_1px_solid_gray/w_450,f_auto,dpr_2,q_auto +bo_1px_solid_gray/w_500,f_auto,q_auto,dpr_2 +bo_1px_solid_gray/w_550,q_auto,dpr_2,f_auto +bo_1px_solid_gray/w_550,q_auto,f_auto,dpr_2 +bo_1px_solid_gray/w_600,f_auto,q_auto,dpr_2 +bo_1px_solid_rgb:ccc,f_auto,dpr_2 +bo_2px_solid_black +bo_2px_solid_black,f_auto,q_auto +bo_2px_solid_black,so_100 +bo_2px_solid_black,so_101 +bo_2px_solid_black,so_133 +bo_2px_solid_black,so_14 +bo_2px_solid_black,so_256 +bo_2px_solid_black,so_36 +bo_2px_solid_black,so_371 +bo_2px_solid_black,so_386,c_fill,w_230,h_129 +bo_2px_solid_black,so_48.5 +bo_2px_solid_black,so_63,c_fill,w_230,h_129 +bo_2px_solid_black,so_68 +bo_2px_solid_black,so_98 +bo_2px_solid_black/c_fill,w_230,h_129 +bo_40px_solid_brown +bo_5.5px_solid_hotpink,r_100 +bo_5.5px_solid_hotpink,r_max +bo_5.5px_solid_rgb:aabbcc,r_max +bo_5.5px_solid_rgb:fff +bo_5px_solid_black +bo_5px_solid_black,f_auto,q_auto/dpr_auto +bo_5px_solid_hotpink +bo_5px_solid_red +bo_5px_solid_rgb:aabbcc,r_max +bo_60px_solid_rgb:00390b60 +br_100 +br_100:constant +br_250k +br_500000 +br_500k:constant +c_crop,ar_1.85356,so_813,g_south +c_crop,ar_1.85356,so_813,g_south/c_fill,w_230,h_129 +c_crop,ar_1:1,w_1000,g_auto:cat +c_crop,e_sepia,h_150,r_20,w_150 +c_crop,e_sepia,h_150,r_20,w_150/g_north,l_text:arial_60:This +c_crop,e_viesus_correct,g_south,r_20,w_1000/c_scale,g_north_east,l_viesus_logo,o_50,w_100,x_10,y_10/c_scale,w_600 +c_crop,fl_region_relative +c_crop,fl_relative +c_crop,g_auto +c_crop,g_auto:cat_30:dog_avoid,w_300 +c_crop,g_auto:ocr_text +c_crop,g_auto:ocr_text_30 +c_crop,g_auto:ocr_text_avoid +c_crop,g_cat:dog +c_crop,g_cat:dog/w_0.25,c_scale +c_crop,g_cat:dog:auto:microwave_30:bicycle_avoid +c_crop,g_dog:auto:bird,w_600,h_800 +c_crop,g_dog:auto:bird,w_600,h_800/w_0.25,c_scale +c_crop,g_dog:bird,w_600,h_800 +c_crop,g_dog:bird,w_600,h_800/w_0.25,c_scale +c_crop,g_dog:cat +c_crop,g_dog:cat/w_0.25,c_scale +c_crop,g_face +c_crop,g_face,h_150,w_150 +c_crop,g_face,h_400,w_400 +c_crop,g_face,r_75,bo_10px_solid_grey/l_young_couple,w_150,h_150,c_thumb,r_max,g_faces,bo_3px_solid_black/fl_layer_apply,g_north_east +c_crop,g_microwave +c_crop,g_microwave,ar_1 +c_crop,g_microwave,ar_1/w_0.3,c_scale +c_crop,g_microwave/w_0.3,c_scale +c_crop,g_north,h_200,w_260 +c_crop,g_north,w_300 +c_crop,g_north,w_300,x_100 +c_crop,g_north_west,h_150,w_150 +c_crop,g_ocr_text +c_crop,g_refrigerator +c_crop,g_refrigerator,ar_1 +c_crop,g_refrigerator,ar_1/w_0.3,c_scale +c_crop,g_refrigerator/w_0.3,c_scale +c_crop,g_sink +c_crop,g_sink,ar_1 +c_crop,g_sink,ar_1/w_0.3,c_scale +c_crop,g_sink/w_0.3,c_scale +c_crop,h_100 +c_crop,h_100,w_150,x_380,y_250/c_fill,h_100,w_130/a_20/c_scale,w_0.8 +c_crop,h_160,w_100 +c_crop,h_200 +c_crop,h_200,w_100 +c_crop,h_200,w_200 +c_crop,w_100 +c_crop,w_100,ar_2.0 +c_crop,w_100,h_100 +c_crop,w_100,h_200,e_sepia:17 +c_crop,w_200,h_200,g_xy_center,x_100,y_100 +c_crop,w_300,h_300/c_scale,w_150,r_max +c_crop,x_1 +c_crop,x_1,y_2 +c_crop,x_80,y_30,h_150,w_150 +c_fill,ar_0.7,w_200 +c_fill,ar_0.7,w_750 +c_fill,ar_4:3 +c_fill,e_sepia,h_150,r_20,w_150/g_north,l_text:arial_60:This +c_fill,e_sepia,h_150,r_20,w_150/g_north,l_text:arial_60:Thishttps +c_fill,e_style_transfer,h_700,l_lighthouse,w_700 +c_fill,e_style_transfer,h_700,l_lighthouse,w_700/c_scale,w_250 +c_fill,fl_region_relative +c_fill,fl_relative +c_fill,g_auto,h_250,w_250 +c_fill,g_auto,h_400,ar_0.8 +c_fill,g_auto,h_400,ar_0.8/h_300 +c_fill,g_auto,h_500,w_500 +c_fill,g_auto:ocr_text_avoid,h_400,ar_0.8 +c_fill,g_auto:ocr_text_avoid,h_400,ar_0.8/h_300 +c_fill,g_face,h_10,w_10 +c_fill,g_north,h_200,w_150 +c_fill,g_north,h_200,w_150/ +c_fill,g_ocr_text,h_250,w_250 +c_fill,g_ocr_text,h_500,w_500 +c_fill,g_south,h_250,w_400/l_nice_couple/c_crop,fl_region_relative,g_faces,h_1.3,w_1.3/e_saturation:50/e_vignette/c_scale,w_100/r_max/fl_layer_apply,g_center,x_-20,y_20/l_balloon/c_scale,h_55/e_hue:-20/a_5/fl_layer_apply,x_30,y_5/l_text:Cookie_40_bold:Love/co_rgb:F08,e_colorize/a_20/fl_layer_apply,x_-45,y_44/c_crop,h_250,w_300,x_30/r_60 +c_fill,g_xy_center,x_1,y_2 +c_fill,h_100 +c_fill,h_100,w_150 +c_fill,h_150,q_jpegmini,w_200 +c_fill,h_150,w_100 +c_fill,h_150/l_video:dog,c_fill,h_150/l_video:transition1,e_transition/fl_layer_apply/fl_layer_apply +c_fill,h_200,w_200 +c_fill,h_200,w_200/e_brightness:100,h_200,u_site_bg,w_200 +c_fill,h_200,w_300,r_20 +c_fill,h_250,w_250 +c_fill,h_300,w_200 +c_fill,h_300,w_300 +c_fill,h_500,w_500 +c_fill,h_700,w_700/e_style_transfer:60,l_lighthouse +c_fill,h_700,w_700/e_style_transfer:preserve_color,l_lighthouse +c_fill,h_700,w_700/e_style_transfer:preserve_color:40,l_lighthouse +c_fill,h_700,w_700/e_style_transfer:preserve_color:40,l_lighthouse/w_250 +c_fill,r_50,w_400,h_400,g_north,f_auto,bo_2px_solid_rgb:999/e_shadow:20,co_rgb:ccc/a_30,co_rgb:ec9800,e_colorize,l_url2png_logo +c_fill,r_50,w_400,h_400,g_north,f_auto,bo_2px_solid_rgb:999/e_shadow:20,co_rgb:ccc/a_30,co_rgb:ec9800,e_colorize,l_url2png_logo/ +c_fill,w_100 +c_fill,w_100,ar_2.0 +c_fill,w_100,h_100 +c_fill,w_100_mul_2 +c_fill,x_100,g_xy_center,w_500 +c_fill_pad,g_auto,fl_region_relative +c_fill_pad,g_auto,fl_relative +c_fill_pad,g_auto,h_100 +c_fill_pad,g_auto,w_100 +c_fill_pad,g_auto,w_100,ar_2.0 +c_fill_pad,g_auto,w_100,h_100 +c_fill_pad,g_auto,x_1 +c_fill_pad,g_auto,x_1,y_2 +c_fit,fl_region_relative +c_fit,fl_relative +c_fit,h_100 +c_fit,h_150,w_150 +c_fit,h_16,w_16/e_sepia +c_fit,w_10/a_15 +c_fit,w_100 +c_fit,w_100,ar_2.0 +c_fit,w_100,h_100 +c_imagga_crop +c_imagga_crop,e_saturation:50,h_300,r_20,w_450/g_south_west,l_imagga_logo,o_80,w_100,x_10,y_10 +c_imagga_crop,fl_region_relative +c_imagga_crop,fl_relative +c_imagga_crop,h_100 +c_imagga_crop,h_380,w_380 +c_imagga_crop,w_100 +c_imagga_crop,w_100,ar_2.0 +c_imagga_crop,w_100,h_100 +c_imagga_scale,fl_region_relative +c_imagga_scale,fl_relative +c_imagga_scale,h_100 +c_imagga_scale,h_150,w_150 +c_imagga_scale,h_200,w_150 +c_imagga_scale,h_240,w_260 +c_imagga_scale,w_100 +c_imagga_scale,w_100,ar_2.0 +c_imagga_scale,w_100,h_100 +c_imagga_scale,w_150,h_200 +c_lfill,fl_region_relative +c_lfill,fl_relative +c_lfill,g_xy_center,x_1,y_2 +c_lfill,h_100 +c_lfill,w_100 +c_lfill,w_100,ar_2.0 +c_lfill,w_100,h_100 +c_limit,fl_region_relative +c_limit,fl_relative +c_limit,h_100 +c_limit,w_100 +c_limit,w_100,ar_2.0 +c_limit,w_100,h_100 +c_lpad,fl_region_relative +c_lpad,fl_relative +c_lpad,h_100 +c_lpad,w_100 +c_lpad,w_100,ar_2.0 +c_lpad,w_100,h_100 +c_lpad,w_480,h_320,vs_2,q_70,br_1400k,vc_h264:baseline:3.0 +c_lpad,w_960,h_640,vs_2,q_70,br_5m,vc_h264:main:3.1 +c_lpad,x_1 +c_lpad,x_1,y_2 +c_mfit,fl_region_relative +c_mfit,fl_relative +c_mfit,h_100 +c_mfit,w_100 +c_mfit,w_100,ar_16:9 +c_mfit,w_100,ar_2.0 +c_mfit,w_100,fl_ignore_aspect_ratio +c_mfit,w_100,h_100 +c_mpad,fl_region_relative +c_mpad,fl_relative +c_mpad,h_100 +c_mpad,w_100 +c_mpad,w_100,ar_2.0 +c_mpad,w_100,h_100 +c_mpad,x_1 +c_mpad,x_1,y_2 +c_pad,b_auto +c_pad,b_auto:border +c_pad,b_auto:border:palette_red_green +c_pad,b_auto:border_contrast +c_pad,b_auto:border_contrast:palette_red_green +c_pad,b_auto:border_gradient +c_pad,b_auto:border_gradient:2 +c_pad,b_auto:border_gradient:2:horizontal +c_pad,b_auto:border_gradient:horizontal +c_pad,b_auto:border_gradient:palette_red_green +c_pad,b_auto:border_gradient_contrast +c_pad,b_auto:border_gradient_contrast:2 +c_pad,b_auto:border_gradient_contrast:palette_red_green +c_pad,b_auto:predominant +c_pad,b_auto:predominant:palette_red_green +c_pad,b_auto:predominant_contrast +c_pad,b_auto:predominant_contrast:palette_red_green +c_pad,b_auto:predominant_gradient +c_pad,b_auto:predominant_gradient:2 +c_pad,b_auto:predominant_gradient:2:horizontal +c_pad,b_auto:predominant_gradient:horizontal +c_pad,b_auto:predominant_gradient:palette_red_green +c_pad,b_auto:predominant_gradient_contrast +c_pad,b_auto:predominant_gradient_contrast:2 +c_pad,b_auto:predominant_gradient_contrast:palette_red_green +c_pad,b_blurred +c_pad,b_blurred:100:500 +c_pad,b_green +c_pad,b_rgb:fff +c_pad,du_10,h_360,q_70,w_480 +c_pad,fl_region_relative +c_pad,fl_relative +c_pad,h_100 +c_pad,h_200,w_200,b_black +c_pad,h_300,w_400 +c_pad,h_320,w_480,b_blurred:400:15 +c_pad,h_360,w_480,q_70,du_10 +c_pad,h_360,w_480/du_10/q_70 +c_pad,h_360,w_480/du_10/q_70/vc_auto +c_pad,h_360,w_480/du_10/q_70/vc_h265 +c_pad,h_360,w_480/du_10/q_70/vc_vp9 +c_pad,w_100 +c_pad,w_100,ar_2.0 +c_pad,w_100,h_100 +c_pad,w_200,h_200,e_saturation:50/e_shadow/bo_1px_solid_rgb:666 +c_pad,w_400 +c_pad,x_1 +c_pad,x_1,y_2 +c_scale,e_grayscale,f_auto,q_auto,w_100 +c_scale,e_saturation:50,r_20,w_400/g_south_east,l_logo_jpegmini,o_80,w_100,x_10,y_10/q_jpegmini +c_scale,e_viesus_correct,w_400 +c_scale,e_viesus_correct,w_500 +c_scale,fl_region_relative +c_scale,fl_relative +c_scale,g_liquid +c_scale,h_0.3 +c_scale,h_100 +c_scale,h_150 +c_scale,h_200,w_200 +c_scale,h_200,w_200/e_sepia +c_scale,q_jpegmini,w_400 +c_scale,q_jpegmini:1,w_400 +c_scale,t_sample_named_transform,w_1.0/t_sample_named_transform2 +c_scale,w_0.1/e_sepia:30 +c_scale,w_0.5 +c_scale,w_100 +c_scale,w_100,ar_2.0 +c_scale,w_100,h_100 +c_scale,w_200/r_max +c_scale,w_400 +c_scale,w_400/c_imagga_scale,h_150,l_family_bench.png,r_max,w_150 +c_scale,w_400/l_cloudinary_icon_blue,fl_no_overflow +c_scale,w_400/l_text:Arial_100:Flowers,co_yellow,b_rgb:FEB61FC2 +c_thumb,fl_region_relative +c_thumb,fl_relative +c_thumb,g_adv_eyes +c_thumb,g_adv_face,h_100,w_100 +c_thumb,g_adv_face,w_100,h_100 +c_thumb,g_adv_faces,w_150,h_150 +c_thumb,g_center,w_300 +c_thumb,g_face,h_130,w_130/g_south_east,l_badge,w_40,x_20,y_-40 +c_thumb,g_face,h_150,w_150/g_north_east,l_badge,w_0.08,x_0.15,y_0.15 +c_thumb,g_face,h_150,w_150/r_20/e_sepia/l_cloudinary_icon_blue,g_south_east,x_5,y_5,w_50,o_60,e_brightness:100/a_10 +c_thumb,g_face,h_150,w_150/r_20/e_sepia/l_cloudinary_icon_blue/e_brightness:100/o_60/c_scale,w_50/fl_layer_apply,g_south_east,x_5,y_5/a_10 +c_thumb,g_face,z_0.75,h_150,w_150 +c_thumb,h_100 +c_thumb,w_100 +c_thumb,w_100,ar_2.0 +c_thumb,w_100,h_100 +c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon,e_brightness:100,fl_relative,w_0.5,o_60/dpr_1.0 +c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon,e_brightness:100,fl_relative,w_0.5,o_60/dpr_2.0 +c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon,e_brightness:100,fl_relative,w_0.5,o_60/dpr_3.0 +c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon,e_brightness:100,w_50,o_60/dpr_2.0 +c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon_white,e_brightness:100,fl_relative,w_0.5,o_60/dpr_1.0 +c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon_white,e_brightness:100,fl_relative,w_0.5,o_60/dpr_2.0 +c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon_white,e_brightness:100,fl_relative,w_0.5,o_60/dpr_3.0 +c_thumb,w_100,h_100,g_face,r_max/l_cloudinary_icon_white,e_brightness:100,w_50,o_60/dpr_2.0 +co_lightblue,e_outline:outer:100 +co_orange,e_outline:outer:15:200 +co_rgb:009900,e_shadow:50,x_10,y_10 +co_rgb:1a8502,e_shadow:50,x_-15,y_15 +co_rgb:20a020,e_colorize:50 +co_rgb:ec9800,e_colorize:17 +cs_icc:icc_file_public_id +cs_keep_cmyk +cs_no_cmyk +cs_srgb +d_avatar.png +d_public_id +d_publicid +dn_150 +dn_20 +dpr_1.0 +dpr_2 +dpr_2,f_auto,q_auto,bo_1px_solid_black +dpr_2,f_auto,q_auto,w_800 +dpr_2,f_auto,q_auto/bo_1px_solid_gray +dpr_2,q_auto,f_auto +dpr_2,q_auto,f_auto,bo_1px_solid_black +dpr_2,q_auto,f_auto,w_500,bo_1px_solid_gray +dpr_2,q_auto,f_auto,w_600 +dpr_2,q_auto,f_auto,w_600,bo_1px_solid_gray +dpr_2,q_auto,f_auto/bo_1px_solid_gray +dpr_auto +dpr_auto,w_400/bo_1px_solid_gray +dpr_auto,w_600/bo_1px_solid_gray +dpr_auto/bo_1px_solid_gray +dpr_auto/bo_1px_solid_gray/h_300 +dpr_auto/h_300/bo_1px_solid_gray +du_2/e_volume:30 +du_2/e_volume:45 +du_3 +du_30,q_70:qmax_20 +du_5,l_sample/e_transition,l_video:transition1/fl_layer_apply/fl_layer_apply +du_5,w_300,h_200/l_video:dog,w_300,h_200/du_5/l_video:transition1,e_transition/e_accelerate:5s,a_180/fl_layer_apply/fl_layer_apply +du_50p,so_2 +e_accelerate:100 +e_accelerate:6 +e_adv_redeye +e_adv_redeye/w_300,h_80,c_thumb,g_adv_eyes +e_anti_removal:95,l_cloudinary_icon,g_north_west +e_art:al_dente +e_art:athena +e_art:audrey +e_art:aurora +e_art:daguerre +e_art:eucalyptus +e_art:fes +e_art:frost +e_art:hairspray +e_art:hokusai +e_art:incognito +e_art:linen +e_art:peacock +e_art:primavera +e_art:quartz +e_art:red_rock +e_art:refresh +e_art:sizzle +e_art:sonnet +e_art:ukulele +e_art:zorro +e_assist_colorblind +e_assist_colorblind:20 +e_assist_colorblind:8 +e_assist_colorblind:8/e_simulate_colorblind +e_assist_colorblind:xray +e_auto_brightness +e_auto_brightness:10 +e_auto_brightness:17 +e_auto_brightness:80 +e_auto_color +e_auto_color:10 +e_auto_color:17 +e_auto_color:80 +e_auto_contrast +e_auto_contrast:10 +e_auto_contrast:17 +e_auto_contrast:80 +e_bgremoval +e_bgremoval:ffff00 +e_bgremoval:screen +e_blackwhite +e_blackwhite:40 +e_blackwhite:5 +e_blue +e_blue:10 +e_blue:17 +e_blue:90 +e_blur +e_blur:100 +e_blur:300 +e_blur:5 +e_blur:500/l_video:dog,w_600/w_500 +e_blur:800 +e_blur_faces:5 +e_blur_faces:800 +e_blur_region,h_100,w_100,x_50,y_120 +e_blur_region:1000,h_425,w_550,x_600,y_400 +e_blur_region:1500,y_0.75 +e_blur_region:5,g_ocr_text +e_blur_region:800,g_ocr_text +e_blur_region:800,g_ocr_text/h_300 +e_brightness:17 +e_brightness:60 +e_brightness_hsb +e_brightness_hsb:-50 +e_brightness_hsb:10 +e_cartoonify +e_cartoonify/r_max/e_outline:100,co_lightblue/b_lightblue,h_300,c_pad +e_cartoonify/r_max/e_outline:100,co_lightblue/b_lightblue/h_300 +e_cartoonify:20:bw +e_cartoonify:70:80 +e_cartoonify:80 +e_cartoonify:80:100 +e_cartoonify:80:bw +e_colorize:35,co_darkviolet +e_colorize:80 +e_contrast +e_contrast:-70 +e_contrast:17 +e_contrast:50 +e_deshake +e_deshake:32 +e_distort:5:34:70:10:70:75:5:55 +e_distort:arc:180 +e_distort:arc:5 +e_fade:-6 +e_fade:2000 +e_fade:2000/e_fade:-4000 +e_fade:6 +e_fill_light +e_fill_light:10:20 +e_fill_light:17 +e_fill_light:17:-100 +e_fill_light:70:20 +e_gamma:17 +e_gamma:50 +e_gradient_fade:symmetric:10,x_0.2,y_0.4 +e_gradient_fade:symmetric_pad:50,x_0.2 +e_grayscale +e_green +e_green:-30 +e_green:10 +e_green:17 +e_hue +e_hue:10 +e_hue:17 +e_hue:40 +e_improve +e_improve:50 +e_improve:indoor +e_improve:outdoor +e_improve:outdoor:10 +e_improve:outdoor:50 +e_make_transparent:5 +e_make_transparent:50,co_red +e_multiply,l_cloudinary_icon_blue +e_negate +e_noise:100 +e_oil_paint +e_oil_paint:40 +e_oil_paint:5 +e_oil_paint:70 +e_opacity_threshold +e_opacity_threshold:1/b_blue +e_opacity_threshold:10 +e_opacity_threshold:17 +e_ordered_dither +e_ordered_dither:12 +e_ordered_dither:13 +e_ordered_dither:3 +e_ordered_dither:6 +e_outline,co_orange +e_outline:$foo:100:5,co_red +e_outline:fill,co_orange +e_outline:inner,co_orange +e_outline:inner:100:5,co_rgb:ffffff +e_outline:inner_fill,co_orange +e_outline:outer,co_orange +e_outline:outer:20:200 +e_outline:outer:20:200/e_red:50/e_sharpen/e_improve/o_70 +e_outline:outer:20:200/l_cloudinary_icon/e_red:50/e_sharpen/e_improve/o_70 +e_outline:outer:20:200/l_cloudinary_icon_white/e_red:50/e_sharpen/e_improve/o_70 +e_overlay,l_cloudinary_icon_blue +e_pixelate +e_pixelate:17 +e_pixelate:20 +e_pixelate_faces:15 +e_pixelate_faces:5 +e_pixelate_faces:9 +e_pixelate_region,w_100 +e_pixelate_region:2,h_100,w_200,x_1,y_3 +e_pixelate_region:25,y_0.75 +e_pixelate_region:35,h_425,w_550,x_600,y_400 +e_pixelate_region:5,g_ocr_text +e_preview,fl_getinfo +e_preview:duration_12.0:max_seg_3:min_seg_dur_3.0 +e_preview:duration_5 +e_preview:duration_5.0 +e_preview:duration_5.0:max_seg_10:min_seg_dur_1.0 +e_recolor:0.3:0.7:0.1:0.2:0.3:0.6:0.1:0.2:0.2:0.5:0.1:0.2 +e_recolor:0.3:0.7:0.1:0.3:0.6:0.1:0.2:0.5:0.1 +e_red +e_red:10 +e_red:17 +e_red:50 +e_redeye +e_replace_color:2F4F4F:20 +e_replace_color:maroon:80:2b38aa +e_replace_color:maroon:80:2b38aa/w_250 +e_replace_color:red:5:blue +e_replace_color:saddlebrown +e_replace_color:silver:55:89b8ed +e_reverse +e_reverse,fl_splice,l_video:ski_jump/l_video:ski_jump,fl_splice,e_accelerate:-50/e_brightness:10,r_max +e_saturation:17 +e_saturation:50 +e_saturation:70 +e_screen,l_cloudinary_icon +e_screen,l_cloudinary_icon_blue +e_sepia +e_sepia:17 +e_sepia:17/c_crop,h_200,w_100 +e_sepia:50 +e_shadow:50,x_10,y_10 +e_sharpen +e_sharpen:10 +e_sharpen:17 +e_sharpen:400 +e_shear:20.0:0.0 +e_shear:23.0:50.0 +e_simulate_colorblind +e_simulate_colorblind/h_200 +e_simulate_colorblind:deuteranopia +e_simulate_colorblind:protanopia +e_style_transfer,l_davinci_mona_lisa +e_style_transfer,l_lighthouse +e_style_transfer:preserve_color:40,l_lighthouse +e_style_transfer:preserve_color:40,l_lighthouse/e_sepia/fl_layer_apply +e_tint +e_tint:100:red:blue:yellow +e_tint:20 +e_tint:50:red:blue +e_tint:equalize:80:red:50p:blue:60p:yellow:40p +e_tint:equalize:80:red:blue:yellow +e_trim +e_trim:50 +e_trim:50:yellow +e_unsharp_mask +e_unsharp_mask:10 +e_unsharp_mask:17 +e_unsharp_mask:500 +e_vectorize:colors:15:detail:200:despeckle:0.2:paths:90:corners:100 +e_vectorize:colors:17 +e_vectorize:colors:17:detail:100 +e_vectorize:colors:3:detail:0.5 +e_vectorize:detail:200 +e_vibrance +e_vibrance:10 +e_vibrance:17 +e_vibrance:70 +e_viesus_correct +e_viesus_correct:no_redeye +e_viesus_correct:no_redeye:skin_saturation_5 +e_viesus_correct:skin_saturation +e_viesus_correct:skin_saturation_20 +e_vignette +e_vignette:17 +e_vignette:30 +e_volume:10 +e_volume:50 +e_volume:5db +e_volume:mute +eo_10 +eo_3 +f_auto +f_auto,dpr_2,q_auto,h_150,bo_1px_solid_gray +f_auto,dpr_2,q_auto,h_200,bo_1px_solid_gray +f_auto,dpr_auto +f_auto,fl_preserve_transparency +f_auto,q_auto +f_auto,q_auto,dpr_2 +f_auto,q_auto,dpr_2,h_150,bo_1px_solid_gray +f_auto,q_auto,dpr_2,h_200,bo_1px_solid_gray +f_auto,q_auto,dpr_2/bo_1px_solid_gray/w_500 +f_auto,q_auto,dpr_auto,w_300 +f_auto,q_auto,h_150,dpr_2,bo_1px_solid_gray +f_auto,q_auto,w_500,dpr_2,bo_1px_solid_gray +f_auto,q_auto/ +f_auto,w_150,dpr_2,q_auto +f_auto/dpr_auto +f_gif,fl_lossy +f_gif/ar_1,b_rgb:a17ec5,c_fill,fl_animated,h_200 +f_glb +f_jpg +f_jpg,fl_progressive +f_jpg,fl_progressive:semi +f_jpg,u_some +f_jpg/u_some +f_mp3 +f_mp4 +f_mp4,w_300 +f_mp4/b_rgb:d5d2ca,h_300,fl_animated +f_png +f_png/a_90,ar_1,b_rgb:a17ec5,c_fill,g_auto,h_200 +f_png/w_800/l_text:Unkempt_250_bold:Water,fl_cutter,e_shadow +f_webm +f_webp,fl_animated,fl_awebp,vs_10 +fl_animated,f_auto +fl_animated,f_gif +fl_apng +fl_attachment +fl_attachment:pretty_flower +fl_attachment:pretty_flower,f_auto +# Needs spec: missing fl_awebp in result syntax - fl_awebp +fl_clip,pg_2 +fl_clip,pg_name:path +fl_clip,pg_name:stones +fl_clip_evenodd +fl_clip_evenodd,pg_2 +fl_draco +fl_keep_iptc +fl_lossy +fl_lossy,q_50 +fl_progressive,r_10 +fl_region_relative,g_adv_eyes,l_glasses,w_1.5 +fl_region_relative,g_adv_eyes,l_glasses,w_1.7 +fl_region_relative,g_adv_faces,l_silver_face_mask,w_1.1 +fl_splice,l_sample/fl_layer_apply +fl_splice,l_video:dog/fl_layer_apply +fl_splice,l_video:dog/fl_layer_apply,so_0 +fl_whatever +fn_pre:remote:aHR0cHM6Ly9teS5wcmVwcm9jZXNzLmN1c3RvbS9mdW5jdGlvbg== +fn_remote:aHR0cHM6Ly9teS5leGFtcGxlLmN1c3RvbS9mdW5jdGlvbg== +# Not currently supported - Slides - fn_render:w_500;h_500;du_18;vars_(tdur_1500;transition_s:hexagonalize;slides_((media_i:docs:shoppable_sunglasses;sdur_2000);(media_i:docs:shoppable_dress;sdur_4000);(media_i:docs:shoppable_bag2;sdur_3000);(media_i:docs:shoppable_bag;sdur_3000)))/f_auto,q_auto +# Not currently supported - Slides - fn_render:w_500;h_500;du_20;vars_(sdur_3000;tdur_1500;transition_s:circlecrop;slides_((media_i:docs:shoppable_sunglasses);(media_i:docs:shoppable_dress);(media_i:docs:shoppable_bag2);(media_i:docs:shoppable_bag)))/f_auto,q_auto +# Not currently supported - Slides - fn_render:w_640;h_480;du_20;vars_(sdur_3000;tdur_1500;transition_s:hexagonalize;slides_((media_v:hourglass_timer;type_s:video);(media_i:docs:shoppable_dress);(media_i:docs:shoppable_bag2);(media_i:docs:shoppable_bag)))/f_auto,q_auto +fn_wasm:my_example.wasm +fps_1-5 +fps_10 +fps_10- +fps_10-20 +g_face,c_crop +g_face,c_thumb,w_150,h_150 +g_face,c_thumb,w_150,h_150,z_0.7 +g_face,w_500,c_thumb,fl_getinfo +g_north,l_text:arial_60:watchme,y_20 +g_south,l_text:Arial_200:Flower +h_100,w_190 +h_105/e_shadow:50,x_10,y_10 +h_120 +h_150 +h_150,c_scale,fl_ignore_aspect_ratio +h_150,dpr_2.0 +h_150,dpr_auto +h_150,fl_ignore_aspect_ratio +h_150,w_150,c_pad,b_auto:predominant +h_150,w_150,c_pad,b_auto:predominant_gradient:2:diagonal_desc +h_150/l_play_icon2,w_0.1 +h_150/q_auto,f_auto,dpr_2/bo_1px_solid_gray +h_200 +h_200,c_scale/e_outline:15:200,co_orange +h_200,w_200,c_pad,b_auto:border +h_200,w_200,c_pad,b_auto:border_contrast +h_200,w_200,c_pad,b_auto:predominant +h_200,w_200,c_pad,b_auto:predominant_contrast +h_200/u_docs:iphone_template,h_300,a_90 +h_200/u_docs:transparent_grid,w_1.0,h_1.0,fl_relative,c_crop,o_50 +h_225/q_auto,f_auto,bo_1px_solid_black +h_250 +h_250,w_150,c_fill,g_auto/f_auto/q_auto +h_300 +h_300,ar_3:4,c_fill,g_auto:face +h_300,ar_3:4,c_fill,g_auto:faces +h_300,dpr_2.0 +h_300,q_auto,f_auto,dpr_2 +h_300,w_300 +h_300,w_300,c_pad,b_auto:predominant +h_300,w_300,c_pad,b_auto:predominant/e_gradient_fade:symmetric_pad,x_0.5 +h_300,w_300,c_pad,b_auto:predominant_gradient:2:diagonal_desc +h_300,w_300,c_pad,b_auto:predominant_gradient:4:palette_red_green_blue_orange +h_300,w_300,c_pad,b_auto:predominant_gradient_contrast:4 +h_310 +h_320,c_scale/c_pad,h_320,w_480,b_blurred:400:15/e_volume:mute/e_accelerate:100 +h_320,w_480 +h_320,w_480/h_150 +h_350/q_auto,dpr_auto +h_375/u_docs:bg_beach,g_south,w_800 +h_375/u_docs:bg_beach,g_south,w_800/h_200 +h_375/u_docs:rainbow_field,g_south,w_800 +h_375/u_docs:rainbow_field,g_south,w_800/h_200 +h_400,ar_3:4,c_fill,g_auto:face +h_400,ar_9:16,c_fill_pad,g_auto/so_8 +h_400,w_244,c_fill +h_400,w_244,c_fill,so_1 +h_400,w_244,g_auto,c_fill +h_500,w_500,c_fill +if_!sale:in_stock!_in_tags,l_sale_icon,w_180,g_south_east,x_30,y_30 +if_!sale:in_stock!_in_tags,l_sale_icon,w_180,g_south_east,x_30,y_30/w_250 +if_ar_gt_0.65_and_w_gt_1000,ar_0.65,h_1000,c_fill +if_ar_gt_1.2,c_pad,h_320,w_480,b_black/if_else,c_pad,h_320,w_480,b_blurred:400:15 +if_ar_gt_1.2,c_pad,h_320,w_480,b_green/if_else,c_pad,h_320,w_480,b_blurred:400:15 +if_ar_gt_3:4_and_w_gt_300_and_h_gt_200,c_crop,w_300,h_200 +if_ar_lt_1.0,$height_300/if_else,$height_200/h_$height +if_ctx:!productType!_eq_!shoes!,w_200,ar_1:1,c_fill,g_auto +if_expression,a_20 +if_expression/a_20/if_else/a_30/if_end +if_expression/a_20/if_end +if_ils_gt_0.5,w_120,h_150,c_pad/if_else,w_120,h_150,c_fill +if_iw_lte_200,c_fill,h_120,w_80/if_else,c_fill,h_90,w_100 +if_w_gt_300,e_oil_paint +if_w_gt_400,l_thumbs-up-small,w_150,g_north_east,x_10,y_10/w_400,c_limit +if_w_lte_200,c_fill,h_120,w_80/if_else,c_fill,h_90,w_100 +if_w_lte_400/c_fill,h_220,w_180/e_red/if_else/c_fill,h_190,w_300/e_oil_paint/if_end +ki_0.15 +ki_0.4 +l_badge,o_60,w_500 +l_call_text,fl_region_relative,w_1.1,g_ocr_text +l_call_text,fl_region_relative,w_1.1,g_ocr_text/w_120 +l_cloudinary_icon +l_cloudinary_icon,g_north_west,y_20 +l_cloudinary_icon,so_6.5,eo_10,o_50,e_brightness:100 +l_cloudinary_icon,w_0.2,fl_relative +l_cloudinary_icon,w_0.8,fl_relative +l_cloudinary_icon,w_0.9,c_scale,g_north_east,o_70,e_brightness:50 +l_cloudinary_icon,w_300,g_north_east,o_60 +l_cloudinary_icon_blue +l_cloudinary_icon_blue,g_north_west,x_20,y_20 +l_cloudinary_icon_blue,w_0.3,fl_relative,g_north_east +l_cloudinary_icon_blue,w_0.5,c_scale,g_north_east,o_70,e_brightness:50 +l_cloudinary_icon_blue,w_0.8,fl_relative +l_cloudinary_icon_white,so_6.5,eo_10,o_50,e_brightness:100 +l_cloudinary_icon_white,w_200,o_30,fl_tiled +l_cloudinary_icon_white,w_300,g_north_east,o_60 +l_face_left/w_200,h_200,c_thumb,g_face,r_max/fl_layer_apply,g_north_east +l_fetch:aHR0cDovL2Nsb3VkaW5hcnkuY29tL2ltYWdlcy9sb2dvLnBuZw==,g_north_west,x_5,y_5 +l_fetch:aHR0cDovL2Nsb3VkaW5hcnkuY29tL2ltYWdlcy9sb2dvLnBuZw==,g_north_west,x_5,y_5,eo_5 +l_fetch:aHR0cDovL2Nsb3VkaW5hcnkuY29tL2ltYWdlcy9vbGRfbG9nby5wbmc= +l_fetch:aHR0cHM6Ly9yZXMuY2xvdWRpbmFyeS5jb20vZGVtby9pbWFnZS91cGxvYWQvbG9nb3MvY2xvdWRpbmFyeV9mdWxsX2xvZ29fd2hpdGVfc21hbGwucG5n +l_golden_star,g_faces,w_1.0,fl_region_relative +l_golden_star,g_faces,w_1.1,fl_region_relative +l_golden_star,g_north_west,w_20,x_314,y_148/w_500 +l_happy_smiley,w_1.3,fl_region_relative,g_faces +l_lut:iwltbap_aspen.3dl +l_lut:iwltbap_aspen.3dl/w_200 +l_lut:iwltbap_sedona.3dl +l_lut:iwltbap_sedona.3dl/w_200 +l_sample +l_sample,fl_cutter +l_sample,fl_replace_image,e_cartoonify +l_sample,so_6.5,eo_10 +l_sample.jpg +l_sample/e_anti_removal,fl_layer_apply +l_sample/e_mask,fl_layer_apply +l_sample/e_multiply,fl_layer_apply +l_sample/e_overlay,fl_layer_apply +l_sample/e_screen,fl_layer_apply +l_sample/e_sepia/fl_layer_apply +l_sample/fl_cutter,fl_layer_apply,g_south +l_sample/fl_first_flag/fl_second_flag/fl_layer_apply +l_sample/fl_no_overflow,fl_layer_apply +l_sample/fl_tiled,fl_layer_apply +l_sample/g_face,fl_layer_apply +l_sample/x_10,fl_layer_apply +l_subtitles:arial_17:sample_sub_en.srt +l_subtitles:arial_20:sample_sub_en.srt +l_subtitles:arial_40:sample_sub_en.srt,co_yellow,b_black +l_subtitles:arial_70:sample_sub_en.srt,co_rgb:ffff00,b_black +l_subtitles:folder-permissions-tutorial.en-us.azure.transcript +l_subtitles:impact_15:lincoln.transcript,b_rgb:331a00 +l_subtitles:impact_15:lincoln.transcript,co_khaki,b_rgb:331a00,g_south_west +l_subtitles:lincoln.transcript +l_subtitles:sample_sub_en.srt +l_subtitles:times_20:folder-permissions-tutorial.en-us.azure.transcript,co_blue,g_north +l_text:Arial_45_bold:John +l_text:arial_15:hello +l_text:arial_15_bold:hello +l_text:parisienne_17_bold_strikethrough_justify_stroke_letter_spacing_17_antialias_subpixel:Hello +l_video:dog,fl_splice,so_0,du_5 +l_video:dog,fl_splice,w_300,c_fill,so_0/fl_layer_apply +l_video:dog,so_4.5,eo_8,a_90,w_200,g_east +l_video:dog,w_0.5 +l_video:dog/du_5/l_video:transition1,e_transition/fl_layer_apply/fl_layer_apply +l_video:dog/e_transition,l_video:transition1/fl_layer_apply/fl_layer_apply +l_video:dog/l_video:transition1,e_transition/a_180/fl_layer_apply/fl_layer_apply +l_video:electronic +l_video:kitten_fighting,e_fade:3000,w_100 +l_video:sample +l_video:sample/e_sepia/fl_layer_apply +l_video:ski_jump,eo_6,c_scale,w_250,g_north_east +l_video:ski_jump,fl_splice,e_reverse/l_video:ski_jump,fl_splice,e_accelerate:-50/e_brightness:10,r_max +l_video:ski_jump,fl_splice,e_reverse/l_video:ski_jump,fl_splice,e_accelerate:-50/e_volume:mute/e_brightness:10,r_max +l_video:ski_jump,so_3,eo_6,c_scale,w_250,g_north_east +o_17 +o_30 +pg_2 +pg_2-4;6;8 +pg_2-4;6;8/w_300 +pg_3 +pg_4-7;9 +pg_embedded:3 +pg_embedded:3/w_300 +pg_embedded:3;5 +pg_embedded:7 +pg_embedded:name:skyline-3242040_1920 +pg_embedded:name:skyline-3242040_1920.jpg +pg_embedded:name:skyline.jpg +pg_embedded:name:skyline.jpg;bg.jpg +pg_name:lala;fofo +pg_name:record_cover;Shadow +pg_name:record_cover;Shadow/w_300 +pg_name:skyline +q_100 +q_20 +q_50 +q_60 +q_60:420 +q_70:qmax_20 +q_80 +q_auto +q_auto,dpr_2,bo_1px_solid_black,f_auto +q_auto,dpr_2,f_auto +q_auto,dpr_2,f_auto,bo_1px_solid_black +q_auto,dpr_2,f_auto,bo_1px_solid_gray +q_auto,dpr_2,f_auto,h_300 +q_auto,dpr_2,h_300,f_auto,bo_1px_solid_black +q_auto,dpr_2,w_150,f_auto +q_auto,dpr_auto +q_auto,f_auto +q_auto,f_auto,bo_1px_solid_black +q_auto,f_auto,bo_1px_solid_gray,dpr_2,h_450 +q_auto,f_auto,bo_1px_solid_gray,dpr_2,w_250 +q_auto,f_auto,bo_1px_solid_gray,dpr_2,w_650 +q_auto,f_auto,bo_1px_solid_gray,dpr_2,w_660 +q_auto,f_auto,dpr_2 +q_auto,f_auto,dpr_2,bo_1px_solid_gray +q_auto,f_auto,dpr_2,c_crop,w_100,h_80/w_40 +q_auto,f_auto,dpr_2,h_300 +q_auto,f_auto,dpr_2,w_350,r_20/e_outline:1,co_black +q_auto,f_auto,dpr_2,w_400 +q_auto,f_auto,dpr_2/bo_1px_solid_gray +q_auto,f_auto,dpr_2/w_20 +q_auto,f_auto,dpr_auto +q_auto,f_auto,w_500 +q_auto,w_600,f_auto,dpr_2 +q_auto,w_800,f_auto +q_auto:best +q_auto:eco +q_auto:good +q_auto:low +q_auto:low:444 +q_jpegmini +q_jpegmini:0 +q_jpegmini:1 +q_jpegmini:2 +r_10 +r_10:20 +r_10:20:30 +r_10:20:30:40 +r_20 +r_20:0:40:60 +r_20:80 +r_max +so_0,du_3 +so_1 +so_10 +so_10p,du_30p +so_120 +so_21/bo_2px_solid_black +so_3 +so_3,du_5 +so_3,eo_5 +so_30/bo_2px_solid_black +so_3p,du_5p +so_4,w_350,h_350,c_crop,r_20,e_grayscale,bo_5px_solid_black +so_43,du_10/fl_mono +so_5 +so_6.5,eo_10 +so_62 +so_7/h_400,ar_9:16,c_fill,g_auto +so_7/h_400,ar_9:16,c_fill_pad,g_auto +so_8 +so_8.5 +sp_custom_square +sp_full_hd +sp_full_hd_lean +sp_full_hd_wifi +sp_hd +sp_hd_lean +sp_my_custom_sp +sp_sd +t_demo_combined +t_fit_100x150 +t_jpg_with_quality_30,w_100,h_50,c_fit +t_jpg_with_quality_30/t_crop_400x400/t_fit_100x150 +t_my_named_transformation +t_sample_named_transform +t_sample_named_transform.sample_named_transform2 +t_vignette_angle +u_docs:iphone_template,h_300,a_90 +u_sample/g_face,fl_layer_apply +u_site_bg,w_1.0,h_1.0,fl_relative +vc_auto +vc_h264:baseline:3.1 +vs_40 +w_0.25,c_scale +w_0.4,a_20/l_cloudinary_icon,o_50,w_60,g_south_east,y_15,x_60 +w_0.4,a_20/l_cloudinary_icon_white,w_60,o_50,g_south_east,y_15,x_60 +w_0.5 +w_10/a_10 +w_100 +w_100,c_fill +w_100,h_100,c_fill +w_100,h_100,c_fill,dpr_2.0 +w_100,h_100,c_fill,dpr_2.0,g_face +w_100,h_100,c_pad,dpr_2.0 +w_100,h_150,c_fill +w_100,h_150,c_fill,g_faces +w_100,h_40,c_thumb,g_adv_eyes +w_100/a_-20 +w_100/a_90 +w_100/a_vflip/a_45 +w_100/dpr_1.0 +w_100/dpr_2.0 +w_100/dpr_3.0 +w_1000 +w_1000,dpr_2 +w_1000,f_auto,q_auto:best +w_115,h_135,c_thumb,g_faces +w_120 +w_123/a_45 +w_150,c_scale +w_150,e_art:al_dente +w_150,e_art:athena +w_150,e_art:audrey +w_150,e_art:aurora +w_150,e_art:daguerre +w_150,e_art:eucalyptus +w_150,e_art:fes +w_150,e_art:frost +w_150,e_art:hairspray +w_150,e_art:hokusai +w_150,e_art:incognito +w_150,e_art:linen +w_150,e_art:peacock +w_150,e_art:primavera +w_150,e_art:quartz +w_150,e_art:red_rock +w_150,e_art:refresh +w_150,e_art:sizzle +w_150,e_art:sonnet +w_150,e_art:ukulele +w_150,e_art:zorro +w_150,f_auto,q_auto,dpr_2 +w_150,h_100 +w_150,h_100,c_fill +w_150,h_100,c_fill,r_10:40:25 +w_150,h_100,c_fill,r_25 +w_150,h_100,c_fill,r_25:0 +w_150,h_100,c_fill,r_30:0:30:30 +w_150,h_100,c_scale +w_150,h_150,c_fill +w_150,h_150,c_fill,g_east +w_150,h_150,c_lfill +w_150,h_150,c_limit +w_150,h_150,c_lpad,b_green +w_150,h_150,c_pad,b_black +w_150,h_150,c_pad,b_pink +w_150,h_150,c_scale +w_150,h_150,c_thumb,g_auto +w_150,h_150,c_thumb,g_center +w_150,h_150,c_thumb,g_face +w_150,h_150,c_thumb,g_face,r_20,e_sepia/l_cloudinary_icon,g_south_east,x_5,y_5,w_50,o_60,e_brightness:100/a_10 +w_150,h_150,c_thumb,g_face/r_20/e_sepia/l_cloudinary_icon_blue,g_south_east,x_5,y_5,w_50,o_60,e_brightness:100/a_10 +w_150,h_200,c_lfill +w_150,h_60,c_fit +w_1520,h_1440,c_crop,g_west,x_50 +w_1520,h_1440,c_crop,g_west,x_50/e_pixelate_region:15,g_ocr_text +w_1520,h_1440,c_crop,g_west,x_50/h_283 +w_20,h_20,c_mfit +w_20,h_20,c_mpad +w_20,q_auto +w_200 +w_200,a_45 +w_200,a_45/d_avatar.png +w_200,c_scale/e_outline:20:200,co_red/e_outline:15:200,co_orange/e_outline:10:200,co_yellow +w_200,dpr_2.0 +w_200,f_auto,q_auto,dpr_2 +w_200,h_100 +w_200,h_150,c_crop +w_200,h_150,c_crop,g_north_west +w_200,h_200,c_crop,g_auto +w_200,h_200,c_crop,g_center +w_200,h_200,c_crop,r_max +w_200,h_200,c_fill +w_200,h_200,c_fill,g_auto +w_200,h_200,c_fill,g_center +w_200,h_200,c_fill,g_face +w_200,h_200,c_fill,g_faces +w_200,h_200,c_fill,g_faces/u_docs:iphone_template,h_300,a_90 +w_200,h_200,c_fill,r_max/a_30/e_trim +w_200,h_200,c_fill/e_style_transfer,l_sailing_angel +w_200,h_200,c_fit,a_hflip/l_cloudinary_icon,w_0.4,fl_relative,g_north,x_15,y_35,a_4,e_brightness:100,o_70 +w_200,h_200,c_fit,a_hflip/l_cloudinary_icon_white,w_0.4,fl_relative,g_north,x_15,y_35,a_4,e_brightness:100,o_70 +w_200,h_200,c_thumb,g_face +w_200,h_200,c_thumb,g_face,r_max +w_200,h_200,c_thumb,g_face,r_max,e_sharpen +w_200,h_200,c_thumb,g_face,r_max,l_face_left/fl_layer_apply,g_north_east +w_200,h_200,c_thumb,g_face/r_20,bo_5px_solid_black/l_cloudinary_icon,o_50,w_0.25,fl_relative,g_north_east,y_10,x_10 +w_200,h_200,c_thumb,g_face/r_20,bo_5px_solid_black/l_cloudinary_icon_white,o_50,w_0.25,fl_relative,g_north_east,y_10,x_10 +w_200,h_220,c_thumb,g_face/l_hexagon_feather_sample,fl_cutter +w_200,h_300,c_fill,g_auto +w_200,h_300,c_fill,g_center +w_200/dpr_1.0 +w_200/dpr_2.0 +w_200/dpr_3.0 +w_230,h_168,c_fit +w_25,h_150,c_fill,g_auto +w_25,h_150,c_fill_pad,g_auto,b_auto +w_250 +w_250,bo_1px_solid_gray +w_250,f_auto,q_auto,dpr_2 +w_250,fl_animated,f_auto +w_250,h_150,c_fill,r_max +w_250,h_250,c_fill +w_250,h_250,c_fill,g_east +w_250,h_250,c_fill,g_faces +w_250,h_250,c_fill,g_north +w_250,h_250,c_fill,g_south_east +w_250,h_250,c_fit +w_250,h_250,c_limit +w_250,h_250,c_lpad,b_black +w_250,h_250,c_mfit +w_250,h_250,c_mpad +w_250,h_250,c_pad,b_black +w_250,q_80 +w_250,q_auto:best +w_250,q_auto:eco +w_250,q_auto:good +w_250,q_auto:low +w_250,x_780,y_350,c_crop +w_250,x_780,y_350,c_crop/u_docs:transparent_grid,w_250,c_crop,o_50 +w_250,x_780,y_350,c_crop/w_1100 +w_250/u_docs:transparent_grid,w_1.0,h_1.0,fl_relative,c_crop,o_50 +w_250/u_docs:transparent_grid,w_250,c_crop,o_50 +w_260,h_200,c_crop,g_north +w_28,q_auto +w_28,q_auto,f_auto +w_28,q_auto,f_auto,dpr_2 +w_300 +w_300,c_fill,g_auto,ar_1:1 +w_300,c_scale,pg_2 +w_300,c_scale,pg_4,e_sepia,r_50,bo_2px_solid_rgb:999/l_aspose_cloud_logo,w_0.9,fl_relative,o_70,g_south,y_20 +w_300,e_accelerate:100 +w_300,e_grayscale +w_300,e_noise:50 +w_300,f_auto,q_auto,dpr_2 +w_300,f_auto,q_auto,dpr_2,bo_1px_solid_gray +w_300,fl_keep_iptc +w_300,fl_png8 +w_300,h_100,c_scale +w_300,h_200,c_crop +w_300,h_200,c_fill,dpr_auto +w_300,h_200,c_fill/l_video:dog,fl_splice,w_300,h_200,c_fill +w_300,h_200,c_fill/l_video:dog,fl_splice,w_300,h_200,c_fill,so_0 +w_300,h_200,du_5/l_video:dog,w_300,h_200/du_5/l_video:transition1,e_transition/fl_layer_apply/fl_layer_apply +w_300,h_200,du_5/l_video:dog,w_300,h_200/du_5/l_video:transition1,e_transition/fl_layer_apply/fl_layer_apply/l_video:snow_deer,w_300,h_200/du_5/l_video:transition2,e_transition/fl_layer_apply/fl_layer_apply/l_video:dog,fl_splice,w_300,h_200/du_5/fl_layer_apply +w_300,h_200/w_300,h_200,l_sample,fl_splice,du_3/so_0,fl_layer_apply +w_300,h_250,e_grayscale +w_300,h_300,c_fill,b_blue,r_max +w_300,h_300,c_fill,g_face,r_max,f_auto +w_300,h_300,c_fill,r_max,e_sharpen,so_30p/l_cloudinary_icon,w_0.9,fl_relative,o_40 +w_300,h_300,c_fill,r_max,e_sharpen,so_30p/l_cloudinary_icon_blue,w_0.9,fl_relative,o_40 +w_300,h_300,c_fill/l_cloudinary_icon,w_0.8,fl_relative,e_brightness:100,o_50 +w_300,h_300,c_fill/l_cloudinary_icon_white,w_0.8,fl_relative,e_brightness:100,o_50 +w_300,h_300,c_pad,b_blue +w_300,h_300,c_pad,b_green +w_300,h_350,c_fill,g_north +w_300,h_350,c_fill,g_north/ +w_300,h_80,c_thumb,g_adv_eyes +w_300,pg_2 +w_300,r_30 +w_300,r_max +w_300/c_fill,e_shadow,x_w_div_50,y_w_div_50 +w_300/l_video:dog,w_100,g_north_east,r_max +w_350 +w_350,bo_5px_solid_black/q_auto,dpr_auto +w_350,e_tint:100:red:blue:yellow +w_350,e_tint:20 +w_350,e_tint:equalize:80:red:50p:blue:60p:yellow:40p +w_350,f_auto +w_350,f_gif +w_350,h_200,x_230,y_20,c_crop +w_350,q_100 +w_350,q_80 +w_350,q_auto:best +w_350,q_auto:eco +w_350,q_auto:good +w_350,q_auto:low +w_350/q_auto,dpr_auto +w_400 +w_400,ar_1,c_thumb,g_auto:skateboard +w_400,ar_1,g_auto,c_fill_pad +w_400,ar_1,g_auto,c_fill_pad,so_1 +w_400,c_fill,ar_4:3 +w_400,f_png +w_400,fl_keep_iptc +w_400,h_150,c_lpad,b_green +w_400,h_250,c_fill,g_south/l_nice_couple,w_1.3,h_1.3,g_faces,c_crop,fl_region_relative/e_saturation:50/e_vignette/fl_layer_apply,w_100,r_max,g_center,y_20,x_-20/l_balloon,h_55/e_hue:-20,a_5/fl_layer_apply,x_30,y_5/l_text:Cookie_40_bold:Love,e_colorize,co_rgb:f08/a_20,fl_layer_apply,x_-45,y_44/c_crop,w_300,h_250,x_30/r_60 +w_400,h_300,c_pad +w_400,h_400,c_crop,g_face,r_max/w_200 +w_400,q_auto:best,vc_vp9 +w_450,bo_5px_solid_black/q_auto,dpr_auto +w_500 +w_500,ar_1,c_crop,g_auto:bottle +w_500,ar_1,c_crop,g_auto:bottle/h_150 +w_500,ar_1,c_crop,g_bottle +w_500,ar_1,c_crop,g_bottle/h_150 +w_500,ar_1,c_fill,g_auto:bottle +w_500,ar_1,c_fill,g_auto:bottle/h_150 +w_500,ar_1,c_fill,g_bottle +w_500,ar_1,c_fill,g_bottle/h_150 +w_500,ar_1,c_thumb,g_auto:bottle +w_500,ar_1,c_thumb,g_auto:bottle/h_150 +w_500,ar_1,c_thumb,g_bottle +w_500,ar_1,c_thumb,g_bottle/h_150 +w_500,ar_1.0,c_fill,g_auto +w_500,ar_1.0,c_fill,g_auto/h_300 +w_500,ar_1.0,c_fill,g_auto:person_avoid +w_500,ar_1.0,c_fill,g_auto:person_avoid/h_300 +w_500,ar_4:3 +w_500,bo_5px_solid_black +w_500,e_brightness:30 +w_500,e_contrast:50 +w_500,e_gamma:-20 +w_500,e_reverse +w_500,e_saturation:-50 +w_500,e_vignette:50 +w_500,e_volume:50 +w_500,f_auto +w_500,f_auto,q_auto,dpr_2/bo_1px_solid_gray +w_500,f_auto/fl_streaming_attachment:mydog +w_500,q_auto,f_auto +w_500,q_auto,f_auto,dpr_2 +w_500/e_brightness:70/l_woman,c_crop,g_face/w_150/e_saturation:50/e_shadow/fl_layer_apply +w_500/e_brightness:70/l_woman,c_crop,g_face/w_250/e_saturation:50/e_shadow,x_20,y_20,co_grey/fl_layer_apply +w_500/l_cloudinary_icon,g_north_east,o_50,w_200,e_anti_removal:90 +w_500/l_cloudinary_icon,o_50,w_100,e_brightness:100,fl_tiled +w_500/l_cloudinary_icon,w_150/e_blackwhite/fl_layer_apply,g_north_east +w_500/l_cloudinary_icon,w_150/e_blackwhite/l_cloudinary_icon,w_50/fl_layer_apply/fl_layer_apply,g_north_east +w_500/l_cloudinary_icon_blue,g_north_east,o_50,w_200,e_anti_removal:90 +w_500/l_cloudinary_icon_blue,w_150/e_blackwhite/fl_layer_apply,g_north_east +w_500/l_cloudinary_icon_blue,w_150/e_blackwhite/l_cloudinary_icon_blue,w_50/fl_layer_apply/fl_layer_apply,g_north_east +w_500/l_cloudinary_icon_white,o_50,w_100,e_brightness:100,fl_tiled +w_500/l_my_bg +w_500/l_my_icon +w_500/l_subtitles:Arial_40:sample_sub_he.srt +w_500/l_subtitles:sample_sub_he.srt +w_500/l_text:Arial_80:Flowers +w_500/l_text:Verdana_50_bold:Cool +w_500/l_text:Verdana_75_bold_underline_letter_spacing_14:Flowers +w_500/l_text:Verdana_75_bold_underline_stroke_letter_spacing_14_line_spacing_4:words,y_24 +w_500/l_text:verdana_12_bold_underline_left:words +w_500/l_text:verdana_12_bold_underline_left:words,y_23 +w_500/l_text:verdana_1:words +w_500/l_video:docs:bluescreen_watches,e_make_transparent:10,co_rgb:3d8d48,w_1.0,fl_relative/du_15 +w_500/l_video:docs:bluescreen_watches,e_make_transparent:20,co_rgb:0e80d8,w_0.6,fl_relative,g_north/du_15 +w_500/u_fetch:aW1hZ2UudXJs +w_500/u_my_bg +w_550,h_300,c_fit/f_auto,q_auto,dpr_2 +w_550,h_35,c_crop,g_north_west/bo_1px_solid_gray/dpr_auto +w_600 +w_600,ar_1,c_thumb,g_auto:microwave +w_600,ar_1,c_thumb,g_auto:microwave/h_150 +w_600,ar_1,c_thumb,g_auto:refrigerator +w_600,ar_1,c_thumb,g_auto:refrigerator/h_150 +w_600,ar_1,c_thumb,g_auto:sink +w_600,ar_1,c_thumb,g_auto:sink/h_150 +w_600,f_auto,q_auto,dpr_2 +w_600/q_100 +w_600/q_auto,f_auto,dpr_2/bo_1px_solid_gray +w_600/q_auto:low +w_600/w_570,h_43,c_crop,g_north_west/bo_1px_solid_gray +w_700,dpr_2/f_auto,q_auto +w_700,f_auto,q_auto,dpr_2/bo_1px_solid_gray +w_700,h_700,c_fill +w_700,h_700,c_fill/e_style_transfer,l_sailing_angel +w_700,h_700,c_fill/e_style_transfer:60,l_lighthouse/w_250 +w_700,h_700,c_fill/e_style_transfer:preserve_color,l_lighthouse/w_250 +w_700,h_700,c_fill/w_250 +w_700,q_auto,f_auto,dpr_2 +w_700,r_max/fl_region_relative,g_adv_eyes,l_harlequinmask,w_1.7 +w_700/dpr_auto/bo_1px_solid_gray +w_750,h_750,c_fill,g_faces +w_750,h_750,c_fill,g_faces/u_docs:iphone_template,h_300,a_90 +w_80,h_120,c_fill,g_face +w_80,h_400,c_fill,g_auto +w_80,h_400,c_fill_pad,g_auto,b_auto +w_800 +w_800,r_150 +w_800/bo_1px_solid_gray +w_850,dpr_2 +w_abc +w_auto +w_auto,c_scale +w_auto,dpr_auto,c_limit/g_north_east,y_5,x_5,co_white,l_text:Arial_18_bold:dpr_auto +w_auto,dpr_auto,c_limit/g_north_east,y_5,x_5,co_white,l_text:Arial_18_bold:dpr_auto,w_auto +w_auto,dpr_auto,c_scale +w_auto,f_auto,c_scale +w_auto,g_auto,c_fill +w_auto,q_auto,c_scale +w_iw_add_100_div_3 +x_355,y_410,w_300,h_200,c_crop +x_355,y_410,w_300,h_200,c_crop/w_130,h_100,c_fill +x_355,y_410,w_300,h_200,c_crop/w_130,h_100,c_fill/a_20/c_scale,w_0.5 +x_355,y_410,w_300,h_200,c_crop/w_130,h_100,c_fill/a_20/w_0.5 +x_355,y_410,w_300,h_200,c_crop/w_150,h_100,c_scale diff --git a/package.json b/package.json index d72b120e..556f6e3f 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "scripts": { "test": "npm run test:types && npm run build && jest --coverage --reporters default && npm run test:size", "test:size": "ts-node -O '{\"module\":\"CommonJS\"}' __TESTS_BUNDLE_SIZE__/bin/bin.ts", - "test:comp": "node ./scripts/updateCompliationTests.js && jest __TESTS__/compilation.test.ts --coverage", + "test:comp": "node ./scripts/updateCompliationTests.js && jest __TESTS__/compilationsOutput.test.ts --coverage", + "test:comp:service": "ts-node ./devTools/sanity/index.ts && jest __TESTS__/compilationsOutput.test.ts --coverage", "test:unit": "jest __TESTS__/unit --reporters default", "test:unit:watch": "jest __TESTS__/unit --watch --reporters default", "test:integration": "jest __TESTS__/integration", @@ -45,7 +46,7 @@ "bootstrap": "^3.3.7", "bundlewatch": "^0.2.6", "cheerio": "^0.22.0", - "clipboard": "^2.0.1", + "clipboard": "2.0.1", "cloudinary-core": "^2.11.4", "eslint": "^6.8.0", "extend": "^3.0.1", @@ -61,7 +62,7 @@ "handlebars-layouts": "^3.1.4", "jest": "^26.0.1", "jest-html-reporters": "^1.2.1", - "jquery": "^3.1.1", + "jquery": "3.1.1", "jsdoc": "^3.6.4", "jsdoc-plugin-typescript": "^2.0.5", "lunr": "^1.0.0", @@ -81,7 +82,9 @@ "tslib": "^2.0.0", "typedoc": "^0.17.8", "typescript": "^3.9.3", - "webpack": "^4.44.1" + "webpack": "^4.44.1", + "node-fetch": "^2.6.1", + "prettier": "^2.3.1" }, "dependencies": { "@types/lodash.clonedeep": "^4.5.6", diff --git a/src/qualifiers/gravity/compassGravity/CompassGravity.ts b/src/qualifiers/gravity/compassGravity/CompassGravity.ts index eafd4070..be7c7d39 100644 --- a/src/qualifiers/gravity/compassGravity/CompassGravity.ts +++ b/src/qualifiers/gravity/compassGravity/CompassGravity.ts @@ -7,6 +7,7 @@ import {CompassQualifier} from "../qualifiers/compass/CompassQualifier"; * @extends {Qualifiers.Gravity.GravityQualifier} */ class CompassGravity extends GravityQualifier { + private type:'gravity'; constructor(dir: CompassQualifier) { // Required due to https://github.com/microsoft/TypeScript/issues/13029 /* istanbul ignore next */