Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
126 lines
3.5 KiB
JavaScript
Executable file
126 lines
3.5 KiB
JavaScript
Executable file
'use strict';
|
|
/*global requireApp, suite, suiteSetup, testConfig, test,
|
|
assert, suiteTeardown */
|
|
requireApp('email/js/alameda.js');
|
|
requireApp('email/test/config.js');
|
|
|
|
|
|
suite('email/query_uri', function() {
|
|
var queryURI;
|
|
|
|
suiteSetup(function(done) {
|
|
testConfig(
|
|
{
|
|
suiteTeardown: suiteTeardown,
|
|
done: done
|
|
},
|
|
['query_uri'],
|
|
function(quri) {
|
|
queryURI = quri;
|
|
}
|
|
);
|
|
});
|
|
|
|
test('#to', function() {
|
|
|
|
assert.deepEqual(queryURI('mailto:Email.address1@mailto.com'),
|
|
{ to: ['Email.address1@mailto.com'] },
|
|
'to single address test fail');
|
|
|
|
assert.deepEqual(queryURI(
|
|
'mailto:Email.address1@mailto.com;Email.address2@mailto.com'),
|
|
{ to: ['Email.address1@mailto.com', 'Email.address2@mailto.com'] },
|
|
'to multi-addresses test fail (separator ";")');
|
|
|
|
assert.deepEqual(queryURI(
|
|
'mailto:Email.address1@mailto.com,Email.address2@mailto.com'),
|
|
{ to: ['Email.address1@mailto.com', 'Email.address2@mailto.com'] },
|
|
'to multi-addresses test fail (separator ",")');
|
|
|
|
assert.deepEqual(queryURI('mailto:'),
|
|
{ to: [] },
|
|
'no to address test fail');
|
|
|
|
});
|
|
|
|
test('#cc', function() {
|
|
|
|
assert.deepEqual(queryURI('mailto:?cc=EmailCc.address@mailto.com'),
|
|
{ to: [], cc: ['EmailCc.address@mailto.com'] },
|
|
'cc single address test fail');
|
|
|
|
assert.deepEqual(queryURI('mailto:?cc=EmailCc.address1@mailto.com;' +
|
|
'EmailCc.address2@mailto.com;EmailCc.address3@mailto.com'),
|
|
{ to: [], cc: ['EmailCc.address1@mailto.com', 'EmailCc.address2@mailto.com',
|
|
'EmailCc.address3@mailto.com'] },
|
|
'cc multi-addresses test fail');
|
|
|
|
});
|
|
|
|
|
|
test('#bcc', function() {
|
|
|
|
assert.deepEqual(queryURI('mailto:?bcc=EmailBcc.address@mailto.com'),
|
|
{ to: [], bcc: ['EmailBcc.address@mailto.com'] },
|
|
'bcc single address test');
|
|
|
|
assert.deepEqual(queryURI('mailto:?bcc=EmailBcc.address1@mailto.com;' +
|
|
'EmailBcc.address2@mailto.com;EmailBcc.address3@mailto.com'),
|
|
{ to: [], bcc: ['EmailBcc.address1@mailto.com',
|
|
'EmailBcc.address2@mailto.com', 'EmailBcc.address3@mailto.com'] },
|
|
'bcc multi-addresses test fail');
|
|
|
|
});
|
|
|
|
|
|
test('#subject', function() {
|
|
|
|
assert.deepEqual(queryURI('mailto:?subject=This is the subject line'),
|
|
{ to: [], subject: 'This is the subject line' },
|
|
'subject test fail');
|
|
|
|
});
|
|
|
|
|
|
test('#body', function() {
|
|
|
|
assert.deepEqual(queryURI('mailto:?body=This is the body'),
|
|
{ to: [], body: 'This is the body' },
|
|
'body test fail');
|
|
|
|
});
|
|
|
|
|
|
test('#complex tests', function() {
|
|
|
|
assert.deepEqual(queryURI(
|
|
'mailto:Email.address1@mailto.com;Email.address2@mailto.com?' +
|
|
'cc=EmailCc1.address@mailto.com;EmailCc2.address@mailto.com&' +
|
|
'bcc=EmailBCc1.address@mailto.com;EmailBCc2.address@mailto.com'),
|
|
{
|
|
to: ['Email.address1@mailto.com', 'Email.address2@mailto.com'],
|
|
cc: ['EmailCc1.address@mailto.com', 'EmailCc2.address@mailto.com'],
|
|
bcc: ['EmailBCc1.address@mailto.com', 'EmailBCc2.address@mailto.com']
|
|
},
|
|
'complex 1 test fail');
|
|
|
|
|
|
assert.deepEqual(queryURI('mailto:Email.address1@mailto.com;?' +
|
|
'cc=EmailCc1.address@mailto.com;&bcc=EmailBCc1.address@mailto.com;' +
|
|
'&subject=This is the subject line&body=This is the text line one.' +
|
|
' %0AThis is the text line two'),
|
|
|
|
{
|
|
to: ['Email.address1@mailto.com'],
|
|
subject: 'This is the subject line',
|
|
body: 'This is the text line one. \nThis is the text line two',
|
|
cc: ['EmailCc1.address@mailto.com'],
|
|
bcc: ['EmailBCc1.address@mailto.com']
|
|
},
|
|
|
|
'complex 2 test fail');
|
|
|
|
});
|
|
});
|
|
|
|
|