github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/builtins/core/ranges/regexp_test.go (about) 1 package ranges_test 2 3 import ( 4 "testing" 5 6 _ "github.com/lmorg/murex/builtins/core/index" 7 _ "github.com/lmorg/murex/builtins/core/mkarray" 8 _ "github.com/lmorg/murex/builtins/core/ranges" 9 _ "github.com/lmorg/murex/builtins/types/string" 10 "github.com/lmorg/murex/test" 11 ) 12 13 func TestRangeLegacyByRegex(t *testing.T) { 14 tests := []test.MurexTest{ 15 // FLAGGED 16 17 // Include 18 { 19 Block: `a: [January..December] -> @[Jun.*..Oct.*]r`, 20 Stdout: "June\nJuly\nAugust\nSeptember\nOctober\n", 21 }, 22 { 23 Block: `a: [January..December] -> @[Jun.*..]r`, 24 Stdout: "June\nJuly\nAugust\nSeptember\nOctober\nNovember\nDecember\n", 25 }, 26 { 27 Block: `a: [January..December] -> @[..Jun.*]r`, 28 Stdout: "January\nFebruary\nMarch\nApril\nMay\nJune\n", 29 }, 30 31 // Exclude 32 { 33 Block: `a: [January..December] -> @[Jun.*..Oct.*]re`, 34 Stdout: "July\nAugust\nSeptember\n", 35 }, 36 { 37 Block: `a: [January..December] -> @[Jun.*..]re`, 38 Stdout: "July\nAugust\nSeptember\nOctober\nNovember\nDecember\n", 39 }, 40 { 41 Block: `a: [January..December] -> @[..Jun.*]re`, 42 Stdout: "January\nFebruary\nMarch\nApril\nMay\n", 43 }, 44 } 45 46 test.RunMurexTests(tests, t) 47 } 48 49 func TestRangeIndexByRegex(t *testing.T) { 50 tests := []test.MurexTest{ 51 // FLAGGED 52 53 // Include 54 { 55 Block: `a: [January..December] -> [Jun.*..Oct.*]r`, 56 Stdout: "June\nJuly\nAugust\nSeptember\nOctober\n", 57 }, 58 { 59 Block: `a: [January..December] -> [Jun.*..]r`, 60 Stdout: "June\nJuly\nAugust\nSeptember\nOctober\nNovember\nDecember\n", 61 }, 62 { 63 Block: `a: [January..December] -> [..Jun.*]r`, 64 Stdout: "January\nFebruary\nMarch\nApril\nMay\nJune\n", 65 }, 66 67 // Exclude 68 { 69 Block: `a: [January..December] -> [Jun.*..Oct.*]re`, 70 Stdout: "July\nAugust\nSeptember\n", 71 }, 72 { 73 Block: `a: [January..December] -> [Jun.*..]re`, 74 Stdout: "July\nAugust\nSeptember\nOctober\nNovember\nDecember\n", 75 }, 76 { 77 Block: `a: [January..December] -> [..Jun.*]re`, 78 Stdout: "January\nFebruary\nMarch\nApril\nMay\n", 79 }, 80 } 81 82 test.RunMurexTests(tests, t) 83 }