pillarjs/cookies

Cookie set to '' when pass the value as 0

Open

#101 aperta il 22 ago 2018

Vedi su GitHub
 (3 commenti) (0 reazioni) (0 assegnatari)JavaScript (152 fork)batch import
bughelp wanted

Metriche repository

Star
 (1261 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

When I want to record the user visit time in the header, I found the 0 value cannot set to cookie only if we convert it to string type, but other number type value can be saved. I create one test to reproduce the issue:

it('when set value to 0', () => {
      var cookie = new cookies.Cookie('foo', 0 );
      assert.equal(cookie.toHeader(), 'foo=0; path=/; httponly')
 }) //this will faile

it('when set value to 1', () => {
        var cookie = new cookies.Cookie('foo', 1 );
        assert.equal(cookie.toHeader(), 'foo=1; path=/; httponly')
}) //this will pass

And I check the source code found this issue happens because of the index.js L:131

  this.value = value || ""

This will convert the 0 to empty string, so I am woundering is this a bug or not, if not, I think we should notice the user we should always put he String type value.

Guida contributor