go-vise

Constrained Size Output Virtual Machine
Info | Log | Files | Refs | README | LICENSE

fs_test.go (2278B)


      1 package resource
      2 
      3 import (
      4 	"context"
      5 	"os"
      6 	"path"
      7 	"testing"
      8 
      9 	"git.defalsify.org/vise.git/lang"
     10 )
     11 
     12 func TestNewFs(t *testing.T) {
     13 	n := NewFsResource("./testdata")
     14 	_ = n
     15 }
     16 
     17 func TestResourceLanguage(t *testing.T) {
     18 	lang, err := lang.LanguageFromCode("nor")
     19 	if err != nil {
     20 		t.Fatal(err)
     21 	}
     22 	ctx := context.TODO()
     23 
     24 	dir, err := os.MkdirTemp("", "vise_fsresource")
     25 	if err != nil {
     26 		t.Fatal(err)
     27 	}
     28 
     29 	fp := path.Join(dir, "foo")
     30 	tmpl := "one two three"
     31 	err = os.WriteFile(fp, []byte(tmpl), 0600)
     32 	if err != nil {
     33 		t.Fatal(err)
     34 	}
     35 
     36 	rs := NewFsResource(dir)
     37 	r, err := rs.GetTemplate(ctx, "foo")
     38 	if err != nil {
     39 		t.Fatal(err)
     40 	}
     41 	if r != tmpl {
     42 		t.Fatalf("expected '%s', got '%s'", tmpl, r)
     43 	}
     44 
     45 	ctx = context.WithValue(ctx, "Language", lang)
     46 	rs = NewFsResource(dir)
     47 	r, err = rs.GetTemplate(ctx, "foo")
     48 	if err != nil {
     49 		t.Fatal(err)
     50 	}
     51 	if r != tmpl {
     52 		t.Fatalf("expected '%s', got '%s'", tmpl, r)
     53 	}
     54 
     55 	tmpl = "en to tre"
     56 	err = os.WriteFile(fp + "_nor", []byte(tmpl), 0600)
     57 	if err != nil {
     58 		t.Fatal(err)
     59 	}
     60 	r, err = rs.GetTemplate(ctx, "foo")
     61 	if err != nil {
     62 		t.Fatal(err)
     63 	}
     64 	if r != tmpl {
     65 		t.Fatalf("expected '%s', got '%s'", tmpl, r)
     66 	}
     67 }
     68 
     69 func TestResourceMenuLanguage(t *testing.T) {
     70 	lang, err := lang.LanguageFromCode("nor")
     71 	if err != nil {
     72 		t.Fatal(err)
     73 	}
     74 	ctx := context.TODO()
     75 
     76 	dir, err := os.MkdirTemp("", "vise_fsresource")
     77 	if err != nil {
     78 		t.Fatal(err)
     79 	}
     80 	rs := NewFsResource(dir)
     81 
     82 	r, err := rs.GetMenu(ctx, "foo")
     83 	if err != nil {
     84 		t.Fatal(err)
     85 	}
     86 	if r != "foo" {
     87 		t.Fatalf("expected 'foo', got '%s'", r)
     88 	}
     89 
     90 	fp := path.Join(dir, "foo_menu")
     91 	menu := "foo bar"
     92 	err = os.WriteFile(fp, []byte(menu), 0600)
     93 	if err != nil {
     94 		t.Fatal(err)
     95 	}
     96 	r, err = rs.GetMenu(ctx, "foo")
     97 	if err != nil {
     98 		t.Fatal(err)
     99 	}
    100 	if r != menu {
    101 		t.Fatalf("expected '%s', got '%s'", menu, r)
    102 	}
    103 
    104 	ctx = context.WithValue(ctx, "Language", lang)
    105 	r, err = rs.GetMenu(ctx, "foo")
    106 	if err != nil {
    107 		t.Fatal(err)
    108 	}
    109 	if r != menu {
    110 		t.Fatalf("expected '%s', got '%s'", menu, r)
    111 	}
    112 
    113 	fp = path.Join(dir, "foo_menu_nor")
    114 	menu = "baz bar"
    115 	err = os.WriteFile(fp, []byte(menu), 0600)
    116 	if err != nil {
    117 		t.Fatal(err)
    118 	}
    119 	r, err = rs.GetMenu(ctx, "foo")
    120 	if err != nil {
    121 		t.Fatal(err)
    122 	}
    123 	if r != menu {
    124 		t.Fatalf("expected '%s', got '%s'", menu, r)
    125 	}
    126 }