mirror of
				https://code.forgejo.org/actions/checkout.git
				synced 2025-10-31 04:52:29 +00:00 
			
		
		
		
	Address hasContent readability
				
					
				
			This commit is contained in:
		
							parent
							
								
									7695871fe0
								
							
						
					
					
						commit
						7fd13ec418
					
				
					 3 changed files with 47 additions and 10 deletions
				
			
		|  | @ -1,5 +1,28 @@ | ||||||
| import * as urlHelper from '../src/url-helper' | import * as urlHelper from '../src/url-helper' | ||||||
| 
 | 
 | ||||||
|  | describe('getServerUrl tests', () => { | ||||||
|  |   it('basics', async () => { | ||||||
|  |     // Note that URL::toString will append a trailing / when passed just a domain name ...
 | ||||||
|  |     expect(urlHelper.getServerUrl().toString()).toBe('https://github.com/') | ||||||
|  |     expect(urlHelper.getServerUrl(' ').toString()).toBe('https://github.com/') | ||||||
|  |     expect(urlHelper.getServerUrl('   ').toString()).toBe('https://github.com/') | ||||||
|  |     expect(urlHelper.getServerUrl('http://contoso.com').toString()).toBe( | ||||||
|  |       'http://contoso.com/' | ||||||
|  |     ) | ||||||
|  |     expect(urlHelper.getServerUrl('https://contoso.com').toString()).toBe( | ||||||
|  |       'https://contoso.com/' | ||||||
|  |     ) | ||||||
|  |     expect(urlHelper.getServerUrl('https://contoso.com/').toString()).toBe( | ||||||
|  |       'https://contoso.com/' | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  |     // ... but can't make that same assumption when passed an URL that includes some deeper path.
 | ||||||
|  |     expect(urlHelper.getServerUrl('https://contoso.com/a/b').toString()).toBe( | ||||||
|  |       'https://contoso.com/a/b' | ||||||
|  |     ) | ||||||
|  |   }) | ||||||
|  | }) | ||||||
|  | 
 | ||||||
| describe('isGhes tests', () => { | describe('isGhes tests', () => { | ||||||
|   it('basics', async () => { |   it('basics', async () => { | ||||||
|     expect(urlHelper.isGhes()).toBeFalsy() |     expect(urlHelper.isGhes()).toBeFalsy() | ||||||
|  |  | ||||||
							
								
								
									
										16
									
								
								dist/index.js
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								dist/index.js
									
										
									
									
										vendored
									
									
								
							|  | @ -2455,13 +2455,13 @@ function getFetchUrl(settings) { | ||||||
| } | } | ||||||
| function getServerUrl(url) { | function getServerUrl(url) { | ||||||
|     let resolvedUrl = process.env['GITHUB_SERVER_URL'] || 'https://github.com'; |     let resolvedUrl = process.env['GITHUB_SERVER_URL'] || 'https://github.com'; | ||||||
|     if (hasContent(url, false)) { |     if (hasContent(url, WhitespaceMode.IgnorePureWhitespace)) { | ||||||
|         resolvedUrl = url; |         resolvedUrl = url; | ||||||
|     } |     } | ||||||
|     return new url_1.URL(resolvedUrl); |     return new url_1.URL(resolvedUrl); | ||||||
| } | } | ||||||
| function getServerApiUrl(url) { | function getServerApiUrl(url) { | ||||||
|     if (hasContent(url, false)) { |     if (hasContent(url, WhitespaceMode.IgnorePureWhitespace)) { | ||||||
|         let serverUrl = getServerUrl(url); |         let serverUrl = getServerUrl(url); | ||||||
|         if (isGhes(url)) { |         if (isGhes(url)) { | ||||||
|             serverUrl.pathname = 'api/v3'; |             serverUrl.pathname = 'api/v3'; | ||||||
|  | @ -2482,14 +2482,20 @@ function isGhes(url) { | ||||||
|     return !isGitHubHost && !isGitHubEnterpriseCloudHost && !isLocalHost; |     return !isGitHubHost && !isGitHubEnterpriseCloudHost && !isLocalHost; | ||||||
| } | } | ||||||
| function pruneSuffix(text, suffix) { | function pruneSuffix(text, suffix) { | ||||||
|     if (hasContent(suffix, true) && (text === null || text === void 0 ? void 0 : text.endsWith(suffix))) { |     if (hasContent(suffix, WhitespaceMode.AllowPureWhitespace) && | ||||||
|  |         (text === null || text === void 0 ? void 0 : text.endsWith(suffix))) { | ||||||
|         return text.substring(0, text.length - suffix.length); |         return text.substring(0, text.length - suffix.length); | ||||||
|     } |     } | ||||||
|     return text; |     return text; | ||||||
| } | } | ||||||
| function hasContent(text, allowPureWhitespace) { | var WhitespaceMode; | ||||||
|  | (function (WhitespaceMode) { | ||||||
|  |     WhitespaceMode[WhitespaceMode["IgnorePureWhitespace"] = 0] = "IgnorePureWhitespace"; | ||||||
|  |     WhitespaceMode[WhitespaceMode["AllowPureWhitespace"] = 1] = "AllowPureWhitespace"; | ||||||
|  | })(WhitespaceMode || (WhitespaceMode = {})); | ||||||
|  | function hasContent(text, whitespaceMode) { | ||||||
|     let refinedText = text !== null && text !== void 0 ? text : ''; |     let refinedText = text !== null && text !== void 0 ? text : ''; | ||||||
|     if (!allowPureWhitespace) { |     if (whitespaceMode == WhitespaceMode.IgnorePureWhitespace) { | ||||||
|         refinedText = refinedText.trim(); |         refinedText = refinedText.trim(); | ||||||
|     } |     } | ||||||
|     return refinedText.length > 0; |     return refinedText.length > 0; | ||||||
|  |  | ||||||
|  | @ -22,7 +22,7 @@ export function getFetchUrl(settings: IGitSourceSettings): string { | ||||||
| 
 | 
 | ||||||
| export function getServerUrl(url?: string): URL { | export function getServerUrl(url?: string): URL { | ||||||
|   let resolvedUrl = process.env['GITHUB_SERVER_URL'] || 'https://github.com' |   let resolvedUrl = process.env['GITHUB_SERVER_URL'] || 'https://github.com' | ||||||
|   if (hasContent(url, false)) { |   if (hasContent(url, WhitespaceMode.IgnorePureWhitespace)) { | ||||||
|     resolvedUrl = url! |     resolvedUrl = url! | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | @ -30,7 +30,7 @@ export function getServerUrl(url?: string): URL { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export function getServerApiUrl(url?: string): string { | export function getServerApiUrl(url?: string): string { | ||||||
|   if (hasContent(url, false)) { |   if (hasContent(url, WhitespaceMode.IgnorePureWhitespace)) { | ||||||
|     let serverUrl = getServerUrl(url) |     let serverUrl = getServerUrl(url) | ||||||
|     if (isGhes(url)) { |     if (isGhes(url)) { | ||||||
|       serverUrl.pathname = 'api/v3' |       serverUrl.pathname = 'api/v3' | ||||||
|  | @ -58,18 +58,26 @@ export function isGhes(url?: string): boolean { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function pruneSuffix(text: string, suffix: string) { | function pruneSuffix(text: string, suffix: string) { | ||||||
|   if (hasContent(suffix, true) && text?.endsWith(suffix)) { |   if ( | ||||||
|  |     hasContent(suffix, WhitespaceMode.AllowPureWhitespace) && | ||||||
|  |     text?.endsWith(suffix) | ||||||
|  |   ) { | ||||||
|     return text.substring(0, text.length - suffix.length) |     return text.substring(0, text.length - suffix.length) | ||||||
|   } |   } | ||||||
|   return text |   return text | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | enum WhitespaceMode { | ||||||
|  |   IgnorePureWhitespace, | ||||||
|  |   AllowPureWhitespace | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function hasContent( | function hasContent( | ||||||
|   text: string | undefined, |   text: string | undefined, | ||||||
|   allowPureWhitespace: boolean |   whitespaceMode: WhitespaceMode | ||||||
| ): boolean { | ): boolean { | ||||||
|   let refinedText = text ?? '' |   let refinedText = text ?? '' | ||||||
|   if (!allowPureWhitespace) { |   if (whitespaceMode == WhitespaceMode.IgnorePureWhitespace) { | ||||||
|     refinedText = refinedText.trim() |     refinedText = refinedText.trim() | ||||||
|   } |   } | ||||||
|   return refinedText.length > 0 |   return refinedText.length > 0 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue