import { expect, test } from 'bun:test'; import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs'; import { tmpdir } from 'node:os'; import { join, resolve } from 'node:path'; import { pickGradle } from '../cli/lib/gradle'; test('an absolute play.build.dir / --dir stays absolute (it lost its leading slash under the root)', () => { const base = mkdtempSync(join(tmpdir(), 'gdir-')); try { const root = join(base, 'store'), android = join(base, 'other', 'apps', 'native', 'android'); mkdirSync(root, { recursive: true }); mkdirSync(join(android, 'app'), { recursive: true }); writeFileSync(join(android, 'settings.gradle'), "include ':app'\n"); expect(resolve(pickGradle(root, { dir: android }).dir)).toBe(resolve(android)); expect(resolve(pickGradle(root, { dir: '../other/apps/native/android' }).dir)).toBe(resolve(android)); } finally { rmSync(base, { recursive: true, force: true }); } });