36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
/*global waitsFor:true expect:true describe:true beforeEach:true it:true */
|
|
|
|
describe("Discourse.Composer", function() {
|
|
|
|
describe("replyLength", function() {
|
|
|
|
it("returns the length of a basic reply", function() {
|
|
var composer = Discourse.Composer.create({ reply: "basic reply" });
|
|
expect(composer.get('replyLength')).toBe(11);
|
|
});
|
|
|
|
it("trims whitespaces", function() {
|
|
var composer = Discourse.Composer.create({ reply: " \nbasic reply\t" });
|
|
expect(composer.get('replyLength')).toBe(11);
|
|
});
|
|
|
|
it("count only significant whitespaces", function() {
|
|
// this will count the '\n' only once
|
|
var composer = Discourse.Composer.create({ reply: "ba sic\n\nreply" });
|
|
expect(composer.get('replyLength')).toBe(12);
|
|
});
|
|
|
|
it("removes quotes", function() {
|
|
var composer = Discourse.Composer.create({ reply: "1[quote=]not counted[/quote]2[quote=]at all[/quote]3" });
|
|
expect(composer.get('replyLength')).toBe(3);
|
|
});
|
|
|
|
it("handles nested quotes correctly", function() {
|
|
var composer = Discourse.Composer.create({ reply: "1[quote=]not[quote=]counted[/quote]yay[/quote]2" });
|
|
expect(composer.get('replyLength')).toBe(2);
|
|
});
|
|
|
|
});
|
|
|
|
});
|