Skip to content

Commit

Permalink
fix(Number.isInteger) Add polyfill for Number.isInteger - medialize#350
Browse files Browse the repository at this point in the history
  • Loading branch information
jeff-phillips-18 committed Aug 10, 2017
1 parent 8043e13 commit 848d14d
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/URI.js
Expand Up @@ -77,6 +77,10 @@
return this;
}

function isInteger(value) {
return /^[0-9]+$/.test(value);
}

URI.version = '1.18.11';

var p = URI.prototype;
Expand Down Expand Up @@ -1058,8 +1062,8 @@
}

var port = Number(v);
if (Number.isInteger(port) && (port > 0) && (port < 65536)) {
return;
if (isInteger(port) && (port > 0) && (port < 65536)) {
return true;
}

throw new TypeError('Port "' + v + '" is not a valid port');
Expand Down
75 changes: 75 additions & 0 deletions test/test.js
Expand Up @@ -1681,6 +1681,81 @@
deepEqual(links, expected, 'urls extracted');
equal(result, source, 'source not modified');
});
test('ensureValidPort', function() {
var result;

result = true;
try {
URI.ensureValidPort(8080);
} catch(e) {
result = false;
}
equal(result, true);

result = true;
try {
URI.ensureValidPort("8080");
} catch(e) {
result = false;
}
equal(result, true);

result = true;
try {
URI.ensureValidPort('a8080');
} catch(e) {
result = false;
}
equal(result, false);

result = true;
try {
URI.ensureValidPort('8080a');
} catch(e) {
result = false;
}
equal(result, false);

result = true;
try {
URI.ensureValidPort('0');
} catch(e) {
result = false;
}
equal(result, false);

result = true;
try {
URI.ensureValidPort('-1');
} catch(e) {
result = false;
}
equal(result, false);

result = true;
try {
URI.ensureValidPort(65535);
} catch(e) {
result = false;
}
equal(result, true);

result = true;
try {
URI.ensureValidPort(65536);
} catch(e) {
result = false;
}
equal(result, false);

result = true;
try {
URI.ensureValidPort(80.1);
} catch(e) {
result = false;
}
equal(result, false);
});
test('noConflict', function() {
var actual_lib = URI; // actual library; after loading, before noConflict()
var unconflicted = URI.noConflict();
Expand Down

0 comments on commit 848d14d

Please sign in to comment.