discourse/spec/javascripts/models/composer_spec.js

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);
});
});
});