/*! * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ import type { User } from '@nextcloud/cypress' import { join } from 'path' import { getRowForFileId } from './FilesUtils.ts' /** * Check that the sidebar is opened for a specific file * @param name The name of the file */ function sidebarIsOpen(name: string): void { cy.get('[data-cy-sidebar]') .should('be.visible') .findByRole('heading', { name }) .should('be.visible') } /** * Skip a test without viewer installed */ function skipIfViewerDisabled(this: Mocha.Context): void { cy.runOccCommand('app:list --enabled --output json') .then((exec) => exec.stdout) .then((output) => JSON.parse(output)) .then((obj) => 'viewer' in obj.enabled) .then((enabled) => { if (!enabled) { this.skip() } }) } /** * Check a file was not downloaded * @param filename The expected filename */ function fileNotDownloaded(filename: string): void { const downloadsFolder = Cypress.config('downloadsFolder') cy.readFile(join(downloadsFolder, filename)).should('not.exist') } describe('Check router query flags:', function() { let user: User let imageId: number let archiveId: number let folderId: number before(() => { cy.createRandomUser().then(($user) => { user = $user cy.uploadFile(user, 'image.jpg') .then((response) => { imageId = Number.parseInt(response.headers['oc-fileid']) }) cy.mkdir(user, '/folder') .then((response) => { folderId = Number.parseInt(response.headers['oc-fileid']) }) cy.uploadContent(user, new Blob([]), 'application/zstd', '/archive.zst') .then((response) => { archiveId = Number.parseInt(response.headers['oc-fileid']) }) cy.login(user) }) }) describe('"opendetails"', () => { it('open details for known file type', () => { cy.visit(`/apps/files/files/${imageId}?opendetails`) // see sidebar sidebarIsOpen('image.jpg') // but no viewer cy.findByRole('dialog', { name: 'image.jpg' }) .should('not.exist') // and no download fileNotDownloaded('image.jpg') }) it('open details for unknown file type', () => { cy.visit(`/apps/files/files/${archiveId}?opendetails`) // see sidebar sidebarIsOpen('archive.zst') // but no viewer cy.findByRole('dialog', { name: 'archive.zst' }) .should('not.exist') // and no download fileNotDownloaded('archive.zst') }) it('open details for folder', () => { cy.visit(`/apps/files/files/${folderId}?opendetails`) // see sidebar sidebarIsOpen('folder') // but no viewer cy.findByRole('dialog', { name: 'folder' }) .should('not.exist') // and no download fileNotDownloaded('folder') }) }) describe('"openfile"', function() { /** Check the viewer is open and shows the image */ function viewerShowsImage(): void { cy.findByRole('dialog', { name: 'image.jpg' }) .should('be.visible') .find(`img[src*="fileId=${imageId}"]`) .should('be.visible') } it('opens files with default action', function() { skipIfViewerDisabled.call(this) cy.visit(`/apps/files/files/${imageId}?openfile`) viewerShowsImage() }) it('opens files with default action using explicit query state', function() { skipIfViewerDisabled.call(this) cy.visit(`/apps/files/files/${imageId}?openfile=true`) viewerShowsImage() }) it('does not open files with default action when using explicitly query value `false`', function() { skipIfViewerDisabled.call(this) cy.visit(`/apps/files/files/${imageId}?openfile=false`) getRowForFileId(imageId) .should('be.visible') .and('have.class', 'files-list__row--active') cy.findByRole('dialog', { name: 'image.jpg' }) .should('not.exist') }) it('does not open folders but shows details', () => { cy.visit(`/apps/files/files/${folderId}?openfile`) // See the URL was replaced cy.url() .should('match', /[?&]opendetails(&|=|$)/) .and('not.match', /openfile/) // See the sidebar is correctly opened cy.get('[data-cy-sidebar]') .should('be.visible') .findByRole('heading', { name: 'folder' }) .should('be.visible') // see the folder was not changed getRowForFileId(imageId).should('exist') }) it('does not open unknown file types but shows details', () => { cy.visit(`/apps/files/files/${archiveId}?openfile`) // See the URL was replaced cy.url() .should('match', /[?&]opendetails(&|=|$)/) .and('not.match', /openfile/) // See the sidebar is correctly opened cy.get('[data-cy-sidebar]') .should('be.visible') .findByRole('heading', { name: 'archive.zst' }) .should('be.visible') // See no file was downloaded const downloadsFolder = Cypress.config('downloadsFolder') cy.readFile(join(downloadsFolder, 'archive.zst')).should('not.exist') }) }) }) /tree/ui?h=dependabot/github_actions/github-actions-384b59e5c3&id=dff0dc0d6af9834f03902fe260b51a15de3ab498'>ui/i18n/datepicker-sq.js
blob: 34fe66a59cdd425109d76ccb4e5f24c2ae27cda2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* Albanian initialisation for the jQuery UI date picker plugin. */
/* Written by Flakron Bytyqi (flakron@gmail.com). */
( function( factory ) {
	if ( typeof define === "function" && define.amd ) {

		// AMD. Register as an anonymous module.
		define( [ "../widgets/datepicker" ], factory );
	} else {

		// Browser globals
		factory( jQuery.datepicker );
	}
}( function( datepicker ) {

datepicker.regional.sq = {
	closeText: "mbylle",
	prevText: "<mbrapa",
	nextText: "Përpara>",
	currentText: "sot",
	monthNames: [ "Janar","Shkurt","Mars","Prill","Maj","Qershor",
	"Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor" ],
	monthNamesShort: [ "Jan","Shk","Mar","Pri","Maj","Qer",
	"Kor","Gus","Sht","Tet","Nën","Dhj" ],
	dayNames: [ "E Diel","E Hënë","E Martë","E Mërkurë","E Enjte","E Premte","E Shtune" ],
	dayNamesShort: [ "Di","Hë","Ma","Më","En","Pr","Sh" ],
	dayNamesMin: [ "Di","Hë","Ma","Më","En","Pr","Sh" ],
	weekHeader: "Ja",
	dateFormat: "dd.mm.yy",
	firstDay: 1,
	isRTL: false,
	showMonthAfterYear: false,
	yearSuffix: "" };
datepicker.setDefaults( datepicker.regional.sq );

return datepicker.regional.sq;

} ) );