diff options
Diffstat (limited to 'js/tests')
-rw-r--r-- | js/tests/ElggAjaxOptionsTest.js | 120 | ||||
-rw-r--r-- | js/tests/ElggAjaxTest.js | 118 | ||||
-rw-r--r-- | js/tests/ElggLanguagesTest.js | 90 | ||||
-rw-r--r-- | js/tests/ElggLibTest.js | 166 | ||||
-rw-r--r-- | js/tests/ElggSecurityTest.js | 102 | ||||
-rw-r--r-- | js/tests/ElggSessionTest.js | 70 | ||||
-rw-r--r-- | js/tests/jsTestDriver.conf | 16 |
7 files changed, 341 insertions, 341 deletions
diff --git a/js/tests/ElggAjaxOptionsTest.js b/js/tests/ElggAjaxOptionsTest.js index 0b1b7e6d7..a6b40d439 100644 --- a/js/tests/ElggAjaxOptionsTest.js +++ b/js/tests/ElggAjaxOptionsTest.js @@ -1,61 +1,61 @@ -/**
- * Tests elgg.ajax.handleOptions() with all of the possible valid inputs
- */
-ElggAjaxOptionsTest = TestCase("ElggAjaxOptionsTest");
-
-ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsNoArgs = function() {
- assertNotUndefined(elgg.ajax.handleOptions());
-};
-
-ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsUrl = function() {
- var url = 'url',
- result = elgg.ajax.handleOptions(url);
-
- assertEquals(url, result.url);
-};
-
-ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsDataOnly = function() {
- var options = {},
- result = elgg.ajax.handleOptions(options);
-
- assertEquals(options, result.data);
-};
-
-ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsOptions = function() {
- var options = {data:{arg:1}},
- result = elgg.ajax.handleOptions(options);
-
- assertEquals(options, result);
-
- function func() {}
- options = {success: func};
- result = elgg.ajax.handleOptions(options);
-
- assertEquals(options, result);
-};
-
-ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsUrlThenDataOnly = function() {
- var url = 'url',
- options = {arg:1},
- result = elgg.ajax.handleOptions(url, options);
-
- assertEquals(url, result.url);
- assertEquals(options, result.data);
-};
-
-ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsUrlThenSuccessOnly = function() {
- var url = 'url',
- result = elgg.ajax.handleOptions(url, elgg.nullFunction);
-
- assertEquals(url, result.url);
- assertEquals(elgg.nullFunction, result.success);
-};
-
-ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsUrlThenOptions = function() {
- var url = 'url',
- options = {data:{arg:1}},
- result = elgg.ajax.handleOptions(url, options);
-
- assertEquals(url, result.url);
- assertEquals(options.data, result.data);
+/** + * Tests elgg.ajax.handleOptions() with all of the possible valid inputs + */ +ElggAjaxOptionsTest = TestCase("ElggAjaxOptionsTest"); + +ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsNoArgs = function() { + assertNotUndefined(elgg.ajax.handleOptions()); +}; + +ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsUrl = function() { + var url = 'url', + result = elgg.ajax.handleOptions(url); + + assertEquals(url, result.url); +}; + +ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsDataOnly = function() { + var options = {}, + result = elgg.ajax.handleOptions(options); + + assertEquals(options, result.data); +}; + +ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsOptions = function() { + var options = {data:{arg:1}}, + result = elgg.ajax.handleOptions(options); + + assertEquals(options, result); + + function func() {} + options = {success: func}; + result = elgg.ajax.handleOptions(options); + + assertEquals(options, result); +}; + +ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsUrlThenDataOnly = function() { + var url = 'url', + options = {arg:1}, + result = elgg.ajax.handleOptions(url, options); + + assertEquals(url, result.url); + assertEquals(options, result.data); +}; + +ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsUrlThenSuccessOnly = function() { + var url = 'url', + result = elgg.ajax.handleOptions(url, elgg.nullFunction); + + assertEquals(url, result.url); + assertEquals(elgg.nullFunction, result.success); +}; + +ElggAjaxOptionsTest.prototype.testHandleOptionsAcceptsUrlThenOptions = function() { + var url = 'url', + options = {data:{arg:1}}, + result = elgg.ajax.handleOptions(url, options); + + assertEquals(url, result.url); + assertEquals(options.data, result.data); };
\ No newline at end of file diff --git a/js/tests/ElggAjaxTest.js b/js/tests/ElggAjaxTest.js index 1fa5daca5..a683415fc 100644 --- a/js/tests/ElggAjaxTest.js +++ b/js/tests/ElggAjaxTest.js @@ -1,59 +1,59 @@ -/**
- * Makes sure that each of the helper ajax functions ends up calling $.ajax
- * with the right options.
- */
-ElggAjaxTest = TestCase("ElggAjaxTest");
-
-ElggAjaxTest.prototype.setUp = function() {
-
- this.wwwroot = elgg.config.wwwroot;
- this.ajax = $.ajax;
-
- elgg.config.wwwroot = 'http://www.elgg.org/';
-
- $.ajax = function(options) {
- return options;
- };
-};
-
-ElggAjaxTest.prototype.tearDown = function() {
- $.ajax = this.ajax;
- elgg.config.wwwroot = this.wwwroot;
-};
-
-ElggAjaxTest.prototype.testElggAjax = function() {
- assertEquals(elgg.config.wwwroot, elgg.ajax().url);
-};
-
-ElggAjaxTest.prototype.testElggGet = function() {
- assertEquals('get', elgg.get().type);
-};
-
-ElggAjaxTest.prototype.testElggGetJSON = function() {
- assertEquals('json', elgg.getJSON().dataType);
-};
-
-ElggAjaxTest.prototype.testElggPost = function() {
- assertEquals('post', elgg.post().type);
-};
-
-ElggAjaxTest.prototype.testElggAction = function() {
- assertException(function() { elgg.action(); });
- assertException(function() { elgg.action({}); });
-
- var result = elgg.action('action');
- assertEquals('post', result.type);
- assertEquals('json', result.dataType);
- assertEquals(elgg.config.wwwroot + 'action/action', result.url);
- assertEquals(elgg.security.token.__elgg_ts, result.data.__elgg_ts);
-};
-
-ElggAjaxTest.prototype.testElggAPI = function() {
- assertException(function() { elgg.api(); });
- assertException(function() { elgg.api({}); });
-
- var result = elgg.api('method');
- assertEquals('json', result.dataType);
- assertEquals('method', result.data.method);
- assertEquals(elgg.config.wwwroot + 'services/api/rest/json/', result.url);
-};
+/** + * Makes sure that each of the helper ajax functions ends up calling $.ajax + * with the right options. + */ +ElggAjaxTest = TestCase("ElggAjaxTest"); + +ElggAjaxTest.prototype.setUp = function() { + + this.wwwroot = elgg.config.wwwroot; + this.ajax = $.ajax; + + elgg.config.wwwroot = 'http://www.elgg.org/'; + + $.ajax = function(options) { + return options; + }; +}; + +ElggAjaxTest.prototype.tearDown = function() { + $.ajax = this.ajax; + elgg.config.wwwroot = this.wwwroot; +}; + +ElggAjaxTest.prototype.testElggAjax = function() { + assertEquals(elgg.config.wwwroot, elgg.ajax().url); +}; + +ElggAjaxTest.prototype.testElggGet = function() { + assertEquals('get', elgg.get().type); +}; + +ElggAjaxTest.prototype.testElggGetJSON = function() { + assertEquals('json', elgg.getJSON().dataType); +}; + +ElggAjaxTest.prototype.testElggPost = function() { + assertEquals('post', elgg.post().type); +}; + +ElggAjaxTest.prototype.testElggAction = function() { + assertException(function() { elgg.action(); }); + assertException(function() { elgg.action({}); }); + + var result = elgg.action('action'); + assertEquals('post', result.type); + assertEquals('json', result.dataType); + assertEquals(elgg.config.wwwroot + 'action/action', result.url); + assertEquals(elgg.security.token.__elgg_ts, result.data.__elgg_ts); +}; + +ElggAjaxTest.prototype.testElggAPI = function() { + assertException(function() { elgg.api(); }); + assertException(function() { elgg.api({}); }); + + var result = elgg.api('method'); + assertEquals('json', result.dataType); + assertEquals('method', result.data.method); + assertEquals(elgg.config.wwwroot + 'services/api/rest/json/', result.url); +}; diff --git a/js/tests/ElggLanguagesTest.js b/js/tests/ElggLanguagesTest.js index 950d5d3b8..1f66fc35b 100644 --- a/js/tests/ElggLanguagesTest.js +++ b/js/tests/ElggLanguagesTest.js @@ -1,45 +1,45 @@ -ElggLanguagesTest = TestCase("ElggLanguagesTest");
-
-ElggLanguagesTest.prototype.setUp = function() {
- this.ajax = $.ajax;
-
- //Immediately execute some dummy "returned" javascript instead of sending
- //an actual ajax request
- $.ajax = function(settings) {
- var lang = settings.data.js.split('/')[1];
- elgg.config.translations[lang] = {'language':lang};
- };
-};
-
-ElggLanguagesTest.prototype.tearDown = function() {
- $.ajax = this.ajax;
-
- //clear translations
- elgg.config.translations['en'] = undefined;
- elgg.config.translations['aa'] = undefined;
-};
-
-ElggLanguagesTest.prototype.testLoadTranslations = function() {
- assertUndefined(elgg.config.translations['en']);
- assertUndefined(elgg.config.translations['aa']);
-
- elgg.reload_all_translations();
- elgg.reload_all_translations('aa');
-
- assertNotUndefined(elgg.config.translations['en']['language']);
- assertNotUndefined(elgg.config.translations['aa']['language']);
-};
-
-ElggLanguagesTest.prototype.testElggEchoTranslates = function() {
- elgg.reload_all_translations('en');
- elgg.reload_all_translations('aa');
-
- assertEquals('en', elgg.echo('language'));
- assertEquals('aa', elgg.echo('language', 'aa'));
-};
-
-ElggLanguagesTest.prototype.testElggEchoFallsBackToDefaultLanguage = function() {
- elgg.reload_all_translations('en');
- assertEquals('en', elgg.echo('language', 'aa'));
-};
-
+ElggLanguagesTest = TestCase("ElggLanguagesTest"); + +ElggLanguagesTest.prototype.setUp = function() { + this.ajax = $.ajax; + + //Immediately execute some dummy "returned" javascript instead of sending + //an actual ajax request + $.ajax = function(settings) { + var lang = settings.data.js.split('/')[1]; + elgg.config.translations[lang] = {'language':lang}; + }; +}; + +ElggLanguagesTest.prototype.tearDown = function() { + $.ajax = this.ajax; + + //clear translations + elgg.config.translations['en'] = undefined; + elgg.config.translations['aa'] = undefined; +}; + +ElggLanguagesTest.prototype.testLoadTranslations = function() { + assertUndefined(elgg.config.translations['en']); + assertUndefined(elgg.config.translations['aa']); + + elgg.reload_all_translations(); + elgg.reload_all_translations('aa'); + + assertNotUndefined(elgg.config.translations['en']['language']); + assertNotUndefined(elgg.config.translations['aa']['language']); +}; + +ElggLanguagesTest.prototype.testElggEchoTranslates = function() { + elgg.reload_all_translations('en'); + elgg.reload_all_translations('aa'); + + assertEquals('en', elgg.echo('language')); + assertEquals('aa', elgg.echo('language', 'aa')); +}; + +ElggLanguagesTest.prototype.testElggEchoFallsBackToDefaultLanguage = function() { + elgg.reload_all_translations('en'); + assertEquals('en', elgg.echo('language', 'aa')); +}; + diff --git a/js/tests/ElggLibTest.js b/js/tests/ElggLibTest.js index 132ad986a..dda1ecd40 100644 --- a/js/tests/ElggLibTest.js +++ b/js/tests/ElggLibTest.js @@ -1,84 +1,84 @@ -/**
- * Test basic elgg library functions
- */
-ElggLibTest = TestCase("ElggLibTest");
-
-ElggLibTest.prototype.testGlobal = function() {
- assertTrue(window === elgg.global);
-};
-
-ElggLibTest.prototype.testAssertTypeOf = function() {
- [//Valid inputs
- ['string', ''],
- ['object', {}],
- ['boolean', true],
- ['boolean', false],
- ['undefined', undefined],
- ['number', 0],
- ['function', elgg.nullFunction]
- ].forEach(function(args) {
- assertNoException(function() {
- elgg.assertTypeOf.apply(undefined, args);
- });
- });
-
- [//Invalid inputs
- ['function', {}],
- ['object', elgg.nullFunction]
- ].forEach(function() {
- assertException(function(args) {
- elgg.assertTypeOf.apply(undefined, args);
- });
- });
-};
-
-ElggLibTest.prototype.testProvideDoesntClobber = function() {
- elgg.provide('foo.bar.baz');
-
- foo.bar.baz.oof = "test";
-
- elgg.provide('foo.bar.baz');
-
- assertEquals("test", foo.bar.baz.oof);
-};
-
-/**
- * Try requiring bogus input
- */
-ElggLibTest.prototype.testRequire = function () {
- assertException(function(){ elgg.require(''); });
- assertException(function(){ elgg.require('garbage'); });
- assertException(function(){ elgg.require('gar.ba.ge'); });
-
- assertNoException(function(){
- elgg.require('jQuery');
- elgg.require('elgg');
- elgg.require('elgg.config');
- elgg.require('elgg.security');
- });
-};
-
-ElggLibTest.prototype.testInherit = function () {
- function Base() {}
- function Child() {}
-
- elgg.inherit(Child, Base);
-
- assertInstanceOf(Base, new Child());
- assertEquals(Child, Child.prototype.constructor);
-};
-
-ElggLibTest.prototype.testNormalizeUrl = function() {
- elgg.config.wwwroot = "http://elgg.org/";
-
- [
- ['', elgg.config.wwwroot],
- ['pg/test', elgg.config.wwwroot + 'pg/test'],
- ['http://google.com', 'http://google.com'],
- ['//example.com', '//example.com'],
- ['/pg/page', elgg.config.wwwroot + 'pg/page'],
- ['mod/plugin/index.php', elgg.config.wwwroot + 'mod/plugin/index.php'],
- ].forEach(function(args) {
- assertEquals(args[1], elgg.normalize_url(args[0]));
- });
+/** + * Test basic elgg library functions + */ +ElggLibTest = TestCase("ElggLibTest"); + +ElggLibTest.prototype.testGlobal = function() { + assertTrue(window === elgg.global); +}; + +ElggLibTest.prototype.testAssertTypeOf = function() { + [//Valid inputs + ['string', ''], + ['object', {}], + ['boolean', true], + ['boolean', false], + ['undefined', undefined], + ['number', 0], + ['function', elgg.nullFunction] + ].forEach(function(args) { + assertNoException(function() { + elgg.assertTypeOf.apply(undefined, args); + }); + }); + + [//Invalid inputs + ['function', {}], + ['object', elgg.nullFunction] + ].forEach(function() { + assertException(function(args) { + elgg.assertTypeOf.apply(undefined, args); + }); + }); +}; + +ElggLibTest.prototype.testProvideDoesntClobber = function() { + elgg.provide('foo.bar.baz'); + + foo.bar.baz.oof = "test"; + + elgg.provide('foo.bar.baz'); + + assertEquals("test", foo.bar.baz.oof); +}; + +/** + * Try requiring bogus input + */ +ElggLibTest.prototype.testRequire = function () { + assertException(function(){ elgg.require(''); }); + assertException(function(){ elgg.require('garbage'); }); + assertException(function(){ elgg.require('gar.ba.ge'); }); + + assertNoException(function(){ + elgg.require('jQuery'); + elgg.require('elgg'); + elgg.require('elgg.config'); + elgg.require('elgg.security'); + }); +}; + +ElggLibTest.prototype.testInherit = function () { + function Base() {} + function Child() {} + + elgg.inherit(Child, Base); + + assertInstanceOf(Base, new Child()); + assertEquals(Child, Child.prototype.constructor); +}; + +ElggLibTest.prototype.testNormalizeUrl = function() { + elgg.config.wwwroot = "http://elgg.org/"; + + [ + ['', elgg.config.wwwroot], + ['pg/test', elgg.config.wwwroot + 'pg/test'], + ['http://google.com', 'http://google.com'], + ['//example.com', '//example.com'], + ['/pg/page', elgg.config.wwwroot + 'pg/page'], + ['mod/plugin/index.php', elgg.config.wwwroot + 'mod/plugin/index.php'], + ].forEach(function(args) { + assertEquals(args[1], elgg.normalize_url(args[0])); + }); };
\ No newline at end of file diff --git a/js/tests/ElggSecurityTest.js b/js/tests/ElggSecurityTest.js index 4324f5671..f1111168f 100644 --- a/js/tests/ElggSecurityTest.js +++ b/js/tests/ElggSecurityTest.js @@ -1,51 +1,51 @@ -ElggSecurityTest = TestCase("ElggSecurityTest");
-
-ElggSecurityTest.prototype.setUp = function() {
- //fill with fake, but reasonable, values for testing
- this.ts = elgg.security.token.__elgg_ts = 12345;
- this.token = elgg.security.token.__elgg_token = 'abcdef';
-};
-
-ElggSecurityTest.prototype.testAddTokenAcceptsUndefined = function() {
- var input,
- expected = {
- __elgg_ts: this.ts,
- __elgg_token: this.token
- };
-
- assertEquals(expected, elgg.security.addToken(input));
-};
-
-ElggSecurityTest.prototype.testAddTokenAcceptsObject = function() {
- var input = {},
- expected = {
- __elgg_ts: this.ts,
- __elgg_token: this.token
- };
-
- assertEquals(expected, elgg.security.addToken(input));
-};
-
-ElggSecurityTest.prototype.testAddTokenAcceptsString = function() {
- var input,
- str = "__elgg_ts=" + this.ts + "&__elgg_token=" + this.token;
-
- input = "";
- assertEquals(str, elgg.security.addToken(input));
-
- input = "data=sofar";
- assertEquals(input+'&'+str, elgg.security.addToken(input));
-
-};
-
-ElggSecurityTest.prototype.testSetTokenSetsElggSecurityToken = function() {
- var json = {
- __elgg_ts: 4567,
- __elgg_token: 'abcdef'
- };
-
- elgg.security.setToken(json);
- assertEquals(json, elgg.security.token);
-};
-
-
+ElggSecurityTest = TestCase("ElggSecurityTest"); + +ElggSecurityTest.prototype.setUp = function() { + //fill with fake, but reasonable, values for testing + this.ts = elgg.security.token.__elgg_ts = 12345; + this.token = elgg.security.token.__elgg_token = 'abcdef'; +}; + +ElggSecurityTest.prototype.testAddTokenAcceptsUndefined = function() { + var input, + expected = { + __elgg_ts: this.ts, + __elgg_token: this.token + }; + + assertEquals(expected, elgg.security.addToken(input)); +}; + +ElggSecurityTest.prototype.testAddTokenAcceptsObject = function() { + var input = {}, + expected = { + __elgg_ts: this.ts, + __elgg_token: this.token + }; + + assertEquals(expected, elgg.security.addToken(input)); +}; + +ElggSecurityTest.prototype.testAddTokenAcceptsString = function() { + var input, + str = "__elgg_ts=" + this.ts + "&__elgg_token=" + this.token; + + input = ""; + assertEquals(str, elgg.security.addToken(input)); + + input = "data=sofar"; + assertEquals(input+'&'+str, elgg.security.addToken(input)); + +}; + +ElggSecurityTest.prototype.testSetTokenSetsElggSecurityToken = function() { + var json = { + __elgg_ts: 4567, + __elgg_token: 'abcdef' + }; + + elgg.security.setToken(json); + assertEquals(json, elgg.security.token); +}; + + diff --git a/js/tests/ElggSessionTest.js b/js/tests/ElggSessionTest.js index 0245e9e90..5ff8ca13e 100644 --- a/js/tests/ElggSessionTest.js +++ b/js/tests/ElggSessionTest.js @@ -1,36 +1,36 @@ -ElggSessionTest = TestCase("ElggSessionTest");
-
-ElggSessionTest.prototype.testGetCookie = function() {
- assertEquals(document.cookie, elgg.session.cookie());
-};
-
-ElggSessionTest.prototype.testGetCookieKey = function() {
- document.cookie = "name=value";
- assertEquals('value', elgg.session.cookie('name'));
-
- document.cookie = "name=value2";
- assertEquals('value2', elgg.session.cookie('name'));
-
- document.cookie = "name=value";
- document.cookie = "name2=value2";
- assertEquals('value', elgg.session.cookie('name'));
- assertEquals('value2', elgg.session.cookie('name2'));
-};
-
-ElggSessionTest.prototype.testSetCookieKey = function() {
- elgg.session.cookie('name', 'value');
- assertEquals('value', elgg.session.cookie('name'));
-
- elgg.session.cookie('name', 'value2');
- assertEquals('value2', elgg.session.cookie('name'));
-
- elgg.session.cookie('name', 'value');
- elgg.session.cookie('name2', 'value2');
- assertEquals('value', elgg.session.cookie('name'));
- assertEquals('value2', elgg.session.cookie('name2'));
-
- elgg.session.cookie('name', null);
- elgg.session.cookie('name2', null);
- assertUndefined(elgg.session.cookie('name'));
- assertUndefined(elgg.session.cookie('name2'));
+ElggSessionTest = TestCase("ElggSessionTest"); + +ElggSessionTest.prototype.testGetCookie = function() { + assertEquals(document.cookie, elgg.session.cookie()); +}; + +ElggSessionTest.prototype.testGetCookieKey = function() { + document.cookie = "name=value"; + assertEquals('value', elgg.session.cookie('name')); + + document.cookie = "name=value2"; + assertEquals('value2', elgg.session.cookie('name')); + + document.cookie = "name=value"; + document.cookie = "name2=value2"; + assertEquals('value', elgg.session.cookie('name')); + assertEquals('value2', elgg.session.cookie('name2')); +}; + +ElggSessionTest.prototype.testSetCookieKey = function() { + elgg.session.cookie('name', 'value'); + assertEquals('value', elgg.session.cookie('name')); + + elgg.session.cookie('name', 'value2'); + assertEquals('value2', elgg.session.cookie('name')); + + elgg.session.cookie('name', 'value'); + elgg.session.cookie('name2', 'value2'); + assertEquals('value', elgg.session.cookie('name')); + assertEquals('value2', elgg.session.cookie('name2')); + + elgg.session.cookie('name', null); + elgg.session.cookie('name2', null); + assertUndefined(elgg.session.cookie('name')); + assertUndefined(elgg.session.cookie('name2')); };
\ No newline at end of file diff --git a/js/tests/jsTestDriver.conf b/js/tests/jsTestDriver.conf index 606487c03..1bb06e811 100644 --- a/js/tests/jsTestDriver.conf +++ b/js/tests/jsTestDriver.conf @@ -1,9 +1,9 @@ -server: http://localhost:42442
-
-load:
- - vendors/jquery/jquery-1.4.2.min.js
- - vendors/sprintf.js
- - js/lib/elgglib.js
- - js/classes/*.js
- - js/lib/*.js
+server: http://localhost:42442 + +load: + - vendors/jquery/jquery-1.4.2.min.js + - vendors/sprintf.js + - js/lib/elgglib.js + - js/classes/*.js + - js/lib/*.js - js/tests/*.js
\ No newline at end of file |