import it.authorisation.ProvisioningPermissionTest;
import it.authorisation.QualityProfileAdminPermissionTest;
import it.authorisation.SystemAdminPermissionTest;
+import it.customMeasure.CustomMeasuresTest;
import it.i18n.I18nTest;
+import it.measure.MeasuresWsTest;
+import it.measure.NewDebtRatioMeasureTest;
+import it.measure.ProjectDrilldownTest;
+import it.measure.ProjectOverviewTest;
+import it.measure.ProjectWidgetsTest;
+import it.measure.TechnicalDebtMeasureVariationTest;
+import it.measureFilter.MeasureFiltersTest;
import it.measureHistory.DifferentialPeriodsTest;
import it.measureHistory.HistoryUiTest;
import it.measureHistory.SincePreviousVersionHistoryTest;
import it.projectAdministration.BackgroundTasksTest;
import it.projectAdministration.BulkDeletionTest;
import it.projectAdministration.ProjectAdministrationTest;
-import it.projectServices.AllProjectsTest;
-import it.projectServices.ProjectCodeTest;
-import it.projectServices.ProjectComparisonTest;
-import it.projectServices.ProjectDrilldownTest;
-import it.projectServices.ProjectOverviewTest;
-import it.projectServices.ProjectWidgetsTest;
import it.qualityGate.QualityGateNotificationTest;
import it.qualityGate.QualityGateTest;
import it.qualityGate.QualityGateUiTest;
import it.settings.SettingsTest;
import it.settings.SubCategoriesTest;
import it.sourceCode.EncodingTest;
+import it.sourceCode.HighlightingTest;
+import it.sourceCode.ProjectCodeTest;
import org.junit.ClassRule;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
BulkDeletionTest.class,
ProjectAdministrationTest.class,
BackgroundTasksTest.class,
- // project pages
- ProjectOverviewTest.class,
- ProjectCodeTest.class,
- ProjectDrilldownTest.class,
- ProjectComparisonTest.class,
- AllProjectsTest.class,
- ProjectWidgetsTest.class,
- EncodingTest.class,
// settings
PropertySetsTest.class,
SubCategoriesTest.class,
ProvisioningPermissionTest.class,
QualityProfileAdminPermissionTest.class,
SystemAdminPermissionTest.class,
+ // custom measure
+ CustomMeasuresTest.class,
+ // measure
+ NewDebtRatioMeasureTest.class,
+ ProjectDrilldownTest.class,
+ ProjectOverviewTest.class,
+ ProjectWidgetsTest.class,
+ MeasureFiltersTest.class,
+ MeasuresWsTest.class,
+ TechnicalDebtMeasureVariationTest.class,
// measure history
DifferentialPeriodsTest.class,
HistoryUiTest.class,
TimeMachineTest.class,
// action plan
ActionPlanTest.class,
- ActionPlanUiTest.class
+ ActionPlanUiTest.class,
+ // source code
+ EncodingTest.class,
+ HighlightingTest.class,
+ ProjectCodeTest.class
+
})
public class Category1Suite {
import it.component.ComponentsWsTest;
import it.component.ProjectSearchTest;
import it.componentDashboard.DashboardTest;
-import it.customMeasure.CustomMeasuresTest;
+import it.componentSearch.AllProjectsTest;
import it.dbCleaner.PurgeTest;
import it.duplication.CrossProjectDuplicationsOnRemoveFileTest;
import it.duplication.CrossProjectDuplicationsTest;
import it.duplication.DuplicationsTest;
-import it.highlighting.HighlightingTest;
-import it.measure.NewDebtRatioMeasureTest;
-import it.measure.TechnicalDebtMeasureVariationTest;
-import it.measureFilter.MeasureFiltersTest;
+import it.projectComparison.ProjectComparisonTest;
import it.projectEvent.EventTest;
import it.serverSystem.ServerSystemTest;
import it.user.BaseIdentityProviderTest;
@RunWith(Suite.class)
@Suite.SuiteClasses({
- // custom measure
- CustomMeasuresTest.class,
- // measure
- TechnicalDebtMeasureVariationTest.class,
- NewDebtRatioMeasureTest.class,
- MeasureFiltersTest.class,
// server system
ServerSystemTest.class,
// user
PurgeTest.class,
// project event
EventTest.class,
- // highlighting
- HighlightingTest.class,
- DashboardTest.class
+ // component dashboard
+ DashboardTest.class,
+ // project comparison
+ ProjectComparisonTest.class,
+ // component search
+ AllProjectsTest.class
})
public class Category4Suite {
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package it.componentSearch;
+
+import com.sonar.orchestrator.Orchestrator;
+import com.sonar.orchestrator.build.SonarRunner;
+import com.sonar.orchestrator.selenium.Selenese;
+import it.Category4Suite;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Test;
+import util.selenium.SeleneseTest;
+
+import static util.ItUtils.projectDir;
+
+public class AllProjectsTest {
+
+ @ClassRule
+ public static Orchestrator orchestrator = Category4Suite.ORCHESTRATOR;
+
+ @BeforeClass
+ public static void inspectProject() {
+ orchestrator.executeBuild(
+ SonarRunner.create(projectDir("shared/xoo-sample"))
+ .setProjectKey("all-project-test-project")
+ .setProjectName("AllProjectsTest Project")
+ );
+ }
+
+ @Test
+ public void test_all_projects_page() {
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_all_projects_page",
+ "/componentSearch/AllProjectsTest/test_all_projects_page.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
+
+}
import com.sonar.orchestrator.Orchestrator;
import com.sonar.orchestrator.build.SonarRunner;
-import it.Category4Suite;
+import it.Category1Suite;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.junit.Before;
public static final String PROJECT_KEY = "sample";
@ClassRule
- public static Orchestrator orchestrator = Category4Suite.ORCHESTRATOR;
+ public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
@Before
public void deleteProjects() {
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2016 SonarSource SA
- * mailto:contact AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package it.highlighting;
-
-import com.sonar.orchestrator.Orchestrator;
-import com.sonar.orchestrator.selenium.Selenese;
-import it.Category4Suite;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-
-import static util.ItUtils.runProjectAnalysis;
-
-public class HighlightingTest {
-
- @ClassRule
- public static Orchestrator orchestrator = Category4Suite.ORCHESTRATOR;
-
- @Before
- public void deleteData() {
- orchestrator.resetData();
- }
-
- @Test
- public void highlight_source_code_and_symbols_usage() throws Exception {
- runProjectAnalysis(orchestrator, "highlighting/xoo-sample-with-highlighting-v2");
-
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("highlight_source_code_and_symbols_usage",
- // SONAR-3893 & SONAR-4247
- "/highlighting/HighlightingTest/syntax-highlighting.html",
- // SONAR-4249 & SONAR-4250
- "/highlighting/HighlightingTest/symbol-usages-highlighting.html"
- ).build();
- orchestrator.executeSelenese(selenese);
- }
-
- // Check that E/S index is updated when file content is unchanged but plugin generates different syntax/symbol highlighting
- @Test
- public void update_highlighting_even_when_code_unchanged() throws Exception {
- runProjectAnalysis(orchestrator, "highlighting/xoo-sample-with-highlighting-v1");
-
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("syntax-highlighting-v1",
- "/highlighting/HighlightingTest/syntax-highlighting-v1.html").build();
- orchestrator.executeSelenese(selenese);
-
- runProjectAnalysis(orchestrator, "highlighting/xoo-sample-with-highlighting-v2");
-
- selenese = Selenese.builder().setHtmlTestsInClasspath("syntax-highlighting-v2",
- "/highlighting/HighlightingTest/syntax-highlighting-v2.html",
- "/highlighting/HighlightingTest/symbol-usages-highlighting.html").build();
- orchestrator.executeSelenese(selenese);
- }
-}
import com.sonar.orchestrator.Orchestrator;
import com.sonar.orchestrator.build.SonarRunner;
-import it.Category4Suite;
+import it.Category1Suite;
import java.util.List;
import org.junit.AfterClass;
import org.junit.Before;
public class MeasuresWsTest {
@ClassRule
- public static final Orchestrator orchestrator = Category4Suite.ORCHESTRATOR;
+ public static final Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
private static final String FILE_KEY = "sample:src/main/xoo/sample/Sample.xoo";
WsClient wsClient;
import com.sonar.orchestrator.Orchestrator;
import com.sonar.orchestrator.locator.FileLocation;
-import it.Category4Suite;
+import it.Category1Suite;
import java.util.List;
import javax.annotation.Nullable;
import org.junit.AfterClass;
private static final String NEW_DEBT_RATIO_METRIC_KEY = "new_sqale_debt_ratio";
@ClassRule
- public static Orchestrator orchestrator = Category4Suite.ORCHESTRATOR;
+ public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
@BeforeClass
public static void initPeriods() throws Exception {
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package it.measure;
+
+import com.sonar.orchestrator.Orchestrator;
+import com.sonar.orchestrator.build.SonarRunner;
+import com.sonar.orchestrator.selenium.Selenese;
+import it.Category1Suite;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Test;
+import util.selenium.SeleneseTest;
+
+import static util.ItUtils.projectDir;
+
+public class ProjectDrilldownTest {
+
+ @ClassRule
+ public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
+
+ @BeforeClass
+ public static void inspectProject() {
+ orchestrator.executeBuild(
+ SonarRunner.create(projectDir("shared/xoo-sample"))
+ .setProjectKey("project-drilldown-test-project")
+ .setProjectName("ProjectDrilldownTest Project")
+ );
+ }
+
+ @Test
+ public void should_display_measure_drilldown() {
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("should_display_measure_drilldown",
+ "/measure/ProjectDrilldownTest/should_display_measure_drilldown.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
+
+}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package it.measure;
+
+import com.sonar.orchestrator.Orchestrator;
+import com.sonar.orchestrator.build.SonarRunner;
+import com.sonar.orchestrator.selenium.Selenese;
+import it.Category1Suite;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import util.selenium.SeleneseTest;
+
+import static util.ItUtils.projectDir;
+
+public class ProjectOverviewTest {
+
+ @ClassRule
+ public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
+
+ @Before
+ public void resetData() throws Exception {
+ orchestrator.resetData();
+ }
+
+ @Test
+ public void test_project_overview_after_first_analysis() throws Exception {
+ executeBuild("shared/xoo-sample", "project-for-overview", "Project For Overview");
+
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_project_overview_after_first_analysis",
+ "/measure/ProjectOverviewTest/test_project_overview_after_first_analysis.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
+
+ @Test
+ public void test_ut_coverage_on_project_overview() throws Exception {
+ executeBuild("testing/xoo-sample-ut-coverage", "project-for-overview-ut-coverage", "Project For Overview UT");
+
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_ut_coverage_on_project_overview",
+ "/measure/ProjectOverviewTest/test_ut_coverage_on_project_overview.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
+
+ @Test
+ public void test_it_coverage_on_project_overview() throws Exception {
+ executeBuild("testing/xoo-sample-it-coverage", "project-for-overview-it-coverage", "Project For Overview IT");
+
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_it_coverage_onfi_project_overview",
+ "/measure/ProjectOverviewTest/test_it_coverage_on_project_overview.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
+
+ @Test
+ public void test_overall_coverage_on_project_overview() throws Exception {
+ executeBuild("testing/xoo-sample-overall-coverage", "project-for-overview-overall-coverage", "Project For Overview Overall");
+
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_overall_coverage_on_project_overview",
+ "/measure/ProjectOverviewTest/test_overall_coverage_on_project_overview.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
+
+ @Test
+ public void should_display_a_nice_error_when_requesting_unknown_project() {
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("should_display_a_nice_error_when_requesting_unknown_project",
+ "/measure/ProjectOverviewTest/should-display-nice-error-on-unknown-project.html").build();
+ orchestrator.executeSelenese(selenese);
+ }
+
+ private void executeBuild(String projectLocation, String projectKey, String projectName) {
+ orchestrator.executeBuild(
+ SonarRunner.create(projectDir(projectLocation))
+ .setProjectKey(projectKey)
+ .setProjectName(projectName)
+ );
+ }
+
+}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package it.measure;
+
+import com.sonar.orchestrator.Orchestrator;
+import com.sonar.orchestrator.build.SonarRunner;
+import com.sonar.orchestrator.selenium.Selenese;
+import it.Category1Suite;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.sonar.wsclient.services.ResourceQuery;
+import util.selenium.SeleneseTest;
+
+import static util.ItUtils.projectDir;
+
+public class ProjectWidgetsTest {
+
+ @ClassRule
+ public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
+
+ @BeforeClass
+ public static void inspectProject() {
+ orchestrator.executeBuild(
+ SonarRunner.create(projectDir("shared/xoo-sample"))
+ .setProjectKey("project-widgets-test-project")
+ .setProjectName("ProjectWidgetsTest Project")
+ );
+ }
+
+ @Test
+ public void hotspots() {
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("hotspots",
+ "/measure/ProjectWidgetsTest/hotspots/hotspot-metric-widget.html",
+ "/measure/ProjectWidgetsTest/hotspots/hide-if-no-measures.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
+
+ @Test
+ public void complexity() {
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("complexity",
+ "/measure/ProjectWidgetsTest/complexity/complexity-widget.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
+
+ @Test
+ public void description() {
+ long projectId = orchestrator.getServer().getWsClient()
+ .find(ResourceQuery.create("project-widgets-test-project")).getId();
+ long qualityGateId = orchestrator.getServer().adminWsClient().qualityGateClient().show("SonarQube way").id();
+ orchestrator.getServer().adminWsClient().qualityGateClient().selectProject(qualityGateId, projectId);
+
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("description",
+ "/measure/ProjectWidgetsTest/description/description-widget.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
+
+ @Test
+ @Ignore
+ public void custom_measures() {
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("custom_measures",
+ "/measure/ProjectWidgetsTest/custom_measures/should-exclude-new-metrics.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
+
+}
import com.sonar.orchestrator.Orchestrator;
import com.sonar.orchestrator.locator.FileLocation;
-import it.Category4Suite;
+import it.Category1Suite;
import java.util.List;
import org.junit.AfterClass;
import org.junit.Before;
public class TechnicalDebtMeasureVariationTest {
@ClassRule
- public static Orchestrator orchestrator = Category4Suite.ORCHESTRATOR;
+ public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
@BeforeClass
public static void initPeriods() throws Exception {
import com.sonar.orchestrator.Orchestrator;
import com.sonar.orchestrator.build.SonarRunner;
import com.sonar.orchestrator.selenium.Selenese;
-import it.Category4Suite;
+import it.Category1Suite;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.ClassRule;
public class MeasureFiltersTest {
@ClassRule
- public static Orchestrator orchestrator = Category4Suite.ORCHESTRATOR;
+ public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
public static WsClient adminWsClient;
@BeforeClass
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package it.projectComparison;
+
+import com.sonar.orchestrator.Orchestrator;
+import com.sonar.orchestrator.build.SonarRunner;
+import com.sonar.orchestrator.selenium.Selenese;
+import it.Category4Suite;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
+import util.selenium.SeleneseTest;
+
+import static util.ItUtils.projectDir;
+
+public class ProjectComparisonTest {
+
+ @ClassRule
+ public static Orchestrator orchestrator = Category4Suite.ORCHESTRATOR;
+
+ @BeforeClass
+ public static void inspectProject() {
+ orchestrator.executeBuild(
+ SonarRunner.create(projectDir("shared/xoo-sample"))
+ .setProjectKey("project-comparison-test-project")
+ .setProjectName("ProjectComparisonTest Project")
+ );
+ }
+
+ @Test
+ @Ignore("need to find a way to type into invisible input fields")
+ public void test_project_comparison_service() {
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_project_comparison_service",
+ "/projectComparison/ProjectComparisonTest/should-display-basic-set-of-metrics.html",
+ "/projectComparison/ProjectComparisonTest/should-add-projects.html",
+ "/projectComparison/ProjectComparisonTest/should-move-and-remove-projects.html",
+ "/projectComparison/ProjectComparisonTest/should-add-metrics.html",
+ "/projectComparison/ProjectComparisonTest/should-not-add-differential-metrics.html",
+ "/projectComparison/ProjectComparisonTest/should-move-and-remove-metrics.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
+
+}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2016 SonarSource SA
- * mailto:contact AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package it.projectServices;
-
-import com.sonar.orchestrator.Orchestrator;
-import com.sonar.orchestrator.build.SonarRunner;
-import com.sonar.orchestrator.selenium.Selenese;
-import it.Category1Suite;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import util.selenium.SeleneseTest;
-
-import static util.ItUtils.projectDir;
-
-public class AllProjectsTest {
-
- @ClassRule
- public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
-
- @BeforeClass
- public static void inspectProject() {
- orchestrator.executeBuild(
- SonarRunner.create(projectDir("shared/xoo-sample"))
- .setProjectKey("all-project-test-project")
- .setProjectName("AllProjectsTest Project")
- );
- }
-
- @Test
- public void test_all_projects_page() {
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_all_projects_page",
- "/projectServices/AllProjectsTest/test_all_projects_page.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- }
-
-}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2016 SonarSource SA
- * mailto:contact AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package it.projectServices;
-
-import com.sonar.orchestrator.Orchestrator;
-import com.sonar.orchestrator.build.SonarRunner;
-import com.sonar.orchestrator.selenium.Selenese;
-import it.Category1Suite;
-import org.junit.ClassRule;
-import org.junit.Test;
-import util.selenium.SeleneseTest;
-
-import static util.ItUtils.projectDir;
-
-public class ProjectCodeTest {
-
- @ClassRule
- public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
-
- @Test
- public void test_project_code_page() throws Exception {
- executeBuild("shared/xoo-sample", "project-for-code", "Project For Code");
-
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_project_code_page",
- "/projectServices/ProjectCodeTest/test_project_code_page.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- }
-
- @Test
- public void code_page_should_expand_root_dir() throws Exception {
- executeBuild("shared/xoo-sample-with-root-dir", "project-for-code-root-dir", "Project For Code");
-
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("code_page_should_expand_root_dir",
- "/projectServices/ProjectCodeTest/code_page_should_expand_root_dir.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- }
-
- private void executeBuild(String projectLocation, String projectKey, String projectName) {
- orchestrator.executeBuild(
- SonarRunner.create(projectDir(projectLocation))
- .setProjectKey(projectKey)
- .setProjectName(projectName)
- );
- }
-
-}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2016 SonarSource SA
- * mailto:contact AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package it.projectServices;
-
-import com.sonar.orchestrator.Orchestrator;
-import com.sonar.orchestrator.build.SonarRunner;
-import com.sonar.orchestrator.selenium.Selenese;
-import it.Category1Suite;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Ignore;
-import org.junit.Test;
-import util.selenium.SeleneseTest;
-
-import static util.ItUtils.projectDir;
-
-public class ProjectComparisonTest {
-
- @ClassRule
- public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
-
- @BeforeClass
- public static void inspectProject() {
- orchestrator.executeBuild(
- SonarRunner.create(projectDir("shared/xoo-sample"))
- .setProjectKey("project-comparison-test-project")
- .setProjectName("ProjectComparisonTest Project")
- );
- }
-
- @Test
- @Ignore("need to find a way to type into invisible input fields")
- public void test_project_comparison_service() {
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_project_comparison_service",
- "/projectServices/ProjectComparisonTest/should-display-basic-set-of-metrics.html",
- "/projectServices/ProjectComparisonTest/should-add-projects.html",
- "/projectServices/ProjectComparisonTest/should-move-and-remove-projects.html",
- "/projectServices/ProjectComparisonTest/should-add-metrics.html",
- "/projectServices/ProjectComparisonTest/should-not-add-differential-metrics.html",
- "/projectServices/ProjectComparisonTest/should-move-and-remove-metrics.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- }
-
-}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2016 SonarSource SA
- * mailto:contact AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package it.projectServices;
-
-import com.sonar.orchestrator.Orchestrator;
-import com.sonar.orchestrator.build.SonarRunner;
-import com.sonar.orchestrator.selenium.Selenese;
-import it.Category1Suite;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.sonar.wsclient.Sonar;
-import org.sonar.wsclient.services.Resource;
-import org.sonar.wsclient.services.ResourceQuery;
-import util.selenium.SeleneseTest;
-
-import java.util.List;
-
-import static util.ItUtils.projectDir;
-
-public class ProjectDrilldownTest {
-
- @ClassRule
- public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
-
- @BeforeClass
- public static void inspectProject() {
- orchestrator.executeBuild(
- SonarRunner.create(projectDir("shared/xoo-sample"))
- .setProjectKey("project-drilldown-test-project")
- .setProjectName("ProjectDrilldownTest Project")
- );
- }
-
- @Test
- public void should_display_measure_drilldown() {
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("should_display_measure_drilldown",
- "/projectServices/ProjectDrilldownTest/should_display_measure_drilldown.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- }
-
-}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2016 SonarSource SA
- * mailto:contact AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package it.projectServices;
-
-import com.sonar.orchestrator.Orchestrator;
-import com.sonar.orchestrator.build.SonarRunner;
-import com.sonar.orchestrator.selenium.Selenese;
-import it.Category1Suite;
-import org.junit.ClassRule;
-import org.junit.Test;
-import util.selenium.SeleneseTest;
-
-import static util.ItUtils.projectDir;
-
-public class ProjectOverviewTest {
-
- @ClassRule
- public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
-
- @Test
- public void test_project_overview_after_first_analysis() throws Exception {
- executeBuild("shared/xoo-sample", "project-for-overview", "Project For Overview");
-
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_project_overview_after_first_analysis",
- "/projectServices/ProjectOverviewTest/test_project_overview_after_first_analysis.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- }
-
- @Test
- public void test_ut_coverage_on_project_overview() throws Exception {
- executeBuild("testing/xoo-sample-ut-coverage", "project-for-overview-ut-coverage", "Project For Overview UT");
-
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_ut_coverage_on_project_overview",
- "/projectServices/ProjectOverviewTest/test_ut_coverage_on_project_overview.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- }
-
- @Test
- public void test_it_coverage_on_project_overview() throws Exception {
- executeBuild("testing/xoo-sample-it-coverage", "project-for-overview-it-coverage", "Project For Overview IT");
-
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_it_coverage_onfi_project_overview",
- "/projectServices/ProjectOverviewTest/test_it_coverage_on_project_overview.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- }
-
- @Test
- public void test_overall_coverage_on_project_overview() throws Exception {
- executeBuild("testing/xoo-sample-overall-coverage", "project-for-overview-overall-coverage", "Project For Overview Overall");
-
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_overall_coverage_on_project_overview",
- "/projectServices/ProjectOverviewTest/test_overall_coverage_on_project_overview.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- }
-
- @Test
- public void should_display_a_nice_error_when_requesting_unknown_project() {
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("should_display_a_nice_error_when_requesting_unknown_project",
- "/projectServices/ProjectOverviewTest/should-display-nice-error-on-unknown-project.html").build();
- orchestrator.executeSelenese(selenese);
- }
-
- private void executeBuild(String projectLocation, String projectKey, String projectName) {
- orchestrator.executeBuild(
- SonarRunner.create(projectDir(projectLocation))
- .setProjectKey(projectKey)
- .setProjectName(projectName)
- );
- }
-
-}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2016 SonarSource SA
- * mailto:contact AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package it.projectServices;
-
-import com.sonar.orchestrator.Orchestrator;
-import com.sonar.orchestrator.build.SonarRunner;
-import com.sonar.orchestrator.selenium.Selenese;
-import it.Category1Suite;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.sonar.wsclient.services.ResourceQuery;
-import util.selenium.SeleneseTest;
-
-import static util.ItUtils.projectDir;
-
-public class ProjectWidgetsTest {
-
- @ClassRule
- public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
-
- @BeforeClass
- public static void inspectProject() {
- orchestrator.executeBuild(
- SonarRunner.create(projectDir("shared/xoo-sample"))
- .setProjectKey("project-widgets-test-project")
- .setProjectName("ProjectWidgetsTest Project")
- );
- }
-
- @Test
- public void hotspots() {
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("hotspots",
- "/projectServices/ProjectWidgetsTest/hotspots/hotspot-metric-widget.html",
- "/projectServices/ProjectWidgetsTest/hotspots/hide-if-no-measures.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- }
-
- @Test
- public void complexity() {
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("complexity",
- "/projectServices/ProjectWidgetsTest/complexity/complexity-widget.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- }
-
- @Test
- public void description() {
- long projectId = orchestrator.getServer().getWsClient()
- .find(ResourceQuery.create("project-widgets-test-project")).getId();
- long qualityGateId = orchestrator.getServer().adminWsClient().qualityGateClient().show("SonarQube way").id();
- orchestrator.getServer().adminWsClient().qualityGateClient().selectProject(qualityGateId, projectId);
-
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("description",
- "/projectServices/ProjectWidgetsTest/description/description-widget.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- }
-
- @Test
- @Ignore
- public void custom_measures() {
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("custom_measures",
- "/projectServices/ProjectWidgetsTest/custom_measures/should-exclude-new-metrics.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- }
-
-}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package it.sourceCode;
+
+import com.sonar.orchestrator.Orchestrator;
+import com.sonar.orchestrator.selenium.Selenese;
+import it.Category1Suite;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+import static util.ItUtils.runProjectAnalysis;
+
+public class HighlightingTest {
+
+ @ClassRule
+ public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
+
+ @Before
+ public void deleteData() {
+ orchestrator.resetData();
+ }
+
+ @Test
+ public void highlight_source_code_and_symbols_usage() throws Exception {
+ runProjectAnalysis(orchestrator, "highlighting/xoo-sample-with-highlighting-v2");
+
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("highlight_source_code_and_symbols_usage",
+ // SONAR-3893 & SONAR-4247
+ "/sourceCode/HighlightingTest/syntax-highlighting.html",
+ // SONAR-4249 & SONAR-4250
+ "/sourceCode/HighlightingTest/symbol-usages-highlighting.html"
+ ).build();
+ orchestrator.executeSelenese(selenese);
+ }
+
+ // Check that E/S index is updated when file content is unchanged but plugin generates different syntax/symbol highlighting
+ @Test
+ public void update_highlighting_even_when_code_unchanged() throws Exception {
+ runProjectAnalysis(orchestrator, "highlighting/xoo-sample-with-highlighting-v1");
+
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("syntax-highlighting-v1",
+ "/sourceCode/HighlightingTest/syntax-highlighting-v1.html").build();
+ orchestrator.executeSelenese(selenese);
+
+ runProjectAnalysis(orchestrator, "highlighting/xoo-sample-with-highlighting-v2");
+
+ selenese = Selenese.builder().setHtmlTestsInClasspath("syntax-highlighting-v2",
+ "/sourceCode/HighlightingTest/syntax-highlighting-v2.html",
+ "/sourceCode/HighlightingTest/symbol-usages-highlighting.html").build();
+ orchestrator.executeSelenese(selenese);
+ }
+}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package it.sourceCode;
+
+import com.sonar.orchestrator.Orchestrator;
+import com.sonar.orchestrator.build.SonarRunner;
+import com.sonar.orchestrator.selenium.Selenese;
+import it.Category1Suite;
+import org.junit.ClassRule;
+import org.junit.Test;
+import util.selenium.SeleneseTest;
+
+import static util.ItUtils.projectDir;
+
+public class ProjectCodeTest {
+
+ @ClassRule
+ public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
+
+ @Test
+ public void test_project_code_page() throws Exception {
+ executeBuild("shared/xoo-sample", "project-for-code", "Project For Code");
+
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_project_code_page",
+ "/sourceCode/ProjectCodeTest/test_project_code_page.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
+
+ @Test
+ public void code_page_should_expand_root_dir() throws Exception {
+ executeBuild("shared/xoo-sample-with-root-dir", "project-for-code-root-dir", "Project For Code");
+
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("code_page_should_expand_root_dir",
+ "/sourceCode/ProjectCodeTest/code_page_should_expand_root_dir.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
+
+ private void executeBuild(String projectLocation, String projectKey, String projectName) {
+ orchestrator.executeBuild(
+ SonarRunner.create(projectDir(projectLocation))
+ .setProjectKey(projectKey)
+ .setProjectName(projectName)
+ );
+ }
+
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>should-display-all-projects-page</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<tbody>
+<tr>
+ <td>open</td>
+ <td>/all_projects?qualifier=TRK</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*All Projects*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Name*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*AllProjectsTest Project*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>highlight-symbol-usages</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">highlight-symbol-usages</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/component/index?id=sample-with-highlighting%3Asrc%2Fmain%2Fxoo%2Fsample%2FSample.xoo</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>css=.source-line</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForXpathCount</td>
- <td>//span[contains(@class, 'sym')]</td>
- <td>3</td>
-</tr>
-<tr>
- <td>waitForXpathCount</td>
- <td>//span[contains(@class, 'sym highlighted')]</td>
- <td>0</td>
-</tr>
-<tr>
- <td>click</td>
- <td>//span[contains(@class, 'sym')][2]</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForXpathCount</td>
- <td>//span[contains(@class, 'sym highlighted')]</td>
- <td>2</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>java-syntax-highlighting</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">highlight-syntax-v1</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/component/index?id=sample-with-highlighting%3Asrc%2Fmain%2Fxoo%2Fsample%2FSample.xoo</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.source-line</td>
- <td></td>
- </tr>
- <tr>
- <td>storeHtmlSource</td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="k">package</span>*</td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="k">public</span>*</td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="k">class</span>*</td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <!-- Here class is wrong and will be fixed during next analysis -->
- <td>glob:*<span class="s">return</span>*</td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="s">"hello"</span>*</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>java-syntax-highlighting</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">highlight-syntax-v2</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/component/index?id=sample-with-highlighting%3Asrc%2Fmain%2Fxoo%2Fsample%2FSample.xoo</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.source-line</td>
- <td></td>
- </tr>
- <tr>
- <td>storeHtmlSource</td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="k">package</span>*</td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="k">public</span>*</td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="k">class</span>*</td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="k">return</span>*</td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="s">"hello"</span>*</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>java-syntax-highlighting</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">highlight-syntax</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/component/index?id=sample-with-highlighting%3Asrc%2Fmain%2Fxoo%2Fsample%2FSample.xoo</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.source-line</td>
- <td></td>
- </tr>
- <tr>
- <td>storeHtmlSource</td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="k">package</span>*</td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="k">public</span>*</td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="k">class</span>*</td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="k">return</span>*</td>
- <td></td>
- </tr>
- <tr>
- <td>verifyHtmlSource</td>
- <td>glob:*<span class="s">"hello"</span>*</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>should_display_measure_drilldown</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/drilldown/measures?id=project-drilldown-test-project&metric=ncloc</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=drilldown</td>
+ <td>*Sample.xoo*</td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>css=a[data-key="project-drilldown-test-project:src/main/xoo/sample/Sample.xoo"]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>css=a.js-drilldown-link.js-ready</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>css=a[data-key="project-drilldown-test-project:src/main/xoo/sample/Sample.xoo"]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>css=.source-viewer</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>css=.source-viewer</td>
+ <td>*src/main/xoo/sample/*Sample.xoo*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>css=.source-viewer</td>
+ <td>*public class Sample {*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>static-files</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<tbody>
+<tr>
+ <td>open</td>
+ <td>/dashboard/index?id=unknown</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>error</td>
+ <td>*The requested project does not exist. Either it has never been analyzed successfully or it has been deleted.*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <link rel="selenium.base" href="http://localhost:49506"/>
+ <title>test_project_overview_after_first_analysis</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">test_project_overview_after_first_analysis</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/overview?id=project-for-overview-it-coverage</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*50.0%*Coverage*</td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/overview/coverage?id=project-for-overview-it-coverage</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*IT coverage*50.0%*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*IT line coverage*50.0%*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*IT condition coverage*50.0%*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*IT uncovered conditions*1*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*IT uncovered lines*2*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Size*IT uncovered lines*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Size*Lines of code*Color*IT coverage*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <link rel="selenium.base" href="http://localhost:49506"/>
+ <title>test_project_overview_after_first_analysis</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">test_project_overview_after_first_analysis</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/overview?id=project-for-overview-overall-coverage</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*62.5%*Coverage*</td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/overview/coverage?id=project-for-overview-overall-coverage</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Overall coverage*62.5%*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Overall line coverage*75.0%*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Overall condition coverage*50.0%*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Uncovered conditions*3*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*IT uncovered conditions*3*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Overall uncovered conditions*2*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Uncovered lines*2*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*IT uncovered lines*2*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Overall uncovered lines*1*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Size*Overall uncovered lines*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Size*Lines of code*Color*Overall coverage*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <link rel="selenium.base" href="http://localhost:49506"/>
+ <title>test_project_overview_after_first_analysis</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">test_project_overview_after_first_analysis</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/overview?id=project-for-overview</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Quality Gate*Passed*</td>
+ </tr>
+ <tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*A*0*Debt*0*Issues*</td>
+ </tr>
+ <tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*0.0%*Duplications*0*Duplicated Blocks*</td>
+ </tr>
+ <tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*13*Lines of Code*</td>
+ </tr>
+ <tr>
+ <td>assertNotText</td>
+ <td>id=content</td>
+ <td>*Coverage*</td>
+ </tr>
+ <tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Quality Gate*SonarQube way*</td>
+ </tr>
+ <tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Quality Profiles*Xoo*Basic*</td>
+ </tr>
+
+ </tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <link rel="selenium.base" href="http://localhost:49506"/>
+ <title>test_project_overview_after_first_analysis</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">test_project_overview_after_first_analysis</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/overview?id=project-for-overview-ut-coverage</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*50.0%*Coverage*</td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/overview/coverage?id=project-for-overview-ut-coverage</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Coverage*50.0%*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Line coverage*50.0%*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Condition coverage*50.0%*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Lines to cover*4*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Uncovered conditions*1*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Uncovered lines*2*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Size*Uncovered lines*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Size*Lines of code*Color*Coverage*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>complexity</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">complexity</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/widget?id=complexity&resource=project-widgets-test-project&metric1=complexity&metric2=ncloc&chartTitle=MyWidget</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>block_1</td>
+ <td>*Complexity*</td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>m_class_complexity</td>
+ <td>3.0</td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>m_file_complexity</td>
+ <td>3.0</td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>m_complexity</td>
+ <td>3</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>should-exclude-new-metrics</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">should-exclude-new-metrics</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/sessions/new</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>login</td>
+ <td>admin</td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>password</td>
+ <td>admin</td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>commit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>link=Configure widgets</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*History Table*</td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>id=add-widget-custom_measures</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Metric 1*</td>
+ </tr>
+ <tr>
+ <td>assertElementPresent</td>
+ <td>//div[@class='widget_props' and @style='']//option[text()='Overall condition coverage']</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>assertElementNotPresent</td>
+ <td>//div[@class='widget_props' and @style='']//option[text()='Overall new condition coverage']</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>link=Delete</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>description-widget</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">description-widget</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/widget?id=description&resource=project-widgets-test-project</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>block_1</td>
+ <td>*ProjectWidgetsTest Project*project-widgets-test-project*Profiles:*Basic*Quality Gate*SonarQube way*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>hide-if-no-measures</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/widget?id=hotspot_metric&resource=project-widgets-test-project&metric=dit</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertElementPresent</td>
+ <td>block_1</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertNotText</td>
+ <td>block_1</td>
+ <td>*Depth*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>hotspot_metric</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">hotspot_metric</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/widget?id=hotspot_metric&resource=project-widgets-test-project&metric=ncloc&title=NewTitle</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>class=hotspot_metric</td>
+ <td>*NewTitle*Sample.xoo*</td>
+</tr>
+<tr>
+ <td>assertElementPresent</td>
+ <td>link=Sample.xoo</td>
+ <td></td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>should-add-metrics</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/comparison/index</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>assertNotText</td>
+ <td>comparison-page</td>
+ <td>*Major issues*</td>
+ </tr>
+ <tr>
+ <td>waitForElementPresent</td>
+ <td>new_metric</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>typeAndWait</td>
+ <td>new_metric</td>
+ <td>major_violations</td>
+ </tr>
+ <tr>
+ <td>assertText</td>
+ <td>comparison-page</td>
+ <td>*Lines of code*Complexity*Comments (%)*Duplicated lines (%)*Issues*Coverage*Major issues*</td>
+ </tr>
+ </tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>should-add-projects</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/comparison/index</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>new_resource</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>new_resource</td>
+ <td>project-comparison-test-project</td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//option[text()='1.0-SNAPSHOT']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>selectAndWait</td>
+ <td>new_version</td>
+ <td>1.0-SNAPSHOT</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*ProjectComparisonTest Project*1.0-SNAPSHOT*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>should-display-basic-set-of-metrics</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/comparison/index</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*Lines of code*Complexity*Comments (%)*Duplicated lines (%)*Issues*Coverage*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>should-move-and-remove-metrics</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/comparison/index</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>comparison-page</td>
+ <td>*Lines of code*Complexity*Comments (%)*Duplicated lines (%)*Issues*Coverage*</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>down-0</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>comparison-page</td>
+ <td>*Complexity*Lines of code*Comments (%)*Duplicated lines (%)*Issues*Coverage*</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>up-5</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>comparison-page</td>
+ <td>*Complexity*Lines of code*Comments (%)*Duplicated lines (%)*Coverage*Issues*</td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>comparison-page</td>
+ <td>*%*</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>del-m-2</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>del-m-2</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>comparison-page</td>
+ <td>*Complexity*Lines of code*Coverage*Issues*</td>
+</tr>
+<tr>
+ <td>assertNotText</td>
+ <td>comparison-page</td>
+ <td>*%*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>should-move-and-remove-projects</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/comparison/index</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>new_resource</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>new_resource</td>
+ <td>project-comparison-test-project</td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//option[text()='1.0-SNAPSHOT']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>selectAndWait</td>
+ <td>new_version</td>
+ <td>1.0-SNAPSHOT</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>id=content</td>
+ <td>*ProjectComparisonTest Project*1.0-SNAPSHOT*</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>del-r-0</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertNotText</td>
+ <td>id=content</td>
+ <td>*Sample*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>should-not-add-differential-metrics</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/comparison/index</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>assertText</td>
+ <td>comparison-page</td>
+ <td>*Lines of code*Complexity*Comments (%)*Duplicated lines (%)*Issues*Coverage*</td>
+ </tr>
+ <tr>
+ <td>waitForElementPresent</td>
+ <td>new_metric</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>typeAndWait</td>
+ <td>new_metric</td>
+ <td>new_violations</td>
+ </tr>
+ <tr>
+ <td>assertText</td>
+ <td>comparison-page</td>
+ <td>*Lines of code*Complexity*Comments (%)*Duplicated lines (%)*Issues*Coverage*</td>
+ </tr>
+ <tr>
+ <td>assertNotText</td>
+ <td>comparison-page</td>
+ <td>*New Issues*</td>
+ </tr>
+ </tbody>
+</table>
+</body>
+</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>should-display-all-projects-page</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
-<tbody>
-<tr>
- <td>open</td>
- <td>/all_projects?qualifier=TRK</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*All Projects*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Name*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*AllProjectsTest Project*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <link rel="selenium.base" href="http://localhost:49506"/>
- <title>code_page_should_expand_root_dir</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">code_page_should_expand_root_dir</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/code?id=project-for-code-root-dir</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>css=#content</td>
- <td>*Hello.xoo*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <link rel="selenium.base" href="http://localhost:49506"/>
- <title>test_project_code_page</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">test_project_code_page</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/code?id=project-for-code</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>css=#content</td>
- <td>*Project For Code*13*0*0*0.0%*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>css=#content</td>
- <td>*src/main/xoo/sample*</td>
-</tr>
-<tr>
- <td>click</td>
- <td>css=.code-name-cell a</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>css=#content</td>
- <td>*Sample.xoo*</td>
-</tr>
-<tr>
- <td>click</td>
- <td>css=.code-breadcrumbs a</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForNotText</td>
- <td>css=#content</td>
- <td>*Sample.xoo*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>should-add-metrics</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/comparison/index</td>
- <td></td>
- </tr>
- <tr>
- <td>assertNotText</td>
- <td>comparison-page</td>
- <td>*Major issues*</td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>new_metric</td>
- <td></td>
- </tr>
- <tr>
- <td>typeAndWait</td>
- <td>new_metric</td>
- <td>major_violations</td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>comparison-page</td>
- <td>*Lines of code*Complexity*Comments (%)*Duplicated lines (%)*Issues*Coverage*Major issues*</td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>should-add-projects</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/comparison/index</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>new_resource</td>
- <td></td>
-</tr>
-<tr>
- <td>type</td>
- <td>new_resource</td>
- <td>project-comparison-test-project</td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>//option[text()='1.0-SNAPSHOT']</td>
- <td></td>
-</tr>
-<tr>
- <td>selectAndWait</td>
- <td>new_version</td>
- <td>1.0-SNAPSHOT</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*ProjectComparisonTest Project*1.0-SNAPSHOT*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>should-display-basic-set-of-metrics</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/comparison/index</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Lines of code*Complexity*Comments (%)*Duplicated lines (%)*Issues*Coverage*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>should-move-and-remove-metrics</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/comparison/index</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>comparison-page</td>
- <td>*Lines of code*Complexity*Comments (%)*Duplicated lines (%)*Issues*Coverage*</td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>down-0</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>comparison-page</td>
- <td>*Complexity*Lines of code*Comments (%)*Duplicated lines (%)*Issues*Coverage*</td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>up-5</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>comparison-page</td>
- <td>*Complexity*Lines of code*Comments (%)*Duplicated lines (%)*Coverage*Issues*</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>comparison-page</td>
- <td>*%*</td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>del-m-2</td>
- <td></td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>del-m-2</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>comparison-page</td>
- <td>*Complexity*Lines of code*Coverage*Issues*</td>
-</tr>
-<tr>
- <td>assertNotText</td>
- <td>comparison-page</td>
- <td>*%*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>should-move-and-remove-projects</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/comparison/index</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>new_resource</td>
- <td></td>
-</tr>
-<tr>
- <td>type</td>
- <td>new_resource</td>
- <td>project-comparison-test-project</td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>//option[text()='1.0-SNAPSHOT']</td>
- <td></td>
-</tr>
-<tr>
- <td>selectAndWait</td>
- <td>new_version</td>
- <td>1.0-SNAPSHOT</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*ProjectComparisonTest Project*1.0-SNAPSHOT*</td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>del-r-0</td>
- <td></td>
-</tr>
-<tr>
- <td>assertNotText</td>
- <td>id=content</td>
- <td>*Sample*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>should-not-add-differential-metrics</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/comparison/index</td>
- <td></td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>comparison-page</td>
- <td>*Lines of code*Complexity*Comments (%)*Duplicated lines (%)*Issues*Coverage*</td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>new_metric</td>
- <td></td>
- </tr>
- <tr>
- <td>typeAndWait</td>
- <td>new_metric</td>
- <td>new_violations</td>
- </tr>
- <tr>
- <td>assertText</td>
- <td>comparison-page</td>
- <td>*Lines of code*Complexity*Comments (%)*Duplicated lines (%)*Issues*Coverage*</td>
- </tr>
- <tr>
- <td>assertNotText</td>
- <td>comparison-page</td>
- <td>*New Issues*</td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>should_display_measure_drilldown</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/drilldown/measures?id=project-drilldown-test-project&metric=ncloc</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=drilldown</td>
- <td>*Sample.xoo*</td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>css=a[data-key="project-drilldown-test-project:src/main/xoo/sample/Sample.xoo"]</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>css=a.js-drilldown-link.js-ready</td>
- <td></td>
-</tr>
-<tr>
- <td>click</td>
- <td>css=a[data-key="project-drilldown-test-project:src/main/xoo/sample/Sample.xoo"]</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>css=.source-viewer</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>css=.source-viewer</td>
- <td>*src/main/xoo/sample/*Sample.xoo*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>css=.source-viewer</td>
- <td>*public class Sample {*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>static-files</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
-<tbody>
-<tr>
- <td>open</td>
- <td>/dashboard/index?id=unknown</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>error</td>
- <td>*The requested project does not exist. Either it has never been analyzed successfully or it has been deleted.*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <link rel="selenium.base" href="http://localhost:49506"/>
- <title>test_project_overview_after_first_analysis</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">test_project_overview_after_first_analysis</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/overview?id=project-for-overview-it-coverage</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*50.0%*Coverage*</td>
-</tr>
-<tr>
- <td>open</td>
- <td>/overview/coverage?id=project-for-overview-it-coverage</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*IT coverage*50.0%*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*IT line coverage*50.0%*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*IT condition coverage*50.0%*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*IT uncovered conditions*1*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*IT uncovered lines*2*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Size*IT uncovered lines*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Size*Lines of code*Color*IT coverage*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <link rel="selenium.base" href="http://localhost:49506"/>
- <title>test_project_overview_after_first_analysis</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">test_project_overview_after_first_analysis</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/overview?id=project-for-overview-overall-coverage</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*62.5%*Coverage*</td>
-</tr>
-<tr>
- <td>open</td>
- <td>/overview/coverage?id=project-for-overview-overall-coverage</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Overall coverage*62.5%*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Overall line coverage*75.0%*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Overall condition coverage*50.0%*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Uncovered conditions*3*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*IT uncovered conditions*3*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Overall uncovered conditions*2*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Uncovered lines*2*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*IT uncovered lines*2*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Overall uncovered lines*1*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Size*Overall uncovered lines*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Size*Lines of code*Color*Overall coverage*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <link rel="selenium.base" href="http://localhost:49506"/>
- <title>test_project_overview_after_first_analysis</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">test_project_overview_after_first_analysis</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/overview?id=project-for-overview</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Quality Gate*Passed*</td>
- </tr>
- <tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*A*0*Debt*0*Issues*</td>
- </tr>
- <tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*0.0%*Duplications*0*Duplicated Blocks*</td>
- </tr>
- <tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*13*Lines of Code*</td>
- </tr>
- <tr>
- <td>assertNotText</td>
- <td>id=content</td>
- <td>*Coverage*</td>
- </tr>
- <tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Quality Gate*SonarQube way*</td>
- </tr>
- <tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Quality Profiles*Xoo*Basic*</td>
- </tr>
-
- </tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <link rel="selenium.base" href="http://localhost:49506"/>
- <title>test_project_overview_after_first_analysis</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">test_project_overview_after_first_analysis</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/overview?id=project-for-overview-ut-coverage</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*50.0%*Coverage*</td>
-</tr>
-<tr>
- <td>open</td>
- <td>/overview/coverage?id=project-for-overview-ut-coverage</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Coverage*50.0%*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Line coverage*50.0%*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Condition coverage*50.0%*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Lines to cover*4*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Uncovered conditions*1*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Uncovered lines*2*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Size*Uncovered lines*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Size*Lines of code*Color*Coverage*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>complexity</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">complexity</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/widget?id=complexity&resource=project-widgets-test-project&metric1=complexity&metric2=ncloc&chartTitle=MyWidget</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>block_1</td>
- <td>*Complexity*</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>m_class_complexity</td>
- <td>3.0</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>m_file_complexity</td>
- <td>3.0</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>m_complexity</td>
- <td>3</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>should-exclude-new-metrics</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">should-exclude-new-metrics</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Configure widgets</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*History Table*</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>id=add-widget-custom_measures</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForText</td>
- <td>id=content</td>
- <td>*Metric 1*</td>
- </tr>
- <tr>
- <td>assertElementPresent</td>
- <td>//div[@class='widget_props' and @style='']//option[text()='Overall condition coverage']</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>//div[@class='widget_props' and @style='']//option[text()='Overall new condition coverage']</td>
- <td></td>
- </tr>
- <tr>
- <td>click</td>
- <td>link=Delete</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>description-widget</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">description-widget</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/widget?id=description&resource=project-widgets-test-project</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>block_1</td>
- <td>*ProjectWidgetsTest Project*project-widgets-test-project*Profiles:*Basic*Quality Gate*SonarQube way*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>hide-if-no-measures</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/widget?id=hotspot_metric&resource=project-widgets-test-project&metric=dit</td>
- <td></td>
-</tr>
-<tr>
- <td>assertElementPresent</td>
- <td>block_1</td>
- <td></td>
-</tr>
-<tr>
- <td>assertNotText</td>
- <td>block_1</td>
- <td>*Depth*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>hotspot_metric</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">hotspot_metric</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/widget?id=hotspot_metric&resource=project-widgets-test-project&metric=ncloc&title=NewTitle</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>class=hotspot_metric</td>
- <td>*NewTitle*Sample.xoo*</td>
-</tr>
-<tr>
- <td>assertElementPresent</td>
- <td>link=Sample.xoo</td>
- <td></td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>highlight-symbol-usages</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">highlight-symbol-usages</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/component/index?id=sample-with-highlighting%3Asrc%2Fmain%2Fxoo%2Fsample%2FSample.xoo</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>css=.source-line</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForXpathCount</td>
+ <td>//span[contains(@class, 'sym')]</td>
+ <td>3</td>
+</tr>
+<tr>
+ <td>waitForXpathCount</td>
+ <td>//span[contains(@class, 'sym highlighted')]</td>
+ <td>0</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//span[contains(@class, 'sym')][2]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForXpathCount</td>
+ <td>//span[contains(@class, 'sym highlighted')]</td>
+ <td>2</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>java-syntax-highlighting</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">highlight-syntax-v1</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/component/index?id=sample-with-highlighting%3Asrc%2Fmain%2Fxoo%2Fsample%2FSample.xoo</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForElementPresent</td>
+ <td>css=.source-line</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>storeHtmlSource</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="k">package</span>*</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="k">public</span>*</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="k">class</span>*</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <!-- Here class is wrong and will be fixed during next analysis -->
+ <td>glob:*<span class="s">return</span>*</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="s">"hello"</span>*</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>java-syntax-highlighting</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">highlight-syntax-v2</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/component/index?id=sample-with-highlighting%3Asrc%2Fmain%2Fxoo%2Fsample%2FSample.xoo</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForElementPresent</td>
+ <td>css=.source-line</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>storeHtmlSource</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="k">package</span>*</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="k">public</span>*</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="k">class</span>*</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="k">return</span>*</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="s">"hello"</span>*</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>java-syntax-highlighting</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">highlight-syntax</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/component/index?id=sample-with-highlighting%3Asrc%2Fmain%2Fxoo%2Fsample%2FSample.xoo</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForElementPresent</td>
+ <td>css=.source-line</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>storeHtmlSource</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="k">package</span>*</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="k">public</span>*</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="k">class</span>*</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="k">return</span>*</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>verifyHtmlSource</td>
+ <td>glob:*<span class="s">"hello"</span>*</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <link rel="selenium.base" href="http://localhost:49506"/>
+ <title>code_page_should_expand_root_dir</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">code_page_should_expand_root_dir</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/code?id=project-for-code-root-dir</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>css=#content</td>
+ <td>*Hello.xoo*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <link rel="selenium.base" href="http://localhost:49506"/>
+ <title>test_project_code_page</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <thead>
+ <tr>
+ <td rowspan="1" colspan="3">test_project_code_page</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/code?id=project-for-code</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>css=#content</td>
+ <td>*Project For Code*13*0*0*0.0%*</td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>css=#content</td>
+ <td>*src/main/xoo/sample*</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>css=.code-name-cell a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>css=#content</td>
+ <td>*Sample.xoo*</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>css=.code-breadcrumbs a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotText</td>
+ <td>css=#content</td>
+ <td>*Sample.xoo*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>