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

Function TestServeFile

framework/view/dom/dom_test.go:31–92  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

29)
30
31func TestServeFile(t *testing.T) {
32 is := is.New(t)
33 log := testlog.New()
34 ctx := context.Background()
35 dir := t.TempDir()
36 vm, err := v8.Load()
37 is.NoErr(err)
38 svelteCompiler, err := svelte.Load(vm)
39 is.NoErr(err)
40 transformer, err := transformrt.Default(log, svelteCompiler)
41 is.NoErr(err)
42 td := testdir.New(dir)
43 td.Files["view/index.svelte"] = `<h1>index</h1>`
44 td.Files["view/about/index.svelte"] = `<h2>about</h2>`
45 td.NodeModules["svelte"] = versions.Svelte
46 is.NoErr(td.Write(ctx))
47 module, err := gomod.Find(dir)
48 is.NoErr(err)
49 gfs := genfs.New(dag.Discard, module, log)
50 gfs.FileServer("bud/view", dom.New(module, transformer))
51 // Read the wrapped version of index.svelte with node_modules rewritten
52 code, err := fs.ReadFile(gfs, "bud/view/_index.svelte.js")
53 is.NoErr(err)
54 is.True(strings.Contains(string(code), `from "/bud/node_modules/svelte/internal"`))
55 is.True(strings.Contains(string(code), `element("h1");`))
56 is.True(strings.Contains(string(code), `text("index")`))
57 is.True(strings.Contains(string(code), `"/bud/view/index.svelte": view_default`))
58 is.True(strings.Contains(string(code), `page: "/bud/view/index.svelte",`))
59 is.True(strings.Contains(string(code), `hot: new Hot("http://127.0.0.1:35729/bud/hot/view/index.svelte", components)`))
60
61 // Unwrapped version with node_modules rewritten
62 code, err = fs.ReadFile(gfs, "bud/view/index.svelte")
63 is.NoErr(err)
64 is.True(strings.Contains(string(code), `from "/bud/node_modules/svelte/internal"`))
65 is.True(strings.Contains(string(code), `element("h1");`))
66 is.True(strings.Contains(string(code), `text("index")`))
67 // Unwrapped version doesn't contain wrapping
68 is.True(!strings.Contains(string(code), `"/bud/view/index.svelte": view_default`))
69 is.True(!strings.Contains(string(code), `page: "/bud/view/index.svelte",`))
70 is.True(!strings.Contains(string(code), `hot: new Hot("http://127.0.0.1:35729/bud/hot/view/index.svelte", components)`))
71
72 // Read the wrapped version of about/index.svelte with node_modules rewritten
73 code, err = fs.ReadFile(gfs, "bud/view/about/_index.svelte.js")
74 is.NoErr(err)
75 is.True(strings.Contains(string(code), `from "/bud/node_modules/svelte/internal"`))
76 is.True(strings.Contains(string(code), `element("h2");`))
77 is.True(strings.Contains(string(code), `text("about")`))
78 is.True(strings.Contains(string(code), `"/bud/view/about/index.svelte": about_default`))
79 is.True(strings.Contains(string(code), `page: "/bud/view/about/index.svelte",`))
80 is.True(strings.Contains(string(code), `hot: new Hot("http://127.0.0.1:35729/bud/hot/view/about/index.svelte", components)`))
81
82 // Unwrapped version with node_modules rewritten
83 code, err = fs.ReadFile(gfs, "bud/view/about/index.svelte")
84 is.NoErr(err)
85 is.True(strings.Contains(string(code), `from "/bud/node_modules/svelte/internal"`))
86 is.True(strings.Contains(string(code), `element("h2");`))
87 is.True(strings.Contains(string(code), `text("about")`))
88 // Unwrapped version doesn't contain wrapping

Callers

nothing calls this directly

Calls 13

NewFunction · 0.92
NewFunction · 0.92
LoadFunction · 0.92
LoadFunction · 0.92
DefaultFunction · 0.92
NewFunction · 0.92
FindFunction · 0.92
NewFunction · 0.92
NewFunction · 0.92
NoErrMethod · 0.80
TrueMethod · 0.80
FileServerMethod · 0.65

Tested by

no test coverage detected