File tree Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -12,7 +12,9 @@ module.exports = (function() {
1212 'ilike' : function ( a , b ) { return a . toLowerCase ( ) . indexOf ( b . toLowerCase ( ) ) > - 1 ; } ,
1313 'like' : function ( a , b ) { return a . indexOf ( b ) > - 1 ; } ,
1414 'in' : function ( a , b ) { return b . indexOf ( a ) > - 1 ; } ,
15- 'not_in' : function ( a , b ) { return b . indexOf ( a ) === - 1 ; }
15+ 'not_in' : function ( a , b ) { return b . indexOf ( a ) === - 1 ; } ,
16+ 'starts_with' : function ( a , b ) { const re = new RegExp ( '^' + b , '' ) ; return ! ! a . match ( re ) ; } ,
17+ 'istarts_with' : function ( a , b ) { const re = new RegExp ( '^' + b , 'i' ) ; return ! ! a . match ( re ) ; }
1618 } ;
1719
1820 class Query {
Original file line number Diff line number Diff line change @@ -394,6 +394,28 @@ describe('Test Suite', function() {
394394
395395 } ) ;
396396
397+ it ( 'should filter starts_with' , function ( ) {
398+
399+ expect ( nc . query ( ) . filter ( { name__starts_with : 'Keith' } ) . units ( ) . length ) . to . equal ( 1 ) ;
400+ expect ( nc . query ( ) . filter ( { name__starts_with : 'Keith' } ) . first ( ) ) . to . equal ( nc . find ( 1 ) ) ;
401+
402+ expect ( nc . query ( ) . filter ( { name__starts_with : 'K' } ) . units ( ) . length ) . to . equal ( 2 ) ;
403+ expect ( nc . query ( ) . filter ( { name__starts_with : 'K' } ) . first ( ) ) . to . equal ( nc . find ( 1 ) ) ;
404+ expect ( nc . query ( ) . filter ( { name__starts_with : 'K' } ) . units ( ) [ 1 ] ) . to . equal ( nc . find ( 4 ) ) ;
405+
406+ } ) ;
407+
408+ it ( 'should filter istarts_with' , function ( ) {
409+
410+ expect ( nc . query ( ) . filter ( { name__istarts_with : 'keith' } ) . units ( ) . length ) . to . equal ( 1 ) ;
411+ expect ( nc . query ( ) . filter ( { name__istarts_with : 'keith' } ) . first ( ) ) . to . equal ( nc . find ( 1 ) ) ;
412+
413+ expect ( nc . query ( ) . filter ( { name__istarts_with : 'k' } ) . units ( ) . length ) . to . equal ( 2 ) ;
414+ expect ( nc . query ( ) . filter ( { name__istarts_with : 'k' } ) . first ( ) ) . to . equal ( nc . find ( 1 ) ) ;
415+ expect ( nc . query ( ) . filter ( { name__istarts_with : 'k' } ) . units ( ) [ 1 ] ) . to . equal ( nc . find ( 4 ) ) ;
416+
417+ } ) ;
418+
397419 it ( 'should exclude as expected' , function ( ) {
398420
399421 expect ( nc . query ( ) . exclude ( { name__is : 'Keith' } ) . first ( ) ) . to . equal ( nc . find ( 2 ) ) ;
You can’t perform that action at this time.
0 commit comments