Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2000-2015 JetBrains s.r.o.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package com.intellij.execution.testframework.sm.runner.history;
 
 import  com.intellij.execution.process.ProcessOutputTypes;
 import  com.intellij.execution.testframework.export.TestResultsXmlFormatter;
 import  com.intellij.openapi.util.Comparing;
 import  com.intellij.openapi.util.text.StringUtil;
 import  com.intellij.util.containers.Stack;
 import  org.jetbrains.annotations.NotNull;
 
 public class ImportedTestContentHandler extends DefaultHandler {
   private final Stack<StringmySuites = new Stack<String>();
   private String myCurrentTest;
   private String myDuration;
   private String myStatus;
   private final StringBuilder currentValue = new StringBuilder();
   private boolean myErrorOutput = false;
 
      = processor;
   }
 
   @Override
   public void startElement(String uriString localNameString qNameAttributes attributesthrows SAXException {
     if (TestResultsXmlFormatter.ELEM_SUITE.equals(qName)) {
       final String suiteName = attributes.getValue(TestResultsXmlFormatter.ATTR_NAME);
       .onSuiteStarted(new TestSuiteStartedEvent(suiteNameattributes.getValue(TestResultsXmlFormatter.ATTR_LOCATION)));
       .push(suiteName);
     }
     else if (TestResultsXmlFormatter.ELEM_TEST.equals(qName)) {
       final String name = attributes.getValue(TestResultsXmlFormatter.ATTR_NAME);
        = name;
        = attributes.getValue(TestResultsXmlFormatter.ATTR_DURATION);
        = attributes.getValue(TestResultsXmlFormatter.ATTR_STATUS);
       final String isConfig = attributes.getValue(TestResultsXmlFormatter.ATTR_CONFIG);
       final TestStartedEvent startedEvent = new TestStartedEvent(nameattributes.getValue(TestResultsXmlFormatter.ATTR_LOCATION));
       if (isConfig != null && Boolean.valueOf(isConfig)) {
         startedEvent.setConfig(true);
       }
       .onTestStarted(startedEvent);
       .setLength(0);
     }
     else if (TestResultsXmlFormatter.ELEM_OUTPUT.equals(qName)) {
        = Comparing.equal(attributes.getValue(TestResultsXmlFormatter.ATTR_OUTPUT_TYPE), "stderr");
       .setLength(0);
     }
     else if (TestResultsXmlFormatter.ROOT_ELEM.equals(qName)) {
       .onRootPresentationAdded(attributes.getValue("name"), attributes.getValue("comment"), attributes.getValue("location"));
     }
   }
 
   @Override
   public void characters(char[] chint startint lengththrows SAXException {
     .append(chstartlength);
   }
 
   @Override
   public void endElement(String uriString localNameString qNamethrows SAXException {
     final String currentText = .toString();
     final boolean isTestOutput =  == null || TestResultsXmlFormatter.STATUS_PASSED.equals() || !;
     if (isTestOutput) {
       .setLength(0);
     }
     if (TestResultsXmlFormatter.ELEM_SUITE.equals(qName)) {
     }
     else if (TestResultsXmlFormatter.ELEM_TEST.equals(qName)) {
       final boolean isError = TestResultsXmlFormatter.STATUS_ERROR.equals();
       if (TestResultsXmlFormatter.STATUS_FAILED.equals() || isError) {
         .onTestFailure(new TestFailedEvent(""currentTextisErrornullnull));
       }
       else if (TestResultsXmlFormatter.STATUS_IGNORED.equals() || TestResultsXmlFormatter.STATUS_SKIPPED.equals()) {
         .onTestIgnored(new TestIgnoredEvent(""currentText) {
           @NotNull
           @Override
           public String getIgnoreComment() {
             return "";
           }
         });
      }
      if (!TestResultsXmlFormatter.STATUS_PASSED.equals()) {
        .setLength(0);
      }
       = null;
    }
    else if (TestResultsXmlFormatter.ELEM_OUTPUT.equals(qName) && !StringUtil.isEmpty(currentText) && isTestOutput) {
      if ( != null) {
        .onTestOutput(new TestOutputEvent(currentText, !));
      }
      else {
        .onUncapturedOutput(currentText ? ProcessOutputTypes.STDERR : ProcessOutputTypes.STDOUT);
      }
    }
  }
New to GrepCode? Check out our FAQ X