test-qs.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. var request = request = require('../index')
  2. , assert = require('assert')
  3. ;
  4. // Test adding a querystring
  5. var req1 = request.get({ uri: 'http://www.google.com', qs: { q : 'search' }})
  6. setTimeout(function() {
  7. assert.equal('/?q=search', req1.path)
  8. }, 1)
  9. // Test replacing a querystring value
  10. var req2 = request.get({ uri: 'http://www.google.com?q=abc', qs: { q : 'search' }})
  11. setTimeout(function() {
  12. assert.equal('/?q=search', req2.path)
  13. }, 1)
  14. // Test appending a querystring value to the ones present in the uri
  15. var req3 = request.get({ uri: 'http://www.google.com?x=y', qs: { q : 'search' }})
  16. setTimeout(function() {
  17. assert.equal('/?x=y&q=search', req3.path)
  18. }, 1)
  19. // Test leaving a querystring alone
  20. var req4 = request.get({ uri: 'http://www.google.com?x=y'})
  21. setTimeout(function() {
  22. assert.equal('/?x=y', req4.path)
  23. }, 1)
  24. // Test giving empty qs property
  25. var req5 = request.get({ uri: 'http://www.google.com', qs: {}})
  26. setTimeout(function(){
  27. assert.equal('/', req5.path)
  28. }, 1)
  29. // Test modifying the qs after creating the request
  30. var req6 = request.get({ uri: 'http://www.google.com', qs: {}});
  31. req6.qs({ q: "test" });
  32. process.nextTick(function() {
  33. assert.equal('/?q=test', req6.path);
  34. });