Monorepo for Tangled
tangled.org
1package sandbox
2
3import (
4 "os/exec"
5 "testing"
6)
7
8func TestNoopBackend_Wrap(t *testing.T) {
9 sb := &NoopBackend{}
10 cmd := exec.Command("git", "status")
11
12 wrapped, err := sb.Wrap("/some/repo", cmd)
13 if err != nil {
14 t.Fatalf("Wrap: %v", err)
15 }
16 if wrapped != cmd {
17 t.Error("Wrap should return the same cmd, not a new one")
18 }
19 if wrapped.Dir != "/some/repo" {
20 t.Errorf("Dir = %q, want %q", wrapped.Dir, "/some/repo")
21 }
22}
23
24func TestNoopBackend_WrapMulti(t *testing.T) {
25 sb := &NoopBackend{}
26 cmd := exec.Command("git", "merge")
27
28 wrapped, err := sb.WrapMulti([]string{"/a", "/b"}, cmd)
29 if err != nil {
30 t.Fatalf("WrapMulti: %v", err)
31 }
32 if wrapped.Dir != "/a" {
33 t.Errorf("Dir = %q, want %q (first path)", wrapped.Dir, "/a")
34 }
35}
36
37func TestNoopBackend_WrapMulti_Empty(t *testing.T) {
38 sb := &NoopBackend{}
39 cmd := exec.Command("git", "status")
40 cmd.Dir = "/preserved"
41
42 wrapped, err := sb.WrapMulti(nil, cmd)
43 if err != nil {
44 t.Fatalf("WrapMulti: %v", err)
45 }
46 if wrapped.Dir != "/preserved" {
47 t.Errorf("empty paths should not overwrite cmd.Dir; got %q", wrapped.Dir)
48 }
49}
50
51func TestNoopBackend_Name(t *testing.T) {
52 if (&NoopBackend{}).Name() != "noop" {
53 t.Error("Name should return \"noop\"")
54 }
55}