Skip to content

Commit 05ac397

Browse files
committed
test: cookie() feat more
1 parent 8c61335 commit 05ac397

File tree

1 file changed

+55
-5
lines changed

1 file changed

+55
-5
lines changed

test/cookie/cookie.js

+55-5
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ describe('bbo.cookie()', () => {
2525
expect(bbo.cookie().remove).toBeInstanceOf(Function);
2626
});
2727

28-
test('cookie().set()', function() {
28+
test('bbo.cookie().set()', function() {
2929
bbo.cookie().set('c', 'v');
3030
expect(document.cookie).toBe('c=v');
3131
bbo.cookie().set('c1', 'v');
3232
expect(document.cookie).toBe(cookie);
3333
});
3434

35-
test('cookie().set() a object', function() {
35+
test('bbo.cookie().set() a object', function() {
3636
bbo.cookie().set('name', { foo: 'bar' });
3737
expect(document.cookie).toBe(`${cookie}; ${cookieName}`);
3838
});
@@ -43,12 +43,12 @@ describe('bbo.cookie()', () => {
4343
expect(document.cookie).toBe(`c=v1; c1=v; ${cookieName}`);
4444
});
4545

46-
test('cookie().get()', function() {
46+
test('bbo.cookie().get()', function() {
4747
const c = bbo.cookie().get('c');
4848
expect(c).toBe('v1');
4949
});
5050

51-
test('cookie().get()', function() {
51+
test('bbo.cookie().get()', function() {
5252
const c = bbo.cookie().get('c');
5353
const get = bbo.cookie().get();
5454
const getJson = bbo.cookie().getJSON();
@@ -62,9 +62,59 @@ describe('bbo.cookie()', () => {
6262
expect(getkeyJson).toEqual(objectJson.name);
6363
});
6464

65-
test('cookie().remove()', function() {
65+
test('bbo.cookie().remove()', function() {
6666
bbo.cookie().remove('c');
6767
const c = bbo.cookie().get('c');
6868
expect(c).toBe(undefined);
6969
});
70+
71+
test('bbo.cookie() add read', function() {
72+
const wirte = bbo.cookie().set('c1', 'v1');
73+
expect(wirte).toEqual('c1=v1; path=/');
74+
const read = bbo.cookie().set('c2', 'v2');
75+
expect(read).toEqual('c2=v2; path=/');
76+
const readNew = bbo.cookie().set('c2', 'v2');
77+
expect(readNew).toEqual('c2=v2; path=/');
78+
});
79+
80+
test('bbo.cookie().set() more', function() {
81+
bbo.cookie().set('c3', 'v', { expires: 7, path: '/', domain: '.github.com', secure: true });
82+
expect(document.cookie).toBe(`c1=v1; ${cookieName}; c2=v2`);
83+
});
84+
85+
test('bbo.cookie() extend write decoder', function() {
86+
bbo
87+
.cookie()
88+
.withConverter({
89+
write: function(value) {
90+
let encoded = value.replace('a', 'A');
91+
return bbo.cookie().withConverter(encoded);
92+
}
93+
})
94+
.set('c', 'a;');
95+
expect(document.cookie).toBe(`c1=v1; ${cookieName}; c2=v2`);
96+
});
97+
98+
test('bbo.cookie() extend read decoder', function() {
99+
const readConverter = function(value) {
100+
return value.toUpperCase();
101+
};
102+
const api = bbo.cookie().withConverter({
103+
read: readConverter
104+
});
105+
106+
bbo
107+
.cookie()
108+
.withConverter(api)
109+
.set('c2', 'a2;');
110+
111+
expect(document.cookie).toBe(`c1=v1; ${cookieName}; c2=a2%3B`);
112+
});
113+
114+
test('cookie error', function() {
115+
document.cookie = 'c1';
116+
bbo.cookie().set('c', 'v2');
117+
118+
expect(document.cookie).toBe(`c1=v1; ${cookieName}; c2=a2%3B; c1; c=v2`);
119+
});
70120
});

0 commit comments

Comments
 (0)