github.com/nevalang/neva@v0.23.1-0.20240507185603-7696a9bb8dda/internal/builder/tests/intergration_test.go (about) 1 package builder_test 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/nevalang/neva/internal/builder" 8 "github.com/nevalang/neva/internal/compiler/parser" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestBuilder_WDIsModRoot(t *testing.T) { 13 prsr := parser.New(false) 14 bldr := builder.MustNew(prsr) 15 16 build, _, err := bldr.Build(context.Background(), "testmod") 17 require.True(t, err == nil) 18 19 mod, ok := build.Modules[build.EntryModRef] 20 require.True(t, ok) 21 require.Len(t, mod.Packages, 1) 22 require.Equal(t, "0.6.0", mod.Manifest.LanguageVersion) // defined in yml 23 24 pkg, ok := mod.Packages["do_nothing"] 25 require.True(t, ok) 26 27 file, ok := pkg["main"] 28 require.True(t, ok) 29 30 expected := `component Main(start) (stop) { :start -> :stop }` 31 32 require.Equal(t, expected, string(file)) 33 } 34 35 func TestBuilder_WDIsPkg(t *testing.T) { 36 prsr := parser.New(false) 37 bldr := builder.MustNew(prsr) 38 39 build, _, err := bldr.Build(context.Background(), "testmod/do_nothing") 40 require.True(t, err == nil) 41 42 mod, ok := build.Modules[build.EntryModRef] 43 require.True(t, ok) 44 require.Len(t, mod.Packages, 1) 45 require.Equal(t, "0.6.0", mod.Manifest.LanguageVersion) // defined in yml 46 47 pkg, ok := mod.Packages["do_nothing"] 48 require.True(t, ok) 49 50 file, ok := pkg["main"] 51 require.True(t, ok) 52 53 expected := `component Main(start) (stop) { :start -> :stop }` 54 55 require.Equal(t, expected, string(file)) 56 }