carlos / todomvc-bakeoff Public

Clone
git clone https://amadan.net/carlos/todomvc-bakeoff

Plain git — no account needed to clone.

Download

Download this file

1package main
2
3import (
4 "os"
5 "slices"
6 "testing"
7
8 "amadan.net/rastrillo/rastrillo/budget"
9)
10
11func TestMain(m *testing.M) { os.Exit(budget.Main(m)) }
12
13func TestListenAsAddr(t *testing.T) {
14 t.Parallel()
15 got := listenAsAddr([]string{"app", "--listen", "127.0.0.1:1", "-listen=127.0.0.1:2", "--db", "x.db", "--socket", "s"})
16 want := []string{"app", "--addr", "127.0.0.1:1", "--addr=127.0.0.1:2", "--db", "x.db", "--socket", "s"}
17 if !slices.Equal(got, want) {
18 t.Errorf("got %q, want %q", got, want)
19 }
20}
21
22func TestOrigin(t *testing.T) {
23 t.Setenv("CARLOS_HOST", "")
24 if got := origin("127.0.0.1:9000"); got != "http://127.0.0.1:9000" {
25 t.Errorf("local origin %q", got)
26 }
27 t.Setenv("CARLOS_HOST", "todo-go-rastrillo.bfj.oncarlos.com")
28 if got := origin(""); got != "https://todo-go-rastrillo.bfj.oncarlos.com" {
29 t.Errorf("carloku origin %q", got)
30 }
31}
32
33func TestLoopbackOnly(t *testing.T) {
34 t.Parallel()
35 for addr, ok := range map[string]bool{
36 "127.0.0.1:8080": true,
37 "0.0.0.0:8080": false,
38 ":8080": false,
39 "[::]:8080": false,
40 "localhost:8080": false,
41 "10.0.0.5:8080": false,
42 "127.0.0.1": false,
43 } {
44 if err := loopbackOnly(addr); (err == nil) != ok {
45 t.Errorf("loopbackOnly(%q) = %v, want ok=%v", addr, err, ok)
46 }
47 }
48}
49