MCPcopy
hub / github.com/livebud/bud / TestDeleteGenerator

Function TestDeleteGenerator

framework/generator/generator_test.go:252–300  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

250}
251
252func TestDeleteGenerator(t *testing.T) {
253 is := is.New(t)
254 ctx := context.Background()
255 dir := t.TempDir()
256 td := testdir.New(dir)
257 td.Files["generator/tailwind/tailwind.go"] = `
258 package tailwind
259 import (
260 "github.com/livebud/bud/package/genfs"
261 )
262 type Generator struct {}
263 func (g *Generator) Generate(fsys genfs.FS, dir *genfs.Dir) error {
264 dir.GenerateFile("tailwind.css", func(fsys genfs.FS, file *genfs.File) error {
265 file.Data = []byte("/** tailwind **/")
266 return nil
267 })
268 return nil
269 }
270 `
271 is.NoErr(td.Write(ctx))
272 cli := testcli.New(dir)
273 app, err := cli.Start(ctx, "run")
274 is.NoErr(err)
275 defer app.Close()
276 // Check for tailwind
277 data, err := os.ReadFile(td.Path("bud/internal/tailwind/tailwind.css"))
278 is.NoErr(err)
279 is.Equal(string(data), "/** tailwind **/")
280 // Update generator
281 generatorFile := filepath.Join(dir, "generator", "tailwind", "tailwind.go")
282 is.NoErr(os.WriteFile(generatorFile, []byte(dedent.Dedent(`
283 package tailwind
284 import (
285 "github.com/livebud/bud/package/genfs"
286 )
287 type Generator struct {}
288 func (g *Generator) Generate(fsys genfs.FS, dir *genfs.Dir) error {
289 return nil
290 }
291 `)), 0644))
292 // Wait for the app to be ready again
293 readyCtx, cancel := context.WithTimeout(ctx, 15*time.Second)
294 is.NoErr(app.Ready(readyCtx))
295 cancel()
296 // Check that tailwind has been updated
297 data, err = os.ReadFile(td.Path("bud/internal/tailwind/tailwind.css"))
298 is.True(os.IsNotExist(err))
299 is.Equal(data, nil)
300}
301
302func TestChangeGenerator(t *testing.T) {
303 is := is.New(t)

Callers

nothing calls this directly

Calls 12

NewFunction · 0.92
NewFunction · 0.92
NewFunction · 0.92
NoErrMethod · 0.80
EqualMethod · 0.80
ReadyMethod · 0.80
TrueMethod · 0.80
CloseMethod · 0.65
WriteFileMethod · 0.65
WriteMethod · 0.45
StartMethod · 0.45
PathMethod · 0.45

Tested by

no test coverage detected