mirror of
https://github.com/cubixle/iabtcfv2.git
synced 2026-04-24 18:34:43 +01:00
add go mod & rename package
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -13,3 +13,5 @@
|
||||
|
||||
# Dependency directories (remove the comment below to include it)
|
||||
# vendor/
|
||||
|
||||
.idea
|
||||
|
||||
2
bits.go
2
bits.go
@@ -1,4 +1,4 @@
|
||||
package iabtcf
|
||||
package iabtcfv2
|
||||
|
||||
type Bits struct {
|
||||
position uint
|
||||
|
||||
12
decode.go
12
decode.go
@@ -1,4 +1,4 @@
|
||||
package iabtcf
|
||||
package iabtcfv2
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
@@ -31,7 +31,7 @@ func Decode(s string) (t *TCData, err error) {
|
||||
t.AllowedVendors = segment
|
||||
}
|
||||
} else if segmentType == 3 {
|
||||
segment, err := DecodePubllisherTC(v)
|
||||
segment, err := DecodePublisherTC(v)
|
||||
if err == nil {
|
||||
t.PublisherTC = segment
|
||||
}
|
||||
@@ -165,14 +165,13 @@ func DecodeAllowedVendors(s string) (a *AllowedVendors, err error) {
|
||||
}
|
||||
|
||||
if a.SegmentType != 2 {
|
||||
err = fmt.Errorf("allowed vendors segment type must be 2")
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("allowed vendors segment type must be 2")
|
||||
}
|
||||
|
||||
return a, nil
|
||||
}
|
||||
|
||||
func DecodePubllisherTC(s string) (p *PublisherTC, err error) {
|
||||
func DecodePublisherTC(s string) (p *PublisherTC, err error) {
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
err = fmt.Errorf("%v", r)
|
||||
@@ -195,8 +194,7 @@ func DecodePubllisherTC(s string) (p *PublisherTC, err error) {
|
||||
p.CustomPurposesLITransparency = e.readBitField(uint(p.NumCustomPurposes))
|
||||
|
||||
if p.SegmentType != 3 {
|
||||
err = fmt.Errorf("allowed vendors segment type must be 3")
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("allowed vendors segment type must be 3")
|
||||
}
|
||||
|
||||
return p, nil
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
package iabtcf_test
|
||||
package iabtcfv2
|
||||
|
||||
import (
|
||||
iabtcf "github.com/SirDataFR/iab-tcf-v2"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestDecode(t *testing.T) {
|
||||
str := "COxR03kOxR1CqBcABCENAgCMAP_AAH_AAAqIF3EXySoGY2thI2YVFxBEIYwfJxyigMgChgQIsSwNQIeFLBoGLiAAHBGYJAQAGBAEEACBAQIkHGBMCQAAgAgBiRCMQEGMCzNIBIBAggEbY0FACCVmHkHSmZCY7064O__QLuIJEFQMAkSBAIACLECIQwAQDiAAAYAlAAABAhIaAAgIWBQEeAAAACAwAAgAAABBAAACAAQAAICIAAABAAAgAiAQAAAAGgIQAACBABACRIAAAEANCAAgiCEAQg4EAo4AAA.IF3EXySoGY2tho2YVFzBEIYwfJxyigMgShgQIsS0NQIeFLBoGPiAAHBGYJAQAGBAkkACBAQIsHGBMCQABgAgRiRCMQEGMDzNIBIBAggkbY0FACCVmnkHS3ZCY70-6u__QA.elAAAAAAAWA"
|
||||
|
||||
data, err := iabtcf.Decode(str)
|
||||
data, err := Decode(str)
|
||||
if err != nil {
|
||||
t.Errorf("TC String should be decoded without error: %s", err)
|
||||
return
|
||||
@@ -28,7 +27,7 @@ func TestDecode(t *testing.T) {
|
||||
func TestDecodeInvalid(t *testing.T) {
|
||||
str := "IF3EXySoGY2tho2YVFzBEIYwfJxyigMgShgQIsS0NQIeFLBoGPiAAHBGYJAQAGBAkkACBAQIsHGBMCQABgAgRiRCMQEGMDzNIBIBAggkbY0FACCVmnkHS3ZCY70-6u__QA.elAAAAAAAWA"
|
||||
|
||||
_, err := iabtcf.Decode(str)
|
||||
_, err := Decode(str)
|
||||
if err == nil {
|
||||
t.Errorf("TC String should not be decoded: %s", err)
|
||||
return
|
||||
@@ -38,12 +37,12 @@ func TestDecodeInvalid(t *testing.T) {
|
||||
func TestDecodeCoreString(t *testing.T) {
|
||||
str := "COxR03kOxR1CqBcABCENAgCMAP_AAH_AAAqIF3EXySoGY2thI2YVFxBEIYwfJxyigMgChgQIsSwNQIeFLBoGLiAAHBGYJAQAGBAEEACBAQIkHGBMCQAAgAgBiRCMQEGMCzNIBIBAggEbY0FACCVmHkHSmZCY7064O__QLuIJEFQMAkSBAIACLECIQwAQDiAAAYAlAAABAhIaAAgIWBQEeAAAACAwAAgAAABBAAACAAQAAICIAAABAAAgAiAQAAAAGgIQAACBABACRIAAAEANCAAgiCEAQg4EAo4AAA"
|
||||
|
||||
if iabtcf.DecodeSegmentType(str) != 0 {
|
||||
if DecodeSegmentType(str) != 0 {
|
||||
t.Errorf("Segment type should be 0")
|
||||
return
|
||||
}
|
||||
|
||||
segment, err := iabtcf.DecodeCoreString(str)
|
||||
segment, err := DecodeCoreString(str)
|
||||
if err != nil {
|
||||
t.Errorf("Segment should be decoded without error: %s", err)
|
||||
return
|
||||
@@ -63,12 +62,12 @@ func TestDecodeCoreString(t *testing.T) {
|
||||
func TestDecodeDisclosedVendors(t *testing.T) {
|
||||
str := "IF3EXySoGY2tho2YVFzBEIYwfJxyigMgShgQIsS0NQIeFLBoGPiAAHBGYJAQAGBAkkACBAQIsHGBMCQABgAgRiRCMQEGMDzNIBIBAggkbY0FACCVmnkHS3ZCY70-6u__QA"
|
||||
|
||||
if iabtcf.DecodeSegmentType(str) != 1 {
|
||||
if DecodeSegmentType(str) != 1 {
|
||||
t.Errorf("Segment type should be 1")
|
||||
return
|
||||
}
|
||||
|
||||
segment, err := iabtcf.DecodeDisclosedVendors(str)
|
||||
segment, err := DecodeDisclosedVendors(str)
|
||||
if err != nil {
|
||||
t.Errorf("Segment should be decoded without error: %s", err)
|
||||
return
|
||||
@@ -98,12 +97,12 @@ func TestDecodeDisclosedVendors(t *testing.T) {
|
||||
func TestDecodeAllowedVendors(t *testing.T) {
|
||||
str := "QF3QAgABAA1A"
|
||||
|
||||
if iabtcf.DecodeSegmentType(str) != 2 {
|
||||
if DecodeSegmentType(str) != 2 {
|
||||
t.Errorf("Segment type should be 2")
|
||||
return
|
||||
}
|
||||
|
||||
segment, err := iabtcf.DecodeAllowedVendors(str)
|
||||
segment, err := DecodeAllowedVendors(str)
|
||||
if err != nil {
|
||||
t.Errorf("Segment should be decoded without error: %s", err)
|
||||
return
|
||||
@@ -133,12 +132,12 @@ func TestDecodeAllowedVendors(t *testing.T) {
|
||||
func TestDecodePublisherTC(t *testing.T) {
|
||||
str := "elAAAAAAAWA"
|
||||
|
||||
if iabtcf.DecodeSegmentType(str) != 3 {
|
||||
if DecodeSegmentType(str) != 3 {
|
||||
t.Errorf("Segment type should be 3")
|
||||
return
|
||||
}
|
||||
|
||||
segment, err := iabtcf.DecodePubllisherTC(str)
|
||||
segment, err := DecodePublisherTC(str)
|
||||
if err != nil {
|
||||
t.Errorf("Segment should be decoded without error: %s", err)
|
||||
return
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
package iabtcf_test
|
||||
package iabtcfv2
|
||||
|
||||
import (
|
||||
iabtcf "github.com/SirDataFR/iab-tcf-v2"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestEncode(t *testing.T) {
|
||||
str := "COxSKBCOxSKCCBcABCENAgCMAPzAAEPAAAqIDaQBQAMgAgABqAR0A2gDaQAwAMgAgANoAAA.IDaQBQAMgAgABqAR0A2g.QF3QAgABAA1A.eEAAAAAAAUA"
|
||||
data := &iabtcf.TCData{
|
||||
CoreString: &iabtcf.CoreString{
|
||||
data := &TCData{
|
||||
CoreString: &CoreString{
|
||||
Version: 2,
|
||||
Created: timeFromDeciSeconds(15859228738),
|
||||
LastUpdated: timeFromDeciSeconds(15859228802),
|
||||
@@ -48,7 +47,7 @@ func TestEncode(t *testing.T) {
|
||||
IsRangeEncoding: true,
|
||||
VendorsConsent: map[int]bool{},
|
||||
NumEntries: 5,
|
||||
RangeEntries: []*iabtcf.RangeEntry{
|
||||
RangeEntries: []*RangeEntry{
|
||||
{
|
||||
StartVendorID: 25,
|
||||
EndVendorID: 25,
|
||||
@@ -74,7 +73,7 @@ func TestEncode(t *testing.T) {
|
||||
IsRangeEncodingLI: true,
|
||||
VendorsLITransparency: map[int]bool{},
|
||||
NumEntriesLI: 3,
|
||||
RangeEntriesLI: []*iabtcf.RangeEntry{
|
||||
RangeEntriesLI: []*RangeEntry{
|
||||
{
|
||||
StartVendorID: 25,
|
||||
EndVendorID: 25,
|
||||
@@ -90,12 +89,12 @@ func TestEncode(t *testing.T) {
|
||||
},
|
||||
NumPubRestrictions: 0,
|
||||
},
|
||||
DisclosedVendors: &iabtcf.DisclosedVendors{
|
||||
DisclosedVendors: &DisclosedVendors{
|
||||
SegmentType: 1,
|
||||
MaxVendorId: 436,
|
||||
IsRangeEncoding: true,
|
||||
NumEntries: 5,
|
||||
RangeEntries: []*iabtcf.RangeEntry{
|
||||
RangeEntries: []*RangeEntry{
|
||||
{
|
||||
StartVendorID: 25,
|
||||
EndVendorID: 25,
|
||||
@@ -118,12 +117,12 @@ func TestEncode(t *testing.T) {
|
||||
},
|
||||
},
|
||||
},
|
||||
AllowedVendors: &iabtcf.AllowedVendors{
|
||||
AllowedVendors: &AllowedVendors{
|
||||
SegmentType: 2,
|
||||
MaxVendorId: 750,
|
||||
IsRangeEncoding: true,
|
||||
NumEntries: 2,
|
||||
RangeEntries: []*iabtcf.RangeEntry{
|
||||
RangeEntries: []*RangeEntry{
|
||||
{
|
||||
StartVendorID: 2,
|
||||
EndVendorID: 2,
|
||||
@@ -134,7 +133,7 @@ func TestEncode(t *testing.T) {
|
||||
},
|
||||
},
|
||||
},
|
||||
PublisherTC: &iabtcf.PublisherTC{
|
||||
PublisherTC: &PublisherTC{
|
||||
SegmentType: 3,
|
||||
PubPurposesConsent: map[int]bool{
|
||||
1: true,
|
||||
@@ -158,7 +157,7 @@ func TestEncode(t *testing.T) {
|
||||
}
|
||||
func TestEncodeCoreString(t *testing.T) {
|
||||
str := "COxSKBCOxSKCCBcABCENAgCMAPzAAEPAAAqIDaQBQAMgAgABqAR0A2gDaQAwAMgAgANoAAA"
|
||||
segment := &iabtcf.CoreString{
|
||||
segment := &CoreString{
|
||||
Version: 2,
|
||||
Created: timeFromDeciSeconds(15859228738),
|
||||
LastUpdated: timeFromDeciSeconds(15859228802),
|
||||
@@ -197,7 +196,7 @@ func TestEncodeCoreString(t *testing.T) {
|
||||
IsRangeEncoding: true,
|
||||
VendorsConsent: map[int]bool{},
|
||||
NumEntries: 5,
|
||||
RangeEntries: []*iabtcf.RangeEntry{
|
||||
RangeEntries: []*RangeEntry{
|
||||
{
|
||||
StartVendorID: 25,
|
||||
EndVendorID: 25,
|
||||
@@ -223,7 +222,7 @@ func TestEncodeCoreString(t *testing.T) {
|
||||
IsRangeEncodingLI: true,
|
||||
VendorsLITransparency: map[int]bool{},
|
||||
NumEntriesLI: 3,
|
||||
RangeEntriesLI: []*iabtcf.RangeEntry{
|
||||
RangeEntriesLI: []*RangeEntry{
|
||||
{
|
||||
StartVendorID: 25,
|
||||
EndVendorID: 25,
|
||||
@@ -248,12 +247,12 @@ func TestEncodeCoreString(t *testing.T) {
|
||||
|
||||
func TestEncodeDisclosedVendors(t *testing.T) {
|
||||
str := "IDaQBQAMgAgABqAR0A2g"
|
||||
segment := &iabtcf.DisclosedVendors{
|
||||
segment := &DisclosedVendors{
|
||||
SegmentType: 1,
|
||||
MaxVendorId: 436,
|
||||
IsRangeEncoding: true,
|
||||
NumEntries: 5,
|
||||
RangeEntries: []*iabtcf.RangeEntry{
|
||||
RangeEntries: []*RangeEntry{
|
||||
{
|
||||
StartVendorID: 25,
|
||||
EndVendorID: 25,
|
||||
@@ -285,12 +284,12 @@ func TestEncodeDisclosedVendors(t *testing.T) {
|
||||
|
||||
func TestEncodeAllowedVendors(t *testing.T) {
|
||||
str := "QF3QAgABAA1A"
|
||||
segment := &iabtcf.AllowedVendors{
|
||||
segment := &AllowedVendors{
|
||||
SegmentType: 2,
|
||||
MaxVendorId: 750,
|
||||
IsRangeEncoding: true,
|
||||
NumEntries: 2,
|
||||
RangeEntries: []*iabtcf.RangeEntry{
|
||||
RangeEntries: []*RangeEntry{
|
||||
{
|
||||
StartVendorID: 2,
|
||||
EndVendorID: 2,
|
||||
@@ -310,7 +309,7 @@ func TestEncodeAllowedVendors(t *testing.T) {
|
||||
|
||||
func TestEncodePublisherTC(t *testing.T) {
|
||||
str := "eEAAAAAAAUA"
|
||||
segment := &iabtcf.PublisherTC{
|
||||
segment := &PublisherTC{
|
||||
SegmentType: 3,
|
||||
PubPurposesConsent: map[int]bool{
|
||||
1: true,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package iabtcf
|
||||
package iabtcfv2
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package iabtcf
|
||||
package iabtcfv2
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package iabtcf
|
||||
package iabtcfv2
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package iabtcf
|
||||
package iabtcfv2
|
||||
|
||||
import "encoding/base64"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package iabtcf
|
||||
package iabtcfv2
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
Reference in New Issue
Block a user