describe("Core — Issues and Notes", function () { var MAXOUT = 5000 , basicConfig = { editors: [{ name: "Robin Berjon" }] , specStatus: "WD" } , issueBaseConfig = { editors: [{ name: "Gregg Kellogg" }] , issueBase: "http://example.com/issues/" , specStatus: "WD" } , atRiskBaseConfig = { editors: [{ name: "Markus Lanthaler" }] , issueBase: "http://example.com/issues/" , atRiskBase: "http://example.com/atrisk/" , specStatus: "WD" }; it("should process issues and notes", function () { var doc; runs(function () { makeRSDoc({ config: basicConfig , body: $("

BLAH ISS-INLINE

ISSUE

" + "

BLAH ATR-INLINE

FEATURE AT RISK

" + "

BLAH NOT-INLINE

NOTE

") }, function (rsdoc) { doc = rsdoc; }); }); waitsFor(function () { return doc; }, MAXOUT); runs(function () { var $iss = $("div.issue", doc).first() , $atr = $("div.atrisk", doc) , $piss = $iss.find("p") , $patr = $atr.find("p") , $spiss = $("span.issue", doc) , $spatr = $("span.atrisk", doc) , $not = $("div.note", doc) , $pnot = $not.find("p") , $spnot = $("span.note", doc) ; console.log(doc); expect($spiss.parent("div").length).toEqual(0); expect($spatr.parent("div").length).toEqual(0); expect($spnot.parent("div").length).toEqual(0); expect($iss.find("div.issue-title").length).toEqual(1); expect($iss.find("div.issue-title").text()).toEqual("Issue 1: ISS-TIT"); expect($piss.attr("title")).toBeUndefined(); expect($piss.text()).toEqual("ISSUE"); expect($atr.find("div.issue-title").length).toEqual(1); expect($atr.find("div.issue-title").text()).toEqual("Feature at Risk 2: ATR-TIT"); expect($patr.attr("title")).toBeUndefined(); expect($patr.text()).toEqual("FEATURE AT RISK"); expect($not.find("div.note-title").length).toEqual(1); expect($not.find("div.note-title").text()).toEqual("Note: NOT-TIT"); expect($pnot.attr("title")).toBeUndefined(); expect($pnot.text()).toEqual("NOTE"); flushIframes(); }); }); it("should process warnings", function () { var doc; runs(function () { makeRSDoc({ config: basicConfig , body: $("

BLAH WARN-INLINE

WARNING

" + "

ISSUE

") }, function (rsdoc) { doc = rsdoc; }); }); waitsFor(function () { return doc; }, MAXOUT); runs(function () { var $sec = $("section", doc); expect($sec.find(".warning").length).toEqual(2); expect($sec.find(".warning-title").length).toEqual(1); expect($sec.find(".warning-title").text()).toEqual("Warning: WARN-TIT"); }); }); it("should use data-number for issue and note numbers", function () { var doc; runs(function () { makeRSDoc({ config: basicConfig , body: $("

Numbered ISSUE

Titled and Numbered Issue

Unnumbered ISSUE

") }, function (rsdoc) { doc = rsdoc; }); }); waitsFor(function () { return doc; }, MAXOUT); runs(function () { var $i10 = $("#i10", doc).parent('div') , $i11 = $("#i11", doc).parent('div') , $ixx = $("#ixx", doc).parent('div') ; console.log($i10.innerHTML) ; expect($i10.find("div.issue-title").length).toEqual(1); expect($i10.find("div.issue-title").text()).toEqual("Issue 10"); expect($i11.find("div.issue-title").length).toEqual(1); expect($i11.find("div.issue-title").text()).toEqual("Issue 11: ISS-TIT"); expect($ixx.find("div.issue-title").length).toEqual(1); expect($ixx.find("div.issue-title").text()).toEqual("Issue"); flushIframes(); }); }); it("should link to external issue tracker", function () { var doc; runs(function () { makeRSDoc({ config: issueBaseConfig , body: $("

ISSUE

") }, function (rsdoc) { doc = rsdoc; }); }); waitsFor(function () { return doc; }, MAXOUT); runs(function () { var $iss = $("div.issue", doc) , $piss = $iss.find("p") ; expect($iss.find("div.issue-title").length).toEqual(1); expect($iss.find("div.issue-title").text()).toEqual("Issue 10"); expect($iss.find("div.issue-title a").attr("href")).toEqual(issueBaseConfig.issueBase + "10"); expect($piss.attr("title")).toBeUndefined(); expect($piss.text()).toEqual("ISSUE"); flushIframes(); }); }); it("should link to external issue tracker for features at risk", function () { var doc; runs(function () { makeRSDoc({ config: atRiskBaseConfig , body: $("

FEATURE AT RISK

") }, function (rsdoc) { doc = rsdoc; }); }); waitsFor(function () { return doc; }, MAXOUT); runs(function () { var $iss = $("div.atrisk", doc) , $piss = $iss.find("p") ; expect($iss.find("div.issue-title").length).toEqual(1); expect($iss.find("div.issue-title").text()).toEqual("Feature at Risk 10"); expect($iss.find("div.issue-title a").attr("href")).toEqual(atRiskBaseConfig.atRiskBase + "10"); expect($piss.attr("title")).toBeUndefined(); expect($piss.text()).toEqual("FEATURE AT RISK"); flushIframes(); }); }); });