github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/builtins/core/io/rx_test.go (about)

     1  package io
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/lmorg/murex/test"
     7  )
     8  
     9  func TestLsRx(t *testing.T) {
    10  	tests := []test.MurexTest{
    11  		// rx
    12  		{
    13  			Block:  "rx: R*ME",
    14  			Stdout: "README.md",
    15  		},
    16  		{
    17  			Block:   "rx: 'README$'",
    18  			Stderr:  "Error",
    19  			ExitNum: 1,
    20  		},
    21  		// !rx
    22  		{
    23  			Block:   "!rx: .*",
    24  			Stderr:  "Error",
    25  			ExitNum: 1,
    26  		},
    27  		{
    28  			Block:  `!rx: (go|yaml)`,
    29  			Stdout: "README.md",
    30  		},
    31  		// -> rx
    32  		{
    33  			Block:  "rx: R*ME -> rx: .*md",
    34  			Stdout: "README.md",
    35  		},
    36  		{
    37  			Block:   "rx: R*ME -> rx: .*doesntexist",
    38  			Stderr:  "Error",
    39  			ExitNum: 1,
    40  		},
    41  		{
    42  			Block:   "rx: 'README$' ->  rx: .*md",
    43  			Stderr:  "Error",
    44  			ExitNum: 1,
    45  		},
    46  		// -> !rx
    47  		{
    48  			Block:   "rx: R*ME -> !rx: .*md",
    49  			Stderr:  "Error",
    50  			ExitNum: 1,
    51  		},
    52  		{
    53  			Block:  "rx: R*ME -> !rx: .*doesntexist",
    54  			Stdout: "README.md",
    55  		},
    56  		{
    57  			Block:   "rx: 'README$' -> !rx: .*md",
    58  			Stderr:  "Error",
    59  			ExitNum: 1,
    60  		},
    61  	}
    62  	test.RunMurexTestsRx(tests, t)
    63  }