test.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. describe('original', function () {
  2. 'use strict';
  3. var parse = require('url-parse')
  4. , assume = require('assume')
  5. , origin = require('./')
  6. , same = origin.same;
  7. it('is exposed as a function', function () {
  8. assume(origin).is.a('function');
  9. });
  10. it('also accepts objects instead of strings', function () {
  11. var o = origin(parse('http://google.com:80/pathname'));
  12. assume(o).equals('http://google.com');
  13. });
  14. it('also accepts origins as origin', function () {
  15. var o = origin('http://google.com:80/pathname');
  16. assume(origin(o)).equals(o);
  17. });
  18. it('lowercases the origin', function () {
  19. var o = origin('hTtp://WwW.ExAMPLE.cOM:8080');
  20. assume(o).equals('http://www.example.com:8080');
  21. o = origin('https://www.EXAMPLE.com:8080');
  22. assume(o).equals('https://www.example.com:8080');
  23. o = origin('HTTPS://WWW.example.COM:8080');
  24. assume(o).equals('https://www.example.com:8080');
  25. });
  26. it('returns "null" if the protocol is not specified', function () {
  27. var o = origin('www.example.com');
  28. assume(o).equals('null');
  29. });
  30. it('returns "null" if the hostname is not specified', function () {
  31. var o = origin('http://');
  32. assume(o).equals('null');
  33. });
  34. it('removes default ports for http', function () {
  35. var o = origin('http://google.com:80/pathname');
  36. assume(o).equals('http://google.com');
  37. o = origin('http://google.com:80');
  38. assume(o).equals('http://google.com');
  39. o = origin('http://google.com');
  40. assume(o).equals('http://google.com');
  41. o = origin('https://google.com:443/pathname');
  42. assume(o).equals('https://google.com');
  43. o = origin('http://google.com:443/pathname');
  44. assume(o).equals('http://google.com:443');
  45. o = origin('https://google.com:80/pathname');
  46. assume(o).equals('https://google.com:80');
  47. o = origin('file://google.com/pathname');
  48. assume(o).equals('file://google.com');
  49. });
  50. it('removes default ports for ws', function () {
  51. var o = origin('ws://google.com:80/pathname');
  52. assume(o).equals('ws://google.com');
  53. o = origin('wss://google.com:443/pathname');
  54. assume(o).equals('wss://google.com');
  55. o = origin('ws://google.com:443/pathname');
  56. assume(o).equals('ws://google.com:443');
  57. o = origin('wss://google.com:80/pathname');
  58. assume(o).equals('wss://google.com:80');
  59. });
  60. describe('.same', function () {
  61. assume(origin.same).is.a('function');
  62. it('equals', function () {
  63. assume(same('http://google.com', 'http://google.com:80')).is.true();
  64. });
  65. });
  66. });