Skip to content

stripAuthentication does not work as documented #184

@rendall

Description

@rendall

The documentation has these examples regarding stripAuthentication:

normalizeUrl('user:password@sindresorhus.com');
//=> 'https://sindresorhus.com'

normalizeUrl('user:password@sindresorhus.com', {stripAuthentication: false});
//=> 'https://user:password@sindresorhus.com'

However, those examples fail in (Jest) tests:

normalizeUrl › should strip authentication part of the URL by default

    Expected: "https://sindresorhus.com"
    Received: "user:password@sindresorhus.com"

      24 |   it('should strip authentication part of the URL by default', () => {
    > 25 |     expect(normalizeUrl('user:password@sindresorhus.com')).toBe('https://sindresorhus.com');
         |                                                            ^
      26 |   });

      at Object.<anonymous> (src/tests/backend/normalizeUrl.test.ts:25:60)

  ● normalizeUrl › should strip authentication part of the URL if stripAuthentication is true

    Expected: "https://sindresorhus.com"
    Received: "user:password@sindresorhus.com"

      28 |   it('should strip authentication part of the URL if stripAuthentication is true', () => {
    > 29 |     expect(normalizeUrl('user:password@sindresorhus.com', { stripAuthentication: true })).toBe('https://sindresorhus.com');
         |                                                                                           ^
      30 |   });  

      at Object.<anonymous> (src/tests/backend/normalizeUrl.test.ts:29:91)

These tests do pass, however, if the protocol is included:

  it('should strip authentication part of the URL by default', () => {
    expect(normalizeUrl('https://user:password@sindresorhus.com')).toBe('https://sindresorhus.com');
  });

  it('should strip authentication part of the URL if stripAuthentication is true', () => {
    expect(normalizeUrl('https://user:password@sindresorhus.com', { stripAuthentication: true })).toBe('https://sindresorhus.com');
  });  
  
  it('should not strip authentication if stripAuthentication is false', () => {
    expect(normalizeUrl('https://user:password@sindresorhus.com', { stripAuthentication: false })).toBe('https://user:password@sindresorhus.com');
  });

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions