diff --git a/modules/cmpapi/src/encoder/base64/CompressedBase64UrlEncoder.ts b/modules/cmpapi/src/encoder/base64/CompressedBase64UrlEncoder.ts index 34bdc81..dc08c46 100644 --- a/modules/cmpapi/src/encoder/base64/CompressedBase64UrlEncoder.ts +++ b/modules/cmpapi/src/encoder/base64/CompressedBase64UrlEncoder.ts @@ -13,9 +13,6 @@ export class CompressedBase64UrlEncoder extends AbstractBase64UrlEncoder { // Overriden protected pad(bitString: string): string { - while (bitString.length % 8 > 0) { - bitString += "0"; - } while (bitString.length % 6 > 0) { bitString += "0"; } diff --git a/modules/cmpapi/test/GppModel.test.ts b/modules/cmpapi/test/GppModel.test.ts index c2406df..bce0a73 100644 --- a/modules/cmpapi/test/GppModel.test.ts +++ b/modules/cmpapi/test/GppModel.test.ts @@ -106,7 +106,7 @@ describe("manifest.GppModel", (): void => { let gppString = gppModel.encode(); expect(gppString).to.eql( - "DBACOdM~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA~BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAAA.YAAAAAAAAAA~1---~BAAAAAAAAABA.QA~BAAAAABA.QA~BAAAABA~BAAAAEA.QA~BAAAAAQA~BAAAAAEA.QA~BAAAAABA~BAAAAABA.QA~BAAAAAABAA.QA~BAAAAAQA.QA~BAAAAAABAA.QA~BAAAAAQA.QA~BAAAAAQA.QA~BAAAAABA.QA~BAAAAAAAQA.QA~BAAAAAQA.QA" + "DBACOdM~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA~BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAA.YAAAAAAAAA~1---~BAAAAAAAAABA.Q~BAAAAABA.Q~BAAAABA~BAAAAEA.Q~BAAAAAQ~BAAAAAEA.Q~BAAAAABA~BAAAAABA.Q~BAAAAAABA.Q~BAAAAAQ.Q~BAAAAAABA.Q~BAAAAAQ.Q~BAAAAAQ.Q~BAAAAABA.Q~BAAAAAAAQ.Q~BAAAAAQ.Q" ); }); @@ -126,7 +126,7 @@ describe("manifest.GppModel", (): void => { expect(gppModel.hasSection("tcfcav1")).to.eql(false); let gppString = gppModel.encode(); - expect(gppString).to.eql("DBABTA~1YNN"); + expect(gppString).to.eql("DBABT~1YNN"); expect(gppModel.getSectionIds()).to.eql([6]); expect(gppModel.hasSection("uspv1")).to.eql(true); @@ -158,7 +158,7 @@ describe("manifest.GppModel", (): void => { expect(gppModel.hasSection("tcfcav1")).to.eql(false); let gppString = gppModel.encode(); - expect(gppString).to.eql("DBABMA~CPSG_8APSG_8ANwAAAENAwCAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA"); + expect(gppString).to.eql("DBABM~CPSG_8APSG_8ANwAAAENAwCAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA"); expect(gppString.split("~").length).to.eql(2); @@ -201,7 +201,7 @@ describe("manifest.GppModel", (): void => { expect(gppModel.hasSection("tcfcav1")).to.eql(false); let gppString = gppModel.encode(); - expect(gppString).to.eql("DBACNYA~CPSG_8APSG_8ANwAAAENAwCAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA~1YNN"); + expect(gppString).to.eql("DBACNY~CPSG_8APSG_8ANwAAAENAwCAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA~1YNN"); expect(gppString.split("~").length).to.eql(3); @@ -385,7 +385,7 @@ describe("manifest.GppModel", (): void => { let gppString = gppModel.encode(); expect(gppString).to.eql( - "DBACOeA~CPSG_8APSG_8ANwAAAENAwCAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA~BPSG_8APSG_8AAyACAENGdCgf_gfgAfgfgBgABABAAABAB4AACACAAA.fHHHA4444ao~1YNN" + "DBACOe~CPSG_8APSG_8ANwAAAENAwCAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA~BPSG_8APSG_8AAyACAENGdCgf_gfgAfgfgBgABABAAABAB4AACACAA.fHHHA4444ao~1YNN" ); expect(gppString.split("~").length).to.eql(4); @@ -402,7 +402,7 @@ describe("manifest.GppModel", (): void => { it("should decode defaults from all sections", (): void => { let gppString = - "DBACOdM~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA~BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAAA.YAAAAAAAAAA~1---~BAAAAAAAAABA.QA~BAAAAABA.QA~BAAAABA~BAAAAEA.QA~BAAAAAQA~BAAAAAEA.QA~BAAAAABA~BAAAAABA.QA~BAAAAAABAA.QA~BAAAAAQA.QA~BAAAAAABAA.QA~BAAAAAQA.QA~BAAAAAQA.QA~BAAAAABA.QA~BAAAAAAAQA.QA~BAAAAAQA.QA"; + "DBACOdM~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA~BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAA.YAAAAAAAAA~1---~BAAAAAAAAABA.Q~BAAAAABA.Q~BAAAABA~BAAAAEA.Q~BAAAAAQ~BAAAAAEA.Q~BAAAAABA~BAAAAABA.Q~BAAAAAABA.Q~BAAAAAQ.Q~BAAAAAABA.Q~BAAAAAQ.Q~BAAAAAQ.Q~BAAAAABA.Q~BAAAAAAAQ.Q~BAAAAAQ.Q"; let gppModel = new GppModel(gppString); expect(gppModel.hasSection("tcfeuv2")).to.eql(true); @@ -427,7 +427,7 @@ describe("manifest.GppModel", (): void => { }); it("should decode uspv1 section", (): void => { - let gppString = "DBABTA~1YNN"; + let gppString = "DBABT~1YNN"; let gppModel = new GppModel(gppString); expect(gppModel.getSectionIds()).to.eql([6]); @@ -441,7 +441,7 @@ describe("manifest.GppModel", (): void => { }); it("should decode tcfeuv2 sections", (): void => { - let gppString = "DBABMA~CPSG_8APSG_8ANwAAAENAwCAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA"; + let gppString = "DBABM~CPSG_8APSG_8ANwAAAENAwCAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA"; let gppModel = new GppModel(gppString); expect(gppModel.getSectionIds()).to.eql([2]); @@ -465,7 +465,7 @@ describe("manifest.GppModel", (): void => { }); it("should decode uspv1 and tcfeuv2 sections", (): void => { - let gppString = "DBACNYA~CPSG_8APSG_8ANwAAAENAwCAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA~1YNN"; + let gppString = "DBACNY~CPSG_8APSG_8ANwAAAENAwCAAAAAAAAAAAAAAAAAAAAA.QAAA.IAAA~1YNN"; let gppModel = new GppModel(gppString); expect(gppModel.getSectionIds()).to.eql([2, 6]); @@ -665,7 +665,7 @@ describe("manifest.GppModel", (): void => { gppModel.setFieldValue("tcfeuv2", "LastUpdated", utcDateTime); let gppString = gppModel.encode(); - expect(gppString).to.eql("DBABMA~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAOAAAABAAAAA.QAAA.IAAA"); + expect(gppString).to.eql("DBABM~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAOAAAABAAAAA.QAAA.IAAA"); }); it("should encode tcfeuv2 vendor consents [29]", (): void => { @@ -675,7 +675,7 @@ describe("manifest.GppModel", (): void => { gppModel.setFieldValue("tcfeuv2", "LastUpdated", utcDateTime); let gppString = gppModel.encode(); - expect(gppString).to.eql("DBABMA~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAOwAQAOgAAAA.QAAA.IAAA"); + expect(gppString).to.eql("DBABM~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAOwAQAOgAAAA.QAAA.IAAA"); }); it("should encode tcfeuv2 vendor consents [1, 173, 722]", (): void => { @@ -685,25 +685,25 @@ describe("manifest.GppModel", (): void => { gppModel.setFieldValue("tcfeuv2", "LastUpdated", utcDateTime); let gppString = gppModel.encode(); - expect(gppString).to.eql("DBABMA~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAFpQAwAAgCtAWkAAAAAAA.QAAA.IAAA"); + expect(gppString).to.eql("DBABM~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAFpQAwAAgCtAWkAAAAAAA.QAAA.IAAA"); }); it("should decode tcfeuv2 vendor consents [28]", (): void => { - let gppString = "DBABMA~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAOAAAABAAAAA.QAAA.IAAA"; + let gppString = "DBABM~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAOAAAABAAAAA.QAAA.IAAA"; let gppModel = new GppModel(gppString); expect(gppModel.getFieldValue("tcfeuv2", "VendorConsents")).to.eql([28]); }); it("should decode tcfeuv2 vendor consents [29]", (): void => { - let gppString = "DBABMA~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAOwAQAOgAAAA.QAAA.IAAA"; + let gppString = "DBABM~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAOwAQAOgAAAA.QAAA.IAAA"; let gppModel = new GppModel(gppString); expect(gppModel.getFieldValue("tcfeuv2", "VendorConsents")).to.eql([29]); }); it("should decode tcfeuv2 vendor consents [1, 173, 722]", (): void => { - let gppString = "DBABMA~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAFpQAwAAgCtAWkAAAAAAA.QAAA.IAAA"; + let gppString = "DBABM~CPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAFpQAwAAgCtAWkAAAAAAA.QAAA.IAAA"; let gppModel = new GppModel(gppString); expect(gppModel.getFieldValue("tcfeuv2", "VendorConsents")).to.eql([1, 173, 722]); @@ -816,7 +816,7 @@ describe("manifest.GppModel", (): void => { expect(gppModel.encode()).to.eq("DBAA"); gppModel.setFieldValue("uspv1", UspV1Field.NOTICE, "Y"); - expect(gppModel.encode()).to.eq("DBABTA~1Y--"); + expect(gppModel.encode()).to.eq("DBABT~1Y--"); }); it("should handle empty string constructor", (): void => { @@ -824,7 +824,7 @@ describe("manifest.GppModel", (): void => { expect(gppModel.encode()).to.eq("DBAA"); gppModel.setFieldValue("uspv1", UspV1Field.NOTICE, "Y"); - expect(gppModel.encode()).to.eq("DBABTA~1Y--"); + expect(gppModel.encode()).to.eq("DBABT~1Y--"); }); it("should decode null", (): void => { @@ -835,7 +835,7 @@ describe("manifest.GppModel", (): void => { expect(gppModel.encode()).to.eq("DBAA"); gppModel.setFieldValue("uspv1", UspV1Field.NOTICE, "Y"); - expect(gppModel.encode()).to.eq("DBABTA~1Y--"); + expect(gppModel.encode()).to.eq("DBABT~1Y--"); }); it("should decode empty string", (): void => { @@ -846,7 +846,7 @@ describe("manifest.GppModel", (): void => { expect(gppModel.encode()).to.eq("DBAA"); gppModel.setFieldValue("uspv1", UspV1Field.NOTICE, "Y"); - expect(gppModel.encode()).to.eq("DBABTA~1Y--"); + expect(gppModel.encode()).to.eq("DBABT~1Y--"); }); it("should fail to decode missing sections", (): void => { diff --git a/modules/cmpapi/test/encoder/section/HeaderV1.test.ts b/modules/cmpapi/test/encoder/section/HeaderV1.test.ts index 76e6688..a114871 100644 --- a/modules/cmpapi/test/encoder/section/HeaderV1.test.ts +++ b/modules/cmpapi/test/encoder/section/HeaderV1.test.ts @@ -8,16 +8,16 @@ describe("manifest.section.HeaderV1", (): void => { expect(headerV1.encode()).to.eql("DBAA"); }); - it("should encode section ids [2] to DBABMA", (): void => { + it("should encode section ids [2] to DBABM", (): void => { let headerV1 = new HeaderV1(); headerV1.setFieldValue("SectionIds", [2]); - expect(headerV1.encode()).to.eql("DBABMA"); + expect(headerV1.encode()).to.eql("DBABM"); }); - it("should encode section ids [2,6] to DBACNYA", (): void => { + it("should encode section ids [2,6] to DBACNY", (): void => { let headerV1 = new HeaderV1(); headerV1.setFieldValue("SectionIds", [2, 6]); - expect(headerV1.encode()).to.eql("DBACNYA"); + expect(headerV1.encode()).to.eql("DBACNY"); }); it("should decode DBAA to section ids []", (): void => { @@ -25,11 +25,21 @@ describe("manifest.section.HeaderV1", (): void => { expect(headerV1.getFieldValue("SectionIds")).to.eql([]); }); + it("should decode DBABM to section ids [2]", (): void => { + let headerV1 = new HeaderV1("DBABM"); + expect(headerV1.getFieldValue("SectionIds")).to.eql([2]); + }); + it("should decode DBABMA to section ids [2]", (): void => { let headerV1 = new HeaderV1("DBABMA"); expect(headerV1.getFieldValue("SectionIds")).to.eql([2]); }); + it("should decode DBACNY to section ids [2, 6]", (): void => { + let headerV1 = new HeaderV1("DBACNY"); + expect(headerV1.getFieldValue("SectionIds")).to.eql([2, 6]); + }); + it("should decode DBACNYA to section ids [2, 6]", (): void => { let headerV1 = new HeaderV1("DBACNYA"); expect(headerV1.getFieldValue("SectionIds")).to.eql([2, 6]); diff --git a/modules/cmpapi/test/encoder/section/TcfCaV1.test.ts b/modules/cmpapi/test/encoder/section/TcfCaV1.test.ts index 3af2e4a..4e7a455 100644 --- a/modules/cmpapi/test/encoder/section/TcfCaV1.test.ts +++ b/modules/cmpapi/test/encoder/section/TcfCaV1.test.ts @@ -4,14 +4,14 @@ import { TcfCaV1 } from "../../../src/encoder/section/TcfCaV1"; import { RangeEntry } from "../../../src/encoder/datatype"; describe("manifest.section.TcfCaV1", (): void => { - it("BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAAA.YAAAAAAAAAA", (): void => { + it("BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAA.YAAAAAAAAA", (): void => { let tcfCaV1 = new TcfCaV1(); tcfCaV1.setFieldValue(TcfCaV1Field.CREATED, new Date("2022-01-01T00:00:00Z")); tcfCaV1.setFieldValue(TcfCaV1Field.LAST_UPDATED, new Date("2022-01-01T00:00:00Z")); - expect(tcfCaV1.encode()).to.eql("BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAAA.YAAAAAAAAAA"); + expect(tcfCaV1.encode()).to.eql("BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAA.YAAAAAAAAA"); }); - it("should encode to BPSG_8APSG_8AAyACAENGdCgf_gfgAfgfgBgABABAAABAB4AACACAAA.fHHHA4444ao", (): void => { + it("should encode to BPSG_8APSG_8AAyACAENGdCgf_gfgAfgfgBgABABAAABAB4AACACAA.fHHHA4444ao", (): void => { let tcfCaV1 = new TcfCaV1(); tcfCaV1.setFieldValue(TcfCaV1Field.CMP_ID, 50); @@ -145,27 +145,27 @@ describe("manifest.section.TcfCaV1", (): void => { tcfCaV1.setFieldValue(TcfCaV1Field.CREATED, new Date("2022-01-01T00:00:00Z")); tcfCaV1.setFieldValue(TcfCaV1Field.LAST_UPDATED, new Date("2022-01-01T00:00:00Z")); - expect(tcfCaV1.encode()).to.eql("BPSG_8APSG_8AAyACAENGdCgf_gfgAfgfgBgABABAAABAB4AACACAAA.fHHHA4444ao"); + expect(tcfCaV1.encode()).to.eql("BPSG_8APSG_8AAyACAENGdCgf_gfgAfgfgBgABABAAABAB4AACACAA.fHHHA4444ao"); }); - it("should encode to BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAAA.YAAAAAAAAAA.IAGO5wAA", (): void => { + it("should encode to BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAA.YAAAAAAAAA.IAGO5wAA", (): void => { let tcfCaV1 = new TcfCaV1(); tcfCaV1.setFieldValue(TcfCaV1Field.DISCLOSED_VENDORS, [1, 2, 3, 5, 6, 7, 10, 11, 12]); tcfCaV1.setFieldValue(TcfCaV1Field.CREATED, new Date("2022-01-01T00:00:00Z")); tcfCaV1.setFieldValue(TcfCaV1Field.LAST_UPDATED, new Date("2022-01-01T00:00:00Z")); - expect(tcfCaV1.encode()).to.eql("BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAAA.YAAAAAAAAAA.IAGO5wAA"); + expect(tcfCaV1.encode()).to.eql("BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAA.YAAAAAAAAA.IAGO5wAA"); }); - it("should encode to BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAACCgBwABAAOAAoADgAJA.YAAAAAAAAAA", (): void => { + it("should encode to BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAACCgBwABAAOAAoADgAJ.YAAAAAAAAA", (): void => { let tcfCaV1 = new TcfCaV1(); tcfCaV1.setFieldValue(TcfCaV1Field.PUB_RESTRICTIONS, [new RangeEntry(1, 1, [1, 2, 3, 5, 6, 7, 9])]); tcfCaV1.setFieldValue(TcfCaV1Field.CREATED, new Date("2022-01-01T00:00:00Z")); tcfCaV1.setFieldValue(TcfCaV1Field.LAST_UPDATED, new Date("2022-01-01T00:00:00Z")); - expect(tcfCaV1.encode()).to.eql("BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAACCgBwABAAOAAoADgAJA.YAAAAAAAAAA"); + expect(tcfCaV1.encode()).to.eql("BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAACCgBwABAAOAAoADgAJ.YAAAAAAAAA"); }); - it("should decode BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAAA.YAAAAAAAAAA", (): void => { - let tcfCaV1 = new TcfCaV1("BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAAA.YAAAAAAAAAA"); + it("should decode BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAA.YAAAAAAAAA", (): void => { + let tcfCaV1 = new TcfCaV1("BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAAA.YAAAAAAAAA"); expect(tcfCaV1.getFieldValue(TcfCaV1Field.CMP_ID)).to.eql(0); expect(tcfCaV1.getFieldValue(TcfCaV1Field.CMP_VERSION)).to.eql(0); @@ -301,8 +301,8 @@ describe("manifest.section.TcfCaV1", (): void => { expect(tcfCaV1.getFieldValue(TcfCaV1Field.PUB_PURPOSES_SEGMENT_TYPE)).to.eql(3); }); - it("should decode BPSG_8APSG_8AAyACAENGdCgf_gfgAfgfgBgABABAAABAB4AACACAAA.fHHHA4444ao", (): void => { - let tcfCaV1 = new TcfCaV1("BPSG_8APSG_8AAyACAENGdCgf_gfgAfgfgBgABABAAABAB4AACACAAA.fHHHA4444ao"); + it("should decode BPSG_8APSG_8AAyACAENGdCgf_gfgAfgfgBgABABAAABAB4AACACAA.fHHHA4444ao", (): void => { + let tcfCaV1 = new TcfCaV1("BPSG_8APSG_8AAyACAENGdCgf_gfgAfgfgBgABABAAABAB4AACACAA.fHHHA4444ao"); expect(tcfCaV1.getFieldValue(TcfCaV1Field.CMP_ID)).to.eql(50); expect(tcfCaV1.getFieldValue(TcfCaV1Field.CMP_VERSION)).to.eql(2); @@ -438,8 +438,8 @@ describe("manifest.section.TcfCaV1", (): void => { expect(tcfCaV1.getFieldValue(TcfCaV1Field.PUB_PURPOSES_SEGMENT_TYPE)).to.eql(3); }); - it("should decode BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAACCgBwABAAOAAoADgAJA.YAAAAAAAAAA", (): void => { - let tcfCaV1 = new TcfCaV1("BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAACCgBwABAAOAAoADgAJA.YAAAAAAAAAA"); + it("should decode BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAACCgBwABAAOAAoADgAJ.YAAAAAAAAA", (): void => { + let tcfCaV1 = new TcfCaV1("BPSG_8APSG_8AAAAAAENAACAAAAAAAAAAAAAAAAACCgBwABAAOAAoADgAJ.YAAAAAAAAA"); expect(tcfCaV1.getFieldValue(TcfCaV1Field.PUB_RESTRICTIONS).length).to.eql(1); expect(tcfCaV1.getFieldValue(TcfCaV1Field.PUB_RESTRICTIONS)[0].key).to.eql(1); diff --git a/modules/cmpapi/test/encoder/section/UsCa.test.ts b/modules/cmpapi/test/encoder/section/UsCa.test.ts index 1af0f67..0a32cf4 100644 --- a/modules/cmpapi/test/encoder/section/UsCa.test.ts +++ b/modules/cmpapi/test/encoder/section/UsCa.test.ts @@ -3,12 +3,12 @@ import { UsCaField } from "../../../src/encoder/field/UsCaField"; import { UsCa } from "../../../src/encoder/section/UsCa"; describe("manifest.section.UsCa", (): void => { - it("should encode default to BAAAAABA.QA", (): void => { + it("should encode default to BAAAAABA.Q", (): void => { let usCa = new UsCa(); - expect(usCa.encode()).to.eql("BAAAAABA.QA"); + expect(usCa.encode()).to.eql("BAAAAABA.Q"); }); - it("should encode to BVWSSSVY.YA", (): void => { + it("should encode to BVWSSSVY.Y", (): void => { let usCa = new UsCa(); usCa.setFieldValue(UsCaField.SALE_OPT_OUT_NOTICE, 1); @@ -24,7 +24,7 @@ describe("manifest.section.UsCa", (): void => { usCa.setFieldValue(UsCaField.MSPA_SERVICE_PROVIDER_MODE, 2); usCa.setFieldValue(UsCaField.GPC, true); - expect(usCa.encode()).to.eql("BVWSSSVY.YA"); + expect(usCa.encode()).to.eql("BVWSSSVY.Y"); }); it("should encode to BAAAAABA", (): void => { @@ -81,6 +81,24 @@ describe("manifest.section.UsCa", (): void => { }).to.throw(); }); + it("should decode BVWSSSVY.Y", (): void => { + let usCa = new UsCa("BVWSSSVY.Y"); + + expect(1, usCa.getFieldValue(UsCaField.SALE_OPT_OUT_NOTICE)); + expect(1, usCa.getFieldValue(UsCaField.SHARING_OPT_OUT_NOTICE)); + expect(1, usCa.getFieldValue(UsCaField.SENSITIVE_DATA_LIMIT_USE_NOTICE)); + expect(1, usCa.getFieldValue(UsCaField.SALE_OPT_OUT)); + expect(1, usCa.getFieldValue(UsCaField.SHARING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2, 1, 0], usCa.getFieldValue(UsCaField.SENSITIVE_DATA_PROCESSING)); + expect([2, 1], usCa.getFieldValue(UsCaField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usCa.getFieldValue(UsCaField.PERSONAL_DATA_CONSENTS)); + expect(1, usCa.getFieldValue(UsCaField.MSPA_COVERED_TRANSACTION)); + expect(1, usCa.getFieldValue(UsCaField.MSPA_OPT_OUT_OPTION_MODE)); + expect(2, usCa.getFieldValue(UsCaField.MSPA_SERVICE_PROVIDER_MODE)); + expect(true, usCa.getFieldValue(UsCaField.GPC)); + expect(true, usCa.getFieldValue(UsCaField.GPC_SEGMENT_INCLUDED)); + }); + it("should decode BVWSSSVY.YA", (): void => { let usCa = new UsCa("BVWSSSVY.YA"); @@ -99,8 +117,8 @@ describe("manifest.section.UsCa", (): void => { expect(true, usCa.getFieldValue(UsCaField.GPC_SEGMENT_INCLUDED)); }); - it("should decode BAAAAAAA", (): void => { - let usCa = new UsCa("BbYbGwXY.YA"); + it("should decode BbYbGwXY.Y", (): void => { + let usCa = new UsCa("BbYbGwXY.Y"); expect(1, usCa.getFieldValue(UsCaField.SALE_OPT_OUT_NOTICE)); expect(2, usCa.getFieldValue(UsCaField.SHARING_OPT_OUT_NOTICE)); diff --git a/modules/cmpapi/test/encoder/section/UsCo.test.ts b/modules/cmpapi/test/encoder/section/UsCo.test.ts index a49012a..afabe29 100644 --- a/modules/cmpapi/test/encoder/section/UsCo.test.ts +++ b/modules/cmpapi/test/encoder/section/UsCo.test.ts @@ -3,12 +3,12 @@ import { UsCoField } from "../../../src/encoder/field/UsCoField"; import { UsCo } from "../../../src/encoder/section/UsCo"; describe("manifest.section.UsCo", (): void => { - it("should encode default to BAAAAEA.QA", (): void => { + it("should encode default to BAAAAEA.Q", (): void => { let usCo = new UsCo(); - expect(usCo.encode()).to.eql("BAAAAEA.QA"); + expect(usCo.encode()).to.eql("BAAAAEA.Q"); }); - it("should encode to BVWSSVg.YA", (): void => { + it("should encode to BVWSSVg.Y", (): void => { let usCo = new UsCo(); usCo.setFieldValue(UsCoField.SHARING_NOTICE, 1); @@ -23,7 +23,7 @@ describe("manifest.section.UsCo", (): void => { usCo.setFieldValue(UsCoField.MSPA_SERVICE_PROVIDER_MODE, 2); usCo.setFieldValue(UsCoField.GPC, true); - expect(usCo.encode()).to.eql("BVWSSVg.YA"); + expect(usCo.encode()).to.eql("BVWSSVg.Y"); }); it("should encode default to BAAAAEA", (): void => { @@ -76,6 +76,23 @@ describe("manifest.section.UsCo", (): void => { }).to.throw(); }); + it("should decode BVWSSVg.Y", (): void => { + let usCo = new UsCo("BVWSSVg.Y"); + + expect(1, usCo.getFieldValue(UsCoField.SHARING_NOTICE)); + expect(1, usCo.getFieldValue(UsCoField.SALE_OPT_OUT_NOTICE)); + expect(1, usCo.getFieldValue(UsCoField.TARGETED_ADVERTISING_OPT_OUT_NOTICE)); + expect(1, usCo.getFieldValue(UsCoField.SALE_OPT_OUT)); + expect(1, usCo.getFieldValue(UsCoField.TARGETED_ADVERTISING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2], usCo.getFieldValue(UsCoField.SENSITIVE_DATA_PROCESSING)); + expect(1, usCo.getFieldValue(UsCoField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usCo.getFieldValue(UsCoField.MSPA_COVERED_TRANSACTION)); + expect(1, usCo.getFieldValue(UsCoField.MSPA_OPT_OUT_OPTION_MODE)); + expect(2, usCo.getFieldValue(UsCoField.MSPA_SERVICE_PROVIDER_MODE)); + expect(true, usCo.getFieldValue(UsCoField.GPC)); + expect(true, usCo.getFieldValue(UsCoField.GPC_SEGMENT_INCLUDED)); + }); + it("should decode BVWSSVg.YA", (): void => { let usCo = new UsCo("BVWSSVg.YA"); diff --git a/modules/cmpapi/test/encoder/section/UsCt.test.ts b/modules/cmpapi/test/encoder/section/UsCt.test.ts index 35fb7a7..26f5588 100644 --- a/modules/cmpapi/test/encoder/section/UsCt.test.ts +++ b/modules/cmpapi/test/encoder/section/UsCt.test.ts @@ -3,12 +3,12 @@ import { UsCtField } from "../../../src/encoder/field/UsCtField"; import { UsCt } from "../../../src/encoder/section/UsCt"; describe("manifest.section.UsCt", (): void => { - it("should encode default to BAAAAAEA.QA", (): void => { + it("should encode default to BAAAAAEA.Q", (): void => { let usCt = new UsCt(); - expect(usCt.encode()).to.eql("BAAAAAEA.QA"); + expect(usCt.encode()).to.eql("BAAAAAEA.Q"); }); - it("should encode to BVWSSZFg.YA", (): void => { + it("should encode to BVWSSZFg.Y", (): void => { let usCt = new UsCt(); usCt.setFieldValue(UsCtField.SHARING_NOTICE, 1); @@ -23,7 +23,7 @@ describe("manifest.section.UsCt", (): void => { usCt.setFieldValue(UsCtField.MSPA_SERVICE_PROVIDER_MODE, 2); usCt.setFieldValue(UsCtField.GPC, true); - expect(usCt.encode()).to.eql("BVWSSZFg.YA"); + expect(usCt.encode()).to.eql("BVWSSZFg.Y"); }); it("should encode default to BAAAAAEA", (): void => { @@ -76,6 +76,23 @@ describe("manifest.section.UsCt", (): void => { }).to.throw(); }); + it("should decode BVWSSZFg.Y", (): void => { + let usCt = new UsCt("BVWSSZFg.Y"); + + expect(1, usCt.getFieldValue(UsCtField.SHARING_NOTICE)); + expect(1, usCt.getFieldValue(UsCtField.SALE_OPT_OUT_NOTICE)); + expect(1, usCt.getFieldValue(UsCtField.TARGETED_ADVERTISING_OPT_OUT_NOTICE)); + expect(1, usCt.getFieldValue(UsCtField.SALE_OPT_OUT)); + expect(1, usCt.getFieldValue(UsCtField.TARGETED_ADVERTISING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2, 1], usCt.getFieldValue(UsCtField.SENSITIVE_DATA_PROCESSING)); + expect([2, 1, 0], usCt.getFieldValue(UsCtField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usCt.getFieldValue(UsCtField.MSPA_COVERED_TRANSACTION)); + expect(1, usCt.getFieldValue(UsCtField.MSPA_OPT_OUT_OPTION_MODE)); + expect(2, usCt.getFieldValue(UsCtField.MSPA_SERVICE_PROVIDER_MODE)); + expect(true, usCt.getFieldValue(UsCtField.GPC)); + expect(true, usCt.getFieldValue(UsCtField.GPC_SEGMENT_INCLUDED)); + }); + it("should decode BVWSSZFg.YA", (): void => { let usCt = new UsCt("BVWSSZFg.YA"); diff --git a/modules/cmpapi/test/encoder/section/UsDe.test.ts b/modules/cmpapi/test/encoder/section/UsDe.test.ts index cc18791..6fdb645 100644 --- a/modules/cmpapi/test/encoder/section/UsDe.test.ts +++ b/modules/cmpapi/test/encoder/section/UsDe.test.ts @@ -3,12 +3,12 @@ import { UsDeField } from "../../../src/encoder/field/UsDeField"; import { UsDe } from "../../../src/encoder/section/UsDe"; describe("manifest.section.UsDe", (): void => { - it("should encode default to BAAAAAABAA.QA", (): void => { + it("should encode default to BAAAAAABA.Q", (): void => { let usDe = new UsDe(); - expect(usDe.encode()).to.eql("BAAAAAABAA.QA"); + expect(usDe.encode()).to.eql("BAAAAAABA.Q"); }); - it("should encode to BVWSSSSVYA.YA", (): void => { + it("should encode to BVWSSSSVY.Y", (): void => { let usDe = new UsDe(); usDe.setFieldValue(UsDeField.PROCESSING_NOTICE, 1); @@ -24,13 +24,13 @@ describe("manifest.section.UsDe", (): void => { usDe.setFieldValue(UsDeField.MSPA_SERVICE_PROVIDER_MODE, 2); usDe.setFieldValue(UsDeField.GPC, true); - expect(usDe.encode()).to.eql("BVWSSSSVYA.YA"); + expect(usDe.encode()).to.eql("BVWSSSSVY.Y"); }); - it("should encode default to BAAAAAABAA", (): void => { + it("should encode default to BAAAAAABA", (): void => { let usDe = new UsDe(); usDe.setFieldValue(UsDeField.GPC_SEGMENT_INCLUDED, false); - expect(usDe.encode()).to.eql("BAAAAAABAA"); + expect(usDe.encode()).to.eql("BAAAAAABA"); }); it("should throw an error if invalid values are set", (): void => { @@ -81,6 +81,24 @@ describe("manifest.section.UsDe", (): void => { }).to.throw(); }); + it("should decode BVWSSSSVY.Y", (): void => { + let usDe = new UsDe("BVWSSSSVY.Y"); + + expect(1, usDe.getFieldValue(UsDeField.PROCESSING_NOTICE)); + expect(1, usDe.getFieldValue(UsDeField.SALE_OPT_OUT_NOTICE)); + expect(1, usDe.getFieldValue(UsDeField.TARGETED_ADVERTISING_OPT_OUT_NOTICE)); + expect(1, usDe.getFieldValue(UsDeField.SALE_OPT_OUT)); + expect(1, usDe.getFieldValue(UsDeField.TARGETED_ADVERTISING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2, 1, 0], usDe.getFieldValue(UsDeField.SENSITIVE_DATA_PROCESSING)); + expect([2, 1, 0, 2, 1], usDe.getFieldValue(UsDeField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usDe.getFieldValue(UsDeField.ADDITIONAL_DATA_PROCESSING_CONSENT)); + expect(1, usDe.getFieldValue(UsDeField.MSPA_COVERED_TRANSACTION)); + expect(1, usDe.getFieldValue(UsDeField.MSPA_OPT_OUT_OPTION_MODE)); + expect(2, usDe.getFieldValue(UsDeField.MSPA_SERVICE_PROVIDER_MODE)); + expect(true, usDe.getFieldValue(UsDeField.GPC)); + expect(true, usDe.getFieldValue(UsDeField.GPC_SEGMENT_INCLUDED)); + }); + it("should decode BVWSSSSVYA.YA", (): void => { let usDe = new UsDe("BVWSSSSVYA.YA"); @@ -99,8 +117,8 @@ describe("manifest.section.UsDe", (): void => { expect(true, usDe.getFieldValue(UsDeField.GPC_SEGMENT_INCLUDED)); }); - it("should decode BVWSSSSVYA", (): void => { - let usDe = new UsDe("BVWSSSSVYA"); + it("should decode BVWSSSSVY", (): void => { + let usDe = new UsDe("BVWSSSSVY"); expect(1, usDe.getFieldValue(UsDeField.PROCESSING_NOTICE)); expect(1, usDe.getFieldValue(UsDeField.SALE_OPT_OUT_NOTICE)); diff --git a/modules/cmpapi/test/encoder/section/UsIa.test.ts b/modules/cmpapi/test/encoder/section/UsIa.test.ts index 85ac66b..ef055e7 100644 --- a/modules/cmpapi/test/encoder/section/UsIa.test.ts +++ b/modules/cmpapi/test/encoder/section/UsIa.test.ts @@ -3,12 +3,12 @@ import { UsIaField } from "../../../src/encoder/field/UsIaField"; import { UsIa } from "../../../src/encoder/section/UsIa"; describe("manifest.section.UsIa", (): void => { - it("should encode default to BAAAAAQA.QA", (): void => { + it("should encode default to BAAAAAQ.Q", (): void => { let usIa = new UsIa(); - expect(usIa.encode()).to.eql("BAAAAAQA.QA"); + expect(usIa.encode()).to.eql("BAAAAAQ.Q"); }); - it("should encode to BVVkklWA.YA", (): void => { + it("should encode to BVVkklW.Y", (): void => { let usIa = new UsIa(); usIa.setFieldValue(UsIaField.PROCESSING_NOTICE, 1); @@ -24,13 +24,13 @@ describe("manifest.section.UsIa", (): void => { usIa.setFieldValue(UsIaField.MSPA_SERVICE_PROVIDER_MODE, 2); usIa.setFieldValue(UsIaField.GPC, true); - expect(usIa.encode()).to.eql("BVVkklWA.YA"); + expect(usIa.encode()).to.eql("BVVkklW.Y"); }); - it("should encode default to BAAAAAQA", (): void => { + it("should encode default to BAAAAAQ", (): void => { let usIa = new UsIa(); usIa.setFieldValue(UsIaField.GPC_SEGMENT_INCLUDED, false); - expect(usIa.encode()).to.eql("BAAAAAQA"); + expect(usIa.encode()).to.eql("BAAAAAQ"); }); it("should throw an error if invalid values are set", (): void => { @@ -81,6 +81,24 @@ describe("manifest.section.UsIa", (): void => { }).to.throw(); }); + it("should decode BVVkklW.Y", (): void => { + let usIa = new UsIa("BVVkklW.Y"); + + expect(1, usIa.getFieldValue(UsIaField.PROCESSING_NOTICE)); + expect(1, usIa.getFieldValue(UsIaField.SALE_OPT_OUT_NOTICE)); + expect(1, usIa.getFieldValue(UsIaField.TARGETED_ADVERTISING_OPT_OUT_NOTICE)); + expect(1, usIa.getFieldValue(UsIaField.SENSITIVE_DATA_OPT_OUT_NOTICE)); + expect(1, usIa.getFieldValue(UsIaField.SALE_OPT_OUT)); + expect(1, usIa.getFieldValue(UsIaField.TARGETED_ADVERTISING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2, 1], usIa.getFieldValue(UsIaField.SENSITIVE_DATA_PROCESSING)); + expect(1, usIa.getFieldValue(UsIaField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usIa.getFieldValue(UsIaField.MSPA_COVERED_TRANSACTION)); + expect(1, usIa.getFieldValue(UsIaField.MSPA_OPT_OUT_OPTION_MODE)); + expect(2, usIa.getFieldValue(UsIaField.MSPA_SERVICE_PROVIDER_MODE)); + expect(true, usIa.getFieldValue(UsIaField.GPC)); + expect(true, usIa.getFieldValue(UsIaField.GPC_SEGMENT_INCLUDED)); + }); + it("should decode BVVkklWA.YA", (): void => { let usIa = new UsIa("BVVkklWA.YA"); @@ -99,8 +117,8 @@ describe("manifest.section.UsIa", (): void => { expect(true, usIa.getFieldValue(UsIaField.GPC_SEGMENT_INCLUDED)); }); - it("should decode BVVkklWA", (): void => { - let usIa = new UsIa("BVVkklWA"); + it("should decode BVVkklW", (): void => { + let usIa = new UsIa("BVVkklW"); expect(1, usIa.getFieldValue(UsIaField.PROCESSING_NOTICE)); expect(1, usIa.getFieldValue(UsIaField.SALE_OPT_OUT_NOTICE)); diff --git a/modules/cmpapi/test/encoder/section/UsMt.test.ts b/modules/cmpapi/test/encoder/section/UsMt.test.ts index 962c832..18f868f 100644 --- a/modules/cmpapi/test/encoder/section/UsMt.test.ts +++ b/modules/cmpapi/test/encoder/section/UsMt.test.ts @@ -3,12 +3,12 @@ import { UsMtField } from "../../../src/encoder/field/UsMtField"; import { UsMt } from "../../../src/encoder/section/UsMt"; describe("manifest.section.UsMt", (): void => { - it("should encode default to BAAAAABA.QA", (): void => { + it("should encode default to BAAAAABA.Q", (): void => { let usMt = new UsMt(); - expect(usMt.encode()).to.eql("BAAAAABA.QA"); + expect(usMt.encode()).to.eql("BAAAAABA.Q"); }); - it("should encode to BVWSSZFY.YA", (): void => { + it("should encode to BVWSSZFY.Y", (): void => { let usMt = new UsMt(); usMt.setFieldValue(UsMtField.SHARING_NOTICE, 1); @@ -24,7 +24,7 @@ describe("manifest.section.UsMt", (): void => { usMt.setFieldValue(UsMtField.MSPA_SERVICE_PROVIDER_MODE, 2); usMt.setFieldValue(UsMtField.GPC, true); - expect(usMt.encode()).to.eql("BVWSSZFY.YA"); + expect(usMt.encode()).to.eql("BVWSSZFY.Y"); }); it("should encode default to BAAAAABA", (): void => { @@ -81,6 +81,24 @@ describe("manifest.section.UsMt", (): void => { }).to.throw(); }); + it("should decode BVWSSZFY.Y", (): void => { + let usMt = new UsMt("BVWSSZFY.Y"); + + expect(1, usMt.getFieldValue(UsMtField.SHARING_NOTICE)); + expect(1, usMt.getFieldValue(UsMtField.SALE_OPT_OUT_NOTICE)); + expect(1, usMt.getFieldValue(UsMtField.TARGETED_ADVERTISING_OPT_OUT_NOTICE)); + expect(1, usMt.getFieldValue(UsMtField.SALE_OPT_OUT)); + expect(1, usMt.getFieldValue(UsMtField.TARGETED_ADVERTISING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2, 1], usMt.getFieldValue(UsMtField.SENSITIVE_DATA_PROCESSING)); + expect([2, 1, 0], usMt.getFieldValue(UsMtField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usMt.getFieldValue(UsMtField.ADDITIONAL_DATA_PROCESSING_CONSENT)); + expect(1, usMt.getFieldValue(UsMtField.MSPA_COVERED_TRANSACTION)); + expect(1, usMt.getFieldValue(UsMtField.MSPA_OPT_OUT_OPTION_MODE)); + expect(2, usMt.getFieldValue(UsMtField.MSPA_SERVICE_PROVIDER_MODE)); + expect(true, usMt.getFieldValue(UsMtField.GPC)); + expect(true, usMt.getFieldValue(UsMtField.GPC_SEGMENT_INCLUDED)); + }); + it("should decode BVWSSZFY.YA", (): void => { let usMt = new UsMt("BVWSSZFY.YA"); diff --git a/modules/cmpapi/test/encoder/section/UsNat.test.ts b/modules/cmpapi/test/encoder/section/UsNat.test.ts index 4e369d2..a5c0f9b 100644 --- a/modules/cmpapi/test/encoder/section/UsNat.test.ts +++ b/modules/cmpapi/test/encoder/section/UsNat.test.ts @@ -3,12 +3,12 @@ import { UsNatField } from "../../../src/encoder/field/UsNatField"; import { UsNat } from "../../../src/encoder/section/UsNat"; describe("manifest.section.UsNat", (): void => { - it("should encode default to BAAAAAAAAABA.QA", (): void => { + it("should encode default to BAAAAAAAAABA.Q", (): void => { let usNat = new UsNat(); - expect(usNat.encode()).to.eql("BAAAAAAAAABA.QA"); + expect(usNat.encode()).to.eql("BAAAAAAAAABA.Q"); }); - it("should encode to BVVVkkkkkpFY.YA", (): void => { + it("should encode to BVVVkkkkkpFY.Y", (): void => { let usNat = new UsNat(); usNat.setFieldValue(UsNatField.SHARING_NOTICE, 1); @@ -28,7 +28,7 @@ describe("manifest.section.UsNat", (): void => { usNat.setFieldValue(UsNatField.MSPA_SERVICE_PROVIDER_MODE, 2); usNat.setFieldValue(UsNatField.GPC, true); - expect(usNat.encode()).to.eql("BVVVkkkkkpFY.YA"); + expect(usNat.encode()).to.eql("BVVVkkkkkpFY.Y"); }); it("should encode default to BAAAAAAAAABA", (): void => { @@ -101,6 +101,28 @@ describe("manifest.section.UsNat", (): void => { }).to.throw(); }); + it("should decode BVVVkkkkkpFY.Y", (): void => { + let usNat = new UsNat("BVVVkkkkkpFY.Y"); + + expect(1, usNat.getFieldValue(UsNatField.SHARING_NOTICE)); + expect(1, usNat.getFieldValue(UsNatField.SALE_OPT_OUT_NOTICE)); + expect(1, usNat.getFieldValue(UsNatField.SHARING_OPT_OUT_NOTICE)); + expect(1, usNat.getFieldValue(UsNatField.TARGETED_ADVERTISING_OPT_OUT_NOTICE)); + expect(1, usNat.getFieldValue(UsNatField.SENSITIVE_DATA_PROCESSING_OPT_OUT_NOTICE)); + expect(1, usNat.getFieldValue(UsNatField.SENSITIVE_DATA_LIMIT_USE_NOTICE)); + expect(1, usNat.getFieldValue(UsNatField.SALE_OPT_OUT)); + expect(1, usNat.getFieldValue(UsNatField.SHARING_OPT_OUT)); + expect(1, usNat.getFieldValue(UsNatField.TARGETED_ADVERTISING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2], usNat.getFieldValue(UsNatField.SENSITIVE_DATA_PROCESSING)); + expect([2, 1, 0], usNat.getFieldValue(UsNatField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usNat.getFieldValue(UsNatField.PERSONAL_DATA_CONSENTS)); + expect(1, usNat.getFieldValue(UsNatField.MSPA_COVERED_TRANSACTION)); + expect(1, usNat.getFieldValue(UsNatField.MSPA_OPT_OUT_OPTION_MODE)); + expect(2, usNat.getFieldValue(UsNatField.MSPA_SERVICE_PROVIDER_MODE)); + expect(true, usNat.getFieldValue(UsNatField.GPC)); + expect(true, usNat.getFieldValue(UsNatField.GPC_SEGMENT_INCLUDED)); + }); + it("should decode BVVVkkkkkpFY.YA", (): void => { let usNat = new UsNat("BVVVkkkkkpFY.YA"); diff --git a/modules/cmpapi/test/encoder/section/UsNe.test.ts b/modules/cmpapi/test/encoder/section/UsNe.test.ts index 9d108f1..89e67c1 100644 --- a/modules/cmpapi/test/encoder/section/UsNe.test.ts +++ b/modules/cmpapi/test/encoder/section/UsNe.test.ts @@ -3,12 +3,12 @@ import { UsNeField } from "../../../src/encoder/field/UsNeField"; import { UsNe } from "../../../src/encoder/section/UsNe"; describe("manifest.section.UsNe", (): void => { - it("should encode default to BAAAAAQA.QA", (): void => { + it("should encode default to BAAAAAQ.Q", (): void => { let usNe = new UsNe(); - expect(usNe.encode()).to.eql("BAAAAAQA.QA"); + expect(usNe.encode()).to.eql("BAAAAAQ.Q"); }); - it("should encode to BVWSSVWA.YA", (): void => { + it("should encode to BVWSSVW.Y", (): void => { let usNe = new UsNe(); usNe.setFieldValue(UsNeField.PROCESSING_NOTICE, 1); @@ -24,13 +24,13 @@ describe("manifest.section.UsNe", (): void => { usNe.setFieldValue(UsNeField.MSPA_SERVICE_PROVIDER_MODE, 2); usNe.setFieldValue(UsNeField.GPC, true); - expect(usNe.encode()).to.eql("BVWSSVWA.YA"); + expect(usNe.encode()).to.eql("BVWSSVW.Y"); }); - it("should encode default to BAAAAAQA", (): void => { + it("should encode default to BAAAAAQ", (): void => { let usNe = new UsNe(); usNe.setFieldValue(UsNeField.GPC_SEGMENT_INCLUDED, false); - expect(usNe.encode()).to.eql("BAAAAAQA"); + expect(usNe.encode()).to.eql("BAAAAAQ"); }); it("should throw an error if invalid values are set", (): void => { @@ -81,6 +81,24 @@ describe("manifest.section.UsNe", (): void => { }).to.throw(); }); + it("should decode BVWSSVW.Y", (): void => { + let usNe = new UsNe("BVWSSVW.Y"); + + expect(1, usNe.getFieldValue(UsNeField.PROCESSING_NOTICE)); + expect(1, usNe.getFieldValue(UsNeField.SALE_OPT_OUT_NOTICE)); + expect(1, usNe.getFieldValue(UsNeField.TARGETED_ADVERTISING_OPT_OUT_NOTICE)); + expect(1, usNe.getFieldValue(UsNeField.SALE_OPT_OUT)); + expect(1, usNe.getFieldValue(UsNeField.TARGETED_ADVERTISING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2, 1], usNe.getFieldValue(UsNeField.SENSITIVE_DATA_PROCESSING)); + expect(1, usNe.getFieldValue(UsNeField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usNe.getFieldValue(UsNeField.ADDITIONAL_DATA_PROCESSING_CONSENT)); + expect(1, usNe.getFieldValue(UsNeField.MSPA_COVERED_TRANSACTION)); + expect(1, usNe.getFieldValue(UsNeField.MSPA_OPT_OUT_OPTION_MODE)); + expect(2, usNe.getFieldValue(UsNeField.MSPA_SERVICE_PROVIDER_MODE)); + expect(true, usNe.getFieldValue(UsNeField.GPC)); + expect(true, usNe.getFieldValue(UsNeField.GPC_SEGMENT_INCLUDED)); + }); + it("should decode BVWSSVWA.YA", (): void => { let usNe = new UsNe("BVWSSVWA.YA"); @@ -99,8 +117,8 @@ describe("manifest.section.UsNe", (): void => { expect(true, usNe.getFieldValue(UsNeField.GPC_SEGMENT_INCLUDED)); }); - it("should decode BVWSSVWA", (): void => { - let usNe = new UsNe("BVWSSVWA"); + it("should decode BVWSSVW", (): void => { + let usNe = new UsNe("BVWSSVW"); expect(1, usNe.getFieldValue(UsNeField.PROCESSING_NOTICE)); expect(1, usNe.getFieldValue(UsNeField.SALE_OPT_OUT_NOTICE)); diff --git a/modules/cmpapi/test/encoder/section/UsNh.test.ts b/modules/cmpapi/test/encoder/section/UsNh.test.ts index 389fb2b..b162b6c 100644 --- a/modules/cmpapi/test/encoder/section/UsNh.test.ts +++ b/modules/cmpapi/test/encoder/section/UsNh.test.ts @@ -3,12 +3,12 @@ import { UsNhField } from "../../../src/encoder/field/UsNhField"; import { UsNh } from "../../../src/encoder/section/UsNh"; describe("manifest.section.UsNh", (): void => { - it("should encode default to BAAAAABA.QA", (): void => { + it("should encode default to BAAAAABA.Q", (): void => { let usNh = new UsNh(); - expect(usNh.encode()).to.eql("BAAAAABA.QA"); + expect(usNh.encode()).to.eql("BAAAAABA.Q"); }); - it("should encode to BVWSSZFY.YA", (): void => { + it("should encode to BVWSSZFY.Y", (): void => { let usNh = new UsNh(); usNh.setFieldValue(UsNhField.PROCESSING_NOTICE, 1); @@ -24,7 +24,7 @@ describe("manifest.section.UsNh", (): void => { usNh.setFieldValue(UsNhField.MSPA_SERVICE_PROVIDER_MODE, 2); usNh.setFieldValue(UsNhField.GPC, true); - expect(usNh.encode()).to.eql("BVWSSZFY.YA"); + expect(usNh.encode()).to.eql("BVWSSZFY.Y"); }); it("should encode default to BAAAAABA", (): void => { @@ -81,6 +81,24 @@ describe("manifest.section.UsNh", (): void => { }).to.throw(); }); + it("should decode BVWSSZFY.Y", (): void => { + let usNh = new UsNh("BVWSSZFY.Y"); + + expect(1, usNh.getFieldValue(UsNhField.PROCESSING_NOTICE)); + expect(1, usNh.getFieldValue(UsNhField.SALE_OPT_OUT_NOTICE)); + expect(1, usNh.getFieldValue(UsNhField.TARGETED_ADVERTISING_OPT_OUT_NOTICE)); + expect(1, usNh.getFieldValue(UsNhField.SALE_OPT_OUT)); + expect(1, usNh.getFieldValue(UsNhField.TARGETED_ADVERTISING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2, 1], usNh.getFieldValue(UsNhField.SENSITIVE_DATA_PROCESSING)); + expect([2, 1, 0], usNh.getFieldValue(UsNhField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usNh.getFieldValue(UsNhField.ADDITIONAL_DATA_PROCESSING_CONSENT)); + expect(1, usNh.getFieldValue(UsNhField.MSPA_COVERED_TRANSACTION)); + expect(1, usNh.getFieldValue(UsNhField.MSPA_OPT_OUT_OPTION_MODE)); + expect(2, usNh.getFieldValue(UsNhField.MSPA_SERVICE_PROVIDER_MODE)); + expect(true, usNh.getFieldValue(UsNhField.GPC)); + expect(true, usNh.getFieldValue(UsNhField.GPC_SEGMENT_INCLUDED)); + }); + it("should decode BVWSSZFY.YA", (): void => { let usNh = new UsNh("BVWSSZFY.YA"); diff --git a/modules/cmpapi/test/encoder/section/UsNj.test.ts b/modules/cmpapi/test/encoder/section/UsNj.test.ts index b4413dd..4e6d91d 100644 --- a/modules/cmpapi/test/encoder/section/UsNj.test.ts +++ b/modules/cmpapi/test/encoder/section/UsNj.test.ts @@ -3,12 +3,12 @@ import { UsNjField } from "../../../src/encoder/field/UsNjField"; import { UsNj } from "../../../src/encoder/section/UsNj"; describe("manifest.section.UsNj", (): void => { - it("should encode default to BAAAAAAAQA.QA", (): void => { + it("should encode default to BAAAAAAAQ.Q", (): void => { let usNj = new UsNj(); - expect(usNj.encode()).to.eql("BAAAAAAAQA.QA"); + expect(usNj.encode()).to.eql("BAAAAAAAQ.Q"); }); - it("should encode to BVWSSRklWA.YA", (): void => { + it("should encode to BVWSSRklW.Y", (): void => { let usNj = new UsNj(); usNj.setFieldValue(UsNjField.PROCESSING_NOTICE, 1); @@ -24,13 +24,13 @@ describe("manifest.section.UsNj", (): void => { usNj.setFieldValue(UsNjField.MSPA_SERVICE_PROVIDER_MODE, 2); usNj.setFieldValue(UsNjField.GPC, true); - expect(usNj.encode()).to.eql("BVWSSRklWA.YA"); + expect(usNj.encode()).to.eql("BVWSSRklW.Y"); }); - it("should encode default to BAAAAAAAQA", (): void => { + it("should encode default to BAAAAAAAQ", (): void => { let usNj = new UsNj(); usNj.setFieldValue(UsNjField.GPC_SEGMENT_INCLUDED, false); - expect(usNj.encode()).to.eql("BAAAAAAAQA"); + expect(usNj.encode()).to.eql("BAAAAAAAQ"); }); it("should throw an error if invalid values are set", (): void => { @@ -81,6 +81,24 @@ describe("manifest.section.UsNj", (): void => { }).to.throw(); }); + it("should decode BVWSSRklW.Y", (): void => { + let usNj = new UsNj("BVWSSRklW.Y"); + + expect(1, usNj.getFieldValue(UsNjField.PROCESSING_NOTICE)); + expect(1, usNj.getFieldValue(UsNjField.SALE_OPT_OUT_NOTICE)); + expect(1, usNj.getFieldValue(UsNjField.TARGETED_ADVERTISING_OPT_OUT_NOTICE)); + expect(1, usNj.getFieldValue(UsNjField.SALE_OPT_OUT)); + expect(1, usNj.getFieldValue(UsNjField.TARGETED_ADVERTISING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2, 1, 0, 1], usNj.getFieldValue(UsNjField.SENSITIVE_DATA_PROCESSING)); + expect([2, 1, 0, 2, 1], usNj.getFieldValue(UsNjField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usNj.getFieldValue(UsNjField.ADDITIONAL_DATA_PROCESSING_CONSENT)); + expect(1, usNj.getFieldValue(UsNjField.MSPA_COVERED_TRANSACTION)); + expect(1, usNj.getFieldValue(UsNjField.MSPA_OPT_OUT_OPTION_MODE)); + expect(2, usNj.getFieldValue(UsNjField.MSPA_SERVICE_PROVIDER_MODE)); + expect(true, usNj.getFieldValue(UsNjField.GPC)); + expect(true, usNj.getFieldValue(UsNjField.GPC_SEGMENT_INCLUDED)); + }); + it("should decode BVWSSRklWA.YA", (): void => { let usNj = new UsNj("BVWSSRklWA.YA"); @@ -99,8 +117,8 @@ describe("manifest.section.UsNj", (): void => { expect(true, usNj.getFieldValue(UsNjField.GPC_SEGMENT_INCLUDED)); }); - it("should decode BVWSSRklWA", (): void => { - let usNj = new UsNj("BVWSSRklWA"); + it("should decode BVWSSRklW", (): void => { + let usNj = new UsNj("BVWSSRklW"); expect(1, usNj.getFieldValue(UsNjField.PROCESSING_NOTICE)); expect(1, usNj.getFieldValue(UsNjField.SALE_OPT_OUT_NOTICE)); diff --git a/modules/cmpapi/test/encoder/section/UsOr.test.ts b/modules/cmpapi/test/encoder/section/UsOr.test.ts index 6340e28..4561a17 100644 --- a/modules/cmpapi/test/encoder/section/UsOr.test.ts +++ b/modules/cmpapi/test/encoder/section/UsOr.test.ts @@ -3,12 +3,12 @@ import { UsOrField } from "../../../src/encoder/field/UsOrField"; import { UsOr } from "../../../src/encoder/section/UsOr"; describe("manifest.section.UsOr", (): void => { - it("should encode default to BAAAAAABAA.QA", (): void => { + it("should encode default to BAAAAAABA.Q", (): void => { let usOr = new UsOr(); - expect(usOr.encode()).to.eql("BAAAAAABAA.QA"); + expect(usOr.encode()).to.eql("BAAAAAABA.Q"); }); - it("should encode to BVWSSRpFYA.YA", (): void => { + it("should encode to BVWSSRpFY.Y", (): void => { let usOr = new UsOr(); usOr.setFieldValue(UsOrField.PROCESSING_NOTICE, 1); @@ -24,13 +24,13 @@ describe("manifest.section.UsOr", (): void => { usOr.setFieldValue(UsOrField.MSPA_SERVICE_PROVIDER_MODE, 2); usOr.setFieldValue(UsOrField.GPC, true); - expect(usOr.encode()).to.eql("BVWSSRpFYA.YA"); + expect(usOr.encode()).to.eql("BVWSSRpFY.Y"); }); - it("should encode default to BAAAAAABAA", (): void => { + it("should encode default to BAAAAAABA", (): void => { let usOr = new UsOr(); usOr.setFieldValue(UsOrField.GPC_SEGMENT_INCLUDED, false); - expect(usOr.encode()).to.eql("BAAAAAABAA"); + expect(usOr.encode()).to.eql("BAAAAAABA"); }); it("should throw an error if invalid values are set", (): void => { @@ -81,6 +81,24 @@ describe("manifest.section.UsOr", (): void => { }).to.throw(); }); + it("should decode BVWSSRpFY.Y", (): void => { + let usOr = new UsOr("BVWSSRpFY.Y"); + + expect(1, usOr.getFieldValue(UsOrField.PROCESSING_NOTICE)); + expect(1, usOr.getFieldValue(UsOrField.SALE_OPT_OUT_NOTICE)); + expect(1, usOr.getFieldValue(UsOrField.TARGETED_ADVERTISING_OPT_OUT_NOTICE)); + expect(1, usOr.getFieldValue(UsOrField.SALE_OPT_OUT)); + expect(1, usOr.getFieldValue(UsOrField.TARGETED_ADVERTISING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2, 1, 0, 1, 2], usOr.getFieldValue(UsOrField.SENSITIVE_DATA_PROCESSING)); + expect([2, 1, 0], usOr.getFieldValue(UsOrField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usOr.getFieldValue(UsOrField.ADDITIONAL_DATA_PROCESSING_CONSENT)); + expect(1, usOr.getFieldValue(UsOrField.MSPA_COVERED_TRANSACTION)); + expect(1, usOr.getFieldValue(UsOrField.MSPA_OPT_OUT_OPTION_MODE)); + expect(2, usOr.getFieldValue(UsOrField.MSPA_SERVICE_PROVIDER_MODE)); + expect(true, usOr.getFieldValue(UsOrField.GPC)); + expect(true, usOr.getFieldValue(UsOrField.GPC_SEGMENT_INCLUDED)); + }); + it("should decode BVWSSRpFYA.YA", (): void => { let usOr = new UsOr("BVWSSRpFYA.YA"); @@ -99,8 +117,8 @@ describe("manifest.section.UsOr", (): void => { expect(true, usOr.getFieldValue(UsOrField.GPC_SEGMENT_INCLUDED)); }); - it("should decode BVWSSRpFYA", (): void => { - let usOr = new UsOr("BVWSSRpFYA"); + it("should decode BVWSSRpFY", (): void => { + let usOr = new UsOr("BVWSSRpFY"); expect(1, usOr.getFieldValue(UsOrField.PROCESSING_NOTICE)); expect(1, usOr.getFieldValue(UsOrField.SALE_OPT_OUT_NOTICE)); diff --git a/modules/cmpapi/test/encoder/section/UsTn.test.ts b/modules/cmpapi/test/encoder/section/UsTn.test.ts index 849175f..7da99fd 100644 --- a/modules/cmpapi/test/encoder/section/UsTn.test.ts +++ b/modules/cmpapi/test/encoder/section/UsTn.test.ts @@ -3,12 +3,12 @@ import { UsTnField } from "../../../src/encoder/field/UsTnField"; import { UsTn } from "../../../src/encoder/section/UsTn"; describe("manifest.section.UsTn", (): void => { - it("should encode default to BAAAAAQA.QA", (): void => { + it("should encode default to BAAAAAQ.Q", (): void => { let usTn = new UsTn(); - expect(usTn.encode()).to.eql("BAAAAAQA.QA"); + expect(usTn.encode()).to.eql("BAAAAAQ.Q"); }); - it("should encode to BVWSSVWA.YA", (): void => { + it("should encode to BVWSSVW.Y", (): void => { let usTn = new UsTn(); usTn.setFieldValue(UsTnField.PROCESSING_NOTICE, 1); @@ -24,13 +24,13 @@ describe("manifest.section.UsTn", (): void => { usTn.setFieldValue(UsTnField.MSPA_SERVICE_PROVIDER_MODE, 2); usTn.setFieldValue(UsTnField.GPC, true); - expect(usTn.encode()).to.eql("BVWSSVWA.YA"); + expect(usTn.encode()).to.eql("BVWSSVW.Y"); }); - it("should encode default to BAAAAAQA", (): void => { + it("should encode default to BAAAAAQ", (): void => { let usTn = new UsTn(); usTn.setFieldValue(UsTnField.GPC_SEGMENT_INCLUDED, false); - expect(usTn.encode()).to.eql("BAAAAAQA"); + expect(usTn.encode()).to.eql("BAAAAAQ"); }); it("should throw an error if invalid values are set", (): void => { @@ -81,6 +81,24 @@ describe("manifest.section.UsTn", (): void => { }).to.throw(); }); + it("should decode BVWSSVW.Y", (): void => { + let usTn = new UsTn("BVWSSVW.Y"); + + expect(1, usTn.getFieldValue(UsTnField.PROCESSING_NOTICE)); + expect(1, usTn.getFieldValue(UsTnField.SALE_OPT_OUT_NOTICE)); + expect(1, usTn.getFieldValue(UsTnField.TARGETED_ADVERTISING_OPT_OUT_NOTICE)); + expect(1, usTn.getFieldValue(UsTnField.SALE_OPT_OUT)); + expect(1, usTn.getFieldValue(UsTnField.TARGETED_ADVERTISING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2, 1], usTn.getFieldValue(UsTnField.SENSITIVE_DATA_PROCESSING)); + expect(1, usTn.getFieldValue(UsTnField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usTn.getFieldValue(UsTnField.ADDITIONAL_DATA_PROCESSING_CONSENT)); + expect(1, usTn.getFieldValue(UsTnField.MSPA_COVERED_TRANSACTION)); + expect(1, usTn.getFieldValue(UsTnField.MSPA_OPT_OUT_OPTION_MODE)); + expect(2, usTn.getFieldValue(UsTnField.MSPA_SERVICE_PROVIDER_MODE)); + expect(true, usTn.getFieldValue(UsTnField.GPC)); + expect(true, usTn.getFieldValue(UsTnField.GPC_SEGMENT_INCLUDED)); + }); + it("should decode BVWSSVWA.YA", (): void => { let usTn = new UsTn("BVWSSVWA.YA"); @@ -99,8 +117,8 @@ describe("manifest.section.UsTn", (): void => { expect(true, usTn.getFieldValue(UsTnField.GPC_SEGMENT_INCLUDED)); }); - it("should decode BVWSSVWA", (): void => { - let usTn = new UsTn("BVWSSVWA"); + it("should decode BVWSSVW", (): void => { + let usTn = new UsTn("BVWSSVW"); expect(1, usTn.getFieldValue(UsTnField.PROCESSING_NOTICE)); expect(1, usTn.getFieldValue(UsTnField.SALE_OPT_OUT_NOTICE)); diff --git a/modules/cmpapi/test/encoder/section/UsTx.test.ts b/modules/cmpapi/test/encoder/section/UsTx.test.ts index 12b7f4b..bfa6a04 100644 --- a/modules/cmpapi/test/encoder/section/UsTx.test.ts +++ b/modules/cmpapi/test/encoder/section/UsTx.test.ts @@ -3,12 +3,12 @@ import { UsTxField } from "../../../src/encoder/field/UsTxField"; import { UsTx } from "../../../src/encoder/section/UsTx"; describe("manifest.section.UsTx", (): void => { - it("should encode default to BAAAAAQA.QA", (): void => { + it("should encode default to BAAAAAQ.Q", (): void => { let usTx = new UsTx(); - expect(usTx.encode()).to.eql("BAAAAAQA.QA"); + expect(usTx.encode()).to.eql("BAAAAAQ.Q"); }); - it("should encode to BVWSSVWA.YA", (): void => { + it("should encode to BVWSSVW.Y", (): void => { let usTx = new UsTx(); usTx.setFieldValue(UsTxField.PROCESSING_NOTICE, 1); @@ -24,13 +24,13 @@ describe("manifest.section.UsTx", (): void => { usTx.setFieldValue(UsTxField.MSPA_SERVICE_PROVIDER_MODE, 2); usTx.setFieldValue(UsTxField.GPC, true); - expect(usTx.encode()).to.eql("BVWSSVWA.YA"); + expect(usTx.encode()).to.eql("BVWSSVW.Y"); }); - it("should encode default to BAAAAAQA", (): void => { + it("should encode default to BAAAAAQ", (): void => { let usTx = new UsTx(); usTx.setFieldValue(UsTxField.GPC_SEGMENT_INCLUDED, false); - expect(usTx.encode()).to.eql("BAAAAAQA"); + expect(usTx.encode()).to.eql("BAAAAAQ"); }); it("should throw an error if invalid values are set", (): void => { @@ -81,6 +81,24 @@ describe("manifest.section.UsTx", (): void => { }).to.throw(); }); + it("should decode BVWSSVW.Y", (): void => { + let usTx = new UsTx("BVWSSVWA.YA"); + + expect(1, usTx.getFieldValue(UsTxField.PROCESSING_NOTICE)); + expect(1, usTx.getFieldValue(UsTxField.SALE_OPT_OUT_NOTICE)); + expect(1, usTx.getFieldValue(UsTxField.TARGETED_ADVERTISING_OPT_OUT_NOTICE)); + expect(1, usTx.getFieldValue(UsTxField.SALE_OPT_OUT)); + expect(1, usTx.getFieldValue(UsTxField.TARGETED_ADVERTISING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2, 1], usTx.getFieldValue(UsTxField.SENSITIVE_DATA_PROCESSING)); + expect(1, usTx.getFieldValue(UsTxField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usTx.getFieldValue(UsTxField.ADDITIONAL_DATA_PROCESSING_CONSENT)); + expect(1, usTx.getFieldValue(UsTxField.MSPA_COVERED_TRANSACTION)); + expect(1, usTx.getFieldValue(UsTxField.MSPA_OPT_OUT_OPTION_MODE)); + expect(2, usTx.getFieldValue(UsTxField.MSPA_SERVICE_PROVIDER_MODE)); + expect(true, usTx.getFieldValue(UsTxField.GPC)); + expect(true, usTx.getFieldValue(UsTxField.GPC_SEGMENT_INCLUDED)); + }); + it("should decode BVWSSVWA.YA", (): void => { let usTx = new UsTx("BVWSSVWA.YA"); @@ -99,8 +117,8 @@ describe("manifest.section.UsTx", (): void => { expect(true, usTx.getFieldValue(UsTxField.GPC_SEGMENT_INCLUDED)); }); - it("should decode BVWSSVWA", (): void => { - let usTx = new UsTx("BVWSSVWA"); + it("should decode BVWSSVW", (): void => { + let usTx = new UsTx("BVWSSVW"); expect(1, usTx.getFieldValue(UsTxField.PROCESSING_NOTICE)); expect(1, usTx.getFieldValue(UsTxField.SALE_OPT_OUT_NOTICE)); diff --git a/modules/cmpapi/test/encoder/section/UsUt.test.ts b/modules/cmpapi/test/encoder/section/UsUt.test.ts index 962bf17..2eb1716 100644 --- a/modules/cmpapi/test/encoder/section/UsUt.test.ts +++ b/modules/cmpapi/test/encoder/section/UsUt.test.ts @@ -3,12 +3,12 @@ import { UsUtField } from "../../../src/encoder/field/UsUtField"; import { UsUt } from "../../../src/encoder/section/UsUt"; describe("manifest.section.UsUt", (): void => { - it("should encode default to BAAAAAQA", (): void => { + it("should encode default to BAAAAAQ", (): void => { let usUt = new UsUt(); - expect(usUt.encode()).to.eql("BAAAAAQA"); + expect(usUt.encode()).to.eql("BAAAAAQ"); }); - it("should encode to BVVkklWA", (): void => { + it("should encode to BVVkklW", (): void => { let usUt = new UsUt(); usUt.setFieldValue(UsUtField.SHARING_NOTICE, 1); @@ -23,7 +23,7 @@ describe("manifest.section.UsUt", (): void => { usUt.setFieldValue(UsUtField.MSPA_OPT_OUT_OPTION_MODE, 1); usUt.setFieldValue(UsUtField.MSPA_SERVICE_PROVIDER_MODE, 2); - expect(usUt.encode()).to.eql("BVVkklWA"); + expect(usUt.encode()).to.eql("BVVkklW"); }); it("should throw an error if invalid values are set", (): void => { @@ -74,6 +74,22 @@ describe("manifest.section.UsUt", (): void => { }).to.throw(); }); + it("should decode BVVkklW", (): void => { + let usUt = new UsUt("BVVkklW"); + + expect(1, usUt.getFieldValue(UsUtField.SHARING_NOTICE)); + expect(1, usUt.getFieldValue(UsUtField.SALE_OPT_OUT_NOTICE)); + expect(1, usUt.getFieldValue(UsUtField.TARGETED_ADVERTISING_OPT_OUT_NOTICE)); + expect(1, usUt.getFieldValue(UsUtField.SENSITIVE_DATA_PROCESSING_OPT_OUT_NOTICE)); + expect(1, usUt.getFieldValue(UsUtField.SALE_OPT_OUT)); + expect(1, usUt.getFieldValue(UsUtField.TARGETED_ADVERTISING_OPT_OUT)); + expect([2, 1, 0, 2, 1, 0, 2, 1], usUt.getFieldValue(UsUtField.SENSITIVE_DATA_PROCESSING)); + expect(1, usUt.getFieldValue(UsUtField.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS)); + expect(1, usUt.getFieldValue(UsUtField.MSPA_COVERED_TRANSACTION)); + expect(1, usUt.getFieldValue(UsUtField.MSPA_OPT_OUT_OPTION_MODE)); + expect(3, usUt.getFieldValue(UsUtField.MSPA_SERVICE_PROVIDER_MODE)); + }); + it("should decode BVVkklWA", (): void => { let usUt = new UsUt("BVVkklWA");