File tree Expand file tree Collapse file tree 3 files changed +35
-0
lines changed Expand file tree Collapse file tree 3 files changed +35
-0
lines changed Original file line number Diff line number Diff line change @@ -475,6 +475,13 @@ open class Query : AbstractQuery {
475475 set { self [ " snippetEllipsisText " ] = newValue }
476476 }
477477
478+ /// Restrict arrays in highlight and snippet results to items that matched the query. (defaults to `false`).
479+ /// When `false`, all array items are highlighted/snippeted. When `true`, only array items that matched at least partially are highlighted/snippeted.
480+ public var restrictHighlightAndSnippetArrays : Bool ? {
481+ get { return Query . parseBool ( self [ " restrictHighlightAndSnippetArrays " ] ) }
482+ set { self [ " restrictHighlightAndSnippetArrays " ] = Query . buildBool ( newValue) }
483+ }
484+
478485 // MARK: Numeric search parameters
479486
480487 /// Filter on numeric attributes.
@@ -962,6 +969,12 @@ open class Query : AbstractQuery {
962969 get { return AbstractQuery . toNumber ( self . getRankingInfo) }
963970 set { self . getRankingInfo = newValue? . boolValue }
964971 }
972+
973+ @objc ( restrictHighlightAndSnippetArrays)
974+ public var z_objc_restrictHighlightAndSnippetArrays : NSNumber ? {
975+ get { return AbstractQuery . toNumber ( self . restrictHighlightAndSnippetArrays) }
976+ set { self . restrictHighlightAndSnippetArrays = newValue? . boolValue }
977+ }
965978
966979 @objc ( distinct)
967980 public var z_objc_distinct : NSNumber ? {
Original file line number Diff line number Diff line change @@ -103,6 +103,7 @@ - (void)testQuery {
103103 query.highlightPreTag = @" <mark>" ;
104104 query.highlightPostTag = @" </mark>" ;
105105 query.snippetEllipsisText = @" ..." ;
106+ query.restrictHighlightAndSnippetArrays = false ;
106107 query.numericFilters = @[ @" foo > 0" , @" baz < 1000" ];
107108 query.tagFilters = @[ @" foo" , @" bar" ];
108109 query.distinct = [NSNumber numberWithInt: 6 ];
@@ -524,6 +525,17 @@ - (void)test_getRankingInfo {
524525 XCTAssertEqualObjects (query2.getRankingInfo , value);
525526}
526527
528+ - (void )test_restrictHighlightAndSnippetArrays {
529+ Query* query1 = [Query new ];
530+ XCTAssertNil (query1.restrictHighlightAndSnippetArrays );
531+
532+ NSNumber * value = [NSNumber numberWithBool: FALSE ];
533+ query1.restrictHighlightAndSnippetArrays = value;
534+ XCTAssertEqualObjects (query1[@" restrictHighlightAndSnippetArrays" ], @" false" );
535+ Query* query2 = [Query parse: [query1 build ]];
536+ XCTAssertEqualObjects (query2.restrictHighlightAndSnippetArrays , value);
537+ }
538+
527539- (void )test_distinct {
528540 Query* query1 = [Query new ];
529541 XCTAssertNil (query1.distinct );
Original file line number Diff line number Diff line change @@ -435,6 +435,16 @@ class QueryTests: XCTestCase {
435435 XCTAssertEqual ( query2. snippetEllipsisText, " … " )
436436 }
437437
438+ func test_restrictHighlightAndSnippetArrays( ) {
439+ let query1 = Query ( )
440+ XCTAssertNil ( query1. restrictHighlightAndSnippetArrays)
441+ query1. restrictHighlightAndSnippetArrays = false
442+ XCTAssertEqual ( query1. restrictHighlightAndSnippetArrays, false )
443+ XCTAssertEqual ( query1 [ " restrictHighlightAndSnippetArrays " ] , " false " )
444+ let query2 = Query . parse ( query1. build ( ) )
445+ XCTAssertEqual ( query2. restrictHighlightAndSnippetArrays, false )
446+ }
447+
438448 func test_analyticsTags( ) {
439449 let query1 = Query ( )
440450 XCTAssertNil ( query1. analyticsTags)
You can’t perform that action at this time.
0 commit comments