diff --git a/test/javascripts/components/click_track_test.js b/test/javascripts/components/click_track_test.js index 7ddf7a4811c..72eb1c59398 100644 --- a/test/javascripts/components/click_track_test.js +++ b/test/javascripts/components/click_track_test.js @@ -20,6 +20,7 @@ module("Discourse.ClickTrack", { ' google.com1', ' ', ' forum', + ' log.txt', ' ', ''].join("\n")); }, @@ -156,6 +157,13 @@ test("tracks via AJAX if we're on the same site", function() { ok(Discourse.URL.routeTo.calledOnce); }); +test("does not track via AJAX for attachments", function() { + this.stub(Discourse.URL, "routeTo"); + this.stub(Discourse.URL, "origin").returns("http://discuss.domain.com"); + + ok(!track(generateClickEventOn('.attachment'))); + ok(Discourse.URL.redirectTo.calledOnce); +}); test("tracks custom urls when opening in another window", function() { var clickEvent = generateClickEventOn('a'); diff --git a/test/javascripts/components/utilities_test.js b/test/javascripts/components/utilities_test.js index 7077c2968ca..416b2fde2bf 100644 --- a/test/javascripts/components/utilities_test.js +++ b/test/javascripts/components/utilities_test.js @@ -7,7 +7,6 @@ test("emailValid", function() { ok(utils.emailValid('bob@EXAMPLE.com'), "allows upper case in the email domain"); }); - var validUpload = utils.validateFilesForUpload; test("validateFilesForUpload", function() { @@ -51,9 +50,9 @@ test("prevents files that are too big from being uploaded", function() { }); var dummyBlob = function() { - window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder; - if (window.BlobBuilder) { - var bb = new window.BlobBuilder(); + var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder; + if (BlobBuilder) { + var bb = new BlobBuilder(); bb.append([1]); return bb.getBlob("image/png"); } else { @@ -85,3 +84,28 @@ test("isAuthorizedUpload", function() { ok(!isAuthorized("image.txt")); ok(!isAuthorized("")); }); + +var getUploadMarkdown = function(filename) { + return utils.getUploadMarkdown({ + original_filename: filename, + width: 100, + height: 200, + url: "/upload/123/abcdef.ext" + }); +}; + +test("getUploadMarkdown", function() { + ok(getUploadMarkdown("lolcat.gif") === ''); + ok(getUploadMarkdown("important.txt") === 'important.txt'); +}); + +test("isAnImage", function() { + _.each(["png", "jpg", "jpeg", "bmp", "gif", "tif"], function(extension) { + var image = "image." + extension; + ok(utils.isAnImage(image)); + ok(utils.isAnImage("http://foo.bar/path/to/" + image)); + }); + ok(!utils.isAnImage("file.txt")); + ok(!utils.isAnImage("http://foo.bar/path/to/file.txt")); + ok(!utils.isAnImage("")); +});