diff options
| author | Stephen Blott | 2014-11-06 09:01:22 +0000 |
|---|---|---|
| committer | Stephen Blott | 2014-11-06 09:01:22 +0000 |
| commit | bbea4b123fe9da0511b1698f07868c27299ae24f (patch) | |
| tree | efc3f1546dc1cbcc2a30e22e45e67f122388e39f | |
| parent | 7f4eb88ea2d79e670c4383120fb5e1ac139e2778 (diff) | |
| download | vimium-bbea4b123fe9da0511b1698f07868c27299ae24f.tar.bz2 | |
Add (initial, basic) isUrl tests (more needed).
| -rw-r--r-- | lib/utils.coffee | 6 | ||||
| -rw-r--r-- | tests/unit_tests/utils_test.coffee | 7 |
2 files changed, 10 insertions, 3 deletions
diff --git a/lib/utils.coffee b/lib/utils.coffee index 62749496..b7f8731a 100644 --- a/lib/utils.coffee +++ b/lib/utils.coffee @@ -43,12 +43,12 @@ Utils = # Tries to detect if :str is a valid URL. isUrl: (str) -> - # Starts with a scheme: URL - return true if @hasFullUrlPrefix str - # Must not contain spaces return false if ' ' in str + # Starts with a scheme: URL + return true if @hasFullUrlPrefix str + # More or less RFC compliant URL host part parsing. This should be sufficient for our needs urlRegex = new RegExp( '^(?:([^:]+)(?::([^:]+))?@)?' + # user:password (optional) => \1, \2 diff --git a/tests/unit_tests/utils_test.coffee b/tests/unit_tests/utils_test.coffee index b2d656ab..556f5b7a 100644 --- a/tests/unit_tests/utils_test.coffee +++ b/tests/unit_tests/utils_test.coffee @@ -61,6 +61,13 @@ context "hasChromePrefix", assert.isFalse Utils.hasChromePrefix "data" assert.isFalse Utils.hasChromePrefix "data :foobar" +context "isUrl", + should "identify URLs as URLs", -> + assert.isTrue Utils.isUrl "http://www.example.com/blah" + + should "identify non-URLs and non-URLs", -> + assert.isFalse Utils.isUrl "http://www.example.com/ blah" + context "Function currying", should "Curry correctly", -> foo = (a, b) -> "#{a},#{b}" |
