text: var vows = require("vows"),
      load = require("../load"),
      assert = require("../assert");
  
  var suite = vows.describe("d3.xml");
  
  suite.addBatch({
      "xml": {
          topic: load("xhr/xml").expression("d3.xml").document(),
  
          "on a sample file": {
              topic: function (xml) {
                  xml("test/data/sample.xml", this.callback);
              },
              "invokes the callback with the loaded xml": function (xml) {
                  assert.deepEqual(xml, {_xml: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<hello>\n  <world name=\"Earth\"/>\n</hello>\n"});
              },
              "does not override the mime type by default": function (xml) {
                  assert.isUndefined(XMLHttpRequest._last._info.mimeType);
              }
          },
  
          "with a custom mime type": {
              topic: function (xml) {
                  xml("test/data/sample.txt", "application/xml+sample", this.callback);
              },
              "observes the optional mime type": function (xml) {
                  assert.equal(XMLHttpRequest._last._info.mimeType, "application/xml+sample");
              }
          },
  
          "on a file that does not exist": {
              topic: function (xml) {
                  var callback = this.callback;
                  xml("//does/not/exist.xml", function (error, xml) {
                      callback(null, xml);
                  });
              },
              "invokes the callback with undefined when an error occurs": function (xml) {
                  assert.isUndefined(xml);
              }
          }
      }
  });
  
  suite.export(module);
  