diff -r 000000000000 -r 6474c204b198 dom/mobilemessage/tests/test_mms_service.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dom/mobilemessage/tests/test_mms_service.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,139 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +function newMmsTransactionHelper() { + let MMS_Service = {}; + subscriptLoader.loadSubScript("resource://gre/components/MmsService.js", MMS_Service); + MMS_Service.debug = do_print; + return MMS_Service.gMmsTransactionHelper; +} +let CallFunc = newMmsTransactionHelper(); +function run_test() { + run_next_test(); +} + +// +// Test target: checkMaxValuesParameters +// + +//// Test Long Subject field //// +//// @see OMA-ETS-MMS_CON-V1_3-20080128-C 5.1.1.1.10 MMS-1.3-con-171 //// + +add_test(function test_LongSubjectField() { + let msg = {}; + msg.headers = {}; + // Test for normal TextString + msg.headers["subject"] = "abcdefghijklmnopqrstuvwxyz0123456789/-+@?"; + do_check_eq(CallFunc.checkMaxValuesParameters(msg), false); + + run_next_test(); +}); + +//// Test recipient field length + +add_test(function test_LongRecipientField() { + let msg = {}; + msg.headers = {}; + msg.headers["to"] = [ + { address: + "abcdefghijklmnopqrstuvwxyz0123456789/-+@?" + + "abcdefghijklmnopqrstuvwxyz0123456789/-+@?" + + "abcdefghijklmnopqrstuvwxyz0123456789/-+@?" + + "abcdefghijklmnopqrstuvwxyz0123456789/-+@?" + + "abcdefghijklmnopqrstuvwxyz0123456789/-+@?" + + "abcdefghijklmnopqrstuvwxyz0123456789/-+@?" + + "abcdefghijklmnopqrstuvwxyz0123456789/-+@?" + + "abcdefghijklmnopqrstuvwxyz", + type: "PLMN" }, + ]; + do_check_eq(CallFunc.checkMaxValuesParameters(msg), false); + + run_next_test(); +}); + + +add_test(function test_checkMaxValuesParameters() { + let msg = {}; + msg.headers = {}; + msg.headers["cc"] = [ + { address: "+789", type: "PLMN" }, + { address: "+119", type: "num" }, + { address: "Joe2 User " + + "" + , type: "email" }, + ]; + do_check_eq(CallFunc.checkMaxValuesParameters(msg), false); + + run_next_test(); +}); + +//// Test total recipient count over 20 + +add_test(function test_TotalRecipientCount() { + let msg = {}; + msg.headers = {}; + do_check_eq(CallFunc.checkMaxValuesParameters(msg), false); + + msg.headers["to"] = [ + { address: "+123", type: "PLMN" }, + { address: "+456", type: "num" }, + { address: "Joe User ", type: "email" }, + { address: "+123", type: "PLMN" }, + { address: "+456", type: "num" }, + { address: "Joe User ", type: "email" }, + { address: "+123", type: "PLMN" }, + ]; + msg.headers["cc"] = [ + { address: "+789", type: "PLMN" }, + { address: "+119", type: "num" }, + { address: "Joe2 User ", type: "email" }, + { address: "+789", type: "PLMN" }, + { address: "+119", type: "num" }, + { address: "Joe2 User ", type: "email" }, + { address: "+789", type: "PLMN" }, + ]; + msg.headers["bcc"] = [ + { address: "+110", type: "num" }, + { address: "Joe3 User ", type: "email" }, + { address: "Joe2 User ", type: "email" }, + { address: "+789", type: "PLMN" }, + { address: "+119", type: "num" }, + { address: "Joe2 User ", type: "email" }, + { address: "+789", type: "PLMN" }, + ]; + do_check_eq(CallFunc.checkMaxValuesParameters(msg), false); + + run_next_test(); +}); + +////Test name parameter in content-type field of multi-parts + +add_test(function test_NameParameterInContentType() { + let msg = {}; + msg.headers = {}; + msg.headers["to"] = [ + { address: "Joe User ", type: "email" }, + ]; + let params = {}; + params["name"] = "abcdefghijklmnopqrstuvwxyz0123456789/-+@?"; + let headers = {}; + headers["content-type"] = { + media: null, + params: params, + }; + msg.parts = new Array(1); + msg.parts[0] = { + index: 0, + headers: headers, + content: null, + }; + do_check_eq(CallFunc.checkMaxValuesParameters(msg), false); + + run_next_test(); +}); \ No newline at end of file