Some checks failed
Audit / audit-js (push) Failing after 0s
bench / bench (map[os:ubuntu-latest runner:xvfb-run --auto-servernum target:x86_64-unknown-linux-gnu], nightly) (push) Failing after 0s
covector version or publish / run-integration-tests (ubuntu-latest) (push) Failing after 0s
Audit / audit-rust (push) Failing after 0s
test `@tauri-apps/cli` / test (ubuntu-latest) (push) Failing after 0s
test `tauri-cli` / test (map[os:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Failing after 0s
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:ubuntu-latest target:x86_64-unknown-linux-gnu toolchain:1.90]) (push) Failing after 0s
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:ubuntu-latest target:x86_64-unknown-linux-gnu toolchain:1.90]) (push) Failing after 0s
test core / test (map[args:--no-default-features key:no-default], map[cargo:cross command:build os:ubuntu-latest target:aarch64-linux-android toolchain:1.90]) (push) Failing after 0s
deploy schema worker / deploy (push) Failing after 0s
lint rust / clippy (map[cargo:cargo include: os:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Failing after 0s
lint rust / clippy (map[cargo:cross include:--package api os:ubuntu-latest target:aarch64-linux-android]) (push) Failing after 0s
supply chain health status / check rust dependencies with cargo vet (push) Failing after 0s
test `@tauri-apps/api` e2e (mobile) / android (push) Failing after 0s
test `@tauri-apps/api` e2e / test (map[name:Linux os:ubuntu-latest]) (push) Failing after 0s
test core / test (map[args:--all-features key:all], map[cargo:cross command:build os:ubuntu-latest target:aarch64-linux-android toolchain:1.90]) (push) Failing after 0s
Udeps / changes (push) Failing after 0s
Udeps / setup (push) Has been skipped
Udeps / udeps (push) Has been skipped
bench / bench (map[os:macos-latest runner: target:aarch64-apple-darwin], nightly) (push) Has been cancelled
bench / bench (map[os:windows-latest runner: target:x86_64-pc-windows-msvc], nightly) (push) Has been cancelled
covector version or publish / run-integration-tests (macos-latest) (push) Has been cancelled
covector version or publish / run-integration-tests (windows-latest) (push) Has been cancelled
covector version or publish / version-or-publish (push) Has been cancelled
test `@tauri-apps/cli` / test (macos-latest) (push) Has been cancelled
test `tauri-cli` / test (map[args:--no-default-features --features native-tls-vendored os:windows-latest restore-only:true target:aarch64-pc-windows-msvc]) (push) Has been cancelled
test `tauri-cli` / test (map[os:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
test `tauri-cli` / test (map[os:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:build os:macos-latest target:aarch64-apple-ios toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:macos-14 target:aarch64-apple-darwin toolchain:1.90]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include: os:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include: os:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include:--package api os:macos-latest target:aarch64-apple-ios]) (push) Has been cancelled
test `@tauri-apps/api` e2e (mobile) / ios (push) Has been cancelled
test `@tauri-apps/api` e2e / test (map[name:Windows os:windows-latest]) (push) Has been cancelled
test `@tauri-apps/api` e2e / test (map[name:macOS os:macos-latest]) (push) Has been cancelled
test `@tauri-apps/cli` / test (windows-latest) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:windows-latest target:x86_64-pc-windows-msvc toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:build os:macos-latest target:aarch64-apple-ios toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:macos-14 target:aarch64-apple-darwin toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:windows-latest target:x86_64-pc-windows-msvc toolchain:1.90]) (push) Has been cancelled
63 lines
2.4 KiB
TypeScript
63 lines
2.4 KiB
TypeScript
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
import nodePath from 'node:path'
|
|
import { expect } from '@wdio/globals'
|
|
import { tauri, describeApi, platform } from '../helpers/index.js'
|
|
|
|
// Node's path module for the platform the *app* runs on. That is the host for
|
|
// the desktop suite, but the mobile suites drive an Android/iOS app (POSIX
|
|
// paths) from whatever OS hosts the emulator/simulator.
|
|
const path = platform === 'win32' ? nodePath.win32 : nodePath.posix
|
|
|
|
describeApi('path', () => {
|
|
it('sep and delimiter match the target platform', async () => {
|
|
const separators = await tauri((api) => ({
|
|
sep: api.path.sep(),
|
|
delimiter: api.path.delimiter()
|
|
}))
|
|
expect(separators.sep).toBe(path.sep)
|
|
expect(separators.delimiter).toBe(path.delimiter)
|
|
})
|
|
|
|
it('join, dirname, basename and extname behave like the platform', async () => {
|
|
const result = await tauri(async (api) => ({
|
|
joined: await api.path.join('a', 'b', 'c.txt'),
|
|
dir: await api.path.dirname(await api.path.join('a', 'b', 'c.txt')),
|
|
base: await api.path.basename(await api.path.join('a', 'b', 'c.txt')),
|
|
ext: await api.path.extname(await api.path.join('a', 'b', 'c.txt'))
|
|
}))
|
|
expect(result.joined).toBe(path.join('a', 'b', 'c.txt'))
|
|
expect(result.base).toBe('c.txt')
|
|
expect(result.ext).toBe('txt')
|
|
expect(result.dir.endsWith(path.join('a', 'b'))).toBe(true)
|
|
})
|
|
|
|
it('normalize and isAbsolute work', async () => {
|
|
const result = await tauri(async (api) => ({
|
|
normalized: await api.path.normalize('a/b/../c'),
|
|
absoluteIsAbsolute: await api.path.isAbsolute(
|
|
await api.path.resolve('x')
|
|
),
|
|
relativeIsAbsolute: await api.path.isAbsolute('a/b')
|
|
}))
|
|
expect(result.normalized).toContain('c')
|
|
expect(result.absoluteIsAbsolute).toBe(true)
|
|
expect(result.relativeIsAbsolute).toBe(false)
|
|
})
|
|
|
|
it('app directories are absolute and scoped to the identifier', async () => {
|
|
const dirs = await tauri(async (api) => ({
|
|
appData: await api.path.appDataDir(),
|
|
appConfig: await api.path.appConfigDir(),
|
|
home: await api.path.homeDir(),
|
|
temp: await api.path.tempDir()
|
|
}))
|
|
expect(dirs.appData).toContain('com.tauri.api')
|
|
expect(dirs.appConfig.length).toBeGreaterThan(0)
|
|
expect(dirs.home.length).toBeGreaterThan(0)
|
|
expect(dirs.temp.length).toBeGreaterThan(0)
|
|
})
|
|
})
|