@@ -4259,6 +4259,29 @@ public void TestWhereSContainsAbcNot()
4259
4259
Assert . AreEqual ( 4 , Consume ( query ) ) ;
4260
4260
}
4261
4261
4262
+ [ Test ]
4263
+ public void TestWhereSContainsDot ( )
4264
+ {
4265
+ var query = from c in _collection . AsQueryable < C > ( )
4266
+ where c . S . Contains ( "." )
4267
+ select c ;
4268
+
4269
+ var translatedQuery = MongoQueryTranslator . Translate ( query ) ;
4270
+ Assert . IsInstanceOf < SelectQuery > ( translatedQuery ) ;
4271
+ Assert . AreSame ( _collection , translatedQuery . Collection ) ;
4272
+ Assert . AreSame ( typeof ( C ) , translatedQuery . DocumentType ) ;
4273
+
4274
+ var selectQuery = ( SelectQuery ) translatedQuery ;
4275
+ Assert . AreEqual ( "(C c) => c.S.Contains(\" .\" )" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
4276
+ Assert . IsNull ( selectQuery . OrderBy ) ;
4277
+ Assert . IsNull ( selectQuery . Projection ) ;
4278
+ Assert . IsNull ( selectQuery . Skip ) ;
4279
+ Assert . IsNull ( selectQuery . Take ) ;
4280
+
4281
+ Assert . AreEqual ( "{ \" s\" : /\\ ./s }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
4282
+ Assert . AreEqual ( 0 , Consume ( query ) ) ;
4283
+ }
4284
+
4262
4285
[ Test ]
4263
4286
public void TestWhereSEndsWithAbc ( )
4264
4287
{
@@ -4794,7 +4817,7 @@ public void TestWhereSTrimStartsWithXyzNot()
4794
4817
public void TestWhereSTrimStartTrimEndToLowerContainsXyz ( )
4795
4818
{
4796
4819
var query = from c in _collection . AsQueryable < C > ( )
4797
- where c . S . TrimStart ( ' ' , '-' , '\t ' ) . TrimEnd ( ) . ToLower ( ) . Contains ( "xyz" )
4820
+ where c . S . TrimStart ( ' ' , '.' , ' -', '\t ' ) . TrimEnd ( ) . ToLower ( ) . Contains ( "xyz" )
4798
4821
select c ;
4799
4822
4800
4823
var translatedQuery = MongoQueryTranslator . Translate ( query ) ;
@@ -4803,13 +4826,13 @@ where c.S.TrimStart(' ', '-', '\t').TrimEnd().ToLower().Contains("xyz")
4803
4826
Assert . AreSame ( typeof ( C ) , translatedQuery . DocumentType ) ;
4804
4827
4805
4828
var selectQuery = ( SelectQuery ) translatedQuery ;
4806
- Assert . AreEqual ( "(C c) => c.S.TrimStart(Char[]:{ ' ', '-', '\t ' }).TrimEnd(Char[]:{ }).ToLower().Contains(\" xyz\" )" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
4829
+ Assert . AreEqual ( "(C c) => c.S.TrimStart(Char[]:{ ' ', '.', ' -', '\t ' }).TrimEnd(Char[]:{ }).ToLower().Contains(\" xyz\" )" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
4807
4830
Assert . IsNull ( selectQuery . OrderBy ) ;
4808
4831
Assert . IsNull ( selectQuery . Projection ) ;
4809
4832
Assert . IsNull ( selectQuery . Skip ) ;
4810
4833
Assert . IsNull ( selectQuery . Take ) ;
4811
4834
4812
- Assert . AreEqual ( "{ \" s\" : /^[ \t -]*.*xyz.*\\ s*$/is }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
4835
+ Assert . AreEqual ( "{ \" s\" : /^[\\ \\ . \ \ t-]*.*xyz.*\\ s*$/is }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
4813
4836
Assert . AreEqual ( 1 , Consume ( query ) ) ;
4814
4837
}
4815
4838
0 commit comments