+ describe('unfoldHeaderLines', function () {
+ it('folds', function () {
+ const lines = [
+ 'Normal-Header: some header data',
+ 'Folded-Header: more data',
+ ' second line of data',
+ ' third line of data',
+ ];
+ const expected = [
+ 'Normal-Header: some header data',
+ 'Folded-Header: more data second line of data third line of data',
+ ];
+ const result = common.unfoldHeaderLines(lines);
+ assert.deepStrictEqual(result, expected);
+ });
+ it('covers no input', function () {
+ const lines = undefined;
+ const result = common.unfoldHeaderLines();
+ assert.deepStrictEqual(result, lines);
+ });
+ }); // unfoldHeaderLines
+
+ describe('addCookie', function () {
+ let res, name, value;
+ beforeEach(function () {
+ res = {
+ appendHeader: sinon.stub(),
+ };
+ name = 'someCookieName';
+ value = 'someCookieValue';
+ });
+ it('covers no options', function () {
+ common.addCookie(res, name, value, {});
+ assert(res.appendHeader.called);
+ });
+ it('covers all options', function () {
+ common.addCookie(res, name, value, {
+ domain: 'example.com',
+ expires: new Date(),
+ httpOnly: true,
+ maxAge: 9999999,
+ path: '/foo',
+ sameSite: 'Lax',
+ secure: true,
+ });
+ assert(res.appendHeader.called);
+ });
+ it('covers invalid expires', function () {
+ assert.throws(() => common.addCookie(res, name, value, { expires: 'never' }), TypeError);
+ });
+ it('covers invalid sameSite', function () {
+ assert.throws(() => common.addCookie(res, name, value, { sameSite: 'Whatever' }));
+ });
+ it('covers no options', function () {
+ common.addCookie(res, name, value);
+ assert(res.appendHeader.called);
+ });
+ }); // addCookie
+