|
| 1 | +package treewriter |
| 2 | + |
| 3 | +import ( |
| 4 | + "testing" |
| 5 | +) |
| 6 | + |
| 7 | +func TestTree(t *testing.T) { |
| 8 | + var rows [][]string |
| 9 | + rows = append(rows, [][]string{ |
| 10 | + {"", "alpine:latest", "beefdbd8a1da", "13.6MB", "4.09MB"}, |
| 11 | + {"├─", "linux/amd64", "33735bd63cf8", "0B", "0B"}, |
| 12 | + {"├─", "linux/arm/v6", "50f635c8b04d", "0B", "0B"}, |
| 13 | + {"├─", "linux/arm/v7", "f2f82d424957", "0B", "0B"}, |
| 14 | + {"├─", "linux/arm64/v8", "9cee2b382fe2", "13.6MB", "4.09MB"}, |
| 15 | + {"├─", "linux/386", "b3e87f642f5c", "0B", "0B"}, |
| 16 | + {"├─", "linux/ppc64le", "c7a6800e3dc5", "0B", "0B"}, |
| 17 | + {"├─", "linux/riscv64", "80cde017a105", "0B", "0B"}, |
| 18 | + {"└─", "linux/s390x", "2b5b26e09ca2", "0B", "0B"}, |
| 19 | + |
| 20 | + {"", "namespace/image", "beefdbd8a1da", "13.6MB", "4.09MB"}, |
| 21 | + {"├─", "namespace/image:1", "beefdbd8a1da", "-", "-"}, |
| 22 | + {"├─", "namespace/image:1.0", "beefdbd8a1da", "-", "-"}, |
| 23 | + {"├─", "namespace/image:1.0.0", "beefdbd8a1da", "-", "-"}, |
| 24 | + {"└─", "namespace/image:latest", "beefdbd8a1da", "-", "-"}, |
| 25 | + {" ├─", "linux/amd64", "33735bd63cf8", "0B", "0B"}, |
| 26 | + {" ├─", "linux/arm/v6", "50f635c8b04d", "0B", "0B"}, |
| 27 | + {" ├─", "linux/arm/v7", "f2f82d424957", "0B", "0B"}, |
| 28 | + {" ├─", "linux/arm64/v8", "9cee2b382fe2", "13.6MB", "4.09MB"}, |
| 29 | + {" ├─", "linux/386", "b3e87f642f5c", "0B", "0B"}, |
| 30 | + {" ├─", "linux/ppc64le", "c7a6800e3dc5", "0B", "0B"}, |
| 31 | + {" ├─", "linux/riscv64", "80cde017a105", "0B", "0B"}, |
| 32 | + {" └─", "linux/s390x", "2b5b26e09ca2", "0B", "0B"}, |
| 33 | + |
| 34 | + {"", "internal.example.com/namespace/image", "beefdbd8a1da", "13.6MB", "4.09MB"}, |
| 35 | + {"├─", "internal.example.com/namespace/image:1", "beefdbd8a1da", "-", "-"}, |
| 36 | + {"├─", "internal.example.com/namespace/image:1.0", "beefdbd8a1da", "-", "-"}, |
| 37 | + {"├─", "internal.example.com/namespace/image:1.0.0", "beefdbd8a1da", "-", "-"}, |
| 38 | + {"└─", "internal.example.com/namespace/image:latest", "beefdbd8a1da", "-", "-"}, |
| 39 | + {" ├─", "linux/amd64", "33735bd63cf8", "0B", "0B"}, |
| 40 | + {" ├─", "linux/arm/v6", "50f635c8b04d", "0B", "0B"}, |
| 41 | + {" ├─", "linux/arm/v7", "f2f82d424957", "0B", "0B"}, |
| 42 | + {" ├─", "linux/arm64/v8", "9cee2b382fe2", "13.6MB", "4.09MB"}, |
| 43 | + {" ├─", "linux/386", "b3e87f642f5c", "0B", "0B"}, |
| 44 | + {" ├─", "linux/ppc64le", "c7a6800e3dc5", "0B", "0B"}, |
| 45 | + {" ├─", "linux/riscv64", "80cde017a105", "0B", "0B"}, |
| 46 | + {" └─", "linux/s390x", "2b5b26e09ca2", "0B", "0B"}, |
| 47 | + }...) |
| 48 | + |
| 49 | + header := []string{"IMAGE/TAGS", "ID", "DISK USAGE", "CONTENT SIZE", "USED"} |
| 50 | + PrintTree(header, rows) |
| 51 | +} |
| 52 | + |
| 53 | +func TestTreeNoTrunc(t *testing.T) { |
| 54 | + var rows [][]string |
| 55 | + rows = append(rows, [][]string{ |
| 56 | + {"", "alpine:latest", "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d", "13.6MB", "4.09MB"}, |
| 57 | + {"├─", "linux/amd64", "sha256:33735bd63cf84d7e388d9f6d297d348c523c044410f553bd878c6d7829612735", "0B", "0B"}, |
| 58 | + {"├─", "linux/arm/v6", "sha256:50f635c8b04d86dde8a02bcd8d667ba287eb8b318c1c0cf547e5a48ddadea1be", "0B", "0B"}, |
| 59 | + {"├─", "linux/arm/v7", "sha256:f2f82d42495723c4dc508fd6b0978a5d7fe4efcca4282e7aae5e00bcf4057086", "0B", "0B"}, |
| 60 | + {"├─", "linux/arm64/v8", "sha256:9cee2b382fe2412cd77d5d437d15a93da8de373813621f2e4d406e3df0cf0e7c", "13.6MB", "4.09MB"}, |
| 61 | + {"├─", "linux/386", "sha256:b3e87f642f5c48cdc7556c3e03a0d63916bd0055ba6edba7773df3cb1a76f224", "0B", "0B"}, |
| 62 | + {"├─", "linux/ppc64le", "sha256:c7a6800e3dc569a2d6e90627a2988f2a7339e6f111cdf6a0054ad1ff833e99b0", "0B", "0B"}, |
| 63 | + {"├─", "linux/riscv64", "sha256:80cde017a10529a18a7274f70c687bb07c4969980ddfb35a1b921fda3a020e5b", "0B", "0B"}, |
| 64 | + {"└─", "linux/s390x", "sha256:2b5b26e09ca2856f50ac88312348d26c1ac4b8af1df9f580e5cf465fd76e3d4d", "0B", "0B"}, |
| 65 | + |
| 66 | + {"", "namespace/image", "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d", "13.6MB", "4.09MB"}, |
| 67 | + {"├─", "namespace/image:1", "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d", "-", "-"}, |
| 68 | + {"├─", "namespace/image:1.0", "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d", "-", "-"}, |
| 69 | + {"├─", "namespace/image:1.0.0", "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d", "-", "-"}, |
| 70 | + {"└─", "namespace/image:latest", "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d", "-", "-"}, |
| 71 | + {" ├─", "linux/amd64", "sha256:33735bd63cf84d7e388d9f6d297d348c523c044410f553bd878c6d7829612735", "0B", "0B"}, |
| 72 | + {" ├─", "linux/arm/v6", "sha256:50f635c8b04d86dde8a02bcd8d667ba287eb8b318c1c0cf547e5a48ddadea1be", "0B", "0B"}, |
| 73 | + {" ├─", "linux/arm/v7", "sha256:f2f82d42495723c4dc508fd6b0978a5d7fe4efcca4282e7aae5e00bcf4057086", "0B", "0B"}, |
| 74 | + {" ├─", "linux/arm64/v8", "sha256:9cee2b382fe2412cd77d5d437d15a93da8de373813621f2e4d406e3df0cf0e7c", "13.6MB", "4.09MB"}, |
| 75 | + {" ├─", "linux/386", "sha256:b3e87f642f5c48cdc7556c3e03a0d63916bd0055ba6edba7773df3cb1a76f224", "0B", "0B"}, |
| 76 | + {" ├─", "linux/ppc64le", "sha256:c7a6800e3dc569a2d6e90627a2988f2a7339e6f111cdf6a0054ad1ff833e99b0", "0B", "0B"}, |
| 77 | + {" ├─", "linux/riscv64", "sha256:80cde017a10529a18a7274f70c687bb07c4969980ddfb35a1b921fda3a020e5b", "0B", "0B"}, |
| 78 | + {" └─", "linux/s390x", "sha256:2b5b26e09ca2856f50ac88312348d26c1ac4b8af1df9f580e5cf465fd76e3d4d", "0B", "0B"}, |
| 79 | + |
| 80 | + {"", "internal.example.com/namespace/image", "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d", "13.6MB", "4.09MB"}, |
| 81 | + {"├─", "internal.example.com/namespace/image:1", "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d", "-", "-"}, |
| 82 | + {"├─", "internal.example.com/namespace/image:1.0", "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d", "-", "-"}, |
| 83 | + {"├─", "internal.example.com/namespace/image:1.0.0", "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d", "-", "-"}, |
| 84 | + {"└─", "internal.example.com/namespace/image:latest", "sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d", "-", "-"}, |
| 85 | + {" ├─", "linux/amd64", "sha256:33735bd63cf84d7e388d9f6d297d348c523c044410f553bd878c6d7829612735", "0B", "0B"}, |
| 86 | + {" ├─", "linux/arm/v6", "sha256:50f635c8b04d86dde8a02bcd8d667ba287eb8b318c1c0cf547e5a48ddadea1be", "0B", "0B"}, |
| 87 | + {" ├─", "linux/arm/v7", "sha256:f2f82d42495723c4dc508fd6b0978a5d7fe4efcca4282e7aae5e00bcf4057086", "0B", "0B"}, |
| 88 | + {" ├─", "linux/arm64/v8", "sha256:9cee2b382fe2412cd77d5d437d15a93da8de373813621f2e4d406e3df0cf0e7c", "13.6MB", "4.09MB"}, |
| 89 | + {" ├─", "linux/386", "sha256:b3e87f642f5c48cdc7556c3e03a0d63916bd0055ba6edba7773df3cb1a76f224", "0B", "0B"}, |
| 90 | + {" ├─", "linux/ppc64le", "sha256:c7a6800e3dc569a2d6e90627a2988f2a7339e6f111cdf6a0054ad1ff833e99b0", "0B", "0B"}, |
| 91 | + {" ├─", "linux/riscv64", "sha256:80cde017a10529a18a7274f70c687bb07c4969980ddfb35a1b921fda3a020e5b", "0B", "0B"}, |
| 92 | + {" └─", "linux/s390x", "sha256:2b5b26e09ca2856f50ac88312348d26c1ac4b8af1df9f580e5cf465fd76e3d4d", "0B", "0B"}, |
| 93 | + }...) |
| 94 | + |
| 95 | + header := []string{"IMAGE/TAGS", "ID", "DISK USAGE", "CONTENT SIZE", "USED"} |
| 96 | + PrintTree(header, rows) |
| 97 | +} |
0 commit comments