/* * Copyright 2000-2017 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.wm.impl; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.wm.ToolWindowEP; import com.intellij.openapi.wm.ToolWindowId; import com.intellij.usageView.impl.UsageViewManagerImpl; import com.intellij.util.JdomKt; import java.util.Arrays; /** * @author Vassiliy Kudryashov */ public class HiddenSidebarButtonTest extends ToolWindowManagerTestCase { private static final String LAYOUT = "" + "" + "" + "" + ""; private static final String[] IDS = {ToolWindowId.TODO_VIEW, ToolWindowId.FIND, ToolWindowId.PROJECT_VIEW}; private static final boolean[] ESTIMATED_TO_SHOW = {false, true, true}; private static final boolean[] ESTIMATED_VISIBILITY = {false, false, true}; public void testHiddenButton() throws Exception { DesktopLayout layout = myManager.getLayout(); layout.readExternal(JdomKt.loadElement(LAYOUT)); for (String ID : IDS) { assertFalse(layout.isToolWindowRegistered(ID)); assertTrue(layout.isToolWindowUnregistered(ID)); } ToolWindowEP[] extensions = Extensions.getExtensions(ToolWindowEP.EP_NAME); for (ToolWindowEP extension : extensions) { if (Arrays.asList(ToolWindowId.TODO_VIEW, ToolWindowId.FIND, ToolWindowId.PROJECT_VIEW).contains(extension.id)) { myManager.initToolWindow(extension); } } new UsageViewManagerImpl(myManager.getProject(), myManager); for (int i = 0; i < IDS.length; i++) { assertTrue(layout.isToolWindowRegistered(IDS[i])); assertFalse(layout.isToolWindowUnregistered(IDS[i])); assertTrue(ESTIMATED_TO_SHOW[i] == layout.getInfo(IDS[i], true).isShowStripeButton()); assertTrue(ESTIMATED_VISIBILITY[i] == myManager.getStripeButton(IDS[i]).isVisible()); } } }