(t *testing.T)
| 97 | } |
| 98 | |
| 99 | func TestAction_Import(t *testing.T) { |
| 100 | var stdout, stderr strings.Builder |
| 101 | s, err := NewSession(&stdout, &stderr) |
| 102 | t.Cleanup(func() { s.Clear() }) |
| 103 | require.NoError(t, err) |
| 104 | |
| 105 | err = s.Eval(":import encoding/json fmt") |
| 106 | require.NoError(t, err) |
| 107 | |
| 108 | err = s.Eval("fmt.Print") |
| 109 | require.NoError(t, err) |
| 110 | |
| 111 | err = s.Eval("json.Encoder{}") |
| 112 | require.NoError(t, err) |
| 113 | |
| 114 | assert.Contains(t, stdout.String(), "(func(...interface {}) (int, error))") |
| 115 | assert.Contains(t, stdout.String(), "json.Encoder") |
| 116 | assert.Equal(t, "", stderr.String()) |
| 117 | |
| 118 | err = s.Eval(":import invalid") |
| 119 | require.Error(t, err) |
| 120 | |
| 121 | err = s.Eval("fmt.Sprint") |
| 122 | require.NoError(t, err) |
| 123 | assert.Equal(t, "import: could not import \"invalid\"\n", stderr.String()) |
| 124 | } |
| 125 | |
| 126 | func TestAction_Clear(t *testing.T) { |
| 127 | var stdout, stderr strings.Builder |
nothing calls this directly
no test coverage detected