/*
 * 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());
    }
  }
}

@@ -20,10 +20,10 @@
 0-20
-09
+17
  Jet
@@ -649,30 +649,51 @@
 ort 
-junit.framework.Assert
+com.intellij.testFramework.PlatformTestCase
 ;%0Aim
@@ -713,24 +713,22 @@
 amework.
-TestCase
+Assert
 ;%0A%0A/**%0A 
@@ -854,16 +854,24 @@
 extends 
+Platform
 TestCase

this test should be PlatformTestCase