Skip to content

Commit

Permalink
Merge pull request #565 from nextcloud-libraries/fix/cleanup
Browse files Browse the repository at this point in the history
Clean up code (drop unreachable code) and minor modernization
  • Loading branch information
susnux authored Jan 29, 2024
2 parents c0fe31f + e0becaf commit 47c71c1
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 16 deletions.
14 changes: 14 additions & 0 deletions __tests__/paths.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,20 @@ describe('Path generation', () => {
beforeEach(() => {
window._oc_webroot = ''
window._oc_appswebroots = { forms: '/apps-extra/forms' }

window.OC = {
coreApps: ['', 'admin', 'log', 'core/search', 'core', '3rdparty'],
}
})

test('missing core apps global variable', () => {
delete window.OC.coreApps
expect(generateFilePath('forms', '', 'file.js')).toBe('/apps-extra/forms/file.js')
})

test('missing OC global variable (unit tests)', () => {
delete window.OC
expect(generateFilePath('forms', '', 'file.js')).toBe('/apps-extra/forms/file.js')
})

test('non core PHP index file', () => {
Expand Down
27 changes: 11 additions & 16 deletions lib/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,42 +162,37 @@ export const imagePath = (app: string, file: string) => {
* @return {string} URL with webroot for a file in an app
*/
export const generateFilePath = (app: string, type: string, file: string) => {
const isCore = window?.OC?.coreApps?.indexOf(app) !== -1
const isCore = window?.OC?.coreApps?.includes(app) ?? false
const isPHP = file.slice(-3) === 'php'
let link = getRootUrl()
if (file.substring(file.length - 3) === 'php' && !isCore) {
if (isPHP && !isCore) {
link += `/index.php/apps/${app}`
if (type) {
link += `/${encodeURI(type)}`
}
if (file !== 'index.php') {
link += `/${file}`
}
} else if (file.substring(file.length - 3) !== 'php' && !isCore) {
} else if (!isPHP && !isCore) {
link = getAppRootUrl(app)
if (type) {
link += '/' + type + '/'
link += `/${type}/`
}
if (link.substring(link.length - 1) !== '/') {
if (link.at(-1) !== '/') {
link += '/'
}
link += file
} else {
if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {
link += '/index.php/'
} else {
link += '/'
link += '/index.php'
}
if (!isCore) {
link += 'apps/'
}
if (app !== '') {
app += '/'
link += app
if (app) {
link += `/${app}`
}
if (type) {
link += type + '/'
link += `/${type}`
}
link += file
link += `/${file}`
}
return link
}
Expand Down

0 comments on commit 47c71c1

Please sign in to comment.