mirror of
https://github.com/sasjs/adapter.git
synced 2026-01-07 20:40:05 +00:00
test(isUrl): covered isUrl utility with unit tests
This commit is contained in:
39
src/test/utils/isUrl.spec.ts
Normal file
39
src/test/utils/isUrl.spec.ts
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
import { isUrl } from '../../utils/isUrl'
|
||||||
|
|
||||||
|
describe('urlValidator', () => {
|
||||||
|
it('should return true with an HTTP URL', () => {
|
||||||
|
const url = 'http://google.com'
|
||||||
|
|
||||||
|
expect(isUrl(url)).toEqual(true)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should return true with an HTTPS URL', () => {
|
||||||
|
const url = 'https://google.com'
|
||||||
|
|
||||||
|
expect(isUrl(url)).toEqual(true)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should return true when the URL is blank', () => {
|
||||||
|
const url = ''
|
||||||
|
|
||||||
|
expect(isUrl(url)).toEqual(false)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should return false when the URL has not supported protocol', () => {
|
||||||
|
const url = 'htpps://google.com'
|
||||||
|
|
||||||
|
expect(isUrl(url)).toEqual(false)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should return false when the URL is null', () => {
|
||||||
|
const url = null
|
||||||
|
|
||||||
|
expect(isUrl((url as unknown) as string)).toEqual(false)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should return false when the URL is undefined', () => {
|
||||||
|
const url = undefined
|
||||||
|
|
||||||
|
expect(isUrl((url as unknown) as string)).toEqual(false)
|
||||||
|
})
|
||||||
|
})
|
||||||
@@ -1,10 +1,14 @@
|
|||||||
/**
|
/**
|
||||||
* Checks if string is in URL format.
|
* Checks if string is in URL format.
|
||||||
* @param url - string to check.
|
* @param str - string to check.
|
||||||
*/
|
*/
|
||||||
export const isUrl = (url: string): boolean => {
|
export const isUrl = (str: string): boolean => {
|
||||||
|
const supportedProtocols = ['http:', 'https:']
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const validUrl = new URL(url)
|
const url = new URL(str)
|
||||||
|
|
||||||
|
if (!supportedProtocols.includes(url.protocol)) return false
|
||||||
} catch (_) {
|
} catch (_) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user