/*
 * This file contains expectations for tests that we'd like to eventually fix, but aren't urgent.
 */
[
{
  description: "Dalvik doesn't support XML Schemas, DTDs or validation",
  bug: 3268630,
  name: "libcore.xml.DomTest#testEntityDeclarations",
  substring: "This implementation does not parse entity declarations"
},
{
  description: "Dalvik doesn't support XML Schemas, DTDs or validation",
  bug: 3268630,
  name: "libcore.xml.DomTest#testGetWholeTextWithEntityReference",
  substring: "This implementation doesn't resolve entity references in getWholeText"
},
{
  description: "Dalvik doesn't support XML Schemas, DTDs or validation",
  name: "libcore.xml.DomTest#testExpandingEntityReferencesOff",
  bug: 3268630,
  substring: "This implementation doesn't include children in entity references"
},
{
  description: "Dalvik doesn't support XML Schemas, DTDs or validation",
  name: "libcore.xml.DomTest#testExpandingEntityReferencesOn",
  bug: 3268630,
  substring: "This implementation doesn't expand entity references"
},
{
  description: "Dalvik doesn't support XML Schemas, DTDs or validation",
  bug: 3268630,
  name: "libcore.xml.DomTest#testIsElementContentWhitespaceWithDeclaration",
  substring: "This implementation does not recognize element content whitespace"
},
{
  description: "Dalvik doesn't support XML Schemas, DTDs or validation",
  bug: 3268630,
  name: "libcore.xml.DomTest#testNotations",
  substring: "This implementation does not parse notations"
},
{
  description: "Dalvik doesn't support XML Schemas, DTDs or validation",
  bug: 3268630,
  names: [
    "tests.org.w3c.dom.HCNotationsRemoveNamedItemNS#testRemoveNamedItemNS",
    "tests.org.w3c.dom.HCNotationsSetNamedItemNS#testNotationsSetNamedItemNS"
  ]
},
{
  description: "Dalvik doesn't support XML Schemas, DTDs or validation",
  bug: 3268630,
  name: "libcore.xml.DeclarationTest#testGetXmlEncoding",
  substring: "This implementation doesn't parse the encoding from the XML declaration"
},
{
  description: "Dalvik doesn't support XML Schemas, DTDs or validation",
  bug: 3268630,
  name: "libcore.xml.DeclarationTest#testGetXmlStandalone",
  substring: "This implementation doesn't parse standalone from the XML declaration"
},
{
  description: "Dalvik doesn't support XML Schemas, DTDs or validation",
  bug: 3268630,
  name: "libcore.xml.DeclarationTest#testGetXmlVersion",
  substring: "This implementation doesn't parse the version from the XML declaration"
},
{
  description: "Dalvik doesn't support XML Schemas, DTDs or validation",
  bug: 3268630,
  name: "libcore.xml.NormalizeTest#testSchemaTypeDtd",
  substring: "This implementation's setParameter() supports an unexpected value: schema-type=http://www.w3.org/TR/REC-xml"
},
{
  description: "Dalvik doesn't support XML Schemas, DTDs or validation",
  bug: 3268630,
  name: "org.apache.harmony.tests.javax.xml.parsers.DocumentBuilderTest#testSetEntityResolver",
  substring: "java.lang.ClassCastException: org.apache.harmony.xml.dom.EntityReferenceImpl"
},
{
  description: "many tests attempt to fork a Java executable, but fork the wrong one",
  result: "EXEC_FAILED",
  failure: "should fork a dalvikvm, not a JVM",
  substring: "/system/bin.*IOException"
},
{
  description: "low-impact XML bugs:",
  result: EXEC_FAILED,
  name: "libcore.xml.DomTest#testAttributeNamedIdIsNotAnIdByDefault",
  substring: "This implementation incorrectly interprets the \"id\" attribute as an identifier by default"
},
{
  description: "low-impact XML bugs:",
  result: EXEC_FAILED,
  name: "libcore.xml.DomTest#testDocumentAddChild",
  substring: "Document nodes shouldn't accept child nodes"
},
{
  description: "low-impact XML bugs:",
  result: EXEC_FAILED,
  name: "libcore.xml.DomTest#testElementTraversalFeature",
  substring: "This implementation is expected to support ElementTraversal v. 1.0 but does not."
},
{
  description: "low-impact XML bugs:",
  result: EXEC_FAILED,
  name: "libcore.xml.DomTest#testLoadSaveFeature",
  substring: "This implementation is expected to support LS v. 3.0 but does not."
},
{
  description: "low-impact XML bugs:",
  result: EXEC_FAILED,
  name: "libcore.xml.SaxTest#testYesPrefixesYesNamespaces",
  substring: "The 'namespace-prefix' feature is not supported while the 'namespaces' feature is enabled."
},
{
  description: "low-impact XML bugs:",
  result: EXEC_FAILED,
  name: "org.apache.harmony.tests.javax.xml.parsers.SAXParserFactoryTest#test_newInstance",
  substring: "Expected FactoryConfigurationError was not thrown"
},
{
  description: "low-impact XML bugs:",
  result: EXEC_FAILED,
  names: [
    "org.apache.harmony.tests.javax.xml.parsers.DocumentBuilderFactoryTest#test_isSetXIncludeAware",
    "org.apache.harmony.tests.javax.xml.parsers.DocumentBuilderTest#testIsXIncludeAware",
    "org.apache.harmony.tests.javax.xml.parsers.SAXParserFactoryTest#test_setIsXIncludeAware",
    "org.apache.harmony.tests.javax.xml.parsers.SAXParserTest#testIsXIncludeAware"
  ],
  substring: "java.lang.UnsupportedOperationException: This parser does not support specification \"Unknown\" version \"0.0\""
},
{
  description: "a low-impact bug, also present in Crockford's implementation of org.json",
  result: EXEC_FAILED,
  name: "org.json.ParsingTest#test64BitHexValues",
  substring: "Large hex longs shouldn't be yield ints or strings expected:<-1> but was:<0xFFFFFFFFFFFFFFFF>"
},
{
  description: "this test needs to be fixed. We supply optional qnames, but this test doesn't expect them",
  result: EXEC_FAILED,
  name: "org.apache.harmony.tests.javax.xml.parsers.SAXParserTest#test_parseLjava_io_InputStreamLorg_xml_sax_helpers_DefaultHandlerLjava_lang_String"
},
{
  description: "BouncyCastle allows unrecognized algorithms, but RI does not, not clear if this is a bug",
  result: EXEC_FAILED,
  name: "org.apache.harmony.crypto.tests.javax.crypto.KeyAgreementTest#test_generateSecretLjava_lang_String",
  substring: "junit.framework.AssertionFailedError: NoSuchAlgorithmException expected"
}
]
