2022-04-01 00:41:27 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  *  as  cache  from  '@actions/cache' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  *  as  core  from  '@actions/core' ;  
						 
					
						
							
								
									
										
										
										
											2023-06-28 22:02:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  *  as  io  from  '@actions/io' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  fs  from  'fs' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  path  from  'path' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-12-17 18:03:54 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								import  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  validateVersion , 
							 
						 
					
						
							
								
									
										
										
										
											2022-04-01 00:41:27 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  validatePythonVersionFormatForPyPy , 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-28 22:02:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  isCacheFeatureAvailable , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  getVersionInputFromFile , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  getVersionInputFromPlainFile , 
							 
						 
					
						
							
								
									
										
										
										
											2023-10-10 14:59:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  getVersionInputFromTomlFile , 
							 
						 
					
						
							
								
									
										
										
										
											2024-08-05 22:53:34 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  getNextPageUrl , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  IS_WINDOWS , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  getDownloadFileName 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-17 18:03:54 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  from  '../src/utils' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-04-01 00:41:27 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								jest . mock ( '@actions/cache' ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								jest . mock ( '@actions/core' ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-12-17 18:03:54 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								describe ( 'validatePythonVersionFormatForPyPy' ,  ( )  = >  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it . each ( [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ '3.6' ,  true ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ '3.7' ,  true ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ '3.6.x' ,  false ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ '3.7.x' ,  false ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ '3.x' ,  false ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ '3' ,  false ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ] ) ( '%s -> %s' ,  ( input ,  expected )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( validatePythonVersionFormatForPyPy ( input ) ) . toEqual ( expected ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								describe ( 'validateVersion' ,  ( )  = >  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it . each ( [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ 'v7.3.3' ,  true ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ 'v7.3.x' ,  true ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ 'v7.x' ,  true ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ 'x' ,  true ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ 'v7.3.3-rc.1' ,  true ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ 'nightly' ,  true ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ 'v7.3.b' ,  false ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ '3.6' ,  true ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ '3.b' ,  false ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [ '3' ,  true ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ] ) ( '%s -> %s' ,  ( input ,  expected )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( validateVersion ( input ) ) . toEqual ( expected ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ) ;  
						 
					
						
							
								
									
										
										
										
											2022-04-01 00:41:27 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								describe ( 'isCacheFeatureAvailable' ,  ( )  = >  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'isCacheFeatureAvailable disabled on GHES' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    jest . spyOn ( cache ,  'isFeatureAvailable' ) . mockImplementation ( ( )  = >  false ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-19 22:00:46 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  infoMock  =  jest . spyOn ( core ,  'warning' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  message  = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      'Caching is only supported on GHES version >= 3.5. If you are on a version >= 3.5, please check with your GHES admin if the Actions cache service is enabled or not.' ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-04-01 00:41:27 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      process . env [ 'GITHUB_SERVER_URL' ]  =  'http://example.com' ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-19 22:00:46 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      expect ( isCacheFeatureAvailable ( ) ) . toBeFalsy ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( infoMock ) . toHaveBeenCalledWith ( message ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-04-01 00:41:27 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    }  finally  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      delete  process . env [ 'GITHUB_SERVER_URL' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'isCacheFeatureAvailable disabled on dotcom' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    jest . spyOn ( cache ,  'isFeatureAvailable' ) . mockImplementation ( ( )  = >  false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  infoMock  =  jest . spyOn ( core ,  'warning' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  message  = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      'The runner was not able to contact the cache service. Caching will be skipped' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      process . env [ 'GITHUB_SERVER_URL' ]  =  'http://github.com' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( isCacheFeatureAvailable ( ) ) . toBe ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( infoMock ) . toHaveBeenCalledWith ( message ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  finally  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      delete  process . env [ 'GITHUB_SERVER_URL' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'isCacheFeatureAvailable is enabled' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    jest . spyOn ( cache ,  'isFeatureAvailable' ) . mockImplementation ( ( )  = >  true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( isCacheFeatureAvailable ( ) ) . toBe ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ) ;  
						 
					
						
							
								
									
										
										
										
											2023-06-28 22:02:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								const  tempDir  =  path . join (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __dirname , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  'runner' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  path . join ( Math . random ( ) . toString ( 36 ) . substring ( 7 ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  'temp' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								describe ( 'Version from file test' ,  ( )  = >  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it . each ( [ getVersionInputFromPlainFile ,  getVersionInputFromFile ] ) ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    'Version from plain file test' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    async  _fn  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      await  io . mkdirP ( tempDir ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  pythonVersionFileName  =  'python-version.file' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  pythonVersionFilePath  =  path . join ( tempDir ,  pythonVersionFileName ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  pythonVersionFileContent  =  '3.7' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      fs . writeFileSync ( pythonVersionFilePath ,  pythonVersionFileContent ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( _fn ( pythonVersionFilePath ) ) . toEqual ( [ pythonVersionFileContent ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it . each ( [ getVersionInputFromTomlFile ,  getVersionInputFromFile ] ) ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    'Version from standard pyproject.toml test' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    async  _fn  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      await  io . mkdirP ( tempDir ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  pythonVersionFileName  =  'pyproject.toml' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  pythonVersionFilePath  =  path . join ( tempDir ,  pythonVersionFileName ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-07 15:45:09 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      const  pythonVersion  =  '>=3.7.0' ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-28 22:02:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      const  pythonVersionFileContent  =  ` [project] \ nrequires-python = " ${ pythonVersion } " ` ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      fs . writeFileSync ( pythonVersionFilePath ,  pythonVersionFileContent ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( _fn ( pythonVersionFilePath ) ) . toEqual ( [ pythonVersion ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it . each ( [ getVersionInputFromTomlFile ,  getVersionInputFromFile ] ) ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    'Version from poetry pyproject.toml test' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    async  _fn  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      await  io . mkdirP ( tempDir ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  pythonVersionFileName  =  'pyproject.toml' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  pythonVersionFilePath  =  path . join ( tempDir ,  pythonVersionFileName ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-07 15:45:09 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      const  pythonVersion  =  '>=3.7.0' ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-28 22:02:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      const  pythonVersionFileContent  =  ` [tool.poetry.dependencies] \ npython = " ${ pythonVersion } " ` ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      fs . writeFileSync ( pythonVersionFilePath ,  pythonVersionFileContent ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( _fn ( pythonVersionFilePath ) ) . toEqual ( [ pythonVersion ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it . each ( [ getVersionInputFromTomlFile ,  getVersionInputFromFile ] ) ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    'Version undefined' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    async  _fn  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      await  io . mkdirP ( tempDir ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  pythonVersionFileName  =  'pyproject.toml' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  pythonVersionFilePath  =  path . join ( tempDir ,  pythonVersionFileName ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      fs . writeFileSync ( pythonVersionFilePath ,  ` ` ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( _fn ( pythonVersionFilePath ) ) . toEqual ( [ ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ) ;  
						 
					
						
							
								
									
										
										
										
											2023-10-10 14:59:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								describe ( 'getNextPageUrl' ,  ( )  = >  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'GitHub API pagination next page is parsed correctly' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  generateResponse ( link : string )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        statusCode : 200 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        result : null , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        headers :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          link : link 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  page1Links  = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '<https://api.github.com/repositories/129883600/releases?page=2>; rel="next", <https://api.github.com/repositories/129883600/releases?page=3>; rel="last"' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( getNextPageUrl ( generateResponse ( page1Links ) ) ) . toStrictEqual ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      'https://api.github.com/repositories/129883600/releases?page=2' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  page2Links  = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      '<https://api.github.com/repositories/129883600/releases?page=1>; rel="prev", <https://api.github.com/repositories/129883600/releases?page=1>; rel="first"' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expect ( getNextPageUrl ( generateResponse ( page2Links ) ) ) . toBeNull ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ) ;  
						 
					
						
							
								
									
										
										
										
											2024-08-05 22:53:34 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								describe ( 'getDownloadFileName' ,  ( )  = >  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  const  originalEnv  =  process . env ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  const  tempDir  =  path . join ( __dirname ,  'runner' ,  'temp' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  beforeEach ( ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    process . env  =  { . . . originalEnv } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  afterEach ( ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    process . env  =  originalEnv ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should return the correct path on Windows' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( IS_WINDOWS )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      process . env [ 'RUNNER_TEMP' ]  =  tempDir ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  downloadUrl  = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        'https://github.com/actions/sometool/releases/tag/1.2.3-20200402.6/sometool-1.2.3-win32-x64.zip' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  expectedPath  =  path . join ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        process . env . RUNNER_TEMP , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        path . basename ( downloadUrl ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( getDownloadFileName ( downloadUrl ) ) . toBe ( expectedPath ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  it ( 'should return undefined on non-Windows' ,  ( )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! IS_WINDOWS )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      const  downloadUrl  = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        'https://github.com/actions/sometool/releases/tag/1.2.3-20200402.6/sometool-1.2.3-linux-x64.tar.gz' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      expect ( getDownloadFileName ( downloadUrl ) ) . toBeUndefined ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ) ;