d4dd092ff5c8924d7b084c0a75432d8986559624mrate * CDDL HEADER START
d4dd092ff5c8924d7b084c0a75432d8986559624mrate * The contents of this file are subject to the terms of the
d4dd092ff5c8924d7b084c0a75432d8986559624mrate * Common Development and Distribution License (the "License").
d4dd092ff5c8924d7b084c0a75432d8986559624mrate * You may not use this file except in compliance with the License.
d4dd092ff5c8924d7b084c0a75432d8986559624mrate * See LICENSE.txt included in this distribution for the specific
d4dd092ff5c8924d7b084c0a75432d8986559624mrate * language governing permissions and limitations under the License.
d4dd092ff5c8924d7b084c0a75432d8986559624mrate * When distributing Covered Code, include this CDDL HEADER in each
d4dd092ff5c8924d7b084c0a75432d8986559624mrate * file and include the License file at LICENSE.txt.
d4dd092ff5c8924d7b084c0a75432d8986559624mrate * If applicable, add the following below this CDDL HEADER, with the
d4dd092ff5c8924d7b084c0a75432d8986559624mrate * fields enclosed by brackets "[]" replaced with your own identifying
d4dd092ff5c8924d7b084c0a75432d8986559624mrate * information: Portions Copyright [yyyy] [name of copyright owner]
d4dd092ff5c8924d7b084c0a75432d8986559624mrate * CDDL HEADER END
e94351dfdca192305581a6c67c7e45e3f86db967Lubos Kosco * Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
b4a94e1e9bfb77dcba635f9e3cfd4fd4276b64ccLubos Koscoimport static org.opensolaris.opengrok.analysis.AnalyzerGuru.string_ft_nstored_nanalyzed_norms;
d4dd092ff5c8924d7b084c0a75432d8986559624mrateimport org.opensolaris.opengrok.configuration.RuntimeEnvironment;
d4dd092ff5c8924d7b084c0a75432d8986559624mrate * @author kotal
eb1776903fd1f998009e97470a65fba8a499a0d9Lubos Kosco private final String ctagsProperty = "org.opensolaris.opengrok.analysis.Ctags";
d4dd092ff5c8924d7b084c0a75432d8986559624mrate CxxAnalyzerFactory analFact = new CxxAnalyzerFactory();
d4dd092ff5c8924d7b084c0a75432d8986559624mrate RuntimeEnvironment env = RuntimeEnvironment.getInstance();
d4dd092ff5c8924d7b084c0a75432d8986559624mrate env.setCtags(System.getProperty(ctagsProperty, "ctags"));
d4dd092ff5c8924d7b084c0a75432d8986559624mrate private static StreamSource getStreamSource(final String fname) {
d4dd092ff5c8924d7b084c0a75432d8986559624mrate return new StreamSource() {
d4dd092ff5c8924d7b084c0a75432d8986559624mrate ctags.setBinary(RuntimeEnvironment.getInstance().getCtags());
afbca4cfdb6c7468d7c07c56dc1dc5173456903bmrate repository.create(CxxAnalyzerFactoryTest.class.getResourceAsStream(
e94351dfdca192305581a6c67c7e45e3f86db967Lubos Kosco public static void tearDownClass() throws Exception {
d4dd092ff5c8924d7b084c0a75432d8986559624mrate * Test of writeXref method, of class CAnalyzerFactory.
afbca4cfdb6c7468d7c07c56dc1dc5173456903bmrate String path = repository.getSourceRoot() + "/c/sample.cxx";
afbca4cfdb6c7468d7c07c56dc1dc5173456903bmrate analyzer.analyze(doc, getStreamSource(path), xrefOut);
d4dd092ff5c8924d7b084c0a75432d8986559624mrate IndexableField scopesField = doc.getField(QueryBuilder.SCOPES);
d4dd092ff5c8924d7b084c0a75432d8986559624mrate Scopes scopes = Scopes.deserialize(scopesField.binaryValue().bytes);
a48145afca0658c89beb5e9ccd4ef3aaea602476mrate assertEquals("SomeClass", scopes.getScope(i).getName());
e94351dfdca192305581a6c67c7e45e3f86db967Lubos Kosco assertEquals("SomeClass", scopes.getScope(i).getNamespace());
a48145afca0658c89beb5e9ccd4ef3aaea602476mrate assertEquals("~SomeClass", scopes.getScope(i).getName());
e94351dfdca192305581a6c67c7e45e3f86db967Lubos Kosco assertEquals("SomeClass", scopes.getScope(i).getNamespace());
a48145afca0658c89beb5e9ccd4ef3aaea602476mrate assertEquals("MemberFunc", scopes.getScope(i).getName());
e94351dfdca192305581a6c67c7e45e3f86db967Lubos Kosco assertEquals("SomeClass", scopes.getScope(i).getNamespace());
a48145afca0658c89beb5e9ccd4ef3aaea602476mrate assertEquals("operator ++", scopes.getScope(i).getName());
e94351dfdca192305581a6c67c7e45e3f86db967Lubos Kosco assertEquals("SomeClass", scopes.getScope(i).getNamespace());
a48145afca0658c89beb5e9ccd4ef3aaea602476mrate assertEquals("TemplateMember", scopes.getScope(i).getName());
e94351dfdca192305581a6c67c7e45e3f86db967Lubos Kosco assertEquals("SomeClass", scopes.getScope(i).getNamespace());
a48145afca0658c89beb5e9ccd4ef3aaea602476mrate assertEquals("SomeFunc", scopes.getScope(i).getName());
e94351dfdca192305581a6c67c7e45e3f86db967Lubos Kosco assertEquals("ns1::NamespacedClass", scopes.getScope(i).getNamespace());