選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 

93 行
2.3 KiB

  1. var server = require('./server')
  2. , assert = require('assert')
  3. , request = require('../main.js')
  4. ;
  5. var s = server.createServer();
  6. var tests =
  7. { testGet :
  8. { resp : server.createGetResponse("TESTING!")
  9. , expectBody: "TESTING!"
  10. }
  11. , testGetChunkBreak :
  12. { resp : server.createChunkResponse(
  13. [ new Buffer([239])
  14. , new Buffer([163])
  15. , new Buffer([191])
  16. , new Buffer([206])
  17. , new Buffer([169])
  18. , new Buffer([226])
  19. , new Buffer([152])
  20. , new Buffer([131])
  21. ])
  22. , expectBody: "Ω☃"
  23. }
  24. , testGetBuffer :
  25. { resp : server.createGetResponse(new Buffer("TESTING!"))
  26. , encoding: null
  27. , expectBody: new Buffer("TESTING!")
  28. }
  29. , testGetJSON :
  30. { resp : server.createGetResponse('{"test":true}', 'application/json')
  31. , json : true
  32. , expectBody: {"test":true}
  33. }
  34. , testPutString :
  35. { resp : server.createPostValidator("PUTTINGDATA")
  36. , method : "PUT"
  37. , body : "PUTTINGDATA"
  38. }
  39. , testPutBuffer :
  40. { resp : server.createPostValidator("PUTTINGDATA")
  41. , method : "PUT"
  42. , body : new Buffer("PUTTINGDATA")
  43. }
  44. , testPutJSON :
  45. { resp : server.createPostValidator(JSON.stringify({foo: 'bar'}))
  46. , method: "PUT"
  47. , json: {foo: 'bar'}
  48. }
  49. , testPutMultipart :
  50. { resp: server.createPostValidator(
  51. '--frontier\r\n' +
  52. 'content-type: text/html\r\n' +
  53. '\r\n' +
  54. '<html><body>Oh hi.</body></html>' +
  55. '\r\n--frontier\r\n\r\n' +
  56. 'Oh hi.' +
  57. '\r\n--frontier--'
  58. )
  59. , method: "PUT"
  60. , multipart:
  61. [ {'content-type': 'text/html', 'body': '<html><body>Oh hi.</body></html>'}
  62. , {'body': 'Oh hi.'}
  63. ]
  64. }
  65. }
  66. s.listen(s.port, function () {
  67. var counter = 0
  68. for (i in tests) {
  69. (function () {
  70. var test = tests[i]
  71. s.on('/'+i, test.resp)
  72. //test.uri = s.url + '/' + i
  73. request(s.url + '/' + i, test, function (err, resp, body) {
  74. if (err) throw err
  75. if (test.expectBody) {
  76. assert.deepEqual(test.expectBody, body)
  77. }
  78. counter = counter - 1;
  79. if (counter === 0) {
  80. console.log(Object.keys(tests).length+" tests passed.")
  81. s.close()
  82. }
  83. })
  84. counter++
  85. })()
  86. }
  87. })