summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2014-01-30 13:22:16 +0100
committerVincent Petry <pvince81@owncloud.com>2014-01-30 13:22:16 +0100
commit63cca35baa14727cdf71f2b109523c28d16f1c58 (patch)
tree548fbd5c6b3e258f6dd6f91f430120ef7b883888 /core
parentf7ac9f8069ea5e8ad8eb5c0f899f6ac8e39ef07f (diff)
downloadnextcloud-server-63cca35baa14727cdf71f2b109523c28d16f1c58.tar.gz
nextcloud-server-63cca35baa14727cdf71f2b109523c28d16f1c58.zip
Added core unit tests for basename and dirname
Note that it doesn't work 100% like the PHP functions so the tests have TODO comments to fix those core functions eventually.
Diffstat (limited to 'core')
-rw-r--r--core/js/tests/specs/coreSpec.js99
1 files changed, 99 insertions, 0 deletions
diff --git a/core/js/tests/specs/coreSpec.js b/core/js/tests/specs/coreSpec.js
index 827669f270b..373685d87a5 100644
--- a/core/js/tests/specs/coreSpec.js
+++ b/core/js/tests/specs/coreSpec.js
@@ -18,6 +18,8 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*/
+
+/* global OC */
describe('Core base tests', function() {
describe('Base values', function() {
it('Sets webroots', function() {
@@ -25,6 +27,103 @@ describe('Core base tests', function() {
expect(OC.appswebroots).toBeDefined();
});
});
+ describe('basename', function() {
+ it('Returns the nothing if no file name given', function() {
+ expect(OC.basename('')).toEqual('');
+ });
+ it('Returns the nothing if dir is root', function() {
+ expect(OC.basename('/')).toEqual('');
+ });
+ it('Returns the same name if no path given', function() {
+ expect(OC.basename('some name.txt')).toEqual('some name.txt');
+ });
+ it('Returns the base name if root path given', function() {
+ expect(OC.basename('/some name.txt')).toEqual('some name.txt');
+ });
+ it('Returns the base name if double root path given', function() {
+ expect(OC.basename('//some name.txt')).toEqual('some name.txt');
+ });
+ it('Returns the base name if subdir given without root', function() {
+ expect(OC.basename('subdir/some name.txt')).toEqual('some name.txt');
+ });
+ it('Returns the base name if subdir given with root', function() {
+ expect(OC.basename('/subdir/some name.txt')).toEqual('some name.txt');
+ });
+ it('Returns the base name if subdir given with double root', function() {
+ expect(OC.basename('//subdir/some name.txt')).toEqual('some name.txt');
+ });
+ it('Returns the base name if subdir has dot', function() {
+ expect(OC.basename('/subdir.dat/some name.txt')).toEqual('some name.txt');
+ });
+ it('Returns dot if file name is dot', function() {
+ expect(OC.basename('/subdir/.')).toEqual('.');
+ });
+ // TODO: fix the source to make it work like PHP's basename
+ it('Returns the dir itself if no file name given', function() {
+ // TODO: fix the source to make it work like PHP's dirname
+ // expect(OC.basename('subdir/')).toEqual('subdir');
+ expect(OC.basename('subdir/')).toEqual('');
+ });
+ it('Returns the dir itself if no file name given with root', function() {
+ // TODO: fix the source to make it work like PHP's dirname
+ // expect(OC.basename('/subdir/')).toEqual('subdir');
+ expect(OC.basename('/subdir/')).toEqual('');
+ });
+ });
+ describe('dirname', function() {
+ it('Returns the nothing if no file name given', function() {
+ expect(OC.dirname('')).toEqual('');
+ });
+ it('Returns the root if dir is root', function() {
+ // TODO: fix the source to make it work like PHP's dirname
+ // expect(OC.dirname('/')).toEqual('/');
+ expect(OC.dirname('/')).toEqual('');
+ });
+ it('Returns the root if dir is double root', function() {
+ // TODO: fix the source to make it work like PHP's dirname
+ // expect(OC.dirname('//')).toEqual('/');
+ expect(OC.dirname('//')).toEqual('/'); // oh no...
+ });
+ it('Returns dot if dir is dot', function() {
+ expect(OC.dirname('.')).toEqual('.');
+ });
+ it('Returns dot if no root given', function() {
+ // TODO: fix the source to make it work like PHP's dirname
+ // expect(OC.dirname('some dir')).toEqual('.');
+ expect(OC.dirname('some dir')).toEqual('some dir'); // oh no...
+ });
+ it('Returns the dir name if file name and root path given', function() {
+ // TODO: fix the source to make it work like PHP's dirname
+ // expect(OC.dirname('/some name.txt')).toEqual('/');
+ expect(OC.dirname('/some name.txt')).toEqual('');
+ });
+ it('Returns the dir name if double root path given', function() {
+ expect(OC.dirname('//some name.txt')).toEqual('/'); // how lucky...
+ });
+ it('Returns the dir name if subdir given without root', function() {
+ expect(OC.dirname('subdir/some name.txt')).toEqual('subdir');
+ });
+ it('Returns the dir name if subdir given with root', function() {
+ expect(OC.dirname('/subdir/some name.txt')).toEqual('/subdir');
+ });
+ it('Returns the dir name if subdir given with double root', function() {
+ // TODO: fix the source to make it work like PHP's dirname
+ // expect(OC.dirname('//subdir/some name.txt')).toEqual('/subdir');
+ expect(OC.dirname('//subdir/some name.txt')).toEqual('//subdir'); // oh...
+ });
+ it('Returns the dir name if subdir has dot', function() {
+ expect(OC.dirname('/subdir.dat/some name.txt')).toEqual('/subdir.dat');
+ });
+ it('Returns the dir name if file name is dot', function() {
+ expect(OC.dirname('/subdir/.')).toEqual('/subdir');
+ });
+ it('Returns the dir name if no file name given', function() {
+ expect(OC.dirname('subdir/')).toEqual('subdir');
+ });
+ it('Returns the dir name if no file name given with root', function() {
+ expect(OC.dirname('/subdir/')).toEqual('/subdir');
+ });
+ });
describe('Link functions', function() {
var TESTAPP = 'testapp';
var TESTAPP_ROOT = OC.webroot + '/appsx/testapp';