Files
modeling-app/src/lib/paths.test.ts
Jess Frazelle d168ef94e9 Sort imports (#6101)
* add package.json

Signed-off-by: Jess Frazelle <github@jessfraz.com>

initial run;

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

more fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

clientsidescne

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

paths

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

fix styles

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

combine

Signed-off-by: Jess Frazelle <github@jessfraz.com>

eslint rule

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

my ocd

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

constants file

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

no more import sceneInfra

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

try fix circular import

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
2025-04-02 06:54:26 +00:00

81 lines
2.3 KiB
TypeScript

import * as path from 'path'
import { parseProjectRoute } from '@src/lib/paths'
describe('testing parseProjectRoute', () => {
it('should parse a project as a subpath of project dir', async () => {
let config = {
settings: {
project: {
directory: '/home/somebody/projects',
},
},
}
const route = '/home/somebody/projects/project'
expect(await parseProjectRoute(config, route, path)).toEqual({
projectName: 'project',
projectPath: route,
currentFileName: null,
currentFilePath: null,
})
})
it('should parse a project as the project dir', async () => {
let config = {
settings: {
project: {
directory: '/home/somebody/projects',
},
},
}
const route = '/home/somebody/projects'
expect(await parseProjectRoute(config, route, path)).toEqual({
projectName: null,
projectPath: route,
currentFileName: null,
currentFilePath: null,
})
})
it('should parse a project with file in the project dir', async () => {
let config = {
settings: {
project: {
directory: '/home/somebody/projects',
},
},
}
const route = '/home/somebody/projects/assembly/main.kcl'
expect(await parseProjectRoute(config, route, path)).toEqual({
projectName: 'assembly',
projectPath: '/home/somebody/projects/assembly',
currentFileName: 'main.kcl',
currentFilePath: route,
})
})
it('should parse a project with file in a subdir in the project dir', async () => {
let config = {
settings: {
project: {
directory: '/home/somebody/projects',
},
},
}
const route = '/home/somebody/projects/assembly/subdir/main.kcl'
expect(await parseProjectRoute(config, route, path)).toEqual({
projectName: 'assembly',
projectPath: '/home/somebody/projects/assembly',
currentFileName: 'main.kcl',
currentFilePath: route,
})
})
it('should work in the browser context', async () => {
let config = {}
const route = '/browser/main.kcl'
expect(await parseProjectRoute(config, route, undefined)).toEqual({
projectName: 'browser',
projectPath: '/browser',
currentFileName: 'main.kcl',
currentFilePath: route,
})
})
})