@@ -1020,10 +1020,12 @@ extension RegexTests {
10201020 #"\u{65}\y"# , // Grapheme boundary assertion
10211021 ( " Cafe \u{301} " , nil ) ,
10221022 ( " Sol Cafe " , " e " ) )
1023+
1024+ // FIXME: Figure out (?X) and (?u) semantics
10231025 firstMatchTests (
10241026 #"(?u)\u{65}\Y"# , // Grapheme non-boundary assertion
10251027 ( " Cafe \u{301} " , " e " ) ,
1026- ( " Sol Cafe " , nil ) )
1028+ ( " Sol Cafe " , nil ) , xfail : true )
10271029 }
10281030
10291031 func testMatchGroups( ) {
@@ -1594,7 +1596,8 @@ extension RegexTests {
15941596 // a single Unicode scalar value, leaving any other grapheme scalar
15951597 // components to be matched.
15961598
1597- firstMatchTest ( #"(?u:.)"# , input: eDecomposed, match: " e " )
1599+ // FIXME: Figure out (?X) and (?u) semantics
1600+ firstMatchTest ( #"(?u:.)"# , input: eDecomposed, match: " e " , xfail: true )
15981601
15991602 matchTest (
16001603 #".\u{301}"# ,
@@ -1605,18 +1608,30 @@ extension RegexTests {
16051608 ( eComposed, false ) ,
16061609 ( eDecomposed, false ) )
16071610
1611+ // FIXME: Figure out (?X) and (?u) semantics
16081612 // FIXME: \O is unsupported
1609- firstMatchTest ( #"(?u)\O\u{301}"# , input: eDecomposed, match: eDecomposed)
1610- firstMatchTest ( #"(?u)e\O"# , input: eDecomposed, match: eDecomposed)
1613+ firstMatchTest (
1614+ #"(?u)\O\u{301}"# ,
1615+ input: eDecomposed,
1616+ match: eDecomposed,
1617+ xfail: true
1618+ )
1619+ firstMatchTest (
1620+ #"(?u)e\O"# ,
1621+ input: eDecomposed,
1622+ match: eDecomposed,
1623+ xfail: true
1624+ )
16111625 firstMatchTest ( #"\O"# , input: eComposed, match: eComposed)
16121626 firstMatchTest ( #"\O"# , input: eDecomposed, match: nil ,
16131627 xfail: true )
16141628
1629+ // FIXME: Figure out (?X) and (?u) semantics
16151630 matchTest (
16161631 #"(?u).\u{301}"# ,
16171632 ( eComposed, false ) ,
1618- ( eDecomposed, true ) )
1619- firstMatchTest ( #"(?u).$"# , input: eComposed, match: eComposed)
1633+ ( eDecomposed, true ) , xfail : true )
1634+ firstMatchTest ( #"(?u).$"# , input: eComposed, match: eComposed, xfail : true )
16201635
16211636 // Option permutations for 'u' and 's'
16221637 matchTest (
@@ -1629,14 +1644,16 @@ extension RegexTests {
16291644 ( " e \u{301} ab " , false ) ,
16301645 ( " e \u{301} abc " , true ) ,
16311646 ( " e \u{301} \n ab " , true ) )
1647+
1648+ // FIXME: Figure out (?X) and (?u) semantics
16321649 matchTest (
16331650 #"(?u)...."# ,
16341651 ( " e \u{301} ab " , true ) ,
1635- ( " e \u{301} \n a " , false ) )
1652+ ( " e \u{301} \n a " , false ) , xfail : true )
16361653 matchTest (
16371654 #"(?us)...."# ,
16381655 ( " e \u{301} ab " , true ) ,
1639- ( " e \u{301} \n a " , true ) )
1656+ ( " e \u{301} \n a " , true ) , xfail : true )
16401657 }
16411658
16421659 // TODO: Add test for implied grapheme cluster requirement at group boundaries
0 commit comments