tests.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. var geoip = require('../lib/geoip');
  2. module.exports = {
  3. testLookup: function(test) {
  4. test.expect(2);
  5. var ip = '8.8.4.4';
  6. var ipv6 = '2001:4860:b002::68';
  7. var actual = geoip.lookup(ip);
  8. test.ok(actual, 'should return data about IPv4.');
  9. actual = geoip.lookup(ipv6);
  10. test.ok(actual, 'should return data about IPv6.');
  11. test.done();
  12. },
  13. testUTF8: function(test) {
  14. test.expect(2);
  15. var ip = "31.17.106.227";
  16. var expected = "Neumünster";
  17. var actual = geoip.lookup(ip);
  18. test.ok(actual, "Should return a non-null value for " + ip);
  19. test.equal(actual.city, expected, "UTF8 city name does not match");
  20. test.done();
  21. },
  22. testMetro: function(test) {
  23. test.expect(2);
  24. var actual = geoip.lookup("23.240.63.68");
  25. test.equal(actual.city, "Santa Ana");
  26. test.equal(actual.metro, 803);
  27. test.done();
  28. },
  29. testIPv4MappedIPv6: function (test) {
  30. test.expect(2);
  31. var actual = geoip.lookup("::ffff:173.185.182.82");
  32. test.equal(actual.city, "Glen Rose");
  33. test.equal(actual.metro, 623);
  34. test.done();
  35. }
  36. };