diff --git a/app/blog/render/retrieve/tests/absoluteURLs.js b/app/blog/render/retrieve/tests/absoluteURLs.js
new file mode 100644
index 00000000000..fa8526f644d
--- /dev/null
+++ b/app/blog/render/retrieve/tests/absoluteURLs.js
@@ -0,0 +1,54 @@
+describe("absoluteURLs", function() {
+ var absoluteURLs = require("../absoluteURLs");
+ var mustache = require("mustache");
+
+ global.test.blog();
+
+ beforeEach(function() {
+ this.request = {
+ protocol: "http",
+ get: function() {
+ return "example.com";
+ }
+ };
+ });
+
+ it("replaces relative links with absolute URLs", function(done) {
+ var result;
+ var locals = {};
+ var html = '';
+ var template = "{{#absoluteURLs}}" + html + "{{/absoluteURLs}}";
+
+ absoluteURLs(this.request, function(err, lambda) {
+ result = mustache.render(template, { absoluteURLs: lambda });
+ expect(result).toEqual('');
+ done();
+ });
+ });
+
+ it("replaces relative image sources with absolute sources", function(done) {
+ var result;
+ var locals = {};
+ var html = '';
+ var template = "{{#absoluteURLs}}" + html + "{{/absoluteURLs}}";
+
+ absoluteURLs(this.request, function(err, lambda) {
+ result = mustache.render(template, { absoluteURLs: lambda });
+ expect(result).toEqual('');
+ done();
+ });
+ });
+
+ it("leaves fully qualified links and images as-is", function(done) {
+ var result;
+ var locals = {};
+ var html = '';
+ var template = "{{#absoluteURLs}}" + html + "{{/absoluteURLs}}";
+
+ absoluteURLs(this.request, function(err, lambda) {
+ result = mustache.render(template, { absoluteURLs: lambda });
+ expect(result).toEqual(html);
+ done();
+ });
+ });
+});