| 
									
										
										
										
											2020-11-12 17:29:54 -06:00
										 |  |  | // Copyright 2020 Signal Messenger, LLC
 | 
					
						
							|  |  |  | // SPDX-License-Identifier: AGPL-3.0-only
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import { assert } from 'chai'; | 
					
						
							|  |  |  | import * as sinon from 'sinon'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import { getUserAgent } from '../../util/getUserAgent'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe('getUserAgent', () => { | 
					
						
							| 
									
										
										
										
											2023-10-11 12:06:43 -07:00
										 |  |  |   beforeEach(function (this: Mocha.Context) { | 
					
						
							| 
									
										
										
										
											2020-11-12 17:29:54 -06:00
										 |  |  |     this.sandbox = sinon.createSandbox(); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-11 12:06:43 -07:00
										 |  |  |   afterEach(function (this: Mocha.Context) { | 
					
						
							| 
									
										
										
										
											2020-11-12 17:29:54 -06:00
										 |  |  |     this.sandbox.restore(); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-11 12:06:43 -07:00
										 |  |  |   it('returns the right User-Agent on Windows', function (this: Mocha.Context) { | 
					
						
							| 
									
										
										
										
											2020-11-12 17:29:54 -06:00
										 |  |  |     this.sandbox.stub(process, 'platform').get(() => 'win32'); | 
					
						
							| 
									
										
										
										
											2022-06-20 17:31:32 -07:00
										 |  |  |     assert.strictEqual( | 
					
						
							|  |  |  |       getUserAgent('1.2.3', '10.0.22000'), | 
					
						
							|  |  |  |       'Signal-Desktop/1.2.3 Windows 10.0.22000' | 
					
						
							|  |  |  |     ); | 
					
						
							| 
									
										
										
										
											2020-11-12 17:29:54 -06:00
										 |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-11 12:06:43 -07:00
										 |  |  |   it('returns the right User-Agent on macOS', function (this: Mocha.Context) { | 
					
						
							| 
									
										
										
										
											2020-11-12 17:29:54 -06:00
										 |  |  |     this.sandbox.stub(process, 'platform').get(() => 'darwin'); | 
					
						
							| 
									
										
										
										
											2022-06-20 17:31:32 -07:00
										 |  |  |     assert.strictEqual( | 
					
						
							|  |  |  |       getUserAgent('1.2.3', '21.5.0'), | 
					
						
							|  |  |  |       'Signal-Desktop/1.2.3 macOS 21.5.0' | 
					
						
							|  |  |  |     ); | 
					
						
							| 
									
										
										
										
											2020-11-12 17:29:54 -06:00
										 |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-11 12:06:43 -07:00
										 |  |  |   it('returns the right User-Agent on Linux', function (this: Mocha.Context) { | 
					
						
							| 
									
										
										
										
											2020-11-12 17:29:54 -06:00
										 |  |  |     this.sandbox.stub(process, 'platform').get(() => 'linux'); | 
					
						
							| 
									
										
										
										
											2022-06-20 17:31:32 -07:00
										 |  |  |     assert.strictEqual( | 
					
						
							|  |  |  |       getUserAgent('1.2.3', '20.04'), | 
					
						
							|  |  |  |       'Signal-Desktop/1.2.3 Linux 20.04' | 
					
						
							|  |  |  |     ); | 
					
						
							| 
									
										
										
										
											2020-11-12 17:29:54 -06:00
										 |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-11 12:06:43 -07:00
										 |  |  |   it('omits the platform on unsupported platforms', function (this: Mocha.Context) { | 
					
						
							| 
									
										
										
										
											2020-11-12 17:29:54 -06:00
										 |  |  |     this.sandbox.stub(process, 'platform').get(() => 'freebsd'); | 
					
						
							| 
									
										
										
										
											2022-06-20 17:31:32 -07:00
										 |  |  |     assert.strictEqual(getUserAgent('1.2.3', '13.1'), 'Signal-Desktop/1.2.3'); | 
					
						
							| 
									
										
										
										
											2020-11-12 17:29:54 -06:00
										 |  |  |   }); | 
					
						
							|  |  |  | }); |