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  }