aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/tests/js/filesSpec.js
diff options
context:
space:
mode:
authorFerdinand Thiessen <opensource@fthiessen.de>2024-09-20 13:46:39 +0200
committerFerdinand Thiessen <opensource@fthiessen.de>2024-09-20 13:46:39 +0200
commit311910865444860194a6f8b7ff85d554f348ace2 (patch)
tree773784b71d060390832d466f59fe2166616b8078 /apps/files/tests/js/filesSpec.js
parent7ff911665e7507a800e05fe9cd80e0304cd11dbc (diff)
downloadnextcloud-server-311910865444860194a6f8b7ff85d554f348ace2.tar.gz
nextcloud-server-311910865444860194a6f8b7ff85d554f348ace2.zip
chore(files): Remove legacy UI scripts now that everything is migrated to Vue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Diffstat (limited to 'apps/files/tests/js/filesSpec.js')
-rw-r--r--apps/files/tests/js/filesSpec.js129
1 files changed, 0 insertions, 129 deletions
diff --git a/apps/files/tests/js/filesSpec.js b/apps/files/tests/js/filesSpec.js
deleted file mode 100644
index 0ae15412fd0..00000000000
--- a/apps/files/tests/js/filesSpec.js
+++ /dev/null
@@ -1,129 +0,0 @@
-/**
- * SPDX-FileCopyrightText: 2018-2024 Nextcloud GmbH and Nextcloud contributors
- * SPDX-FileCopyrightText: 2015 ownCloud, Inc.
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-describe('OCA.Files.Files tests', function() {
- var Files = OCA.Files.Files;
-
- describe('File name validation', function() {
- it('Validates correct file names', function() {
- var fileNames = [
- 'boringname',
- 'something.with.extension',
- 'now with spaces',
- '.a',
- '..a',
- '.dotfile',
- 'single\'quote',
- ' spaces before',
- 'spaces after ',
- 'allowed chars including the crazy ones $%&_-^@!,()[]{}=;#',
- '汉字也能用',
- 'und Ümläüte sind auch willkommen'
- ];
- for ( var i = 0; i < fileNames.length; i++ ) {
- var error = false;
- try {
- expect(Files.isFileNameValid(fileNames[i])).toEqual(true);
- }
- catch (e) {
- error = e;
- }
- expect(error).toEqual(false);
- }
- });
- it('Detects invalid file names', function() {
- var fileNames = [
- '',
- ' ',
- '.',
- '..',
- ' ..',
- '.. ',
- '. ',
- ' .',
- 'foo.part',
- 'bar.filepart'
- ];
- for ( var i = 0; i < fileNames.length; i++ ) {
- var threwException = false;
- try {
- Files.isFileNameValid(fileNames[i]);
- console.error('Invalid file name not detected:', fileNames[i]);
- }
- catch (e) {
- threwException = true;
- }
- expect(threwException).toEqual(true);
- }
- });
- });
- describe('getDownloadUrl', function() {
- it('returns the ajax download URL when filename and dir specified', function() {
- var url = Files.getDownloadUrl('test file.txt', '/subdir');
- expect(url).toEqual(OC.getRootPath() + '/remote.php/webdav/subdir/test%20file.txt');
- });
- it('returns the webdav download URL when filename and root dir specified', function() {
- var url = Files.getDownloadUrl('test file.txt', '/');
- expect(url).toEqual(OC.getRootPath() + '/remote.php/webdav/test%20file.txt');
- });
- it('returns the ajax download URL when multiple files specified', function() {
- var url = Files.getDownloadUrl(['test file.txt', 'abc.txt'], '/subdir');
- expect(url).toEqual(OC.getRootPath() + '/index.php/apps/files/ajax/download.php?dir=%2Fsubdir&files=%5B%22test%20file.txt%22%2C%22abc.txt%22%5D');
- });
- });
- describe('handleDownload', function() {
- var redirectStub;
- var cookieStub;
- var clock;
- var testUrl;
-
- beforeEach(function() {
- testUrl = 'http://example.com/owncloud/path/download.php';
- redirectStub = sinon.stub(OC, 'redirect');
- cookieStub = sinon.stub(OC.Util, 'isCookieSetToValue');
- clock = sinon.useFakeTimers();
- });
- afterEach(function() {
- redirectStub.restore();
- cookieStub.restore();
- clock.restore();
- });
-
- it('appends secret to url when no existing parameters', function() {
- Files.handleDownload(testUrl);
- expect(redirectStub.calledOnce).toEqual(true);
- expect(redirectStub.getCall(0).args[0]).toContain(testUrl + '?downloadStartSecret=');
- });
- it('appends secret to url with existing parameters', function() {
- Files.handleDownload(testUrl + '?test=1');
- expect(redirectStub.calledOnce).toEqual(true);
- expect(redirectStub.getCall(0).args[0]).toContain(testUrl + '?test=1&downloadStartSecret=');
- });
- it('sets cookie and calls callback when cookie appears', function() {
- var callbackStub = sinon.stub();
- var token;
- Files.handleDownload(testUrl, callbackStub);
- expect(redirectStub.calledOnce).toEqual(true);
- token = OC.parseQueryString(redirectStub.getCall(0).args[0]).downloadStartSecret;
- expect(token).toBeDefined();
-
- expect(cookieStub.calledOnce).toEqual(true);
- cookieStub.returns(false);
- clock.tick(600);
-
- expect(cookieStub.calledTwice).toEqual(true);
- expect(cookieStub.getCall(1).args[0]).toEqual('ocDownloadStarted');
- expect(cookieStub.getCall(1).args[1]).toEqual(token);
- expect(callbackStub.notCalled).toEqual(true);
-
- cookieStub.returns(true);
- clock.tick(2000);
-
- expect(cookieStub.callCount).toEqual(3);
- expect(callbackStub.calledOnce).toEqual(true);
- });
- });
-});