UNPKG

@c15t/nextjs

Version:

Developer-first CMP for Next.js: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization.

1 lines 3.21 kB
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};let external_vitest_namespaceObject=require("vitest"),external_headers_cjs_namespaceObject=require("./headers.cjs");for(var __webpack_i__ in(0,external_vitest_namespaceObject.describe)("extractRelevantHeaders",()=>{(0,external_vitest_namespaceObject.it)("should extract all relevant headers when present",()=>{let e=new Headers;e.set("cf-ipcountry","US"),e.set("x-vercel-ip-country","GB"),e.set("x-amz-cf-ipcountry","DE"),e.set("x-country-code","FR"),e.set("x-vercel-ip-country-region","CA-ON"),e.set("x-region-code","WEST"),e.set("accept-language","en-US,en;q=0.9"),e.set("user-agent","Mozilla/5.0");let t=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(e);(0,external_vitest_namespaceObject.expect)(t).toEqual({"cf-ipcountry":"US","x-vercel-ip-country":"GB","x-amz-cf-ipcountry":"DE","x-country-code":"FR","x-vercel-ip-country-region":"CA-ON","x-region-code":"WEST","accept-language":"en-US,en;q=0.9","user-agent":"Mozilla/5.0","x-c15t-country":"US","x-c15t-region":"CA-ON"})}),(0,external_vitest_namespaceObject.it)("should only extract headers that are present",()=>{let e=new Headers;e.set("cf-ipcountry","US"),e.set("user-agent","Mozilla/5.0");let t=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(e);(0,external_vitest_namespaceObject.expect)(t).toEqual({"cf-ipcountry":"US","user-agent":"Mozilla/5.0","x-c15t-country":"US"})}),(0,external_vitest_namespaceObject.it)("should return empty object when no relevant headers are present",()=>{let e=new Headers;e.set("irrelevant-header","some-value");let t=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(e);(0,external_vitest_namespaceObject.expect)(t).toEqual({})}),(0,external_vitest_namespaceObject.it)("should handle empty Headers object",()=>{let e=new Headers,t=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(e);(0,external_vitest_namespaceObject.expect)(t).toEqual({})}),(0,external_vitest_namespaceObject.it)("should add c15t headers when corresponding headers are present",()=>{let e=new Headers;e.set("cf-ipcountry","US"),e.set("x-vercel-ip-country","GB"),e.set("x-amz-cf-ipcountry","DE"),e.set("x-country-code","FR"),e.set("x-vercel-ip-country-region","CA-ON"),e.set("x-region-code","WEST");let t=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(e);(0,external_vitest_namespaceObject.expect)(t).toMatchObject({"x-c15t-country":"US","x-c15t-region":"CA-ON"});let a=new Headers;a.set("x-country-code","FR");let c=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(a);(0,external_vitest_namespaceObject.expect)(c).toMatchObject({"x-c15t-country":"FR"});let r=new Headers;r.set("x-region-code","WEST");let n=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(r);(0,external_vitest_namespaceObject.expect)(n).toMatchObject({"x-c15t-region":"WEST"})})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});