@@ -1022,10 +1022,12 @@ extension RegexTests {
10221022 #"\u{65}\y"# , // Grapheme boundary assertion
10231023 ( " Cafe \u{301} " , nil ) ,
10241024 ( " Sol Cafe " , " e " ) )
1025+
1026+ // FIXME: Figure out (?X) and (?u) semantics
10251027 firstMatchTests (
10261028 #"(?u)\u{65}\Y"# , // Grapheme non-boundary assertion
10271029 ( " Cafe \u{301} " , " e " ) ,
1028- ( " Sol Cafe " , nil ) )
1030+ ( " Sol Cafe " , nil ) , xfail : true )
10291031 }
10301032
10311033 func testMatchGroups( ) {
@@ -1596,7 +1598,8 @@ extension RegexTests {
15961598 // a single Unicode scalar value, leaving any other grapheme scalar
15971599 // components to be matched.
15981600
1599- firstMatchTest ( #"(?u:.)"# , input: eDecomposed, match: " e " )
1601+ // FIXME: Figure out (?X) and (?u) semantics
1602+ firstMatchTest ( #"(?u:.)"# , input: eDecomposed, match: " e " , xfail: true )
16001603
16011604 matchTest (
16021605 #".\u{301}"# ,
@@ -1607,18 +1610,30 @@ extension RegexTests {
16071610 ( eComposed, false ) ,
16081611 ( eDecomposed, false ) )
16091612
1613+ // FIXME: Figure out (?X) and (?u) semantics
16101614 // FIXME: \O is unsupported
1611- firstMatchTest ( #"(?u)\O\u{301}"# , input: eDecomposed, match: eDecomposed)
1612- firstMatchTest ( #"(?u)e\O"# , input: eDecomposed, match: eDecomposed)
1615+ firstMatchTest (
1616+ #"(?u)\O\u{301}"# ,
1617+ input: eDecomposed,
1618+ match: eDecomposed,
1619+ xfail: true
1620+ )
1621+ firstMatchTest (
1622+ #"(?u)e\O"# ,
1623+ input: eDecomposed,
1624+ match: eDecomposed,
1625+ xfail: true
1626+ )
16131627 firstMatchTest ( #"\O"# , input: eComposed, match: eComposed)
16141628 firstMatchTest ( #"\O"# , input: eDecomposed, match: nil ,
16151629 xfail: true )
16161630
1631+ // FIXME: Figure out (?X) and (?u) semantics
16171632 matchTest (
16181633 #"(?u).\u{301}"# ,
16191634 ( eComposed, false ) ,
1620- ( eDecomposed, true ) )
1621- firstMatchTest ( #"(?u).$"# , input: eComposed, match: eComposed)
1635+ ( eDecomposed, true ) , xfail : true )
1636+ firstMatchTest ( #"(?u).$"# , input: eComposed, match: eComposed, xfail : true )
16221637
16231638 // Option permutations for 'u' and 's'
16241639 matchTest (
@@ -1631,14 +1646,16 @@ extension RegexTests {
16311646 ( " e \u{301} ab " , false ) ,
16321647 ( " e \u{301} abc " , true ) ,
16331648 ( " e \u{301} \n ab " , true ) )
1649+
1650+ // FIXME: Figure out (?X) and (?u) semantics
16341651 matchTest (
16351652 #"(?u)...."# ,
16361653 ( " e \u{301} ab " , true ) ,
1637- ( " e \u{301} \n a " , false ) )
1654+ ( " e \u{301} \n a " , false ) , xfail : true )
16381655 matchTest (
16391656 #"(?us)...."# ,
16401657 ( " e \u{301} ab " , true ) ,
1641- ( " e \u{301} \n a " , true ) )
1658+ ( " e \u{301} \n a " , true ) , xfail : true )
16421659 }
16431660
16441661 // TODO: Add test for implied grapheme cluster requirement at group boundaries
0 commit comments