(t *testing.T)
| 175 | } |
| 176 | |
| 177 | func TestUpdateFile(t *testing.T) { |
| 178 | is := is.New(t) |
| 179 | log := testlog.New() |
| 180 | ctx := context.Background() |
| 181 | dir := t.TempDir() |
| 182 | vm, err := v8.Load() |
| 183 | is.NoErr(err) |
| 184 | svelteCompiler, err := svelte.Load(vm) |
| 185 | is.NoErr(err) |
| 186 | transformer, err := transformrt.Default(log, svelteCompiler) |
| 187 | is.NoErr(err) |
| 188 | td := testdir.New(dir) |
| 189 | td.NodeModules["svelte"] = versions.Svelte |
| 190 | td.Files["view/Story.svelte"] = `<h2>Story</h2>` |
| 191 | td.Files["view/index.svelte"] = ` |
| 192 | <script> |
| 193 | import Story from "./Story.svelte"; |
| 194 | </script> |
| 195 | <h1>home</h1> |
| 196 | <Story /> |
| 197 | ` |
| 198 | is.NoErr(td.Write(ctx)) |
| 199 | module, err := gomod.Find(dir) |
| 200 | is.NoErr(err) |
| 201 | cache, err := dag.Load(log, module.Directory("bud/bud.db")) |
| 202 | is.NoErr(err) |
| 203 | gfs := genfs.New(cache, module, log) |
| 204 | gfs.FileServer("bud/view", dom.New(module, transformer)) |
| 205 | // check entry |
| 206 | code, err := fs.ReadFile(gfs, "bud/view/_index.svelte.js") |
| 207 | is.NoErr(err) |
| 208 | is.True(strings.Contains(string(code), `"home"`), "missing home") |
| 209 | is.True(strings.Contains(string(code), `"Story"`), "missing Story") |
| 210 | // check component |
| 211 | code, err = fs.ReadFile(gfs, "bud/view/index.svelte") |
| 212 | is.NoErr(err) |
| 213 | is.True(strings.Contains(string(code), `"home"`), "missing home") |
| 214 | is.True(strings.Contains(string(code), `"Story"`), "missing Story") |
| 215 | // Change view/Story.svelte and view/index.svelte |
| 216 | os.WriteFile(filepath.Join(dir, "view/Story.svelte"), []byte(`<h2>Stories</h2>`), 0644) |
| 217 | os.WriteFile(filepath.Join(dir, "view/index.svelte"), []byte(` |
| 218 | <script> |
| 219 | import Story from "./Story.svelte"; |
| 220 | </script> |
| 221 | <h1>homies</h1> |
| 222 | <Story /> |
| 223 | `), 0644) |
| 224 | // check entry (cached) |
| 225 | code, err = fs.ReadFile(gfs, "bud/view/_index.svelte.js") |
| 226 | is.NoErr(err) |
| 227 | is.True(strings.Contains(string(code), `"home"`), "missing home") |
| 228 | is.True(strings.Contains(string(code), `"Story"`), "missing Story") |
| 229 | // check component (cached) |
| 230 | code, err = fs.ReadFile(gfs, "bud/view/index.svelte") |
| 231 | is.NoErr(err) |
| 232 | is.True(strings.Contains(string(code), `"home"`), "missing home") |
| 233 | is.True(strings.Contains(string(code), `"Story"`), "missing Story") |
| 234 | // Mark view/Story.svelte and view/index.svelte as changed |
nothing calls this directly
no test coverage detected