Skip to content

Commit

Permalink
Allow size parameter
Browse files Browse the repository at this point in the history
  • Loading branch information
emerleite committed Feb 19, 2011
1 parent b8f53ea commit 86ac789
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 10 deletions.
6 changes: 4 additions & 2 deletions lib/gravatar.js
@@ -1,8 +1,10 @@
var crypto = require('crypto')
, querystring = require('querystring')
, baseURI = 'http://www.gravatar.com/avatar/';

var gravatar = module.exports = {
url: function (email) {
return baseURI + crypto.createHash('md5').update(email.toLowerCase()).digest('hex');
url: function (email, options) {
var query = (options && "?" + querystring.stringify(options)) || "";
return baseURI + crypto.createHash('md5').update(email.toLowerCase()).digest('hex') + query;
}
};
21 changes: 13 additions & 8 deletions test/gravatar.test.js
@@ -1,18 +1,23 @@
var testCase = require('nodeunit').testCase
, url = require('url')
, gravatar = require('../lib/gravatar')
, baseURI = 'http://www.gravatar.com/avatar/';



module.exports = testCase({
'it should gererate correct hash given an email': function(test) {
test.ok(gravatar.url('emerleite@gmail.com') == baseURI + "93e9084aa289b7f1f5e4ab6716a56c3b");
test.ok(gravatar.url('emerleite@yahoo.com.br') == baseURI + "6c47672b0d58bd6aae4fa70920cb3ee4");
'it should gererate correct uri given an email': function(test) {
test.equal(gravatar.url('emerleite@gmail.com'), baseURI + "93e9084aa289b7f1f5e4ab6716a56c3b");
test.equal(gravatar.url('emerleite@yahoo.com.br'), baseURI + "6c47672b0d58bd6aae4fa70920cb3ee4");
test.done();
},
'it should generate same uri ignoring case': function(test) {
test.ok(gravatar.url('EMERLEITE@gmAil.com'), baseURI + "93e9084aa289b7f1f5e4ab6716a56c3b");
test.ok(gravatar.url('emerleite@YAHOO.com.BR'), baseURI + "6c47672b0d58bd6aae4fa70920cb3ee4");
test.done();
},
'it should generate same url ignoring case': function(test) {
test.ok(gravatar.url('EMERLEITE@gmAil.com') == baseURI + "93e9084aa289b7f1f5e4ab6716a56c3b");
test.ok(gravatar.url('emerleite@YAHOO.com.BR') == baseURI + "6c47672b0d58bd6aae4fa70920cb3ee4");
'it should generate uri with size parameter': function(test) {
var gravatarURI = gravatar.url('emerleite@gmail.com', { s: '200'});
var queryString = url.parse(gravatarURI, true).query;
test.equal(queryString.s, '200');
test.done();
}
});

0 comments on commit 86ac789

Please sign in to comment.