blob: 804a7b7c4e33dd1ad6db15e5004c0aacf9dab606 [file] [log] [blame]
/*
* Copyright 2000-2009 JetBrains s.r.o.
*
* Licensed 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 com.intellij.openapi.actionSystem;
import junit.framework.Assert;
import junit.framework.TestCase;
/**
* Created in IntelliJ IDEA.
* By: Alexander.Chernikov
* When: 10.10.2006, 20:19:35
*/
public class PresentationTest extends TestCase {
private final String[] inputTextsUnderscores = new String[]{"No mnemonic", "_First char",
"S_econd char", "Pre-last and not unique ch_ar", "Last cha_r", "Too late_", "Do__uble", "Dou_&ble",
"Complete double__", "Complete double_&", "Repea_te_d", "Re_peate&d"
/*,
"Alphanumeric only _! _@ _# _$ _% _^ _& _* _( _) _- __ _= _+ _| _\\ _/ _0"*/};
private final String[] inputTextsAmpersands = new String[]{"No mnemonic", "&First char", "S&econd char",
"Pre-last and not unique ch&ar", "Last cha&r", "Too late&", "Do&_uble", "Dou&&ble", "Complete double&_",
"Complete double&&", "Repea&te_d", "Re&peate&d"
/*,
"Alphanumeric only &! &@ &# &$ &% &^ && &* &( &) &- &_ &= &+ &| &\\ &/ &0"*/};
private final String[] menuTexts = new String[]{"No mnemonic", "First char", "Second char",
"Pre-last and not unique char", "Last char", "Too late", "Do_uble", "Dou&ble", "Complete double_",
"Complete double&", "Repeate_d", "Repeate&d"};
private final int[] mnemonics = new int[]{0, 'F', 'E', 'A', 'R', 0, 0, 0, 0, 0, 'T', 'P'};
private final int[] indeces = new int[]{-1, 0, 1, 26, 8, -1, -1, -1, -1, -1, 5, 2};
private final String[] fullMenuTexts = new String[]{"No mnemonic", "_First char", "S_econd char",
"Pre-last and not unique ch_ar", "Last cha_r", "Too late", "Do_uble", "Dou&ble", "Complete double_",
"Complete double&", "Repea_te_d", "Re_peate&d"};
public void testPresentationSetText() {
for (int i = 0; i < inputTextsUnderscores.length; i++) {
Presentation p = new Presentation();
p.setText(inputTextsUnderscores[i]);
Assert.assertEquals(menuTexts[i], p.getText());
Assert.assertEquals(mnemonics[i], p.getMnemonic());
Assert.assertEquals(indeces[i], p.getDisplayedMnemonicIndex());
Assert.assertEquals(fullMenuTexts[i], p.getTextWithMnemonic());
p.setText(inputTextsAmpersands[i]);
Assert.assertEquals(menuTexts[i], p.getText());
Assert.assertEquals(mnemonics[i], p.getMnemonic());
Assert.assertEquals(indeces[i], p.getDisplayedMnemonicIndex());
Assert.assertEquals(fullMenuTexts[i], p.getTextWithMnemonic());
Assert.assertTrue(menuTexts[i].length() > p.getDisplayedMnemonicIndex());
}
}
}