@@ -1394,6 +1394,63 @@ describe('utils', function() {
13941394 assert . deepEqual ( data , { } ) ;
13951395 } ) ;
13961396 } ) ;
1397+ describe ( 'isValidUrl' , function ( ) {
1398+ // Invalid schemes
1399+ it ( 'should return false for invalid scheme htt' , function ( ) {
1400+ assert . equal ( utils . isValidURL ( 'htt://www.example.com' ) , false ) ;
1401+ } ) ;
1402+ it ( 'should return false for missing scheme' , function ( ) {
1403+ assert . equal ( utils . isValidURL ( '://www.example.com' ) , false ) ;
1404+ } ) ;
1405+
1406+ // Invalid domain names
1407+ it ( 'should return false for missing domain' , function ( ) {
1408+ assert . equal ( utils . isValidURL ( 'https://example' ) , false ) ;
1409+ } ) ;
1410+ it ( 'should return false for missing domain after dot' , function ( ) {
1411+ assert . equal ( utils . isValidURL ( 'https://example.' ) , false ) ;
1412+ } ) ;
1413+ it ( 'should return false for missing domain before dot' , function ( ) {
1414+ assert . equal ( utils . isValidURL ( 'https://.example.com' ) , false ) ;
1415+ } ) ;
1416+
1417+ // Invalid domain names
1418+ it ( 'should return false for Invalid domain names' , function ( ) {
1419+ assert . equal ( utils . isValidURL ( 'www.example.com' ) , false ) ;
1420+ } ) ;
1421+ it ( 'should return false for Invalid domain names 2' , function ( ) {
1422+ assert . equal ( utils . isValidURL ( 'example.com' ) , false ) ;
1423+ } ) ;
1424+ // Empty URL
1425+ it ( 'should return false for empty url' , function ( ) {
1426+ assert . equal ( utils . isValidURL ( '' ) , false ) ;
1427+ } ) ;
1428+
1429+ it ( 'should return false for Invalid domain names 2' , function ( ) {
1430+ assert . equal ( utils . isValidURL ( '' ) , false ) ;
1431+ } ) ;
1432+
1433+ it ( 'should return false for null' , function ( ) {
1434+ assert . equal ( utils . isValidURL ( null ) , false ) ;
1435+ } ) ;
1436+
1437+ it ( 'should return false for undefined' , function ( ) {
1438+ assert . equal ( utils . isValidURL ( undefined ) , false ) ;
1439+ } ) ;
1440+
1441+ it ( 'should return false for invalid path' , function ( ) {
1442+ assert . equal ( utils . isValidURL ( 'https://www.example.com/path with spaces' ) , false ) ;
1443+ } ) ;
1444+
1445+ it ( 'should return true for valid url - https' , function ( ) {
1446+ assert . equal ( utils . isValidURL ( 'https://api2.branch.io' ) , true ) ;
1447+ } ) ;
1448+
1449+ it ( 'should return true for valid url - http' , function ( ) {
1450+ assert . equal ( utils . isValidURL ( 'http://api2.branch.io' ) , true ) ;
1451+ } ) ;
1452+ } ) ;
1453+
13971454
13981455 /*
13991456 describe('journey_cta', function(done) {
0 commit comments