Skip to content

Commit

Permalink
tests: add more test scenarios
Browse files Browse the repository at this point in the history
  • Loading branch information
metcoder95 committed Mar 23, 2022
1 parent 590fe7b commit 9df2a4a
Showing 1 changed file with 41 additions and 1 deletion.
42 changes: 41 additions & 1 deletion test/fetch/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,8 @@ test('isURLPotentiallyTrustworthy', (t) => {
})

test('determineRequestsReferrer', (t) => {
t.plan(4)
t.plan(7)

t.test('Should handle empty referrerPolicy', (tt) => {
tt.plan(2)
tt.equal(util.determineRequestsReferrer({}), 'no-referrer')
Expand Down Expand Up @@ -169,4 +170,43 @@ test('determineRequestsReferrer', (t) => {
}), 'no-referrer')
}
})

t.test('Should return "no-referrer" if the request referrer is neither client nor instance of URL', (tt) => {
tt.plan(4)
const requests = [
{ referrerPolicy: 'origin', referrer: 'string' },
{ referrerPolicy: 'origin', referrer: null },
{ referrerPolicy: 'origin', referrer: undefined },
{ referrerPolicy: 'origin', referrer: '' }
]

for (const request of requests) {
tt.equal(util.determineRequestsReferrer(request), 'no-referrer')
}
})

t.test('Should return referrer origin on referrerPolicy origin', (tt) => {
tt.plan(1)
const expectedRequest = {
referrerPolicy: 'origin',
referrer: new URL('http://example:12345@example.com')
}

tt.equal(util.determineRequestsReferrer(expectedRequest), expectedRequest.referrer.origin)
})

t.test('Should return referrer url on referrerPolicy unsafe-url', (tt) => {
tt.plan(1)
const expectedRequest = {
referrerPolicy: 'unsafe-url',
referrer: new URL('http://example:12345@example.com/hello/world')
}

const expectedReffererUrl = new URL(expectedRequest.referrer.href)

expectedReffererUrl.username = ''
expectedReffererUrl.password = ''

tt.equal(util.determineRequestsReferrer(expectedRequest), expectedReffererUrl.href)
})
})

0 comments on commit 9df2a4a

Please sign in to comment.