This project is read-only.

General Test Outline

This is not an exhaustive list of checks that the validator performs, and it'll probably fall out of date. It's just a useful summary. If you'd like to see the real list, check out the TathamOddie.OpenSearchValidator.Logic\Tasks folder in the source code. (You can browse it online, no need to download or compile.)
  1. Retrieves the source page and expects the media type to be text/html
    1. Known bug: should support application/xhtml+xml
  2. Uses the regular expression of: (?s:<link\s*(?<content>.*?)\s*?/?>) to find all the link tags in the markup; then the regular expression of (?<name>\w*)=(?<quote>['""])(?<value>.*?)\k<quote> to parse its attributes
  3. Enumerates the link tags to find one that has a type attribute of application/opensearchdescription+xml and a non-empty href
  4. Expects to find one or more matching link tags
  5. Expects the OpenSearch description path to be parsed as a valid URI
  6. If relative, the description path is made absolute by using the source page as the base URI (potential bug: should respect base tag in HTML head depending on browser support)
  7. Downloads the OpenSearch description and expects the media type to be application/opensearchdescription+xml
  8. Validates the OpenSearch description against an XSD (included in source on CodePlex)
  9. Validates the XML encoding for one that will work with the Internet Explorer XML parser
    1. Known bug: needs to support data URIs for images
  10. HTML
    1. Uses an XPath query of /osd:OpenSearchDescription/osd:Url[@type='text/html'] to try and find an HTML search interface
    2. Feature: should check that the placeholders in the interface template are correct, and that searchTerms is used
    3. Feature: should try and hit the interface
  11. JSON
    1. Uses an XPath query of /osd:OpenSearchDescription/osd:Url[@type='application/x-suggestions+json'] to try and find a JSON search interface
    2. Feature: should check that the placeholders in the interface template are correct, and that searchTerms is used
    3. Feature: should try and hit the interface
    4. Feature: should validate the JSON format
  12. RSS
    1. Uses an XPath query of /osd:OpenSearchDescription/osd:Url[@type='application/rss+xml'] to try and find an RSS search interface
    2. Feature: should check that the placeholders in the interface template are correct, and that searchTerms is used
    3. Retrieves an RSS result using the search term supplied to the validator and expects the media type to be application/rss+xml
    4. Validates the RSS against an XSD (included in source on CodePlex)
    5. Validates the XML encoding for one that will work with the Internet Explorer XML parser
  13. XML
    1. Uses an XPath query of /osd:OpenSearchDescription/osd:Url[@type='application/x-suggestions+xml'] to try and find an XML search interface
    2. Feature: should check that the placeholders in the interface template are correct, and that searchTerms is used
    3. Retrieves an XML result using the search term supplied to the validator and expects the media type to be application/x-suggestions+xml
    4. Validates the XML against an XSD (included in source on CodePlex)
    5. Validates the XML encoding for one that will work with the Internet Explorer XML parser
  14. Feature: should check for an Url node with type application/opensearchdescription+xml as this is the auto-update feature supported in Firefox 3.5

Last edited Aug 13, 2009 at 8:38 AM by tathamoddie, version 7

Comments

No comments yet.