/******************************************************************************** * Copyright (C) 2019 TypeFox and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. * * This Source Code may also be made available under the following Secondary * Licenses when the conditions for such availability set forth in the Eclipse * Public License v. 2.0 are satisfied: GNU General Public License, version 2 * with the GNU Classpath Exception which is available at * https://www.gnu.org/software/classpath/license.html. * * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ import { Tree, TreeImpl } from '../tree'; import { TreeModel, TreeModelImpl } from '../tree-model'; import { Container } from 'inversify'; import { TreeSelectionServiceImpl } from '../tree-selection-impl'; import { TreeSelectionService } from '../tree-selection'; import { TreeExpansionService, TreeExpansionServiceImpl } from '../tree-expansion'; import { TreeNavigationService } from '../tree-navigation'; import { TreeSearch } from '../tree-search'; import { FuzzySearch } from '../fuzzy-search'; import { MockLogger } from '@gedit/utils/lib/test/mock-logger'; import { bindContributionProvider, Logger } from '@gedit/utils'; import { LabelProvider, LabelProviderContribution } from '@gedit/theme'; export function createTreeTestContainer(): Container { const container = new Container({defaultScope: 'Singleton'}); container.bind(TreeImpl).toSelf(); container.bind(Tree).toService(TreeImpl); container.bind(TreeSelectionServiceImpl).toSelf(); container.bind(TreeSelectionService).toService(TreeSelectionServiceImpl); container.bind(TreeExpansionServiceImpl).toSelf(); container.bind(TreeExpansionService).toService(TreeExpansionServiceImpl); container.bind(TreeNavigationService).toSelf(); container.bind(TreeModelImpl).toSelf(); container.bind(TreeModel).toService(TreeModelImpl); container.bind(TreeSearch).toSelf(); container.bind(FuzzySearch).toSelf(); container.bind(MockLogger).toSelf(); container.bind(Logger).to(MockLogger); bindContributionProvider(container, LabelProviderContribution); container.bind(LabelProvider).toSelf().inSingletonScope(); return container; }