mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-04-22 19:23:38 +08:00
fix(core): parse URLs using the browser's DOM API
This commit is contained in:
@@ -1476,25 +1476,4 @@ describe('$http', function() {
|
||||
|
||||
$httpBackend.verifyNoOutstandingExpectation = noop;
|
||||
});
|
||||
|
||||
describe('isSameDomain', function() {
|
||||
it('should support various combinations of urls', function() {
|
||||
expect(isSameDomain('path/morepath',
|
||||
'http://www.adomain.com')).toBe(true);
|
||||
expect(isSameDomain('http://www.adomain.com/path',
|
||||
'http://www.adomain.com')).toBe(true);
|
||||
expect(isSameDomain('//www.adomain.com/path',
|
||||
'http://www.adomain.com')).toBe(true);
|
||||
expect(isSameDomain('//www.adomain.com/path',
|
||||
'https://www.adomain.com')).toBe(true);
|
||||
expect(isSameDomain('//www.adomain.com/path',
|
||||
'http://www.adomain.com:1234')).toBe(false);
|
||||
expect(isSameDomain('https://www.adomain.com/path',
|
||||
'http://www.adomain.com')).toBe(false);
|
||||
expect(isSameDomain('http://www.adomain.com:1234/path',
|
||||
'http://www.adomain.com')).toBe(false);
|
||||
expect(isSameDomain('http://www.anotherdomain.com/path',
|
||||
'http://www.adomain.com')).toBe(false);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
31
test/ng/urlUtilsSpec.js
Normal file
31
test/ng/urlUtilsSpec.js
Normal file
@@ -0,0 +1,31 @@
|
||||
'use strict';
|
||||
|
||||
describe('$$urlUtils', function() {
|
||||
describe('parse', function() {
|
||||
it('should normalize a relative url', inject(function($$urlUtils) {
|
||||
expect($$urlUtils.resolve("foo")).toMatch(/^https?:\/\/[^/]+\/foo$/);
|
||||
}));
|
||||
|
||||
it('should parse relative URL into component pieces', inject(function($$urlUtils) {
|
||||
var parsed = $$urlUtils.resolve("foo", true);
|
||||
expect(parsed.href).toMatch(/https?:\/\//);
|
||||
expect(parsed.protocol).toMatch(/^https?:/);
|
||||
expect(parsed.host).not.toBe("");
|
||||
}));
|
||||
});
|
||||
|
||||
describe('isSameOrigin', function() {
|
||||
it('should support various combinations of urls', inject(function($$urlUtils, $document) {
|
||||
expect($$urlUtils.isSameOrigin('path')).toBe(true);
|
||||
var origin = $$urlUtils.resolve($document[0].location.href, true);
|
||||
expect($$urlUtils.isSameOrigin('//' + origin.host + '/path')).toBe(true);
|
||||
// Different domain.
|
||||
expect($$urlUtils.isSameOrigin('http://example.com/path')).toBe(false);
|
||||
// Auto fill protocol.
|
||||
expect($$urlUtils.isSameOrigin('//example.com/path')).toBe(false);
|
||||
// Should not match when the ports are different.
|
||||
// This assumes that the test is *not* running on port 22 (very unlikely).
|
||||
expect($$urlUtils.isSameOrigin('//' + origin.hostname + ':22/path')).toBe(false);
|
||||
}));
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user