|
1 | 1 | import { assert } from "deno/testing/asserts.ts" |
2 | 2 | import { createTestHarness } from "./testUtils.ts" |
3 | 3 | import SemVer from "../../src/utils/semver.ts" |
| 4 | +import Path from "path" |
4 | 5 |
|
5 | 6 | Deno.test("update package", { sanitizeResources: false, sanitizeOps: false }, async () => { |
6 | 7 | const {run, TEA_PREFIX } = await createTestHarness() |
7 | 8 |
|
8 | | - await run(["+sqlite.org=3.39.4"]) |
9 | | - |
| 9 | + await run(["+sqlite.org=3.39.4"]) |
| 10 | + |
10 | 11 | const expected = TEA_PREFIX.join("sqlite.org").join("v3.39.4") |
11 | 12 | assert(expected.exists(), "sqlite.org should exist") |
12 | 13 |
|
13 | | - await run(["-S", "+sqlite.org"]) |
14 | | - |
| 14 | + await run(["-S", "+sqlite.org"]) |
| 15 | + |
15 | 16 | const newVersionLink = TEA_PREFIX.join("sqlite.org").join("v*") |
16 | 17 | assert(newVersionLink.isSymlink()) |
17 | 18 | const newVersion = newVersionLink.readlink().basename() |
18 | 19 |
|
19 | 20 | assert(new SemVer(newVersion).gt(new SemVer("3.39.4"))) |
20 | 21 | }) |
21 | 22 |
|
22 | | -Deno.test("sync without git on path", { sanitizeResources: false, sanitizeOps: false }, async () => { |
| 23 | +Deno.test("sync and update without git on path", { sanitizeResources: false, sanitizeOps: false }, async () => { |
23 | 24 | const {run, TEA_PREFIX } = await createTestHarness({sync: false}) |
24 | 25 |
|
25 | 26 | // empty path so tea can't find git |
26 | | - await run(["-S", "+zlib.net"], { env: { PATH: "" }}) |
27 | | - |
| 27 | + await run(["-S", "+zlib.net"], { env: { PATH: "" }}) |
| 28 | + |
28 | 29 | const expected = TEA_PREFIX.join("zlib.net") |
29 | 30 | assert(expected.exists(), "zlib.net should exist") |
30 | 31 |
|
31 | | - // update shouldn't go through |
32 | | - // FIXME: test for dispaying the proper warning |
33 | | - await run(["-S", "+zlib.net"], { env: { PATH: "" }}) |
| 32 | + // allows us to verify that the subsequent update works |
| 33 | + TEA_PREFIX.join("tea.xyz/var/pantry/projects/zlib.net").rm({ recursive: true }) |
| 34 | + |
| 35 | + await run(["-S", "+zlib.net"], { env: { PATH: "" }}) |
| 36 | +}) |
| 37 | + |
| 38 | +Deno.test("sync without git then update with git", { sanitizeResources: false, sanitizeOps: false }, async () => { |
| 39 | + const {run, TEA_PREFIX } = await createTestHarness({sync: false}) |
| 40 | + |
| 41 | + // empty path so tea can't find git |
| 42 | + await run(["-S", "+zlib.net"], { env: { PATH: "" }}) |
| 43 | + |
| 44 | + const expected = TEA_PREFIX.join("zlib.net") |
| 45 | + assert(expected.exists(), "zlib.net should exist") |
| 46 | + |
| 47 | + // allows us to verify that the subsequent update works |
| 48 | + TEA_PREFIX.join("tea.xyz/var/pantry/projects/zlib.net").rm({ recursive: true }) |
| 49 | + |
| 50 | + await run(["-S", "+zlib.net"]) |
| 51 | +}) |
| 52 | + |
| 53 | +Deno.test("sync with git then update without", { sanitizeResources: false, sanitizeOps: false }, async () => { |
| 54 | + const {run, TEA_PREFIX } = await createTestHarness({sync: false}) |
| 55 | + |
| 56 | + await run(["-S", "+zlib.net"]) |
| 57 | + |
| 58 | + const expected = TEA_PREFIX.join("zlib.net") |
| 59 | + assert(expected.exists(), "zlib.net should exist") |
| 60 | + |
| 61 | + // allows us to verify that the subsequent update works |
| 62 | + TEA_PREFIX.join("tea.xyz/var/pantry/projects/zlib.net").rm({ recursive: true }) |
| 63 | + |
| 64 | + await run(["-S", "+zlib.net"], { env: { PATH: "" }}) |
34 | 65 | }) |
0 commit comments