(t *testing.T)
| 22 | ) |
| 23 | |
| 24 | func TestTomb(t *testing.T) { |
| 25 | tomb := NewTomb() |
| 26 | workflow := []string{} |
| 27 | expected := []string{"stop", "stopping", "stopped"} |
| 28 | go func() { |
| 29 | defer tomb.Done() |
| 30 | <-tomb.Stopping() |
| 31 | workflow = append(workflow, "stopping") |
| 32 | }() |
| 33 | workflow = append(workflow, "stop") |
| 34 | tomb.Stop() |
| 35 | workflow = append(workflow, "stopped") |
| 36 | if !reflect.DeepEqual(workflow, expected) { |
| 37 | t.Errorf("expected workflow %v, got %v", expected, workflow) |
| 38 | } |
| 39 | } |