You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.8 KiB

  1. var assert = require('better-assert');
  2. var expect = require('expect.js');
  3. var parseuri = require('./index.js');
  4. describe('my suite', function(){
  5. it('should parse an uri', function () {
  6. var http = parseuri('http://google.com')
  7. , https = parseuri('https://www.google.com:80')
  8. , query = parseuri('google.com:8080/foo/bar?foo=bar')
  9. , localhost = parseuri('localhost:8080')
  10. , ipv6 = parseuri('2001:0db8:85a3:0042:1000:8a2e:0370:7334')
  11. , ipv6short = parseuri('2001:db8:85a3:42:1000:8a2e:370:7334')
  12. , ipv6port = parseuri('2001:db8:85a3:42:1000:8a2e:370:7334:80')
  13. , ipv6abbrev = parseuri('2001::7334:a:80')
  14. expect(http.protocol).to.be('http');
  15. expect(http.port).to.be('');
  16. expect(http.host).to.be('google.com');
  17. expect(https.protocol).to.be('https');
  18. expect(https.port).to.be('80');
  19. expect(https.host).to.be('www.google.com');
  20. expect(query.port).to.be('8080');
  21. expect(query.query).to.be('foo=bar');
  22. expect(query.path).to.be('/foo/bar');
  23. expect(query.relative).to.be('/foo/bar?foo=bar');
  24. expect(localhost.protocol).to.be('');
  25. expect(localhost.host).to.be('localhost');
  26. expect(localhost.port).to.be('8080');
  27. expect(ipv6.protocol).to.be('');
  28. expect(ipv6.host).to.be('2001:0db8:85a3:0042:1000:8a2e:0370:7334');
  29. expect(ipv6.port).to.be('');
  30. expect(ipv6short.protocol).to.be('');
  31. expect(ipv6short.host).to.be('2001:db8:85a3:42:1000:8a2e:370:7334');
  32. expect(ipv6short.port).to.be('');
  33. expect(ipv6port.protocol).to.be('');
  34. expect(ipv6port.host).to.be('2001:db8:85a3:42:1000:8a2e:370:7334');
  35. expect(ipv6port.port).to.be('80');
  36. expect(ipv6abbrev.protocol).to.be('');
  37. expect(ipv6abbrev.host).to.be('2001::7334:a:80');
  38. expect(ipv6abbrev.port).to.be('');
  39. });
  40. });