From e2845f7f16d4ea13f5bf8c419a81f63f9f5bf37b Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Tue, 22 Oct 2013 11:08:13 -0400 Subject: [PATCH] Restrict SIZE= to numbers --- .../javascripts/discourse/dialects/bbcode_dialect.js | 2 +- test/javascripts/components/bbcode_test.js | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/discourse/dialects/bbcode_dialect.js b/app/assets/javascripts/discourse/dialects/bbcode_dialect.js index 0e154527a74..5942857ede8 100644 --- a/app/assets/javascripts/discourse/dialects/bbcode_dialect.js +++ b/app/assets/javascripts/discourse/dialects/bbcode_dialect.js @@ -90,7 +90,7 @@ replaceBBCodeParamsRaw("email", function(param, contents) { }); replaceBBCodeParams("size", function(param, contents) { - return ['span', {'class': "bbcode-size-" + param}].concat(contents); + return ['span', {'class': "bbcode-size-" + (parseInt(param) || 1)}].concat(contents); }); // Handles `[code] ... [/code]` blocks diff --git a/test/javascripts/components/bbcode_test.js b/test/javascripts/components/bbcode_test.js index 0c06638576f..64ef9ec5ff5 100644 --- a/test/javascripts/components/bbcode_test.js +++ b/test/javascripts/components/bbcode_test.js @@ -37,13 +37,21 @@ test('lists', function() { }); test('tags with arguments', function() { - format("[size=35]BIG [b]whoop[/b][/size]", "BIG whoop", "supports [size=]"); format("[url=http://bettercallsaul.com]better call![/url]", "better call!", "supports [url] with a title"); format("[email=eviltrout@mailinator.com]evil trout[/email]", "evil trout", "supports [email] with a title"); format("[u][i]abc[/i][/u]", "abc", "can nest tags"); format("[b]first[/b] [b]second[/b]", "first second", "can bold two things on the same line"); }); +test("size tags", function() { + format("[size=35]BIG [b]whoop[/b][/size]", + "BIG whoop", + "supports [size=]"); + format("[size=asdf]regular[/size]", + "regular", + "it only supports numbers in bbcode"); +}); + test("quotes", function() { var post = Discourse.Post.create({