From fa08b93a3a4dc03b40d9f332d369e233888b886f Mon Sep 17 00:00:00 2001 From: "JK.Mystic" Date: Wed, 17 Dec 2014 20:41:48 +0900 Subject: [PATCH] nl2br function works --- lib/underscore.string.js | 5 +++++ test/strings.js | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/lib/underscore.string.js b/lib/underscore.string.js index f9a2e29a..2ae27621 100644 --- a/lib/underscore.string.js +++ b/lib/underscore.string.js @@ -622,6 +622,11 @@ str = _s.trim(str); if (boolMatch(str, trueValues || ["true", "1"])) return true; if (boolMatch(str, falseValues || ["false", "0"])) return false; + }, + + ln2br: function(str, isXhtml){ + var breakTag = (isXhtml || typeof isXhtml === 'undefined') ? '
' : '
'; + return makeString(str).replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2'); } }; diff --git a/test/strings.js b/test/strings.js index 446d56f0..8ef7a83e 100644 --- a/test/strings.js +++ b/test/strings.js @@ -778,4 +778,15 @@ $(document).ready(function() { strictEqual(_.toBoolean(" true "), true); }); + test('String: ln2br', function() { + equal(_.ln2br('foo\nbar', false), 'foo
\nbar'); + equal(_.ln2br('foo\n\nbar', false), 'foo
\n
\nbar'); + equal(_.ln2br('\nfoo\n\nbar\n', false), '
\nfoo
\n
\nbar
\n'); + equal(_.ln2br('\n\nfoo\n\nbar\n\n', false), '
\n
\nfoo
\n
\nbar
\n
\n'); + equal(_.ln2br('foo\nbar'), 'foo
\nbar'); + equal(_.ln2br('foo\n\nbar'), 'foo
\n
\nbar'); + equal(_.ln2br('\nfoo\n\nbar\n'), '
\nfoo
\n
\nbar
\n'); + equal(_.ln2br('foo\nbar\nfoo\nbar'), 'foo
\nbar
\nfoo
\nbar'); + equal(_.ln2br('\n\nfoo\n\nbar\n\n'), '
\n
\nfoo
\n
\nbar
\n
\n'); + }); });