Sha256: a2ad23e45486576e7782c82cc5468e0566335bb3c24120930a40e154f24772fc
Contents?: true
Size: 1.9 KB
Versions: 3
Compression:
Stored size: 1.9 KB
Contents
# encoding: utf-8 require 'spec/unit/unit_spec_helper' require 'nucleus/ext/regexp' describe 'Regexp::PERFECT_URL_PATTERN' do %w( http://✪df.ws/123 http://userid:password@example.com:8080 http://userid:password@example.com:8080/ http://userid@example.com http://userid@example.com/ http://userid@example.com:8080 http://userid@example.com:8080/ http://userid:password@example.com http://userid:password@example.com/ http://142.42.1.1/ http://142.42.1.1:8080/ http://➡.ws/䨹 http://⌘.ws http://⌘.ws/ http://foo.com/blah_(wikipedia)#cite-1 http://foo.com/blah_(wikipedia)_blah#cite-1 http://foo.com/unicode_(✪)_in_parens http://foo.com/(something)?after=parens http://☺.damowmow.com/ http://code.google.com/events/#&product=browser http://j.mp ftp://foo.bar/baz http://foo.bar/?q=Test%20URL-encoded%20stuff http://مثال.إختبار http://例子.测试).each do |valid_url| it "matches #{valid_url}" do expect(Regexp::PERFECT_URL_PATTERN =~ valid_url).to eq 0 end end [ 'http://', 'http://.', 'http://..', 'http://../', 'http://?', 'http://??', 'http://??/', 'http://#', 'http://##', 'http://##/', 'http://foo.bar?q=Spaces should be encoded', '//', '//a', '///a', '///', 'http:///a', 'foo.com', 'rdar://1234', 'h://test', 'http:// shouldfail.com', ':// should fail', 'http://foo.bar/foo(bar)baz quux', 'ftps://foo.bar/', 'http://-error-.invalid/', 'http://a.b--c.de/', 'http://-a.b.co', 'http://a.b-.co', 'http://0.0.0.0', 'http://10.1.1.0', 'http://10.1.1.255', 'http://224.1.1.1', 'http://1.1.1.1.1', 'http://123.123.123', 'http://3628126748', 'http://.www.foo.bar/', 'http://www.foo.bar./', 'http://.www.foo.bar./', 'http://10.1.1.1', 'http://10.1.1.254' ].each do |invalid_url| it "does not match #{invalid_url}" do expect(Regexp::PERFECT_URL_PATTERN =~ invalid_url).to be_nil end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
nucleus-0.3.1 | spec/unit/common/regexp_spec.rb |
nucleus-0.2.0 | spec/unit/common/regexp_spec.rb |
nucleus-0.1.0 | spec/unit/common/regexp_spec.rb |