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