@@ -1501,13 +1501,13 @@ Rebol [
1501
1501
--test-- "split block!"
1502
1502
;@@ https://github.com/Oldes/Rebol-issues/issues/2051
1503
1503
b: [a b c d e f]
1504
- --assert [[a b c d e f]] = split/skip b 1
1505
- --assert [[a b c] [d e f]] = split/skip b 2
1506
- --assert [[a b] [c d] [e f]] = split/skip b 3
1507
- --assert [[a] [b] [c] [d e f]] = split/skip b 4
1508
- --assert [[a] [b] [c] [d] [e f]] = split/skip b 5
1509
- --assert [[a] [b] [c] [d] [e] [f]] = split/skip b 6
1510
- --assert [[a] [b] [c] [d] [e] [f] []] = split/skip b 7
1504
+ --assert [[a b c d e f]] = split/parts b 1
1505
+ --assert [[a b c] [d e f]] = split/parts b 2
1506
+ --assert [[a b] [c d] [e f]] = split/parts b 3
1507
+ --assert [[a] [b] [c] [d e f]] = split/parts b 4
1508
+ --assert [[a] [b] [c] [d] [e f]] = split/parts b 5
1509
+ --assert [[a] [b] [c] [d] [e] [f]] = split/parts b 6
1510
+ --assert [[a] [b] [c] [d] [e] [f] []] = split/parts b 7
1511
1511
1512
1512
--test-- "split string!"
1513
1513
;@@ https://github.com/Oldes/Rebol-issues/issues/1886
@@ -1519,13 +1519,74 @@ Rebol [
1519
1519
--assert ["abc" "de" "fghi" "jk" ] = split "abc|de/fghi:jk" charset "|/:"
1520
1520
--assert ["abc" "de" "fghi" "jk" ] = split "abc^M^J de^M fghi^J jk" [crlf | #"^M" | newline]
1521
1521
--assert ["abc" "de" "fghi" "jk" ] = split "abc de fghi jk" [some #" " ]
1522
- --assert ["12345678" "12345678" ] = split/skip "1234567812345678" 2
1523
- --assert ["12345" "67812" "345678" ] = split/skip "1234567812345678" 3
1524
- --assert ["123" "456" "781" "234" "5678" ] = split/skip "1234567812345678" 5
1522
+ --assert ["12345678" "12345678" ] = split/parts "1234567812345678" 2
1523
+ --assert ["12345" "67812" "345678" ] = split/parts "1234567812345678" 3
1524
+ --assert ["123" "456" "781" "234" "5678" ] = split/parts "1234567812345678" 5
1525
1525
;@@ https://github.com/Oldes/Rebol-issues/issues/573
1526
- --assert ["c" "c" ] = split "c c" " "
1527
- --assert ["1,2" ] = split "1,2" " "
1526
+ --assert ["c" "c" ] = split "c c" " "
1527
+ --assert ["1,2" ] = split "1,2" " "
1528
1528
--assert ["c" "c " ] = split "c,c " ","
1529
+ --test-- "split gregg 1"
1530
+ ;@@ https://gist.github.com/greggirwin/66d7c6892fc310097cd91ab354189542
1531
+ --assert (split "1234567812345678" 4 ) = ["1234" "5678" "1234" "5678" ]
1532
+ --assert (split "1234567812345678" 3 ) = ["123" "456" "781" "234" "567" "8" ]
1533
+ --assert (split "1234567812345678" 5 ) = ["12345" "67812" "34567" "8" ]
1534
+ --assert (split/parts [1 2 3 4 5 6 ] 2 ) = [[1 2 3 ] [4 5 6 ]]
1535
+ --assert (split/parts "1234567812345678" 2 ) = ["12345678" "12345678" ]
1536
+ --assert (split/parts "1234567812345678" 3 ) = ["12345" "67812" "345678" ]
1537
+ --assert (split/parts "1234567812345678" 5 ) = ["123" "456" "781" "234" "5678" ]
1538
+
1539
+ --test-- "split gregg 2"
1540
+ ; Dlm longer than series"
1541
+ --assert (split/parts "123" 6 ) = ["1" "2" "3" "" "" "" ] ;or ["1" "2" "3"]
1542
+ --assert (split/parts [1 2 3 ] 6 ) = [[1 ] [2 ] [3 ] [] [] []] ;or [1 2 3]
1543
+
1544
+ --test-- "split gregg 3"
1545
+ --assert (split [1 2 3 4 5 6 ] [2 1 3 ]) = [[1 2 ] [3 ] [4 5 6 ]]
1546
+ --assert (split "1234567812345678" [4 4 2 2 1 1 1 1 ]) = ["1234" "5678" "12" "34" "5" "6" "7" "8" ]
1547
+ --assert (split first [(1 2 3 4 5 6 7 8 9 )] 3 ) = [(1 2 3 ) (4 5 6 ) (7 8 9 )]
1548
+ --assert (split #{ 0102030405060708090A } [4 3 1 2 ]) = [#{ 01020304 } #{ 050607 } #{ 08 } #{ 090A } ]
1549
+ --assert (split [1 2 3 4 5 6 ] [2 1 ]) = [[1 2 ] [3 ]]
1550
+ --assert (split [1 2 3 4 5 6 ] [2 1 3 5 ]) = [[1 2 ] [3 ] [4 5 6 ] []]
1551
+ --assert (split [1 2 3 4 5 6 ] [2 1 6 ]) = [[1 2 ] [3 ] [4 5 6 ]]
1552
+
1553
+ ; Old design for negative skip vals
1554
+ ; --assert (split [1 2 3 4 5 6] [3 2 2 -2 2 -4 3]] [[1 2 3] [4 5] [6] [5 6] [3 4 5]]
1555
+ ; New design for negative skip vals
1556
+ --assert (split [1 2 3 4 5 6 ] [2 -2 2 ]) = [[1 2 ] [5 6 ]]
1557
+
1558
+ --test-- "split gregg 4"
1559
+ --assert (split "abc,de,fghi,jk" #"," ) = ["abc" "de" "fghi" "jk" ]
1560
+ --assert (split "abc<br>de<br>fghi<br>jk" <br > ) = ["abc" "de" "fghi" "jk" ]
1561
+
1562
+ --assert (split "a.b.c" "." ) = ["a" "b" "c" ]
1563
+ --assert (split "c c" " " ) = ["c" "c" ]
1564
+ --assert (split "1,2,3" " " ) = ["1,2,3" ]
1565
+ --assert (split "1,2,3" "," ) = ["1" "2" "3" ]
1566
+ --assert (split "1,2,3," "," ) = ["1" "2" "3" "" ]
1567
+ --assert (split "1,2,3," charset ",." ) = ["1" "2" "3" "" ]
1568
+ --assert (split "1.2,3." charset ",." ) = ["1" "2" "3" "" ]
1569
+
1570
+ --assert (split "-a-a" ["a" ]) = ["-" "-" ]
1571
+ --assert (split "-a-a'" ["a" ]) = ["-" "-" "'" ]
1572
+
1573
+ --test-- "split gregg 5"
1574
+ --assert (split "abc|de/fghi:jk" charset "|/:" ) = ["abc" "de" "fghi" "jk" ]
1575
+ --assert (split "abc^M^J de^M fghi^J jk" [crlf | #"^M" | newline]) = ["abc" "de" "fghi" "jk" ]
1576
+ --assert (split "abc de fghi jk" [some #" " ]) = ["abc" "de" "fghi" "jk" ]
1577
+
1578
+ --test-- "split gregg 6"
1579
+ --assert (split [1 2 3 4 5 6 ] :even? ) = [[2 4 6 ] [1 3 5 ]]
1580
+ --assert (split [1 2 3 4 5 6 ] :odd? ) = [[1 3 5 ] [2 4 6 ]]
1581
+ --assert (split [1 2.3 /a word "str" #iss x: :y ] :refinement? ) = [[/a ] [1 2.3 word "str" #iss x: :y ]]
1582
+ --assert (split [1 2.3 /a word "str" #iss x: :y ] :number? ) = [[1 2.3 ] [/a word "str" #iss x: :y ]]
1583
+ --assert (split [1 2.3 /a word "str" #iss x: :y ] :any-word? ) = [[/a word #iss x: :y ] [1 2.3 "str" ]]
1584
+
1585
+ --test-- "split gregg 7"
1586
+ --assert (split/at [1 2.3 /a word "str" #iss x: :y ] 4 ) = [[1 2.3 /a word] ["str" #iss x: :y ]]
1587
+ ;!! Splitting /at with a non-integer excludes the delimiter from the result
1588
+ --assert (split/at [1 2.3 /a word "str" #iss x: :y ] "str" ) = [[1 2.3 /a word] [#iss x: :y ]]
1589
+ --assert (split/at [1 2.3 /a word "str" #iss x: :y ] 'word) = [[1 2.3 /a ] ["str" #iss x: :y ]]
1529
1590
1530
1591
===end-group===
1531
1592
0 commit comments