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(); + }); + }); +});