/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.xcmis.search.query.content; import org.junit.Ignore; /** * <code>UpperLowerCaseTest</code> performs tests with upper- and lower-case * operands. */ @Ignore public class UpperLowerCaseTest extends AbstractQOMTest { // // private Node node; // // protected void setUp() throws Exception { // super.setUp(); // node = testRootNode.addNode(nodeName1, testNodeType); // node.setProperty(propertyName1, "abc"); // node.setProperty(propertyName2, "ABC"); // superuser.save(); // } // // protected void tearDown() throws Exception { // node = null; // super.tearDown(); // } // // public void testLength() throws RepositoryException { // String lenStr = String.valueOf(node.getProperty(propertyName1).getLength()); // // upper case // checkQueries(qf.length(qf.propertyValue("s", propertyName1)), // true, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{lenStr.toUpperCase()}, // PropertyType.STRING, // new boolean[]{true}); // // // lower case // checkQueries(qf.length(qf.propertyValue("s", propertyName1)), // false, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{lenStr.toLowerCase()}, // PropertyType.STRING, // new boolean[]{true}); // } // // public void testNodeLocalName() throws RepositoryException { // String localName = getLocalName(node.getName()); // // upper case // checkQueries(qf.nodeLocalName("s"), // true, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{localName.toLowerCase(), localName.toUpperCase()}, // PropertyType.STRING, // new boolean[]{false, true}); // // // lower case // checkQueries(qf.nodeLocalName("s"), // false, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{localName.toLowerCase(), localName.toUpperCase()}, // PropertyType.STRING, // new boolean[]{true, false}); // } // // public void testNodeName() throws RepositoryException { // // upper case // checkQueries(qf.nodeName("s"), // true, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{node.getName().toLowerCase(), node.getName().toUpperCase()}, // PropertyType.NAME, // new boolean[]{false, true}); // // // lower case // checkQueries(qf.nodeName("s"), // false, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{node.getName().toLowerCase(), node.getName().toUpperCase()}, // PropertyType.NAME, // new boolean[]{true, false}); // } // // public void testPropertyValue() throws RepositoryException { // // upper case // checkQueries(qf.propertyValue("s", propertyName1), // true, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{"abc", "Abc", "aBc", "abC", "ABC"}, // PropertyType.STRING, // new boolean[]{false, false, false, false, true}); // // checkQueries(qf.propertyValue("s", propertyName2), // true, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{"abc", "Abc", "aBc", "abC", "ABC"}, // PropertyType.STRING, // new boolean[]{false, false, false, false, true}); // // // lower case // checkQueries(qf.propertyValue("s", propertyName1), // false, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{"abc", "Abc", "aBc", "abC", "ABC"}, // PropertyType.STRING, // new boolean[]{true, false, false, false, false}); // // checkQueries(qf.propertyValue("s", propertyName2), // false, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{"abc", "Abc", "aBc", "abC", "ABC"}, // PropertyType.STRING, // new boolean[]{true, false, false, false, false}); // } // // public void testUpperLowerCase() throws RepositoryException { // // first upper case, then lower case again // checkQueries(qf.upperCase(qf.propertyValue("s", propertyName1)), // false, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{"abc", "Abc", "aBc", "abC", "ABC"}, // PropertyType.STRING, // new boolean[]{true, false, false, false, false}); // } // // public void testUpperCaseTwice() throws RepositoryException { // // upper case twice // checkQueries(qf.upperCase(qf.propertyValue("s", propertyName1)), // true, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{"abc", "Abc", "aBc", "abC", "ABC"}, // PropertyType.STRING, // new boolean[]{false, false, false, false, true}); // } // // public void testLowerUpperCase() throws RepositoryException { // // first lower case, then upper case again // checkQueries(qf.lowerCase(qf.propertyValue("s", propertyName1)), // true, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{"abc", "Abc", "aBc", "abC", "ABC"}, // PropertyType.STRING, // new boolean[]{false, false, false, false, true}); // } // // public void testLowerCaseTwice() throws RepositoryException { // // lower case twice // checkQueries(qf.lowerCase(qf.propertyValue("s", propertyName1)), // false, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, // new String[]{"abc", "Abc", "aBc", "abC", "ABC"}, // PropertyType.STRING, // new boolean[]{true, false, false, false, false}); // } // // //-------------------------------< internal >------------------------------- // // private void checkQueries(DynamicOperand operand, // boolean toUpper, // String operator, // String[] literals, // int type, // boolean[] matches) throws RepositoryException { // for (int i = 0; i < literals.length; i++) { // QueryObjectModel qom = createQuery(operand, toUpper, operator, vf.createValue(literals[i], type)); // checkQOM(qom, matches[i] ? new Node[]{node} : new Node[0]); // } // } // // private QueryObjectModel createQuery(DynamicOperand operand, // boolean toUpper, // String operator, // Value literal) // throws RepositoryException { // if (toUpper) { // operand = qf.upperCase(operand); // } else { // operand = qf.lowerCase(operand); // } // return qf.createQuery( // qf.selector(testNodeType, "s"), // qf.and( // qf.childNode("s", testRoot), // qf.comparison( // operand, // operator, // qf.literal(literal) // ) // ), null, null); // } }