cuelang.org/go@v0.10.1/internal/cueexperiment/exp_test.go (about)

     1  package cueexperiment
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/go-quicktest/qt"
     7  )
     8  
     9  func TestInit(t *testing.T) {
    10  	// This is just a smoke test to make sure it's all wired up OK.
    11  
    12  	// Check the default values.
    13  	t.Setenv("CUE_EXPERIMENT", "")
    14  	err := initAlways()
    15  	qt.Assert(t, qt.IsNil(err))
    16  	qt.Assert(t, qt.IsTrue(Flags.Modules))
    17  	qt.Assert(t, qt.IsTrue(Flags.YAMLV3Decoder))
    18  
    19  	// Check that we can enable all experiments.
    20  	t.Setenv("CUE_EXPERIMENT", "modules,yamlv3decoder")
    21  	err = initAlways()
    22  	qt.Assert(t, qt.IsNil(err))
    23  	qt.Assert(t, qt.IsTrue(Flags.Modules))
    24  	qt.Assert(t, qt.IsTrue(Flags.YAMLV3Decoder))
    25  
    26  	// Check that we can disable all experiments.
    27  	t.Setenv("CUE_EXPERIMENT", "modules=0,yamlv3decoder=0")
    28  	err = initAlways()
    29  	qt.Assert(t, qt.IsNil(err))
    30  	qt.Assert(t, qt.IsFalse(Flags.Modules))
    31  	qt.Assert(t, qt.IsFalse(Flags.YAMLV3Decoder))
    32  }