aboutsummaryrefslogtreecommitdiffstats
path: root/core/js
diff options
context:
space:
mode:
Diffstat (limited to 'core/js')
-rw-r--r--core/js/backgroundjobs.js29
-rw-r--r--core/js/core.json1
-rw-r--r--core/js/login/authpicker.js4
-rw-r--r--core/js/login/grant.js23
-rw-r--r--core/js/mimetype.js21
-rw-r--r--core/js/mimetypelist.js174
-rw-r--r--core/js/public/publicpage.js47
-rw-r--r--core/js/publicshareauth.js4
-rw-r--r--core/js/select2-toggleselect.js11
-rw-r--r--core/js/setupchecks.js12
-rw-r--r--core/js/tests/html-domparser.js26
-rw-r--r--core/js/tests/specHelper.js30
-rw-r--r--core/js/tests/specs/coreSpec.js163
-rw-r--r--core/js/tests/specs/files/clientSpec.js23
-rw-r--r--core/js/tests/specs/jquery.avatarSpec.js10
-rw-r--r--core/js/tests/specs/jquery.contactsmenuSpec.js9
-rw-r--r--core/js/tests/specs/jquery.placeholderSpec.js9
-rw-r--r--core/js/tests/specs/l10nSpec.js73
-rw-r--r--core/js/tests/specs/mimeTypeSpec.js20
-rw-r--r--core/js/tests/specs/oc-backbone-webdavSpec.js23
-rw-r--r--core/js/tests/specs/public/commentsSpec.js19
-rw-r--r--core/js/tests/specs/setupchecksSpec.js10
-rw-r--r--core/js/tests/specs/systemtags/systemtagsSpec.js23
-rw-r--r--core/js/tests/specs/systemtags/systemtagscollectionSpec.js22
-rw-r--r--core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js23
-rw-r--r--core/js/update.js12
26 files changed, 263 insertions, 558 deletions
diff --git a/core/js/backgroundjobs.js b/core/js/backgroundjobs.js
deleted file mode 100644
index f5061357f5c..00000000000
--- a/core/js/backgroundjobs.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* ownCloud
-*
-* @author Jakob Sack
-* @copyright 2012 Jakob Sack owncloud@jakobsack.de
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
-
-// start worker once page has loaded
-window.addEventListener('DOMContentLoaded', function(){
- $.get( OC.getRootPath()+'/cron.php' );
-
- $('.section .icon-info').tooltip({
- placement: 'right'
- });
-});
diff --git a/core/js/core.json b/core/js/core.json
index 40bb35dde9f..457656fdd08 100644
--- a/core/js/core.json
+++ b/core/js/core.json
@@ -3,7 +3,6 @@
"core-common.js"
],
"modules": [
- "../core/js/public/publicpage.js",
"../core/js/setupchecks.js",
"../core/js/mimetype.js",
"../core/js/mimetypelist.js"
diff --git a/core/js/login/authpicker.js b/core/js/login/authpicker.js
index 1a94b02d72f..10b5d716d6a 100644
--- a/core/js/login/authpicker.js
+++ b/core/js/login/authpicker.js
@@ -1,3 +1,7 @@
+/**
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
jQuery(document).ready(function() {
$('#app-token-login').click(function (e) {
e.preventDefault();
diff --git a/core/js/login/grant.js b/core/js/login/grant.js
index c4d49505059..c6134504421 100644
--- a/core/js/login/grant.js
+++ b/core/js/login/grant.js
@@ -1,8 +1,29 @@
-document.querySelector('form').addEventListener('submit', function(e) {
+/**
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+const form = document.querySelector('form')
+form.addEventListener('submit', function(event) {
const wrapper = document.getElementById('submit-wrapper')
if (wrapper === null) {
return
}
+
+ if (OC.PasswordConfirmation.requiresPasswordConfirmation()) {
+ // stop the event
+ event.preventDefault()
+ event.stopPropagation()
+
+ // handle password confirmation
+ OC.PasswordConfirmation.requirePasswordConfirmation(function () {
+ // when password is confirmed we submit the form
+ form.submit()
+ })
+
+ return false
+ }
+
Array.from(wrapper.getElementsByClassName('icon-confirm-white')).forEach(function(el) {
el.classList.remove('icon-confirm-white')
el.classList.add(OCA.Theming && OCA.Theming.inverted ? 'icon-loading-small' : 'icon-loading-small-dark')
diff --git a/core/js/mimetype.js b/core/js/mimetype.js
index 13a7ba6f6e5..058d90ba509 100644
--- a/core/js/mimetype.js
+++ b/core/js/mimetype.js
@@ -1,21 +1,7 @@
/**
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @copyright Copyright (c) 2015, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2015 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-only
*/
/**
@@ -77,6 +63,7 @@ OC.MimeType = {
while (mimeType in OC.MimeTypeList.aliases) {
mimeType = OC.MimeTypeList.aliases[mimeType];
}
+
if (mimeType in OC.MimeType._mimeTypeIcons) {
return OC.MimeType._mimeTypeIcons[mimeType];
}
diff --git a/core/js/mimetypelist.js b/core/js/mimetypelist.js
index 7caeaa72f90..eb937c440cc 100644
--- a/core/js/mimetypelist.js
+++ b/core/js/mimetypelist.js
@@ -15,8 +15,10 @@ OC.MimeTypeList={
"application/gpx+xml": "location",
"application/gzip": "package/x-generic",
"application/illustrator": "image",
+ "application/internet-shortcut": "link",
"application/javascript": "text/code",
"application/json": "text/code",
+ "application/km": "mindmap",
"application/msaccess": "file",
"application/msexcel": "x-office/spreadsheet",
"application/msonenote": "x-office/document",
@@ -26,21 +28,22 @@ OC.MimeTypeList={
"application/postscript": "image",
"application/rss+xml": "application/xml",
"application/vnd.android.package-archive": "package/x-generic",
- "application/vnd.lotus-wordpro": "x-office/document",
+ "application/vnd.excalidraw+json": "whiteboard",
"application/vnd.garmin.tcx+xml": "location",
"application/vnd.google-earth.kml+xml": "location",
"application/vnd.google-earth.kmz": "location",
- "application/vnd.ms-excel": "x-office/spreadsheet",
+ "application/vnd.lotus-wordpro": "x-office/document",
"application/vnd.ms-excel.addin.macroEnabled.12": "x-office/spreadsheet",
"application/vnd.ms-excel.sheet.binary.macroEnabled.12": "x-office/spreadsheet",
"application/vnd.ms-excel.sheet.macroEnabled.12": "x-office/spreadsheet",
"application/vnd.ms-excel.template.macroEnabled.12": "x-office/spreadsheet",
+ "application/vnd.ms-excel": "x-office/spreadsheet",
"application/vnd.ms-fontobject": "font",
- "application/vnd.ms-powerpoint": "x-office/presentation",
"application/vnd.ms-powerpoint.addin.macroEnabled.12": "x-office/presentation",
"application/vnd.ms-powerpoint.presentation.macroEnabled.12": "x-office/presentation",
"application/vnd.ms-powerpoint.slideshow.macroEnabled.12": "x-office/presentation",
"application/vnd.ms-powerpoint.template.macroEnabled.12": "x-office/presentation",
+ "application/vnd.ms-powerpoint": "x-office/presentation",
"application/vnd.ms-visio.drawing.macroEnabled.12": "application/vnd.visio",
"application/vnd.ms-visio.drawing": "application/vnd.visio",
"application/vnd.ms-visio.stencil.macroEnabled.12": "application/vnd.visio",
@@ -49,37 +52,40 @@ OC.MimeTypeList={
"application/vnd.ms-visio.template": "application/vnd.visio",
"application/vnd.ms-word.document.macroEnabled.12": "x-office/document",
"application/vnd.ms-word.template.macroEnabled.12": "x-office/document",
- "application/vnd.oasis.opendocument.presentation": "x-office/presentation",
+ "application/vnd.oasis.opendocument.graphics-flat-xml": "x-office/drawing",
+ "application/vnd.oasis.opendocument.graphics-template": "x-office/drawing",
+ "application/vnd.oasis.opendocument.graphics": "x-office/drawing",
+ "application/vnd.oasis.opendocument.presentation-flat-xml": "x-office/presentation",
"application/vnd.oasis.opendocument.presentation-template": "x-office/presentation",
- "application/vnd.oasis.opendocument.spreadsheet": "x-office/spreadsheet",
+ "application/vnd.oasis.opendocument.presentation": "x-office/presentation",
+ "application/vnd.oasis.opendocument.spreadsheet-flat-xml": "x-office/spreadsheet",
"application/vnd.oasis.opendocument.spreadsheet-template": "x-office/spreadsheet",
- "application/vnd.oasis.opendocument.text": "x-office/document",
+ "application/vnd.oasis.opendocument.spreadsheet": "x-office/spreadsheet",
+ "application/vnd.oasis.opendocument.text-flat-xml": "x-office/document",
"application/vnd.oasis.opendocument.text-master": "x-office/document",
"application/vnd.oasis.opendocument.text-template": "x-office/document",
- "application/vnd.oasis.opendocument.graphics": "x-office/drawing",
- "application/vnd.oasis.opendocument.graphics-template": "x-office/drawing",
"application/vnd.oasis.opendocument.text-web": "x-office/document",
- "application/vnd.oasis.opendocument.text-flat-xml": "x-office/document",
- "application/vnd.oasis.opendocument.spreadsheet-flat-xml": "x-office/spreadsheet",
- "application/vnd.oasis.opendocument.graphics-flat-xml": "x-office/drawing",
- "application/vnd.oasis.opendocument.presentation-flat-xml": "x-office/presentation",
+ "application/vnd.oasis.opendocument.text": "x-office/document",
"application/vnd.openxmlformats-officedocument.presentationml.presentation": "x-office/presentation",
"application/vnd.openxmlformats-officedocument.presentationml.slideshow": "x-office/presentation",
"application/vnd.openxmlformats-officedocument.presentationml.template": "x-office/presentation",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "x-office/spreadsheet",
"application/vnd.openxmlformats-officedocument.spreadsheetml.template": "x-office/spreadsheet",
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document.docxf": "x-office/form-template",
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document.oform": "x-office/form",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "x-office/document",
"application/vnd.openxmlformats-officedocument.wordprocessingml.template": "x-office/document",
"application/vnd.visio": "x-office/document",
"application/vnd.wordperfect": "x-office/document",
+ "application/vnd.xmind.workbook": "mindmap",
"application/x-7z-compressed": "package/x-generic",
"application/x-bzip2": "package/x-generic",
"application/x-cbr": "text",
- "application/x-compressed": "package/x-generic",
"application/x-dcraw": "image",
"application/x-deb": "package/x-generic",
"application/x-fictionbook+xml": "text",
"application/x-font": "font",
+ "application/x-freemind": "mindmap",
"application/x-gimp": "image",
"application/x-gzip": "application/gzip",
"application/x-iwork-keynote-sffkey": "x-office/presentation",
@@ -95,8 +101,11 @@ OC.MimeTypeList={
"application/xml": "text/html",
"application/yaml": "text/code",
"application/zip": "package/x-generic",
+ "application/zstd": "package/x-generic",
"database": "file",
"httpd/unix-directory": "dir",
+ "image/targa": "image/tga",
+ "image/x-emf": "image/emf",
"text/css": "text/code",
"text/csv": "x-office/spreadsheet",
"text/html": "text/code",
@@ -105,18 +114,11 @@ OC.MimeTypeList={
"text/x-h": "text/code",
"text/x-java-source": "text/code",
"text/x-ldif": "text/code",
+ "text/x-nfo": "text/code",
"text/x-python": "text/code",
"text/x-rst": "text",
"text/x-shellscript": "text/code",
- "web": "text/code",
- "application/internet-shortcut": "link",
- "application/km": "mindmap",
- "application/x-freemind": "mindmap",
- "application/vnd.xmind.workbook": "mindmap",
- "image/targa": "image/tga",
- "application/vnd.openxmlformats-officedocument.wordprocessingml.document.oform": "x-office/form",
- "application/vnd.openxmlformats-officedocument.wordprocessingml.document.docxf": "x-office/form-template",
- "image/x-emf": "image/emf"
+ "web": "text/code"
},
files: [
"application",
@@ -141,6 +143,7 @@ OC.MimeTypeList={
"text-code",
"text-vcard",
"video",
+ "whiteboard",
"x-office-document",
"x-office-drawing",
"x-office-form",
@@ -148,5 +151,130 @@ OC.MimeTypeList={
"x-office-presentation",
"x-office-spreadsheet"
],
- themes: []
+ themes: [],
+ names: {'application/cmd': t('core', "Windows Command Script"),
+'application/epub+zip': t('core', "Electronic book document"),
+'application/font-sfnt': t('core', "TrueType Font Collection"),
+'application/font-woff': t('core', "Web Open Font Format"),
+'application/gpx+xml': t('core', "GPX geographic data"),
+'application/gzip': t('core', "Gzip archive"),
+'application/illustrator': t('core', "Adobe Illustrator document"),
+'application/java': t('core', "Java source code"),
+'application/javascript': t('core', "JavaScript source code"),
+'application/json': t('core', "JSON document"),
+'application/msaccess': t('core', "Microsoft Access database"),
+'application/msonenote': t('core', "Microsoft OneNote document"),
+'application/msword': t('core', "Microsoft Word document"),
+'application/octet-stream': t('core', "Unknown"),
+'application/pdf': t('core', "PDF document"),
+'application/postscript': t('core', "PostScript document"),
+'application/rss+xml': t('core', "RSS summary"),
+'application/vnd.android.package-archive': t('core', "Android package"),
+'application/vnd.google-earth.kml+xml': t('core', "KML geographic data"),
+'application/vnd.google-earth.kmz': t('core', "KML geographic compressed data"),
+'application/vnd.lotus-wordpro': t('core', "Lotus Word Pro document"),
+'application/vnd.ms-excel': t('core', "Excel spreadsheet"),
+'application/vnd.ms-excel.addin.macroEnabled.12': t('core', "Excel add-in"),
+'application/vnd.ms-excel.sheet.binary.macroEnabled.12': t('core', "Excel 2007 binary spreadsheet"),
+'application/vnd.ms-excel.sheet.macroEnabled.12': t('core', "Excel spreadsheet"),
+'application/vnd.ms-excel.template.macroEnabled.12': t('core', "Excel spreadsheet template"),
+'application/vnd.ms-outlook': t('core', "Outlook Message"),
+'application/vnd.ms-powerpoint': t('core', "PowerPoint presentation"),
+'application/vnd.ms-powerpoint.addin.macroEnabled.12': t('core', "PowerPoint add-in"),
+'application/vnd.ms-powerpoint.presentation.macroEnabled.12': t('core', "PowerPoint presentation"),
+'application/vnd.ms-powerpoint.slideshow.macroEnabled.12': t('core', "PowerPoint presentation"),
+'application/vnd.ms-powerpoint.template.macroEnabled.12': t('core', "PowerPoint presentation template"),
+'application/vnd.ms-word.document.macroEnabled.12': t('core', "Word document"),
+'application/vnd.oasis.opendocument.formula': t('core', "ODF formula"),
+'application/vnd.oasis.opendocument.graphics': t('core', "ODG drawing"),
+'application/vnd.oasis.opendocument.graphics-flat-xml': t('core', "ODG drawing (Flat XML)"),
+'application/vnd.oasis.opendocument.graphics-template': t('core', "ODG template"),
+'application/vnd.oasis.opendocument.presentation': t('core', "ODP presentation"),
+'application/vnd.oasis.opendocument.presentation-flat-xml': t('core', "ODP presentation (Flat XML)"),
+'application/vnd.oasis.opendocument.presentation-template': t('core', "ODP template"),
+'application/vnd.oasis.opendocument.spreadsheet': t('core', "ODS spreadsheet"),
+'application/vnd.oasis.opendocument.spreadsheet-flat-xml': t('core', "ODS spreadsheet (Flat XML)"),
+'application/vnd.oasis.opendocument.spreadsheet-template': t('core', "ODS template"),
+'application/vnd.oasis.opendocument.text': t('core', "ODT document"),
+'application/vnd.oasis.opendocument.text-flat-xml': t('core', "ODT document (Flat XML)"),
+'application/vnd.oasis.opendocument.text-template': t('core', "ODT template"),
+'application/vnd.openxmlformats-officedocument.presentationml.presentation': t('core', "PowerPoint 2007 presentation"),
+'application/vnd.openxmlformats-officedocument.presentationml.slideshow': t('core', "PowerPoint 2007 show"),
+'application/vnd.openxmlformats-officedocument.presentationml.template': t('core', "PowerPoint 2007 presentation template"),
+'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': t('core', "Excel 2007 spreadsheet"),
+'application/vnd.openxmlformats-officedocument.spreadsheetml.template': t('core', "Excel 2007 spreadsheet template"),
+'application/vnd.openxmlformats-officedocument.wordprocessingml.document': t('core', "Word 2007 document"),
+'application/vnd.openxmlformats-officedocument.wordprocessingml.template': t('core', "Word 2007 document template"),
+'application/vnd.visio': t('core', "Microsoft Visio document"),
+'application/vnd.wordperfect': t('core', "WordPerfect document"),
+'application/x-7z-compressed': t('core', "7-zip archive"),
+'application/x-blender': t('core', "Blender scene"),
+'application/x-bzip2': t('core', "Bzip2 archive"),
+'application/x-deb': t('core', "Debian package"),
+'application/x-fictionbook+xml': t('core', "FictionBook document"),
+'application/x-font': t('core', "Unknown font"),
+'application/x-krita': t('core', "Krita document"),
+'application/x-mobipocket-ebook': t('core', "Mobipocket e-book"),
+'application/x-msi': t('core', "Windows Installer package"),
+'application/x-perl': t('core', "Perl script"),
+'application/x-php': t('core', "PHP script"),
+'application/x-tar': t('core', "Tar archive"),
+'application/xml': t('core', "XML document"),
+'application/yaml': t('core', "YAML document"),
+'application/zip': t('core', "Zip archive"),
+'application/zstd': t('core', "Zstandard archive"),
+'audio/aac': t('core', "AAC audio"),
+'audio/flac': t('core', "FLAC audio"),
+'audio/mp4': t('core', "MPEG-4 audio"),
+'audio/mpeg': t('core', "MP3 audio"),
+'audio/ogg': t('core', "Ogg audio"),
+'audio/wav': t('core', "RIFF\/WAVe standard Audio"),
+'audio/webm': t('core', "WebM audio"),
+'audio/x-scpls': t('core', "MP3 ShoutCast playlist"),
+'image/bmp': t('core', "Windows BMP image"),
+'image/bpg': t('core', "Better Portable Graphics image"),
+'image/emf': t('core', "EMF image"),
+'image/gif': t('core', "GIF image"),
+'image/heic': t('core', "HEIC image"),
+'image/heif': t('core', "HEIF image"),
+'image/jp2': t('core', "JPEG-2000 JP2 image"),
+'image/jpeg': t('core', "JPEG image"),
+'image/png': t('core', "PNG image"),
+'image/svg+xml': t('core', "SVG image"),
+'image/tga': t('core', "Truevision Targa image"),
+'image/tiff': t('core', "TIFF image"),
+'image/webp': t('core', "WebP image"),
+'image/x-dcraw': t('core', "Digital raw image"),
+'image/x-icon': t('core', "Windows Icon"),
+'message/rfc822': t('core', "Email message"),
+'text/calendar': t('core', "VCS\/ICS calendar"),
+'text/css': t('core', "CSS stylesheet"),
+'text/csv': t('core', "CSV document"),
+'text/html': t('core', "HTML document"),
+'text/markdown': t('core', "Markdown document"),
+'text/org': t('core', "Org-mode file"),
+'text/plain': t('core', "Plain text document"),
+'text/rtf': t('core', "Rich Text document"),
+'text/vcard': t('core', "Electronic business card"),
+'text/x-c++src': t('core', "C++ source code"),
+'text/x-java-source': t('core', "Java source code"),
+'text/x-ldif': t('core', "LDIF address book"),
+'text/x-nfo': t('core', "NFO document"),
+'text/x-php': t('core', "PHP source"),
+'text/x-python': t('core', "Python script"),
+'text/x-rst': t('core', "ReStructuredText document"),
+'video/3gpp': t('core', "3GPP multimedia file"),
+'video/MP2T': t('core', "MPEG video"),
+'video/dv': t('core', "DV video"),
+'video/mp2t': t('core', "MPEG-2 transport stream"),
+'video/mp4': t('core', "MPEG-4 video"),
+'video/mpeg': t('core', "MPEG video"),
+'video/ogg': t('core', "Ogg video"),
+'video/quicktime': t('core', "QuickTime video"),
+'video/webm': t('core', "WebM video"),
+'video/x-flv': t('core', "Flash video"),
+'video/x-matroska': t('core', "Matroska video"),
+'video/x-ms-wmv': t('core', "Windows Media video"),
+'video/x-msvideo': t('core', "AVI video"),
+},
};
diff --git a/core/js/public/publicpage.js b/core/js/public/publicpage.js
deleted file mode 100644
index adb1c4dd2fc..00000000000
--- a/core/js/public/publicpage.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>
- *
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-window.addEventListener('DOMContentLoaded', function () {
-
- $('#body-public').find('.header-right .menutoggle').click(function() {
- $(this).next('.popovermenu').toggleClass('open');
- });
-
- $('#save-external-share').click(function () {
- $('#external-share-menu-item').toggleClass('hidden')
- $('#remote_address').focus();
- });
-
-
- $(document).mouseup(function(e) {
- var toggle = $('#body-public').find('.header-right .menutoggle');
- var container = toggle.next('.popovermenu');
-
- // if the target of the click isn't the menu toggle, nor a descendant of the
- // menu toggle, nor the container nor a descendant of the container
- if (!toggle.is(e.target) && toggle.has(e.target).length === 0 &&
- !container.is(e.target) && container.has(e.target).length === 0) {
- container.removeClass('open');
- }
- });
-
-});
diff --git a/core/js/publicshareauth.js b/core/js/publicshareauth.js
index 3d694c7bfd6..3408e6d7560 100644
--- a/core/js/publicshareauth.js
+++ b/core/js/publicshareauth.js
@@ -1,3 +1,7 @@
+/**
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
function showEmailAddressPromptForm() {
// Shows email prompt
var emailInput = document.getElementById('email-input-form');
diff --git a/core/js/select2-toggleselect.js b/core/js/select2-toggleselect.js
index 4fada592a3b..286a57cae45 100644
--- a/core/js/select2-toggleselect.js
+++ b/core/js/select2-toggleselect.js
@@ -1,11 +1,6 @@
-/*
- * Copyright (c) 2015
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
+/**
+ * SPDX-FileCopyrightText: 2016 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
/* global Select2 */
diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js
index fd27dbc0791..fc4d4ff6969 100644
--- a/core/js/setupchecks.js
+++ b/core/js/setupchecks.js
@@ -1,11 +1,7 @@
-/*
- * Copyright (c) 2014
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
+/**
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2014-2016 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
(function() {
diff --git a/core/js/tests/html-domparser.js b/core/js/tests/html-domparser.js
index ea22f9b8752..945d4b1f441 100644
--- a/core/js/tests/html-domparser.js
+++ b/core/js/tests/html-domparser.js
@@ -1,10 +1,13 @@
-/*
+/**
* DOMParser HTML extension
* 2012-09-04
*
* By Eli Grey, http://eligrey.com
* Public domain.
* NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
+ *
+ * SPDX-FileCopyrightText: 2012 Eli Grey, http://eligrey.com
+ * SPDX-License-Identifier: CC0-1.0
*/
/*! @source https://gist.github.com/1129031 */
@@ -13,10 +16,8 @@
(function(DOMParser) {
"use strict";
- var
- DOMParser_proto = DOMParser.prototype
- , real_parseFromString = DOMParser_proto.parseFromString
- ;
+ var DOMParser_proto = DOMParser.prototype;
+ var real_parseFromString = DOMParser_proto.parseFromString;
// Firefox/Opera/IE throw errors on unsupported types
try {
@@ -29,15 +30,12 @@
DOMParser_proto.parseFromString = function(markup, type) {
if (/^\s*text\/html\s*(?:;|$)/i.test(type)) {
- var
- doc = document.implementation.createHTMLDocument("")
- ;
- if (markup.toLowerCase().indexOf('<!doctype') > -1) {
- doc.documentElement.innerHTML = markup;
- }
- else {
- doc.body.innerHTML = markup;
- }
+ var doc = document.implementation.createHTMLDocument("");
+ if (markup.toLowerCase().indexOf('<!doctype') > -1) {
+ doc.documentElement.innerHTML = markup;
+ } else {
+ doc.body.innerHTML = markup;
+ }
return doc;
} else {
return real_parseFromString.apply(this, arguments);
diff --git a/core/js/tests/specHelper.js b/core/js/tests/specHelper.js
index d2afe2b67cf..77958488df7 100644
--- a/core/js/tests/specHelper.js
+++ b/core/js/tests/specHelper.js
@@ -1,23 +1,8 @@
/**
-* ownCloud
-*
-* @author Vincent Petry
-* @copyright 2014 Vincent Petry <pvince81@owncloud.com>
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2014 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
/**
* Simulate the variables that are normally set by PHP code
@@ -100,6 +85,9 @@ window._oc_appswebroots = {
"files": window.webroot + '/apps/files/',
"files_sharing": window.webroot + '/apps/files_sharing/'
};
+
+window.OC ??= {};
+
OC.config = {
session_lifetime: 600 * 1000,
session_keepalive: false,
@@ -126,6 +114,10 @@ window.Snap.prototype = {
window.isPhantom = /phantom/i.test(navigator.userAgent);
document.documentElement.lang = navigator.language;
+const el = document.createElement('input');
+el.id = 'initial-state-core-config';
+el.value = btoa(JSON.stringify(window.OC.config))
+document.body.append(el);
// global setup for all tests
(function setupTests() {
diff --git a/core/js/tests/specs/coreSpec.js b/core/js/tests/specs/coreSpec.js
index 8b689fbcecf..3cbd7623a47 100644
--- a/core/js/tests/specs/coreSpec.js
+++ b/core/js/tests/specs/coreSpec.js
@@ -1,23 +1,8 @@
/**
-* ownCloud
-*
-* @author Vincent Petry
-* @copyright 2014 Vincent Petry <pvince81@owncloud.com>
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2014 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
describe('Core base tests', function() {
var debounceStub
@@ -134,93 +119,6 @@ describe('Core base tests', function() {
})).toEqual('number=123');
});
});
- describe('Session heartbeat', function() {
- var clock,
- oldConfig,
- counter;
-
- beforeEach(function() {
- clock = sinon.useFakeTimers();
- oldConfig = OC.config;
- counter = 0;
-
- fakeServer.autoRespond = true;
- fakeServer.autoRespondAfter = 0;
- fakeServer.respondWith(/\/csrftoken/, function(xhr) {
- counter++;
- xhr.respond(200, {'Content-Type': 'application/json'}, '{"token": "pgBEsb3MzTb1ZPd2mfDZbQ6/0j3OrXHMEZrghHcOkg8=:3khw5PSa+wKQVo4f26exFD3nplud9ECjJ8/Y5zk5/k4="}');
- });
- $(document).off('ajaxComplete'); // ignore previously registered heartbeats
- });
- afterEach(function() {
- clock.restore();
- /* jshint camelcase: false */
- OC.config = oldConfig;
- $(document).off('ajaxError');
- $(document).off('ajaxComplete');
- });
- it('sends heartbeat half the session lifetime when heartbeat enabled', function() {
- /* jshint camelcase: false */
- OC.config = {
- session_keepalive: true,
- session_lifetime: 300
- };
- window.initCore();
-
- expect(counter).toEqual(0);
-
- // less than half, still nothing
- clock.tick(100 * 1000);
- expect(counter).toEqual(0);
-
- // reach past half (160), one call
- clock.tick(55 * 1000);
- expect(counter).toEqual(1);
-
- // almost there to the next, still one
- clock.tick(140 * 1000);
- expect(counter).toEqual(1);
-
- // past it, second call
- clock.tick(20 * 1000);
- expect(counter).toEqual(2);
- });
- it('does not send heartbeat when heartbeat disabled', function() {
- /* jshint camelcase: false */
- OC.config = {
- session_keepalive: false,
- session_lifetime: 300
- };
- window.initCore();
-
- expect(counter).toEqual(0);
-
- clock.tick(1000000);
-
- // still nothing
- expect(counter).toEqual(0);
- });
- it('limits the heartbeat between one minute and one day', function() {
- /* jshint camelcase: false */
- var setIntervalStub = sinon.stub(window, 'setInterval');
- OC.config = {
- session_keepalive: true,
- session_lifetime: 5
- };
- window.initCore();
- expect(setIntervalStub.getCall(0).args[1]).toEqual(60 * 1000);
- setIntervalStub.reset();
-
- OC.config = {
- session_keepalive: true,
- session_lifetime: 48 * 3600
- };
- window.initCore();
- expect(setIntervalStub.getCall(0).args[1]).toEqual(24 * 3600 * 1000);
-
- setIntervalStub.restore();
- });
- });
describe('Parse query string', function() {
it('Parses query string from full URL', function() {
var query = OC.parseQueryString('http://localhost/stuff.php?q=a&b=x');
@@ -374,7 +272,7 @@ describe('Core base tests', function() {
// to make sure they run.
var cit = window.isPhantom?xit:it;
- // must provide the same results as \OC_Util::naturalSortCompare
+ // must provide the same results as \OCP\Util::naturalSortCompare
it('sorts alphabetically', function() {
var a = [
'def',
@@ -780,6 +678,7 @@ describe('Core base tests', function() {
OC.currentUser = 'dummy';
clock = sinon.useFakeTimers();
reloadStub = sinon.stub(OC, 'reload');
+ document.head.dataset.user = 'dummy'
notificationStub = sinon.stub(OC.Notification, 'show');
// unstub the error processing method
ajaxErrorStub = OC._processAjaxError;
@@ -793,47 +692,6 @@ describe('Core base tests', function() {
clock.restore();
});
- it('reloads current page in case of auth error', function() {
- var dataProvider = [
- [200, false],
- [400, false],
- [0, false],
- [401, true],
- [302, true],
- [303, true],
- [307, true]
- ];
-
- for (var i = 0; i < dataProvider.length; i++) {
- var xhr = { status: dataProvider[i][0] };
- var expectedCall = dataProvider[i][1];
-
- reloadStub.reset();
- OC._reloadCalled = false;
-
- $(document).trigger(new $.Event('ajaxError'), xhr);
-
- // trigger timers
- clock.tick(waitTimeMs);
-
- if (expectedCall) {
- expect(reloadStub.calledOnce).toEqual(true);
- } else {
- expect(reloadStub.notCalled).toEqual(true);
- }
- }
- });
- it('reload only called once in case of auth error', function() {
- var xhr = { status: 401 };
-
- $(document).trigger(new $.Event('ajaxError'), xhr);
- $(document).trigger(new $.Event('ajaxError'), xhr);
-
- // trigger timers
- clock.tick(waitTimeMs);
-
- expect(reloadStub.calledOnce).toEqual(true);
- });
it('does not reload the page if the user was navigating away', function() {
var xhr = { status: 0 };
OC._userIsNavigatingAway = true;
@@ -844,16 +702,7 @@ describe('Core base tests', function() {
clock.tick(waitTimeMs);
expect(reloadStub.notCalled).toEqual(true);
});
- it('displays notification', function() {
- var xhr = { status: 401 };
-
- notificationUpdateStub = sinon.stub(OC.Notification, 'showUpdate');
-
- $(document).trigger(new $.Event('ajaxError'), xhr);
- clock.tick(waitTimeMs);
- expect(notificationUpdateStub.notCalled).toEqual(false);
- });
it('shows a temporary notification if the connection is lost', function() {
var xhr = { status: 0 };
spyOn(OC, '_ajaxConnectionLostHandler');
diff --git a/core/js/tests/specs/files/clientSpec.js b/core/js/tests/specs/files/clientSpec.js
index 94d52bebacf..105af079ced 100644
--- a/core/js/tests/specs/files/clientSpec.js
+++ b/core/js/tests/specs/files/clientSpec.js
@@ -1,23 +1,8 @@
/**
-* ownCloud
-*
-* @author Vincent Petry
-* @copyright 2015 Vincent Petry <pvince81@owncloud.com>
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2015 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
/* global dav */
diff --git a/core/js/tests/specs/jquery.avatarSpec.js b/core/js/tests/specs/jquery.avatarSpec.js
index 420c72d2e9b..c01cd9b9603 100644
--- a/core/js/tests/specs/jquery.avatarSpec.js
+++ b/core/js/tests/specs/jquery.avatarSpec.js
@@ -1,11 +1,7 @@
/**
- * Copyright (c) 2015 Roeland Jago Douma <roeland@famdouma.nl>
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2015 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
describe('jquery.avatar tests', function() {
diff --git a/core/js/tests/specs/jquery.contactsmenuSpec.js b/core/js/tests/specs/jquery.contactsmenuSpec.js
index fb2514eb0de..62aaef89edc 100644
--- a/core/js/tests/specs/jquery.contactsmenuSpec.js
+++ b/core/js/tests/specs/jquery.contactsmenuSpec.js
@@ -1,11 +1,6 @@
/**
- * Copyright (c) 2017 Georg Ehrke <oc.list@georgehrke.com>
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
describe('jquery.contactsMenu tests', function() {
diff --git a/core/js/tests/specs/jquery.placeholderSpec.js b/core/js/tests/specs/jquery.placeholderSpec.js
index 4937b99625f..436defdd703 100644
--- a/core/js/tests/specs/jquery.placeholderSpec.js
+++ b/core/js/tests/specs/jquery.placeholderSpec.js
@@ -1,11 +1,6 @@
/**
- * Copyright (c) 2019 Serhii Shliakhov <shlyakhov.up@gmail.com>
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
describe('jquery.placeholder tests', function() {
diff --git a/core/js/tests/specs/l10nSpec.js b/core/js/tests/specs/l10nSpec.js
index c1d596badf6..bd93a13fe74 100644
--- a/core/js/tests/specs/l10nSpec.js
+++ b/core/js/tests/specs/l10nSpec.js
@@ -1,11 +1,7 @@
/**
- * Copyright (c) 2014 Vincent Petry <pvince81@owncloud.com>
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2014 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
describe('OC.L10N tests', function() {
@@ -114,67 +110,4 @@ describe('OC.L10N tests', function() {
checkPlurals();
});
});
- describe('async loading of translations', function() {
- afterEach(() => {
- document.documentElement.removeAttribute('data-locale')
- })
- it('loads bundle for given app and calls callback', function(done) {
- document.documentElement.setAttribute('data-locale', 'zh_CN')
- var callbackStub = sinon.stub();
- var promiseStub = sinon.stub();
- var loading = OC.L10N.load(TEST_APP, callbackStub);
- expect(callbackStub.notCalled).toEqual(true);
- var req = fakeServer.requests[0];
-
- console.warn('fff-', window.OC.appswebroots)
- loading
- .then(promiseStub)
- .then(function() {
- expect(fakeServer.requests.length).toEqual(1);
- expect(req.url).toEqual(
- OC.getRootPath() + '/apps3/' + TEST_APP + '/l10n/zh_CN.json'
- );
-
- expect(callbackStub.calledOnce).toEqual(true);
- expect(promiseStub.calledOnce).toEqual(true);
- expect(t(TEST_APP, 'Hello world!')).toEqual('你好世界!');
- })
- .then(done)
- .catch(e => expect(e).toBe('No error expected!'));
-
- expect(promiseStub.notCalled).toEqual(true);
- req.respond(
- 200,
- { 'Content-Type': 'application/json' },
- JSON.stringify({
- translations: {'Hello world!': '你好世界!'},
- pluralForm: 'nplurals=2; plural=(n != 1);'
- })
- );
- });
- it('calls callback if translation already available', function(done) {
- var callbackStub = sinon.stub();
- spyOn(console, 'warn');
- OC.L10N.register(TEST_APP, {
- 'Hello world!': 'Hallo Welt!'
- });
- OC.L10N.load(TEST_APP, callbackStub)
- .then(function() {
- expect(callbackStub.calledOnce).toEqual(true);
- expect(fakeServer.requests.length).toEqual(0);
- })
- .then(done);
-
- });
- it('calls callback if locale is en', function(done) {
- var callbackStub = sinon.stub();
- OC.L10N.load(TEST_APP, callbackStub)
- .then(function() {
- expect(callbackStub.calledOnce).toEqual(true);
- expect(fakeServer.requests.length).toEqual(0);
- })
- .then(done)
- .catch(done);
- });
- });
});
diff --git a/core/js/tests/specs/mimeTypeSpec.js b/core/js/tests/specs/mimeTypeSpec.js
index c9497a7c574..4fe5481541d 100644
--- a/core/js/tests/specs/mimeTypeSpec.js
+++ b/core/js/tests/specs/mimeTypeSpec.js
@@ -1,21 +1,7 @@
/**
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @copyright Copyright (c) 2015, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
+ * SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2015 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-only
*/
describe('MimeType tests', function() {
diff --git a/core/js/tests/specs/oc-backbone-webdavSpec.js b/core/js/tests/specs/oc-backbone-webdavSpec.js
index 6f48d0c92d2..bf4d6eef6ca 100644
--- a/core/js/tests/specs/oc-backbone-webdavSpec.js
+++ b/core/js/tests/specs/oc-backbone-webdavSpec.js
@@ -1,23 +1,8 @@
/**
-* ownCloud
-*
-* @author Vincent Petry
-* @copyright 2014 Vincent Petry <pvince81@owncloud.com>
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2014 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
/* global dav */
diff --git a/core/js/tests/specs/public/commentsSpec.js b/core/js/tests/specs/public/commentsSpec.js
index e77947bea9d..6e15ddca6a7 100644
--- a/core/js/tests/specs/public/commentsSpec.js
+++ b/core/js/tests/specs/public/commentsSpec.js
@@ -1,20 +1,7 @@
/**
-* @copyright 2018 Joas Schilling <nickvergessen@owncloud.com>
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
describe('OCP.Comments tests', function() {
function dataProvider() {
diff --git a/core/js/tests/specs/setupchecksSpec.js b/core/js/tests/specs/setupchecksSpec.js
index dc5db7602ff..9f75ad501d1 100644
--- a/core/js/tests/specs/setupchecksSpec.js
+++ b/core/js/tests/specs/setupchecksSpec.js
@@ -1,11 +1,7 @@
/**
- * Copyright (c) 2015 Lukas Reschke <lukas@owncloud.com>
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2015 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
describe('OC.SetupChecks tests', function() {
diff --git a/core/js/tests/specs/systemtags/systemtagsSpec.js b/core/js/tests/specs/systemtags/systemtagsSpec.js
index 376a25c7d83..52fe954f454 100644
--- a/core/js/tests/specs/systemtags/systemtagsSpec.js
+++ b/core/js/tests/specs/systemtags/systemtagsSpec.js
@@ -1,23 +1,8 @@
/**
-* ownCloud
-*
-* @author Joas Schilling
-* @copyright 2016 Joas Schilling <nickvergessen@owncloud.com>
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
+ * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
describe('OC.SystemTags tests', function() {
it('describes non existing tag', function() {
diff --git a/core/js/tests/specs/systemtags/systemtagscollectionSpec.js b/core/js/tests/specs/systemtags/systemtagscollectionSpec.js
index 6f2d8361754..f2a3bd067a5 100644
--- a/core/js/tests/specs/systemtags/systemtagscollectionSpec.js
+++ b/core/js/tests/specs/systemtags/systemtagscollectionSpec.js
@@ -1,23 +1,7 @@
/**
-* ownCloud
-*
-* @author Vincent Petry
-* @copyright 2016 Vincent Petry <pvince81@owncloud.com>
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
+ * SPDX-FileCopyrightText: 2016 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
describe('OC.SystemTags.SystemTagsCollection tests', function() {
var collection;
diff --git a/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js b/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js
index b69054e647e..988bcfc8c24 100644
--- a/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js
+++ b/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js
@@ -1,23 +1,8 @@
/**
-* ownCloud
-*
-* @author Vincent Petry
-* @copyright 2016 Vincent Petry <pvince81@owncloud.com>
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
describe('OC.SystemTags.SystemTagsInputField tests', function() {
var view, select2Stub, clock;
diff --git a/core/js/update.js b/core/js/update.js
index 2132dc9c578..419ab65449f 100644
--- a/core/js/update.js
+++ b/core/js/update.js
@@ -1,11 +1,7 @@
-/*
- * Copyright (c) 2014
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
+/**
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2014 ownCloud Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
(function() {