/*global buster, assert, dome, gts*/ buster.testCase("Comments", { "renderForm": { "renders comment div": function () { var div = gts.comments.renderComment({ body: "

Hey

", createdAt: "2013-01-01T23:10:15+02:00", updatedAt: "2013-01-01T23:10:15+02:00", author: { avatarPath: "/some/avatar.png", profilePath: "/~cjohansen", name: "Christian Johansen", login: "cjohansen" } }); assert.tagName(div, "div"); assert.className(div, "gts-comment"); assert.equals(div.firstChild.firstChild.innerHTML, "Hey"); assert.match(div.innerHTML, "/some/avatar.png"); assert.match(div.innerHTML, "href=\"/~cjohansen\">Christian Johansen"); assert.match(div.innerHTML, "2013"); refute.match(div.innerHTML, "Edit comment"); refute.match(div.innerHTML, "edited"); }, "renders editable comment": function () { var div = gts.comments.renderComment({ body: "

Hey

", createdAt: "2013-01-01T23:10:15+02:00", updatedAt: "2013-01-01T23:10:15+02:00", editPath: "/comments/123456789/edit", author: { avatarPath: "/some/avatar.png", profilePath: "/~cjohansen", name: "Christian Johansen", login: "cjohansen" } }); assert.match(div.innerHTML, "/comments/123456789/edit"); assert.match(div.innerHTML, "Edit comment"); }, "renders edited comment": function () { var div = gts.comments.renderComment({ body: "

Hey

", createdAt: "2013-01-01T23:10:15+02:00", updatedAt: "2013-01-01T23:25:15+02:00", editPath: "/comments/123456789/edit", author: { avatarPath: "/some/avatar.png", profilePath: "/~cjohansen", name: "Christian Johansen", login: "cjohansen" } }); assert.match(div.innerHTML, "edited"); } }, "personalizeForm": { setUp: function () { this.form = dome.el("form", { style: { display: "none" } }, dome.el("div", { className: "gts-comment-author-ph" })); }, "displays form": function () { gts.comments.personalizeForm({}, this.form); assert.equals(this.form.style.display, "block"); }, "renders user in placeholder": function () { this.useFakeTimers(new Date(2013, 0, 1, 12, 0, 0).getTime()); gts.comments.personalizeForm({ login: "cjohansen", name: "Christian Johansen", avatarPath: "/some/avatar.png", profilePath: "/~cjohansen" }, this.form); assert.tagName(this.form.firstChild, "p"); var markup = this.form.firstChild.innerHTML; assert.match(markup, "