2
* Licensed to the Apache Software Foundation (ASF) under one or more
3
* contributor license agreements. See the NOTICE file distributed with
4
* this work for additional information regarding copyright ownership.
5
* The ASF licenses this file to You under the Apache License, Version 2.0
6
* (the "License"); you may not use this file except in compliance with
7
* the License. You may obtain a copy of the License at
9
* http://www.apache.org/licenses/LICENSE-2.0
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
18
package org.apache.solr.analysis;
20
import org.apache.lucene.util.LuceneTestCase;
22
public class TestMappingCharFilterFactory extends LuceneTestCase {
23
public void testParseString() throws Exception {
25
MappingCharFilterFactory f = new MappingCharFilterFactory();
28
f.parseString( "\\" );
29
fail( "escape character cannot be alone." );
31
catch( RuntimeException expected ){}
33
assertEquals( "unexpected escaped characters",
34
"\\\"\n\t\r\b\f", f.parseString( "\\\\\\\"\\n\\t\\r\\b\\f" ) );
35
assertEquals( "unexpected escaped characters",
36
"A", f.parseString( "\\u0041" ) );
37
assertEquals( "unexpected escaped characters",
38
"AB", f.parseString( "\\u0041\\u0042" ) );
41
f.parseString( "\\u000" );
42
fail( "invalid length check." );
44
catch( RuntimeException expected ){}
47
f.parseString( "\\u123x" );
48
fail( "invalid hex number check." );
50
catch( NumberFormatException expected ){}