(t *testing.T)
| 29 | ) |
| 30 | |
| 31 | func 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 |
nothing calls this directly
no test coverage detected