Since libravatar got a default fallback to Gravatar and in generell allows federated image hosting for avatars this shouldn't break any existing implementations. The federation functionality is not added yet. This would require to use the libravatar library. Details: https://wiki.libravatar.org/api/ Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
		
			
				
	
	
		
			53 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* eslint-env node, mocha */
 | |
| 
 | |
| 'use strict'
 | |
| 
 | |
| const assert = require('assert')
 | |
| const mock = require('mock-require')
 | |
| 
 | |
| describe('generateAvatarURL() gravatar enabled', function () {
 | |
|   let avatars
 | |
|   beforeEach(function () {
 | |
|     // Reset config to make sure we don't influence other tests
 | |
|     let testconfig = {
 | |
|       allowGravatar: true,
 | |
|       serverURL: 'http://localhost:3000',
 | |
|       port: 3000
 | |
|     }
 | |
|     mock('../lib/config', testconfig)
 | |
|     avatars = mock.reRequire('../lib/letter-avatars')
 | |
|   })
 | |
| 
 | |
|   it('should return correct urls', function () {
 | |
|     assert.strictEqual(avatars.generateAvatarURL('Daan Sprenkels', 'hello@dsprenkels.com', true), 'https://cdn.libravatar.org/avatar/d41b5f3508cc3f31865566a47dd0336b?s=400')
 | |
|     assert.strictEqual(avatars.generateAvatarURL('Daan Sprenkels', 'hello@dsprenkels.com', false), 'https://cdn.libravatar.org/avatar/d41b5f3508cc3f31865566a47dd0336b?s=96')
 | |
|   })
 | |
| 
 | |
|   it('should return correct urls for names with spaces', function () {
 | |
|     assert.strictEqual(avatars.generateAvatarURL('Daan Sprenkels'), 'http://localhost:3000/user/Daan%20Sprenkels/avatar.svg')
 | |
|   })
 | |
| })
 | |
| 
 | |
| describe('generateAvatarURL() gravatar disabled', function () {
 | |
|   let avatars
 | |
|   beforeEach(function () {
 | |
|     // Reset config to make sure we don't influence other tests
 | |
|     let testconfig = {
 | |
|       allowGravatar: false,
 | |
|       serverURL: 'http://localhost:3000',
 | |
|       port: 3000
 | |
|     }
 | |
|     mock('../lib/config', testconfig)
 | |
|     avatars = mock.reRequire('../lib/letter-avatars')
 | |
|   })
 | |
| 
 | |
|   it('should return correct urls', function () {
 | |
|     assert.strictEqual(avatars.generateAvatarURL('Daan Sprenkels', 'hello@dsprenkels.com', true), 'http://localhost:3000/user/Daan%20Sprenkels/avatar.svg')
 | |
|     assert.strictEqual(avatars.generateAvatarURL('Daan Sprenkels', 'hello@dsprenkels.com', false), 'http://localhost:3000/user/Daan%20Sprenkels/avatar.svg')
 | |
|   })
 | |
| 
 | |
|   it('should return correct urls for names with spaces', function () {
 | |
|     assert.strictEqual(avatars.generateAvatarURL('Daan Sprenkels'), 'http://localhost:3000/user/Daan%20Sprenkels/avatar.svg')
 | |
|   })
 | |
| })
 |