   }
 
   func testData_OK_Standard() throws
+  {
+    let textURL = baseURL.appendingPathComponent("text")
+
+    TestURLServer.register(url: textURL) {
+      request -> (Data, HTTPURLResponse) in
+      XCTAssert(request.url == textURL)
+      let data = Data("Text with a 🔨".utf8)
+      var headers = request.allHTTPHeaderFields ?? [:]
+      headers["Content-Length"] = String(data.count)
+      headers["Content-Type"] = "text/plain; charset=utf-8"
+      let response = HTTPURLResponse(url: textURL, statusCode: 200, httpVersion: nil, headerFields: headers)
+      XCTAssert(data.count > 0)
+      XCTAssertNotNil(response)
+      return (data, response!)
+    }
+
+    let request = URLRequest(url: textURL)
+    let session = URLSession(configuration: URLSessionTests.configuration)
+
+    let e = expectation(description: "data task")
+    let task = session.dataTask(with: request) {
+      (data: Data?, response: URLResponse?, error: Error?) in
+      XCTAssertEqual(data?.count, 16)
+      XCTAssertEqual((response as? HTTPURLResponse)?.statusCode, 200)
+      XCTAssertEqual(response?.mimeType, "text/plain")
+      XCTAssertEqual(response?.textEncodingName, "utf-8")
+      XCTAssertEqual(response?.expectedContentLength, 16)
+      XCTAssertNil(error)
+      XCTAssertNotNil(data)
+      let s = data.flatMap({ String(data: $0, encoding: .utf8) })
+      XCTAssertNotNil(s)
+      XCTAssert(s?.contains("🔨") ?? false, "Failed with error")
+      e.fulfill()
+    }
+
+    task.resume()
+    waitForExpectations(timeout: 1.0)
+    session.finishTasksAndInvalidate()
+  }
+
+  func testData_OK() throws
   {
     let textURL = baseURL.appendingPathComponent("text")
 

  {
    let deferred: DeferredURLSessionTask<(URL, FileHandle, HTTPURLResponse)> = {
      let url = URL(string: "http://localhost:9973/image.jpg")!
      let session = URLSession(configuration: URLSessionConfiguration.default)
      defer { session.finishTasksAndInvalidate() }

      return session.deferredDownloadTask(with: url)

    let request = URLRequest(url: textURL)
    let session = URLSession(configuration: URLSessionTests.configuration)

    let task = session.deferredDataTask(with: request)

    let success = task.map {
