trabajo-afectivo/public/assets/tests/html_utils.js

1517 lines
105 KiB
JavaScript
Raw Normal View History

2014-12-29 12:59:16 +00:00
window.onload = function() {
// textCleanup
2015-10-09 20:31:26 +00:00
test("textCleanup", function() {
2014-12-29 12:59:16 +00:00
var source = "Some\nValue\n\n\nTest"
var should = "Some\nValue\n\nTest"
2015-10-09 20:31:26 +00:00
var result = App.Utils.textCleanup(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = "Some\nValue\n\n \n\n\nTest"
should = "Some\nValue\n\nTest"
2015-10-09 20:31:26 +00:00
result = App.Utils.textCleanup(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = "Some\n\rValue\n\r\n\r\n\rTest"
should = "Some\nValue\n\nTest"
2015-10-09 20:31:26 +00:00
result = App.Utils.textCleanup(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = "Some\n\rValue\n\r\n\r\n\rTest\r"
should = "Some\nValue\n\nTest"
2015-10-09 20:31:26 +00:00
result = App.Utils.textCleanup(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = "Some\r\nValue\r\n\r\n\r\nTest\r\n"
should = "Some\nValue\n\nTest"
2015-10-09 20:31:26 +00:00
result = App.Utils.textCleanup(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = "Some\r\nValue\r\n\r\n\r\n\r\n\r\n\r\nTest\r\n"
should = "Some\nValue\n\nTest"
2015-10-09 20:31:26 +00:00
result = App.Utils.textCleanup(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = "> Welcome!\n> \n> Thank you for installing Zammad.\n> \n> You will find ..."
should = "> Welcome!\n>\n> Thank you for installing Zammad.\n>\n> You will find ..."
2015-10-09 20:31:26 +00:00
result = App.Utils.textCleanup(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
});
2015-01-06 22:42:49 +00:00
// text2html
2015-10-09 20:31:26 +00:00
test("text2html", function() {
2015-01-06 22:42:49 +00:00
var source = "Some\nValue\n\n\nTest"
var should = "<div>Some</div><div>Value</div><div><br></div><div>Test</div>"
2015-10-09 20:31:26 +00:00
var result = App.Utils.text2html(source)
equal(result, should, source)
2015-01-06 22:42:49 +00:00
source = "Some\nValue\n"
should = "<div>Some</div><div>Value</div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.text2html(source)
equal(result, should, source)
2015-01-06 22:42:49 +00:00
source = "Some\n<b>Value</b>\n"
should = "<div>Some</div><div>&lt;b&gt;Value&lt;/b&gt;</div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.text2html(source)
equal(result, should, source)
2015-01-06 22:42:49 +00:00
source = "> Welcome!\n> \n> Thank you for installing Zammad.\n> \n> You will find ..."
should = "<div>&gt; Welcome!</div><div>&gt;</div><div>&gt; Thank you for installing Zammad.</div><div>&gt;</div><div>&gt; You will find ...</div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.text2html(source)
equal(result, should, source)
2015-01-06 22:42:49 +00:00
});
2015-04-02 22:29:32 +00:00
// html2text
2015-10-09 20:31:26 +00:00
test("html2text", function() {
2015-04-02 22:29:32 +00:00
var source = "<div>Some</div><div>Value</div><div><br></div><div>Test</div>"
var should = "Some\nValue\n\nTest"
2015-10-09 20:31:26 +00:00
var result = App.Utils.html2text(source)
equal(result, should, source)
2015-04-02 22:29:32 +00:00
source = "<div>Some</div><div>Value</div>"
should = "Some\nValue"
2015-10-09 20:31:26 +00:00
result = App.Utils.html2text(source)
equal(result, should, source)
2015-04-02 22:29:32 +00:00
source = "<div>Some<br/>Value</div>"
should = "Some\nValue"
2015-10-09 20:31:26 +00:00
result = App.Utils.html2text(source)
equal(result, should, source)
2015-04-02 22:29:32 +00:00
source = "<div>Some &amp; &lt;Value&gt;</div>"
should = "Some & <Value>"
result = App.Utils.html2text(source)
equal(result, should, source)
2015-04-02 22:29:32 +00:00
source = "<div>Some</div><div>&lt;b&gt;Value&lt;/b&gt;</div>"
should = "Some\n<b>Value</b>"
2015-10-09 20:31:26 +00:00
result = App.Utils.html2text(source)
equal(result, should, source)
2015-04-02 22:29:32 +00:00
source = "<div>&gt; Welcome!</div><div>&gt;</div><div>&gt; Thank you for installing Zammad.</div><div>&gt;</div><div>&gt; You will find ...</div>"
should = "> Welcome!\n>\n> Thank you for installing Zammad.\n>\n> You will find ..."
2015-10-09 20:31:26 +00:00
result = App.Utils.html2text(source)
equal(result, should, source)
2015-04-02 22:29:32 +00:00
source = "<div>test 123 <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>--<br/>Bob Smith</div>"
should = "test 123 \n\n--\nBob Smith"
2015-10-09 20:31:26 +00:00
result = App.Utils.html2text(source)
equal(result, should, source)
2015-04-02 22:29:32 +00:00
2015-04-03 00:01:21 +00:00
source = "test 123 <br><br><br><br><br><br><br><br><br><br><br>--<br>Bob Smith"
should = "test 123 \n\n--\nBob Smith"
2015-10-09 20:31:26 +00:00
result = App.Utils.html2text(source)
equal(result, should, source)
2015-04-03 00:01:21 +00:00
source = "<div>1<br><br><br><br><br><br><br><br><br><br></div><div>Von: Martin Edenhofer via Znuny Support [<a href=\"mailto:support@znuny.inc\" title=\"mailto:support@znuny.inc\" target=\"_blank\">mailto:support@znuny.inc</a>]</div>\n<div>Gesendet: Donnerstag, 2. April 2015 11:32</div>"
should = "1\n\nVon: Martin Edenhofer via Znuny Support [mailto:support@znuny.inc]\nGesendet: Donnerstag, 2. April 2015 11:32"
2015-10-09 20:31:26 +00:00
result = App.Utils.html2text(source)
equal(result, should, source)
2015-04-03 00:01:21 +00:00
source = "<div>test 123<br/>lalala<p>--</p>some test</div>"
should = "test 123\nlalala\n--\nsome test"
2015-10-09 20:31:26 +00:00
result = App.Utils.html2text(source)
equal(result, should, source)
source = "<p><span>Was\nsoll verbessert werden:</span></p>"
should = "Was soll verbessert werden:"
result = App.Utils.html2text(source)
equal(result, should, source)
// in raw format, without cleanup
source = "<div>Some</div><div>1234</div>"
should = "Some\n1234\n"
result = App.Utils.html2text(source, true)
equal(result, should, source)
source = "<div>Some</div><div> 1234</div>"
should = "Some\n 1234\n"
result = App.Utils.html2text(source, true)
equal(result, should, source)
source = "\n\n<div>Some</div>\n<div> 1234</div>"
should = "Some\n 1234\n"
result = App.Utils.html2text(source, true)
equal(result, should, source)
source = "<div>Some</div><div> 1234</div>"
should = "Some\n 1234\n"
result = App.Utils.html2text(source, true)
equal(result, should, source)
source = "<div>Some</div>\n\n<div> 1234</div>\n"
should = "Some\n 1234\n"
result = App.Utils.html2text(source, true)
equal(result, should, source)
source = "<div>test<br>new line<br></div>"
should = "test\nnew line\n\n"
result = App.Utils.html2text(source, true)
equal(result, should, source)
source = "<p><span>Was\nsoll verbessert werden:</span></p>"
should = "Was soll verbessert werden:\n"
result = App.Utils.html2text(source, true)
equal(result, should, source)
2015-04-02 22:29:32 +00:00
});
2015-01-06 22:42:49 +00:00
// linkify
2015-10-09 20:31:26 +00:00
test("linkify", function() {
2015-01-06 22:42:49 +00:00
var source = "http://example.com"
var should = '<a href="http://example.com" title="http://example.com" target="_blank">http://example.com</a>'
2015-10-09 20:31:26 +00:00
var result = App.Utils.linkify(source)
equal(result, should, source)
2015-01-06 22:42:49 +00:00
source = "http://example.com?some_param=lalala"
should = '<a href="http://example.com?some_param=lalala" title="http://example.com?some_param=lalala" target="_blank">http://example.com?some_param=lalala</a>'
2015-10-09 20:31:26 +00:00
result = App.Utils.linkify(source)
equal(result, should, source)
2015-01-06 22:42:49 +00:00
source = "example.com"
should = '<a href="http://example.com" title="http://example.com" target="_blank">example.com</a>'
2015-10-09 20:31:26 +00:00
result = App.Utils.linkify(source)
equal(result, should, source)
2015-01-06 22:42:49 +00:00
source = "some text example.com"
should = 'some text <a href="http://example.com" title="http://example.com" target="_blank">example.com</a>'
2015-10-09 20:31:26 +00:00
result = App.Utils.linkify(source)
equal(result, should, source)
2015-01-06 22:42:49 +00:00
source = "example.com some text"
should = '<a href="http://example.com" title="http://example.com" target="_blank">example.com</a> some text'
2015-10-09 20:31:26 +00:00
result = App.Utils.linkify(source)
equal(result, should, source)
2015-01-06 22:42:49 +00:00
/*
source = "<b>example.com</b>"
should = '<b><a href="http://example.com" title="http://example.com" target="_blank">http://example.com</a></b>'
2015-10-09 20:31:26 +00:00
result = App.Utils.linkify(source)
equal(result, should, source)
2015-01-06 22:42:49 +00:00
*/
});
2014-12-29 12:59:16 +00:00
// htmlEscape
2015-10-09 20:31:26 +00:00
test("htmlEscape", function() {
2014-12-29 12:59:16 +00:00
var source = "<"
var should = "&lt;"
2015-10-09 20:31:26 +00:00
var result = App.Utils.htmlEscape(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = ">"
should = "&gt;"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlEscape(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = "&"
should = "&amp;"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlEscape(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = "&amp;"
should = "&amp;amp;"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlEscape(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = "&amp ;"
should = "&amp;amp ;"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlEscape(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = "& amp;"
should = "&amp; amp;"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlEscape(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = "'test'"
should = "&#39;test&#39;"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlEscape(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = '"test"'
should = "&quot;test&quot;"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlEscape(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = "<>"
should = "&lt;&gt;"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlEscape(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
source = "<&lt;>"
should = "&lt;&amp;lt;&gt;"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlEscape(source)
equal(result, should, source)
2014-12-29 12:59:16 +00:00
});
2015-01-06 22:42:49 +00:00
// htmlRemoveTags
2015-10-09 20:31:26 +00:00
test("htmlRemoveTags", function() {
2014-12-29 12:59:16 +00:00
2015-01-06 22:42:49 +00:00
var source = "<div>test</div>"
//var should = "<div>test</div>"
var should = "test"
2015-10-09 20:31:26 +00:00
var result = App.Utils.htmlRemoveTags($(source))
equal(result.html(), should, source)
2014-12-29 12:59:16 +00:00
source = "<div>test<!-- some comment --></div>"
//should = "<div>test</div>"
should = "test"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveTags($(source))
equal(result.html(), should, source)
2015-01-06 22:42:49 +00:00
source = "<a href=\"some_link\">some link to somewhere</a>"
should = "some link to somewhere"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveTags($(source))
equal(result.html(), should, source)
2014-12-29 12:59:16 +00:00
2015-01-06 22:42:49 +00:00
source = "<div><a href=\"some_link\">some link to somewhere</a></div>"
//should = "<div>some link to somewhere</div>"
should = "some link to somewhere"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveTags($(source))
equal(result.html(), should, source)
2015-01-07 14:30:13 +00:00
source = "<div><a href=\"some_link\">some link to somewhere</a><input value=\"should not be shown\"></div>"
//should = "<div>some link to somewhere</div>"
should = "some link to somewhere"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveTags($(source))
equal(result.html(), should, source)
2015-01-07 14:30:13 +00:00
2015-01-06 22:42:49 +00:00
source = "<div><a href=\"some_link\">some link to somewhere</a> <div><hr></div> <span>123</span> <img src=\"some_image\"/></div>"
//should = "<div>some link to somewhere 123 </div>"
should = "some link to somewhere 123 "
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveTags($(source))
equal(result.html(), should, source)
2014-12-29 12:59:16 +00:00
source = "<div><form class=\"xxx\">test 123</form><svg><use xlink:href=\"assets/images/icons.svg#icon-status\"></svg></div>"
//should = "<div>test 123</div>"
should = "test 123"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2015-01-07 14:30:13 +00:00
source = "<div><textarea class=\"xxx\">test 123</textarea></div>"
//should = "<div>test 123</div>"
should = "test 123"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2015-01-07 14:30:13 +00:00
2015-01-08 23:25:25 +00:00
source = "<div><font size=\"3\" color=\"red\">This is some text!</font></div>"
//should = "<div>This is some text!</div>"
should = "This is some text!"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2015-12-27 22:29:04 +00:00
result = App.Utils.htmlRemoveRichtext(source)
equal(result.html(), should, source)
2014-12-29 12:59:16 +00:00
});
2015-01-06 22:42:49 +00:00
// htmlRemoveRichtext
2015-10-09 20:31:26 +00:00
test("htmlRemoveRichtext", function() {
2014-12-29 12:59:16 +00:00
2015-07-30 10:15:13 +00:00
var source = "<div><!--test comment--><a href=\"test\">test</a></div>"
//var should = "<div>test</div>"
var should = "test"
2015-10-09 20:31:26 +00:00
var result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2014-12-29 12:59:16 +00:00
source = "<div><!--[if !supportLists]--><span lang=\"DE\">1.1.1<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><!--[endif]--><span lang=\"DE\">Description</span></div>"
//should = "<div><span>1.1.1<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span>Description</span></div>"
should = "<span>1.1.1<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span>Description</span>"
2015-12-27 22:29:04 +00:00
//should = '1.1.1 Description'
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2015-01-06 22:42:49 +00:00
source = "<a href=\"some_link\">some link to somewhere</a>"
should = "some link to somewhere"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2014-12-29 12:59:16 +00:00
2015-01-06 22:42:49 +00:00
source = "<div><a href=\"some_link\"></a> test </div>"
//should = "<div> test </div>"
should = " test "
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2014-12-29 12:59:16 +00:00
2015-01-06 22:42:49 +00:00
source = "<div><b></b> test </div>"
//should = "<div> test </div>"
should = " test "
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2014-12-29 12:59:16 +00:00
2015-01-06 22:42:49 +00:00
source = "<div><div><b></b> test </div></div>"
//should = "<div><div> test </div></div>"
should = "<div> test </div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2014-12-29 12:59:16 +00:00
2015-01-07 14:30:13 +00:00
source = "<div><div><b></b> test <input value=\"should not be shown\"></div></div>"
//should = "<div><div> test </div></div>"
should = "<div> test </div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2015-01-07 14:30:13 +00:00
2015-01-06 22:42:49 +00:00
source = "<div><div><b></b> test </div><span>123</span></div>"
//should = "<div><div> test </div><span>123</span></div>"
should = "<div> test </div><span>123</span>"
2015-12-27 22:29:04 +00:00
//should = '<div> test </div>123'
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2014-12-29 12:59:16 +00:00
source = "<div><div class=\"xxx\" title=\"some title\" lang=\"en\"><b></b> test </div></div>"
//should = "<div><div> test </div></div>"
should = "<div> test </div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2015-01-06 22:42:49 +00:00
2015-01-07 14:30:13 +00:00
source = "<div><textarea class=\"xxx\"> test </textarea></div>"
//should = "<div> test </div>"
should = " test "
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2015-01-07 14:30:13 +00:00
2015-01-07 00:03:18 +00:00
source = "<div><br></div>"
//should = "<div><br></div>"
should = "<br>"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2015-01-07 00:03:18 +00:00
source = "<div><div class=\"xxx\"><br></div></div>"
//should = "<div><div><br></div></div>"
should = "<div><br></div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2015-01-07 00:03:18 +00:00
2015-01-07 14:30:13 +00:00
source = "<div><form class=\"xxx\">test 123</form></div>"
//should = "<div>test 123</div>"
should = "test 123"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2015-01-07 14:30:13 +00:00
2015-12-27 22:29:04 +00:00
source = "<div><div><label for=\"Ticket_888344_group_id\">Gruppe <span>*</span></label></div><div><div></div></div><div><div><span></span><span></span></div></div><div><div><label for=\"Ticket_888344_owner_id\">Besitzer <span></span></label></div><div><div></div></div></div><div><div><div><svg><use xlink:href=\"http://localhost:3000/assets/images/icons.svg#icon-arrow-down\"></use></svg></div><span></span><span></span></div></div><div><div> <label for=\"Ticket_888344_state_id\">Status <span>*</span></label></div></div></div>\n"
//should = "<div>test 123</div>"
should = '<div>Gruppe <span>*</span></div><div><div></div></div><div><div><span></span><span></span></div></div><div><div>Besitzer <span></span></div><div><div></div></div></div><div><div><div></div><span></span><span></span></div></div><div><div> Status <span>*</span></div></div>'
result = App.Utils.htmlRemoveRichtext(source)
equal(result.html(), should, source)
source = "<div><font size=\"3\" color=\"red\">This is some text!</font><svg><use xlink:href=\"assets/images/icons.svg#icon-status\"></svg></div>"
//should = "<div>This is some text!</div>"
should = "This is some text!"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlRemoveRichtext($(source))
equal(result.html(), should, source)
2015-01-08 23:25:25 +00:00
2015-12-27 22:29:04 +00:00
result = App.Utils.htmlRemoveRichtext(source)
equal(result.html(), should, source)
2015-01-06 22:42:49 +00:00
});
2015-01-27 07:13:25 +00:00
// htmlCleanup
2015-10-09 20:31:26 +00:00
test("htmlCleanup", function() {
2015-01-06 22:42:49 +00:00
2015-07-30 10:15:13 +00:00
var source = "<div><!--test comment--><a href=\"test\">test</a></div>"
//var should = "<div>test</div>"
var should = "test"
2015-10-09 20:31:26 +00:00
var result = App.Utils.htmlCleanup($(source))
equal(result.html(), should, source)
2015-01-06 22:42:49 +00:00
source = "<a href=\"some_link\">some link to somewhere</a>"
should = "some link to somewhere"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlCleanup($(source))
equal(result.html(), should, source)
2015-01-06 22:42:49 +00:00
source = "<div><h1>some link to somewhere</h1></div>"
//should = "<div><div>some link to somewhere</div></div>"
should = "<div>some link to somewhere</div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlCleanup($(source))
equal(result.html(), should, source)
2015-01-20 00:33:26 +00:00
source = "<div><small>some link to somewhere</small></a>"
//should = "<div>some link to somewhere</div>"
should = "some link to somewhere"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlCleanup($(source))
equal(result.html(), should, source)
2015-01-20 00:33:26 +00:00
source = "<div><time>some link to somewhere</time></a>"
//should = "<div>some link to somewhere</div>"
should = "some link to somewhere"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlCleanup($(source))
equal(result.html(), should, source)
2015-01-06 22:42:49 +00:00
source = "<div><h1>some h1 for somewhere</h1><p><hr></p></div>"
//should = "<div><div>some h1 for somewhere</div><p></p><p></p></div>"
should = "<div>some h1 for somewhere</div><p></p><p></p>"
2015-12-27 22:29:04 +00:00
//should = '<div>some h1 for somewhere</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlCleanup($(source))
equal(result.html(), should, source)
2015-01-06 22:52:01 +00:00
source = "<div><br></div>"
//should = "<div><br></div>"
should = "<br>"
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlCleanup($(source))
equal(result.html(), should, source)
2015-01-07 00:03:18 +00:00
source = "<div><div class=\"xxx\"><br></div></div>"
//should = "<div><div><br></div></div>"
should = "<div><br></div>"
result = App.Utils.htmlCleanup($(source))
2015-10-09 20:31:26 +00:00
equal(result.html(), should, source)
2014-12-29 12:59:16 +00:00
2015-01-07 14:30:13 +00:00
source = "<div><form class=\"xxx\">test 123</form></div>"
//should = "<div>test 123<br></div>"
should = "test 123"
result = App.Utils.htmlCleanup($(source))
2015-10-09 20:31:26 +00:00
equal(result.html(), should, source)
2015-01-07 14:30:13 +00:00
source = "<div><form class=\"xxx\">test 123</form> some other value</div>"
//should = "<div>test 123 some other value</div>"
should = "test 123 some other value"
result = App.Utils.htmlCleanup($(source))
2015-10-09 20:31:26 +00:00
equal(result.html(), should, source)
2015-01-07 14:30:13 +00:00
source = "<div><form class=\"xxx\">test 123</form> some other value<input value=\"should not be shown\"></div>"
//should = "<div>test 123 some other value</div>"
should = "test 123 some other value"
result = App.Utils.htmlCleanup($(source))
2015-10-09 20:31:26 +00:00
equal(result.html(), should, source)
2015-01-07 14:30:13 +00:00
source = "<div><font size=\"3\" color=\"red\">This is some text!</font><svg><use xlink:href=\"assets/images/icons.svg#icon-status\"></svg></div>"
//should = "<div>This is some text!</div>"
should = "This is some text!"
result = App.Utils.htmlCleanup($(source))
2015-10-09 20:31:26 +00:00
equal(result.html(), should, source)
2015-01-07 14:30:13 +00:00
source = "<div><p>some link to somewhere from word<w:sdt>abc</w:sdt></p><o:p></o:p></a>"
2015-12-27 22:29:04 +00:00
//should = "<div><p>some link to somewhere from wordabc</p></div>"
should = '<p>some link to somewhere from wordabc</p>'
2015-10-09 20:31:26 +00:00
result = App.Utils.htmlCleanup($(source))
equal(result.html(), should, source)
2015-12-27 22:29:04 +00:00
source = "<div><div><label for=\"Ticket_888344_group_id\">Gruppe <span>*</span></label></div><div><div></div></div><div><div><span></span><span></span></div></div><div><div><label for=\"Ticket_888344_owner_id\">Besitzer <span></span></label></div><div><div></div></div></div><div><div><div><svg><use xlink:href=\"http://localhost:3000/assets/images/icons.svg#icon-arrow-down\"></use></svg></div><span></span><span></span></div></div><div><div> <label for=\"Ticket_888344_state_id\">Status <span>*</span></label></div></div></div>\n"
//should = "<div>test 123</div>"
should = '<div>Gruppe <span>*</span></div><div><div></div></div><div><div><span></span><span></span></div></div><div><div>Besitzer <span></span></div><div><div></div></div></div><div><div><div></div><span></span><span></span></div></div><div><div> Status <span>*</span></div></div>'
result = App.Utils.htmlCleanup(source)
equal(result.html(), should, source)
source = "<html xmlns:o=\"urn:schemas-microsoft-com:office:office\"\nxmlns:w=\"urn:schemas-microsoft-com:office:word\"\nxmlns:m=\"http://schemas.microsoft.com/office/2004/12/omml\"\nxmlns=\"http://www.w3.org/TR/REC-html40\">\n\n<head>\n<meta name=Titel content=\"\">\n<meta name=Stichwörter content=\"\">\n<meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">\n<meta name=ProgId content=Word.Document>\n<meta name=Generator content=\"Microsoft Word 15\">\n<meta name=Originator content=\"Microsoft Word 15\">\n<link rel=File-List\nhref=\"file://localhost/Users/johannes/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_filelist.xml\">\n<!--[if gte mso 9]><xml>\n <o:OfficeDocumentSettings>\n <o:AllowPNG/>\n <o:PixelsPerInch>96</o:PixelsPerInch>\n </o:OfficeDocumentSettings>\n</xml><![endif]-->\n<link rel=themeData\nhref=\"file://localhost/Users/johannes/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_themedata.thmx\">\n<!--[if gte mso 9]><xml>\n <w:WordDocument>\n <w:View>Normal</w:View>\n <w:Zoom>0</w:Zoom>\n <w:TrackMoves/>\n <w:TrackFormatting/>\n <w:HyphenationZone>21</w:HyphenationZone>\n <w:PunctuationKerning/>\n <w:ValidateAgainstSchemas/>\n <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>\n <w:IgnoreMixedContent>false</w:IgnoreMixedContent>\n <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>\n <w:DoNotPromoteQF/>\n <w:LidThemeOther>DE</w:LidThemeOther>\n <w:LidThemeAsian>X-NONE</w:LidThemeAsian>\n <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>\n <w:Compatibility>\n <w:BreakWrappedTables/>\n <w:SnapToGridInCell/>\n <w:WrapTextWithPunct/>\n <w:UseAsianBreakRules/>\n <w:DontGrowAutofit/>\n <w:SplitPgBreakAndParaMark/>\n <w:EnableOpenTypeKerning/>\n <w:DontFlipMirrorIndents/>\n <w:OverrideTableStyleHps/>\n </w:Compatibility>\n <m:mathPr>\n <m:mathFont m:val=\"Cambria Math\"/>\n <m:brkBin m:val=\"before\"/>\n <m:brkBinSub m:val=\"&#45;-\"/>\n <m:smallFrac m:val=\"off\"/>\n <m:dispDef/>\n <m:lMargin m:val=\"0\"/>\n <m:rMargin m:val=\"0\"/>\n <m:defJc m:val=\"centerGroup\"/>\n <m:wrapIndent m:val=\"1440\"/>\n <m:intLim m:val=\"subSup\"/>\n <m:naryLim m:val=\"undOvr\"/>\n </m:mathPr></w:WordDocument>\n</xml><![endif]--><!--[if gte mso 9]><xml>\n <w:LatentStyles DefLockedState=\"false\" DefUnhideWhenUsed=\"false\"\n DefSemiHidden=\"false\" DefQFormat=\"false\" DefPriority=\"99\"\n LatentStyleCount=\"380\">\n <w:LsdException Locked=\"false\" Priority=\"0\" QFormat=\"true\" Name=\"Normal\"/>\n <w:LsdException Locked=\"false\" Priority=\"0\" QFormat=\"true\" Name=\"heading 1\"/>\n <w:LsdException Locked=\"false\" Priority=\"0\" SemiHidden=\"true\"\n UnhideWhenUsed=\"true\" QFormat=\"true\" Name=\"heading 2\"/>\n <w:LsdException Locked=\"false\" Priority=\"0\" SemiHidden=\"true\"\n UnhideWhenUsed=\"true\" QFormat=\"true\" Name=\"heading 3\"/>\n <w:LsdException Locked=\"false\" Priority=\"0\" SemiHidden=\"true\"\n UnhideWhenUsed=\"true\" QFormat=\"true\" Name=\"heading 4\"/>\n <w:LsdException Locked=\"false\" Priority=\"0\" SemiHidden=\"true\"\n UnhideWhenUsed=\"true\" QFormat=\"true\" Name=\"heading 5\"/>\n <w:LsdException Locked=\"false\" Priority=\"9\" SemiHidden=\"true\"\n UnhideWhenUsed=\"true\" QFormat=\"true\" Name=\"heading 6\"/>\n <w:LsdException Locked=\"false\" Priority=\"9\" SemiHidden=\"true\"\n UnhideWhenUsed=\"true\" QFormat=\"true\" Name=\"heading 7\"/>\n <w:LsdException Locked=\"false\" Priority=\"9\" SemiHidden=\"true\"\n UnhideWhenUsed=\"true\" QFormat=\"true\" Name=\"heading 8\"/>\n <w:LsdException Locked=\"false\" Priority=\"9\" SemiHidden=\"true\"\n UnhideWhenUsed=\"true\" QFormat=\"true\" Name=\"heading 9\"/>\n <w:LsdException Locked=\"false\" SemiHidden=\"true\" UnhideWhenUsed=\"true\"\n Name=\"index 1\"/>\n <w:LsdException Locked=\"false\" SemiHidden=\"true\" UnhideWhenUsed=\"true\"\n Name=\"index 2\"/>\n <w:LsdException Locked=\"false\" SemiHidden=\"true\" UnhideWhenUsed=\"true\"\n Name=\"index 3\"/>\n <w:LsdException Locked=\"false\" SemiHidden=
should = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<p>· \nTest 1</p>\n\n<p>· \nTest 2</p>\n\n<p>· \n<i>Test 3</i></p>\n\n<p>· \nTest 4</p>\n\n<p>· \n<b>Test5</b></p>\n\n\n\n\n"
result = App.Utils.htmlCleanup(source)
equal(result.html(), should, source)
source = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n<html>\n<head>\n <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"/>\n <title></title>\n <meta name=\"generator\" content=\"LibreOffice 4.4.7.2 (MacOSX)\"/>\n <style type=\"text/css\">\n @page { margin: 0.79in }\n p { margin-bottom: 0.1in; line-height: 120% }\n a:link { so-language: zxx }\n </style>\n</head>\n<body lang=\"en-US\" dir=\"ltr\">\n<p align=\"center\" style=\"margin-bottom: 0in; line-height: 100%\">1.\nGehe a<b>uf </b><b>https://www.pfe</b>rdiathek.ge</p>\n<p align=\"center\" style=\"margin-bottom: 0in; line-height: 100%\"><br/>\n\n</p>\n<p align=\"center\" style=\"margin-bottom: 0in; line-height: 100%\">2.\nMel<font color=\"#800000\">de Dich mit folgende</font> Zugangsdaten an:</p>\n<p align=\"center\" style=\"margin-bottom: 0in; line-height: 100%\">Benutzer:\nme@xxx.net</p>\n<p align=\"center\" style=\"margin-bottom: 0in; line-height: 100%\">Passwort:\nxxx.</p>\n</body>\n</html>"
should = "\n\n\n \n \n \n \n\n\n<p align=\"center\">1.\nGehe a<b>uf </b><b>https://www.pfe</b>rdiathek.ge</p>\n<p align=\"center\"><br>\n\n</p>\n<p align=\"center\">2.\nMelde Dich mit folgende Zugangsdaten an:</p>\n<p align=\"center\">Benutzer:\nme@xxx.net</p>\n<p align=\"center\">Passwort:\nxxx.</p>\n\n"
result = App.Utils.htmlCleanup(source)
equal(result.html(), should, source)
2014-12-29 12:59:16 +00:00
});
// wrap
2015-10-09 20:31:26 +00:00
test("wrap", function() {
var source = "some text"
var should = 'some text'
2015-10-09 20:31:26 +00:00
var result = App.Utils.wrap(source)
equal(result, should, source)
source = "some text\nsome other text\n"
should = "some text\nsome other text\n"
2015-10-09 20:31:26 +00:00
result = App.Utils.wrap(source)
equal(result, should, source)
source = "some text with some line to wrap"
should = "some text with\nsome line to\nwrap"
2015-10-09 20:31:26 +00:00
result = App.Utils.wrap(source, 14)
equal(result, should, source)
source = "some text\nsome other text\n"
should = "some text\nsome other text\n"
2015-10-09 20:31:26 +00:00
result = App.Utils.wrap(source)
equal(result, should, source)
source = "1234567890 1234567890 1234567890 1234567890"
should = "1234567890 1234567890 1234567890 1234567890"
2015-10-09 20:31:26 +00:00
result = App.Utils.wrap(source)
equal(result, should, source)
source = "123456789012 123456789012 123456789012"
should = "123456789012\n123456789012\n123456789012"
2015-10-09 20:31:26 +00:00
result = App.Utils.wrap(source, 14)
equal(result, should, source)
});
2015-12-27 22:29:04 +00:00
// remove empty lines
test("remove empty lines", function() {
var source = "\ntest 123\n"
var should = "test 123\n"
var result = App.Utils.removeEmptyLines(source)
equal(result, should, source)
source = "\ntest\n\n123\n"
should = "test\n123\n"
result = App.Utils.removeEmptyLines(source)
equal(result, should, source)
});
// quote
2015-10-09 20:31:26 +00:00
test("quote", function() {
var source = "some text"
var should = '> some text'
2015-10-09 20:31:26 +00:00
var result = App.Utils.quote(source)
equal(result, should, source)
source = "some text\nsome other text\n"
should = "> some text\n> some other text"
2015-10-09 20:31:26 +00:00
result = App.Utils.quote(source)
equal(result, should, source)
source = "\n\nsome text\nsome other text\n \n"
should = "> some text\n> some other text"
2015-10-09 20:31:26 +00:00
result = App.Utils.quote(source)
equal(result, should, source)
source = "Welcome!\n\nThank you for installing Zammad.\n\nYou will find ..."
should = "> Welcome!\n>\n> Thank you for installing Zammad.\n>\n> You will find ..."
2015-10-09 20:31:26 +00:00
result = App.Utils.quote(source)
equal(result, should, source)
source = "Welcome! Thank you for installing Zammad. You will find ..."
should = "> Welcome! Thank you\n> for installing\n> Zammad. You will\n> find ..."
2015-10-09 20:31:26 +00:00
result = App.Utils.quote(source, 20)
equal(result, should, source)
});
2015-01-07 10:05:12 +00:00
// check signature
2015-10-09 20:31:26 +00:00
test("check signature", function() {
2015-01-07 10:05:12 +00:00
var message = "<div>test 123 </div>"
var signature = '<div>--<br>Some Signature<br>some department</div>'
2015-10-09 20:31:26 +00:00
var result = App.Utils.signatureCheck(message, signature)
equal(result, true)
2015-01-07 10:05:12 +00:00
message = "<div>test 123 <div>--<br>Some Signature<br>some department\n</div></div>"
signature = '<div>--<br>Some Signature<br>some department</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureCheck(message, signature)
equal(result, false)
2015-01-07 10:05:12 +00:00
message = "<div>test 123 <div>--<br>Some Signature\n<br>some department\n</div></div>"
signature = '<div>--<br>Some Signature<br>some department</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureCheck(message, signature)
equal(result, false)
2015-01-07 10:05:12 +00:00
message = "<div>test 123 <div>--<p>Some Signature</p>\n<p><div>some department</div>\n</p>\n</div></div>"
signature = '<div>--<br>Some Signature<br>some department</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureCheck(message, signature)
equal(result, false)
2015-01-07 10:05:12 +00:00
message = ""
signature = '<div>--<br>Some Signature<br>some department</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureCheck(message, signature)
equal(result, true)
2015-01-07 10:05:12 +00:00
message = ""
signature = "--\nSome Signature\nsome department"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureCheck(message, signature)
equal(result, true)
2015-01-07 10:05:12 +00:00
});
2015-04-02 22:29:32 +00:00
// identify signature
2015-10-09 20:31:26 +00:00
test("identify signature", function() {
2015-04-02 22:29:32 +00:00
var message = "<div>test 123 </div>"
var should = '<div>test 123 </div>'
2015-10-09 20:31:26 +00:00
var result = App.Utils.signatureIdentify(message)
equal(result, should)
2015-04-02 22:29:32 +00:00
message = "<div>test 123 <br/>--<br/>Bob Smith</div>"
should = '<div>test 123 <br/>--<br/>Bob Smith</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message)
equal(result, should)
2015-04-02 22:29:32 +00:00
message = "<div>test 123 <br/>1<br/>2<br/>3<br/>4<br/>5<br/>6<br/>7<br/>8<br/>9<br/><br/>--<br/>Bob Smith</div>"
should = '<div>test 123 <br/>1<br/>2<br/>3<br/>4<br/>5<br/>6<br/>7<br/>8<br/>9<br/><br/><span class="js-signatureMarker"></span>--<br/>Bob Smith</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message)
equal(result, should)
2015-04-02 22:29:32 +00:00
message = "<div>test 123 <br/><br/>--no not match--<br/>--<br/>Bob Smith</div>"
should = '<div>test 123 <br/><br/>--no not match--<br/><span class="js-signatureMarker"></span>--<br/>Bob Smith</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-02 22:29:32 +00:00
message = "<div>test 123 <br/><br/>--no not match--<br/> -- <br/>Bob Smith</div>"
should = '<div>test 123 <br/><br/>--no not match--<br/><span class="js-signatureMarker"></span> -- <br/>Bob Smith</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-02 22:29:32 +00:00
message = "<div>test 123 <br/><br/>--<br/>Bob Smith<br/><br/><br/><br/><br/>--<br/>Bob Smith</div>"
should = '<div>test 123 <br/><br/><span class="js-signatureMarker"></span>--<br/>Bob Smith<br/><br/><br/><br/><br/>--<br/>Bob Smith</div>'
2015-04-02 22:29:32 +00:00
//should = '<div>test 123 <br><br><br><br><br><br><br><br><br><br><br><span class="js-signatureMarker"></span>--<br>Bob Smith<br/><br/><br/><br/><br/>--<br/>Bob Smith</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-02 22:29:32 +00:00
message = "<div>test 123</div><div>test 123</div><div>--</div><div>Bob Smith</div>"
should = "<div>test 123</div><div>test 123</div><div><span class=\"js-signatureMarker\"></span>--</div><div>Bob Smith</div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-02 22:29:32 +00:00
message = "<p><span>test 123</span></p><p><span>test 123</span></p><p><span>--</span></p><p><span>Bob Smith</span></p><div></div>"
should = "<p><span>test 123</span></p><p><span>test 123</span></p><p><span><span class=\"js-signatureMarker\"></span>--</span></p><p><span>Bob Smith</span></p><div></div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
2015-04-02 22:29:32 +00:00
2015-04-03 00:01:21 +00:00
// apple
2015-04-04 22:20:47 +00:00
// en
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>On 01/04/15 10:55, Bob Smith wrote:<br/>lalala<p>--</p>some test</div>"
should = '<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class="js-signatureMarker"></span>On 01/04/15 10:55, Bob Smith wrote:<br/>lalala<p>--</p>some test</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-02 22:29:32 +00:00
2015-04-04 22:20:47 +00:00
// de
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>Am 03.04.2015 um 20:58 schrieb Bob Smith &lt;bob@example.com&gt;:<br/>lalala</div>"
should = '<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class="js-signatureMarker"></span>Am 03.04.2015 um 20:58 schrieb Bob Smith &lt;bob@example.com&gt;:<br/>lalala</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-02 22:29:32 +00:00
2015-04-03 00:01:21 +00:00
// ms
2015-04-04 22:20:47 +00:00
// en
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>From: Martin Edenhofer via Znuny Support [mailto:support@znuny.inc]<br/>Sent: Donnerstag, 2. April 2015 10:00<br/>lalala</div>"
2015-04-03 01:49:40 +00:00
should = '<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>From: Martin Edenhofer via Znuny Support [mailto:support@znuny.inc]<br/>Sent: Donnerstag, 2. April 2015 10:00<br/>lalala</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-03 01:49:40 +00:00
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>From: Martin Edenhofer via Znuny Support [mailto:support@znuny.inc]<br/>Sent: Donnerstag, 2. April 2015 10:00<br/>Subject: lalala</div>"
should = '<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class="js-signatureMarker"></span>From: Martin Edenhofer via Znuny Support [mailto:support@znuny.inc]<br/>Sent: Donnerstag, 2. April 2015 10:00<br/>Subject: lalala</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-03 01:49:40 +00:00
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>From: Martin Edenhofer via Znuny Support [mailto:support@znuny.inc]<br/>Sent: Donnerstag, 2. April 2015 10:00<br/>1<br/>2<br/>3<br/>4<br/>4<br/>Subject: lalala</div>"
should = '<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>From: Martin Edenhofer via Znuny Support [mailto:support@znuny.inc]<br/>Sent: Donnerstag, 2. April 2015 10:00<br/>1<br/>2<br/>3<br/>4<br/>4<br/>Subject: lalala</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-02 22:29:32 +00:00
2015-04-04 22:20:47 +00:00
// de
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>Von: Martin Edenhofer via Znuny Support [mailto:support@znuny.inc]<br/>Gesendet: Donnerstag, 2. April 2015 10:00<br/>Betreff: lalala</div>"
should = '<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class="js-signatureMarker"></span>Von: Martin Edenhofer via Znuny Support [mailto:support@znuny.inc]<br/>Gesendet: Donnerstag, 2. April 2015 10:00<br/>Betreff: lalala</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-04 22:20:47 +00:00
message = "<div>1<br><br></div><div>Von: Martin Edenhofer via Znuny Support [<a href=\"mailto:support@znuny.inc\" title=\"mailto:support@znuny.inc\" target=\"_blank\">mailto:support@znuny.inc</a>]</div>\n<div>Gesendet: Donnerstag, 2. April 2015 11:32</div>"
2015-04-03 01:49:40 +00:00
should = "<div>1<br><br></div><div>Von: Martin Edenhofer via Znuny Support [<a href=\"mailto:support@znuny.inc\" title=\"mailto:support@znuny.inc\" target=\"_blank\">mailto:support@znuny.inc</a>]</div>\n<div>Gesendet: Donnerstag, 2. April 2015 11:32</div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-03 01:49:40 +00:00
message = "<div>1<br><br></div><div>Von: Martin Edenhofer via Znuny Support [<a href=\"mailto:support@znuny.inc\" title=\"mailto:support@znuny.inc\" target=\"_blank\">mailto:support@znuny.inc</a>]</div>\n<div>Gesendet: Donnerstag, 2. April 2015 11:32</div><div>Betreff: lalala</div>"
should = "<div>1<br><br></div><div><span class=\"js-signatureMarker\"></span>Von: Martin Edenhofer via Znuny Support [<a href=\"mailto:support@znuny.inc\" title=\"mailto:support@znuny.inc\" target=\"_blank\">mailto:support@znuny.inc</a>]</div>\n<div>Gesendet: Donnerstag, 2. April 2015 11:32</div><div>Betreff: lalala</div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-03 01:49:40 +00:00
message = "<div>1<br><br></div><div>Von: Martin Edenhofer via Znuny Support &lt;<a href=\"mailto:support@znuny.inc\" title=\"mailto:support@znuny.inc\" target=\"_blank\">mailto:support@znuny.inc</a>&gt;</div>\n<div>An: somebody</div><div>Datum: Donnerstag, 2. April 2015 11:32</div><div>Betreff: lalala</div>"
should = "<div>1<br><br></div><div><span class=\"js-signatureMarker\"></span>Von: Martin Edenhofer via Znuny Support &lt;<a href=\"mailto:support@znuny.inc\" title=\"mailto:support@znuny.inc\" target=\"_blank\">mailto:support@znuny.inc</a>&gt;</div>\n<div>An: somebody</div><div>Datum: Donnerstag, 2. April 2015 11:32</div><div>Betreff: lalala</div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-03 00:01:21 +00:00
2015-10-10 08:38:54 +00:00
message = "<div>Von: &quot;Johannes Nickel via Znuny Projects&quot; &lt;<a href=\"mailto:projects@znuny.inc\" title=\"mailto:projects@znuny.inc\">projects@znuny.inc</a>&gt;</div><div>An: \"Lisa Smith\" &lt;<a href=\"mailto:lisa.smith@example.com\" title=\"mailto:lisa.smith@example.com\">lisa.smith@example.com</a>&gt;</div><div>Gesendet: Donnerstag, 2. April 2015 10:11:12</div><div>Betreff: Angebot Redundanz / Paket mit Silver Subscription [Ticket#424242]</div><div><br></div><div>Hallo Frau Smith,</div>"
should = "<div><span class=\"js-signatureMarker\"></span>Von: &quot;Johannes Nickel via Znuny Projects&quot; &lt;<a href=\"mailto:projects@znuny.inc\" title=\"mailto:projects@znuny.inc\">projects@znuny.inc</a>&gt;</div><div>An: \"Lisa Smith\" &lt;<a href=\"mailto:lisa.smith@example.com\" title=\"mailto:lisa.smith@example.com\">lisa.smith@example.com</a>&gt;</div><div>Gesendet: Donnerstag, 2. April 2015 10:11:12</div><div>Betreff: Angebot Redundanz / Paket mit Silver Subscription [Ticket#424242]</div><div><br></div><div>Hallo Frau Smith,</div>"
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
message = "<div>Hi Johannes,</div><div><br></div><div>das Angebot für den halben Tag bitte an uns.</div><div>Der Termin hat sich jetzt auf 10-12 Uhr verschoben, hab ich dir weitergeleitet.</div><div><br></div><div>Viele Grüße</div><div>Max</div><div><br></div><div>&gt; On 07 Oct 2015, at 11:55, Johannes Smith &lt;<a href=mailto:smith@example.com title=mailto:smith@example.com target=_blank>smith@example.com</a> &lt;<a href=mailto:smith@example.com title=mailto:smith@example.com target=_blank>mailto:smith@example.com</a>&gt;&gt; wrote:</div><div>&gt;</div><div>&gt; Hi,</div><div>&gt;</div><div>&gt; OK. Wer kriegt das Angebot? Ist das wirklich nur ein halber Tag?</div></div>"
should = "<div>Hi Johannes,</div><div><br></div><div>das Angebot für den halben Tag bitte an uns.</div><div>Der Termin hat sich jetzt auf 10-12 Uhr verschoben, hab ich dir weitergeleitet.</div><div><br></div><div>Viele Grüße</div><div>Max</div><div><br></div><div><span class=\"js-signatureMarker\"></span>&gt; On 07 Oct 2015, at 11:55, Johannes Smith &lt;<a href=mailto:smith@example.com title=mailto:smith@example.com target=_blank>smith@example.com</a> &lt;<a href=mailto:smith@example.com title=mailto:smith@example.com target=_blank>mailto:smith@example.com</a>&gt;&gt; wrote:</div><div>&gt;</div><div>&gt; Hi,</div><div>&gt;</div><div>&gt; OK. Wer kriegt das Angebot? Ist das wirklich nur ein halber Tag?</div></div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-04 22:20:47 +00:00
message = "Dear Mr. Smith,<div><br></div><div>it seems to be, dass Sie den AutoIncrement Nummerngenerator für Ihre ITSMChangeManagement Installation verwenden. Seit ABC 3.2 wird führend vor der sich in der Datei&nbsp;<span style=\"line-height: 1.45; background-color: initial;\">&lt;ABC_CONFIG_Home&gt;/war/log/ITSMChangeCounter.log &nbsp;befindenden Zahl die SystemID (SysConfig) geschrieben. Dies ist ein Standardverhalten, dass auch bei der Ticketnummer verwendet wird.<br><br>Please ask me if you have questions.</span></div><div><span style=\"line-height: 1.45; background-color: initial;\"><br></span></div><div><span style=\"line-height: 1.45; background-color: initial;\">Viele Grüße,</span></div><div><div data-signature=\"true\" data-signature-id=\"1\">&nbsp; Thorsten Smith\n<br>\n<br>--\n<br>Enterprise Services for ABC\n<br>\n<br>Znuny GmbH // Marienstraße 11 // 10117 Berlin // Germany\n<br>\n<br>P: +49 (0) 30 111 111 111-0\n<br>F: +49 (0) 30 111 111 111-8\n<br>W: http://znuny.com \n<br>\n<br>Location: Berlin - HRB 12345678 B Amtsgericht Berlin-Charlottenburg\n<br>Managing Director: Martin Edenhofer\n<br></div></div>"
should = "Dear Mr. Smith,<div><br></div><div>it seems to be, dass Sie den AutoIncrement Nummerngenerator für Ihre ITSMChangeManagement Installation verwenden. Seit ABC 3.2 wird führend vor der sich in der Datei&nbsp;<span style=\"line-height: 1.45; background-color: initial;\">&lt;ABC_CONFIG_Home&gt;/war/log/ITSMChangeCounter.log &nbsp;befindenden Zahl die SystemID (SysConfig) geschrieben. Dies ist ein Standardverhalten, dass auch bei der Ticketnummer verwendet wird.<br><br>Please ask me if you have questions.</span></div><div><span style=\"line-height: 1.45; background-color: initial;\"><br></span></div><div><span style=\"line-height: 1.45; background-color: initial;\">Viele Grüße,</span></div><div><span class=\"js-signatureMarker\"></span><div data-signature=\"true\" data-signature-id=\"1\">&nbsp; Thorsten Smith\n<br>\n<br>--\n<br>Enterprise Services for ABC\n<br>\n<br>Znuny GmbH // Marienstraße 11 // 10117 Berlin // Germany\n<br>\n<br>P: +49 (0) 30 111 111 111-0\n<br>F: +49 (0) 30 111 111 111-8\n<br>W: http://znuny.com \n<br>\n<br>Location: Berlin - HRB 12345678 B Amtsgericht Berlin-Charlottenburg\n<br>Managing Director: Martin Edenhofer\n<br></div></div>"
result = App.Utils.signatureIdentify(message, true, true)
equal(result, should)
message = "Dear Mr. Smith, nice to read you,<div><div data-signature=\"true\" data-signature-id=\"1\">&nbsp; Thorsten Smith\n<br>\n<br>--\n</div></div>"
should = "Dear Mr. Smith, nice to read you,<div><span class=\"js-signatureMarker\"></span><div data-signature=\"true\" data-signature-id=\"1\">&nbsp; Thorsten Smith\n<br>\n<br>--\n</div></div>"
result = App.Utils.signatureIdentify(message, true, true)
equal(result, should)
message = "Dear Mr. Smith, nice to read you,<div><div data-signature=\"true\" data-signature-id=\"9999\">&nbsp; Thorsten Smith\n<br>\n<br>--\n</div></div>"
should = "Dear Mr. Smith, nice to read you,<div><div data-signature=\"true\" data-signature-id=\"9999\">&nbsp; Thorsten Smith\n<br>\n<br>--\n</div></div>"
result = App.Utils.signatureIdentify(message, false, true)
equal(result, should)
// fr
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>De : Martin Edenhofer via Znuny Support [mailto:support@znuny.inc]<br/>Envoyé : mercredi 29 avril 2015 17:31<br/>Objet : lalala</div>"
should = '<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class="js-signatureMarker"></span>De : Martin Edenhofer via Znuny Support [mailto:support@znuny.inc]<br/>Envoyé : mercredi 29 avril 2015 17:31<br/>Objet : lalala</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-04 22:20:47 +00:00
// thunderbird
// de
message = "<div><br></div><div>Viele Grüße,</div><div>Christian</div><div><br></div><div>Am 04.03.2015 um 12:47 schrieb Martin Edenhofer via Znuny Sales:</div><div>&gt; Hallo Christian,</div>"
should = "<div><br></div><div>Viele Grüße,</div><div>Christian</div><div><br></div><div><span class=\"js-signatureMarker\"></span>Am 04.03.2015 um 12:47 schrieb Martin Edenhofer via Znuny Sales:</div><div>&gt; Hallo Christian,</div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-04 22:20:47 +00:00
// en - Thunderbird default - http://kb.mozillazine.org/Reply_header_settings
message = "<div><br></div><div>Viele Grüße,</div><div>Christian</div><div><br></div><div>On 01-01-2007 11:00 AM, Alf Aardvark wrote:</div><div>&gt; Hallo Christian,</div>"
should = "<div><br></div><div>Viele Grüße,</div><div>Christian</div><div><br></div><div><span class=\"js-signatureMarker\"></span>On 01-01-2007 11:00 AM, Alf Aardvark wrote:</div><div>&gt; Hallo Christian,</div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-04 22:20:47 +00:00
// en - http://kb.mozillazine.org/Reply_header_settings
message = "<div><br></div><div>Viele Grüße,</div><div>Christian</div><div><br></div><div>Alf Aardvark wrote, on 01-01-2007 11:00 AM:</div><div>&gt; Hallo Christian,</div>"
should = "<div><br></div><div>Viele Grüße,</div><div>Christian</div><div><br></div><div><span class=\"js-signatureMarker\"></span>Alf Aardvark wrote, on 01-01-2007 11:00 AM:</div><div>&gt; Hallo Christian,</div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-04 22:20:47 +00:00
2015-04-03 00:01:21 +00:00
// otrs
2015-04-04 22:20:47 +00:00
// en
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>01/04/15 10:55 - Bob Smith wrote:<br/>lalala</div>"
should = '<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class="js-signatureMarker"></span>01/04/15 10:55 - Bob Smith wrote:<br/>lalala</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-02 22:29:32 +00:00
2015-04-04 22:20:47 +00:00
// de
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>01/04/15 10:55 - Bob Smith schrieb:<br/>lalala</div>"
should = '<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class="js-signatureMarker"></span>01/04/15 10:55 - Bob Smith schrieb:<br/>lalala</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-02 22:29:32 +00:00
message = "<div>test 123 <br/><br/></div><div>24.02.2015 14:20 - Roy Kaldung via Znuny Sales schrieb: &nbsp;</div>"
should = "<div>test 123 <br/><br/></div><div><span class=\"js-signatureMarker\"></span>24.02.2015 14:20 - Roy Kaldung via Znuny Sales schrieb: &nbsp;</div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-03 00:01:21 +00:00
2015-04-04 22:20:47 +00:00
// zammad
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><div data-signature=\"true\" data-signature-id=\"5\">lalala</div></div>"
should = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class=\"js-signatureMarker\"></span><div data-signature=\"true\" data-signature-id=\"5\">lalala</div></div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-04 22:20:47 +00:00
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><blockquote type=\"cite\">lalala</blockquote></div>"
should = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class=\"js-signatureMarker\"></span><blockquote type=\"cite\">lalala</blockquote></div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-04 22:20:47 +00:00
2015-04-04 22:43:01 +00:00
// gmail
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><blockquote class=\"ecxgmail_quote\">lalala</blockquote></div>"
should = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class=\"js-signatureMarker\"></span><blockquote class=\"ecxgmail_quote\">lalala</blockquote></div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-04 22:43:01 +00:00
2015-04-05 11:05:59 +00:00
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><blockquote class=\"gmail_quote\">lalala</blockquote></div>"
should = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class=\"js-signatureMarker\"></span><blockquote class=\"gmail_quote\">lalala</blockquote></div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-05 11:05:59 +00:00
2015-04-04 22:43:01 +00:00
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>Am 24. Dezember 2015 um 07:45 schrieb kathrine &lt;kathrine@example.com&gt;:<br/>lalala</div>"
should = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class=\"js-signatureMarker\"></span>Am 24. Dezember 2015 um 07:45 schrieb kathrine &lt;kathrine@example.com&gt;:<br/>lalala</div>"
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-04-04 22:43:01 +00:00
2015-09-02 07:16:31 +00:00
// word 14
// en
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>Bob Smith wrote:<br/>lalala</div>"
should = '<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class="js-signatureMarker"></span>Bob Smith wrote:<br/>lalala</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-09-02 07:16:31 +00:00
// de
message = "<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/>Bob Smith schrieb:<br/>lalala</div>"
should = '<div>test 123 <br/><br/>--no not match--<br/><br/>Bob Smith<br/><span class="js-signatureMarker"></span>Bob Smith schrieb:<br/>lalala</div>'
2015-10-09 20:31:26 +00:00
result = App.Utils.signatureIdentify(message, true)
equal(result, should)
2015-09-02 07:16:31 +00:00
2015-04-02 22:29:32 +00:00
});
// replace tags
2015-10-09 20:31:26 +00:00
test("check replace tags", function() {
var message = "<div>#{user.firstname} #{user.lastname}</div>"
var result = '<div>Bob Smith</div>'
var data = {
user: {
firstname: 'Bob',
lastname: 'Smith',
},
}
2015-10-09 20:31:26 +00:00
var verify = App.Utils.replaceTags(message, data)
equal(verify, result)
message = "<div>#{user.firstname} #{user.lastname}</div>"
result = '<div>Bob Smith</div>'
data = {
user: {
firstname: function() { return 'Bob' },
lastname: function() { return 'Smith' },
},
}
2015-10-09 20:31:26 +00:00
verify = App.Utils.replaceTags(message, data)
equal(verify, result)
message = "<div>#{user.firstname} #{user.lastname}</div>"
result = '<div>Bob -</div>'
data = {
user: {
firstname: 'Bob',
},
}
verify = App.Utils.replaceTags(message, data)
equal(verify, result)
message = "<div>#{user.firstname} #{user.lastname}</div>"
result = '<div>Bob 0</div>'
data = {
user: {
firstname: 'Bob',
lastname: 0,
},
}
verify = App.Utils.replaceTags(message, data)
equal(verify, result)
message = "<div>#{user.firstname} #{user.lastname}</div>"
result = '<div>Bob -</div>'
data = {
user: {
firstname: 'Bob',
lastname: '',
},
}
verify = App.Utils.replaceTags(message, data)
equal(verify, result)
message = "<div>#{user.firstname} #{user.not.existing.test}</div>"
result = '<div>Bob -</div>'
data = {
user: {
firstname: 'Bob',
},
}
2015-10-09 20:31:26 +00:00
verify = App.Utils.replaceTags(message, data)
equal(verify, result)
});
// check if last line is a empty line
2015-10-09 20:31:26 +00:00
test("check if last line is a empty line", function() {
var message = "123"
var result = false
2015-10-09 20:31:26 +00:00
var verify = App.Utils.lastLineEmpty(message)
equal(verify, result, message)
message = "<div>123</div>"
result = false
2015-10-09 20:31:26 +00:00
verify = App.Utils.lastLineEmpty(message)
equal(verify, result, message)
message = "<p><div>123 </div></p>"
result = false
2015-10-09 20:31:26 +00:00
verify = App.Utils.lastLineEmpty(message)
equal(verify, result, message)
message = "<div></div>"
result = true
2015-10-09 20:31:26 +00:00
verify = App.Utils.lastLineEmpty(message)
equal(verify, result, message)
message = "<div class=\"some_class\"></div>"
result = true
2015-10-09 20:31:26 +00:00
verify = App.Utils.lastLineEmpty(message)
equal(verify, result, message)
message = "<div class=\"some_class\"></div> "
result = true
2015-10-09 20:31:26 +00:00
verify = App.Utils.lastLineEmpty(message)
equal(verify, result, message)
message = "<div class=\"some_class\"></div> \n \n\t"
result = true
2015-10-09 20:31:26 +00:00
verify = App.Utils.lastLineEmpty(message)
equal(verify, result, message)
message = "<div class=\"some_class\"> </div> \n \n\t"
result = true
2015-10-09 20:31:26 +00:00
verify = App.Utils.lastLineEmpty(message)
equal(verify, result, message)
message = "<div class=\"some_class\"\n> \n</div> \n \n\t"
result = true
2015-10-09 20:31:26 +00:00
verify = App.Utils.lastLineEmpty(message)
equal(verify, result, message)
2015-01-27 07:38:17 +00:00
});
// check attibute validation
2015-10-09 20:31:26 +00:00
test("check attibute validation", function() {
2015-01-27 07:38:17 +00:00
var string = '123'
2015-10-09 20:31:26 +00:00
var result = '123'
var verify = App.Utils.htmlAttributeCleanup(string)
equal(verify, result, string)
2015-01-27 07:38:17 +00:00
string = '123!'
2015-10-09 20:31:26 +00:00
result = '123'
verify = App.Utils.htmlAttributeCleanup(string)
equal(verify, result, string)
2015-01-27 07:38:17 +00:00
string = '12 3!'
2015-10-09 20:31:26 +00:00
result = '123'
verify = App.Utils.htmlAttributeCleanup(string)
equal(verify, result, string)
2015-01-27 07:38:17 +00:00
string = '12-3!'
2015-10-09 20:31:26 +00:00
result = '12-3'
verify = App.Utils.htmlAttributeCleanup(string)
equal(verify, result, string)
2015-01-27 07:38:17 +00:00
string = '12_3!'
2015-10-09 20:31:26 +00:00
result = '12_3'
verify = App.Utils.htmlAttributeCleanup(string)
equal(verify, result, string)
2015-01-27 07:38:17 +00:00
string = '^12_3!'
2015-10-09 20:31:26 +00:00
result = '12_3'
verify = App.Utils.htmlAttributeCleanup(string)
equal(verify, result, string)
2015-01-27 07:38:17 +00:00
string = '^1\n 2_3!'
2015-10-09 20:31:26 +00:00
result = '12_3'
verify = App.Utils.htmlAttributeCleanup(string)
equal(verify, result, string)
2015-01-27 07:38:17 +00:00
string = 'abc?'
2015-10-09 20:31:26 +00:00
result = 'abc'
verify = App.Utils.htmlAttributeCleanup(string)
equal(verify, result, string)
2015-01-27 07:38:17 +00:00
string = 'abc."'
2015-10-09 20:31:26 +00:00
result = 'abc'
verify = App.Utils.htmlAttributeCleanup(string)
equal(verify, result, string)
2015-01-27 07:38:17 +00:00
string = '#abc!^'
2015-10-09 20:31:26 +00:00
result = 'abc'
verify = App.Utils.htmlAttributeCleanup(string)
equal(verify, result, string)
2015-01-27 07:38:17 +00:00
2015-01-27 07:50:40 +00:00
string = 'abc()=$'
2015-10-09 20:31:26 +00:00
result = 'abc'
verify = App.Utils.htmlAttributeCleanup(string)
equal(verify, result, string)
2015-01-27 07:50:40 +00:00
2015-01-27 08:14:25 +00:00
string = "abc()=$\n123\rß"
2015-10-09 20:31:26 +00:00
result = 'abc123'
verify = App.Utils.htmlAttributeCleanup(string)
equal(verify, result, string)
2015-01-27 07:38:17 +00:00
});
// check form diff
2015-10-09 20:31:26 +00:00
test("check form diff", function() {
var dataNow = {
owner_id: 1,
pending_date: '2015-01-28T09:39:00Z',
}
var dataLast = {
owner_id: '',
pending_date: '2015-01-28T09:39:00Z',
}
var diff = {}
2015-10-09 20:31:26 +00:00
var result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
owner_id: '1',
pending_date: '2015-01-28T09:39:00Z',
}
dataLast = {
owner_id: '',
pending_date: '2015-01-28T09:39:00Z',
}
diff = {}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
pending_date: '2015-01-28T09:39:00Z',
}
dataLast = {
owner_id: 1,
pending_date: '2015-01-28T09:39:00Z',
}
diff = {}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
owner_id: '',
pending_date: '2015-01-28T09:39:00Z',
}
dataLast = {
pending_date: '2015-01-28T09:39:00Z',
}
diff = {
owner_id: '',
}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
owner_id: '',
state_ids: [1,5,6,7],
}
dataLast = {}
diff = {
owner_id: '',
state_ids: ['1','5','6','7'],
}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
owner_id: 1,
state_ids: [1,5,7,6],
}
dataLast = {
owner_id: '',
state_ids: [1,5,6,7],
}
diff = {}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
owner_id: 1,
state_ids: [1,5,6,7],
}
dataLast = {
state_ids: ['1','5','7'],
}
diff = {
owner_id: '',
state_ids: ['6'],
}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
owner_id: '',
state_ids: [1,5,6,7],
}
dataLast = {
owner_id: 1,
state_ids: [1,5,6,7],
}
diff = {}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
owner_id: '',
state_ids: [1,5,6,7],
}
dataLast = {
owner_id: 5,
state_ids: [1,5,6,7],
}
diff = {
owner_id: ''
}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
state_id: 4,
pending_time: '2015-01-28T11:34:00Z'
}
dataLast = {
state_id: 5,
pending_time: undefined
}
diff = {
state_id: '4',
pending_time: '2015-01-28T11:34:00Z'
}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
pending_time: undefined
}
dataLast = {
pending_time: null
}
diff = {}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
ticket: {
pending_time: undefined,
},
}
dataLast = {
ticket: {
pending_time: null,
},
}
diff = {}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
test: '123',
ticket: {
pending_time: undefined,
},
}
dataLast = {
test: '123',
ticket: {
pending_time: null,
},
}
diff = {}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
test: '123',
}
dataLast = {}
diff = {
test: '123',
}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
test: '123',
}
dataLast = {
test: [1,2,3,4]
}
diff = {
test: '123',
}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
test: '123',
}
dataLast = {
test: {
1: 1,
2: 2,
}
}
diff = {
test: '123',
}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
test: [1,2,3,'4']
}
dataLast = {
test: '123',
}
diff = {
test: ['1','2','3','4']
}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
test: {
1: 1,
2: 2,
}
}
dataLast = {
test: '123',
}
diff = {
test: {
1: '1',
2: '2',
}
}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
test: '123',
ticket: {
pending_time: undefined,
},
}
dataLast = {
ticket: {
pending_time: null,
},
}
diff = {
test: '123',
}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = undefined
dataLast = undefined
diff = {}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {}
dataLast = {"number":"10012","title":"some subject 123äöü","group_id":1,"owner_id":1,"customer_id":2,"state_id":3,"priority_id":2,"article":{"from":"Test Master Agent","to":"","cc":"","body":"dasdad","content_type":"text/html","ticket_id":12,"type_id":9,"sender_id":1,"internal":false,"form_id":"523405147"},"updated_at":"2015-01-29T09:22:23.000Z","pending_time":"2015-01-28T22:22:00.000Z","id":12}
diff = {}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
// do not compare content of data instances/objects
no = function test_object() {
this.a = function() { return 123; }
this.b = function() { return '1234'; }
this.c = function() { return [123]; }
this.d = [1,2,3];
this.e = 'abc';
}
no1 = new no()
no2 = new no()
no3 = new no()
dataNow = {
number:'10013',
Article: [no1],
}
dataLast = {
number: "10012",
title: "some subject 123äöü",
Article: [ no2, no3 ],
}
diff = {
number:'10013',
}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
dataNow = {
number:'10013',
Article: [no1,2],
}
dataLast = {
number: "10012",
title: "some subject 123äöü",
Article: [ no2, no3 ],
}
diff = {
number:'10013',
Article: ['2'],
}
2015-10-09 20:31:26 +00:00
result = App.Utils.formDiff(dataNow, dataLast)
deepEqual(result, diff, 'check form diff')
});
2015-10-02 21:41:41 +00:00
// check decimal format
2015-10-09 20:31:26 +00:00
test("check decimal format", function() {
2015-10-02 21:41:41 +00:00
var string = '123'
2015-10-09 20:31:26 +00:00
var result = '123.00'
var verify = App.Utils.decimal(string)
equal(verify, result, string)
2015-10-02 21:41:41 +00:00
string = '0.6'
2015-10-09 20:31:26 +00:00
result = '0.60'
verify = App.Utils.decimal(string)
equal(verify, result, string)
2015-10-02 21:41:41 +00:00
2015-10-03 07:25:40 +00:00
string = '6'
2015-10-09 20:31:26 +00:00
result = '6.00'
verify = App.Utils.decimal(string)
equal(verify, result, string)
2015-10-03 07:25:40 +00:00
string = 6.5
2015-10-09 20:31:26 +00:00
result = '6.50'
verify = App.Utils.decimal(string)
equal(verify, result, string)
2015-10-03 07:25:40 +00:00
2015-10-02 21:41:41 +00:00
string = '111111.6'
2015-10-09 20:31:26 +00:00
result = '111111.60'
verify = App.Utils.decimal(string)
equal(verify, result, string)
2015-10-02 21:41:41 +00:00
string = '111111.622'
2015-10-09 20:31:26 +00:00
result = '111111.62'
verify = App.Utils.decimal(string)
equal(verify, result, string)
2015-10-02 21:41:41 +00:00
string = 'abc.6'
2015-10-09 20:31:26 +00:00
result = 'abc.6'
verify = App.Utils.decimal(string)
equal(verify, result, string)
string = ''
result = ''
verify = App.Utils.decimal(string)
equal(verify, result, string)
string = undefined
result = ''
verify = App.Utils.decimal(string)
equal(verify, result, string)
string = null
result = ''
verify = App.Utils.decimal(string)
equal(verify, result, string)
2015-10-02 21:41:41 +00:00
});
// check formatTime format
2015-10-09 20:31:26 +00:00
test("check formatTime format", function() {
2015-10-02 21:41:41 +00:00
var string = '123'
2015-10-09 20:31:26 +00:00
var result = '123'
var verify = App.Utils.formatTime(string, 0)
equal(verify, result, string)
2015-10-02 21:41:41 +00:00
string = '6'
2015-10-09 20:31:26 +00:00
result = '06'
verify = App.Utils.formatTime(string, 2)
equal(verify, result, string)
string = ''
result = '00'
verify = App.Utils.formatTime(string, 2)
equal(verify, result, string)
string = undefined
result = ''
verify = App.Utils.formatTime(string, 2)
equal(verify, result, string)
string = null
result = ''
verify = App.Utils.formatTime(string, 2)
equal(verify, result, string)
2015-10-02 21:41:41 +00:00
});
// check diffPosition
test("check diffPosition format", function() {
var a = [1,2,3,4]
var b = [1,2,3,4,5]
var result = [
{
position: 4,
id: 5,
},
]
var verify = App.Utils.diffPositionAdd(a, b)
deepEqual(verify, result)
a = [2,3,4]
b = [1,2,3,4]
result = [
{
position: 0,
id: 1,
},
]
verify = App.Utils.diffPositionAdd(a, b)
deepEqual(verify, result)
a = [2,3,4]
b = [1,2,3,4,5]
result = [
{
position: 0,
id: 1,
},
{
position: 4,
id: 5,
},
]
verify = App.Utils.diffPositionAdd(a, b)
deepEqual(verify, result)
a = [2,3,4]
b = [1,99,12,2,3,4,5]
result = [
{
position: 0,
id: 1,
},
{
position: 1,
id: 99,
},
{
position: 2,
id: 12,
},
{
position: 6,
id: 5,
},
]
verify = App.Utils.diffPositionAdd(a, b)
deepEqual(verify, result)
a = [4,3,1]
b = [1,2,3,4,5]
result = false
verify = App.Utils.diffPositionAdd(a, b)
deepEqual(verify, result)
a = ['Ticket-347', 'TicketCreateScreen-2217']
b = ['Ticket-347', 'TicketCreateScreen-2217', 'TicketCreateScreen-71517']
result = [
{
position: 2,
id: 'TicketCreateScreen-71517',
},
]
verify = App.Utils.diffPositionAdd(a, b)
deepEqual(verify, result)
});
2014-12-29 12:59:16 +00:00
}