xref: /OpenGrok/opengrok-indexer/src/test/java/org/opengrok/indexer/search/SummarizerTest.java (revision 52d10766ed1db3b0fd2c59a0da7292a32f244b50)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * See LICENSE.txt included in this distribution for the specific
9  * language governing permissions and limitations under the License.
10  *
11  * When distributing Covered Code, include this CDDL HEADER in each
12  * file and include the License file at LICENSE.txt.
13  * If applicable, add the following below this CDDL HEADER, with the
14  * fields enclosed by brackets "[]" replaced with your own identifying
15  * information: Portions Copyright [yyyy] [name of copyright owner]
16  *
17  * CDDL HEADER END
18  */
19 
20 /*
21  * Copyright (c) 2010, 2021, Oracle and/or its affiliates. All rights reserved.
22  */
23 package org.opengrok.indexer.search;
24 
25 import org.apache.lucene.search.Query;
26 import org.junit.jupiter.api.Test;
27 import org.opengrok.indexer.analysis.CompatibleAnalyser;
28 
29 import static org.junit.jupiter.api.Assertions.assertNotNull;
30 
31 /**
32  * Unit tests for the Summarizer class.
33  */
34 public class SummarizerTest {
35     /**
36      * If the last token in a text fragment is a token we're searching for,
37      * and that token is also present earlier in the fragment, getSummary()
38      * used to throw a StringIndexOutOfBoundsException. Bug #15858.
39      * @throws Exception exception
40      */
41     @Test
bug15858()42     public void bug15858() throws Exception {
43         Query query = new QueryBuilder().setFreetext("beta").build();
44         Summarizer instance = new Summarizer(query, new CompatibleAnalyser());
45         // This call used to result in a StringIndexOutOfBoundsException
46         assertNotNull(instance.getSummary("alpha beta gamma delta beta"));
47     }
48 }
49