| 1364 | } |
| 1365 | |
| 1366 | func TestViewNestedUnnamed(t *testing.T) { |
| 1367 | is := is.New(t) |
| 1368 | ctx := context.Background() |
| 1369 | dir := t.TempDir() |
| 1370 | td := testdir.New(dir) |
| 1371 | td.NodeModules["svelte"] = versions.Svelte |
| 1372 | td.Files["view/users/index.svelte"] = ` |
| 1373 | <script> |
| 1374 | export let users = [] |
| 1375 | </script> |
| 1376 | {#each users as user} |
| 1377 | <h1>index: {user.id} {user.name}</h1> |
| 1378 | {/each} |
| 1379 | ` |
| 1380 | td.Files["view/users/new.svelte"] = ` |
| 1381 | <script> |
| 1382 | export let user = {} |
| 1383 | </script> |
| 1384 | <h1>new: {user.id} {user.name}</h1> |
| 1385 | ` |
| 1386 | td.Files["view/users/show.svelte"] = ` |
| 1387 | <script> |
| 1388 | export let user = {} |
| 1389 | </script> |
| 1390 | <h1>show: {user.id} {user.name}</h1> |
| 1391 | ` |
| 1392 | td.Files["view/users/edit.svelte"] = ` |
| 1393 | <script> |
| 1394 | export let user = {} |
| 1395 | </script> |
| 1396 | <h1>edit: {user.id} {user.name}</h1> |
| 1397 | ` |
| 1398 | td.Files["controller/users/users.go"] = ` |
| 1399 | package users |
| 1400 | type Controller struct {} |
| 1401 | type User struct { |
| 1402 | ID int ` + "`" + `json:"id"` + "`" + ` |
| 1403 | Name string ` + "`" + `json:"name"` + "`" + ` |
| 1404 | } |
| 1405 | func (c *Controller) Index() []*User { |
| 1406 | return []*User{{1, "a"}, {2, "b"}} |
| 1407 | } |
| 1408 | func (c *Controller) New() *User { |
| 1409 | return &User{3, "c"} |
| 1410 | } |
| 1411 | func (c *Controller) Show(id int) *User { |
| 1412 | return &User{id, "s"} |
| 1413 | } |
| 1414 | func (c *Controller) Edit(id int) *User { |
| 1415 | return &User{id, "e"} |
| 1416 | } |
| 1417 | ` |
| 1418 | // Generate the app |
| 1419 | is.NoErr(td.Write(ctx)) |
| 1420 | cli := testcli.New(dir) |
| 1421 | app, err := cli.Start(ctx, "run") |
| 1422 | is.NoErr(err) |
| 1423 | defer app.Close() |