-
Notifications
You must be signed in to change notification settings - Fork 71
Support deeper levels of subdomains from RFC 6265 #35
base: master
Are you sure you want to change the base?
Conversation
| expect(CookieValidation.hostname_reach('github.com')).to be_nil | ||
| end | ||
| it 'should return nil for a two part tld' do | ||
| expect(CookieValidation.hostname_reach('co.nz')).to be_nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
| it 'should return nil for a root domain' do | ||
| expect(CookieValidation.hostname_reach('github.com')).to be_nil | ||
| end | ||
| it 'should return nil for a two part tld' do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
| it 'should not match superdomains, or illegal domains' do | ||
| expect(CookieValidation.domains_match('.z.foo.com', 'x.y.z.foo.com')).to be_nil | ||
| it 'should not match tlds, or illegal domains' do | ||
| expect(CookieValidation.domains_match('.com', 'x.y.z.foo.com')).to be_nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
| end | ||
| it 'should not match superdomains, or illegal domains' do | ||
| expect(CookieValidation.domains_match('.z.foo.com', 'x.y.z.foo.com')).to be_nil | ||
| it 'should not match tlds, or illegal domains' do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
| it 'should handle matching a superdomain' do | ||
| expect(CookieValidation.domains_match('.foo.com', 'auth.foo.com')).to eq '.foo.com' | ||
| expect(CookieValidation.domains_match('.y.z.foo.com', 'x.y.z.foo.com')).to eq '.y.z.foo.com' | ||
| expect(CookieValidation.domains_match('.z.foo.com', 'x.y.z.foo.com')).to eq '.z.foo.com' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
Metrics/LineLength: Line is too long. [94/80]
| ['zero.local', '.zero.local', '.local']) | ||
| end | ||
| it 'should handle multi-part tlds' do | ||
| expect(CookieValidation.compute_search_domains('http://foo.co.nz/')).to eq( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
Metrics/LineLength: Line is too long. [81/80]
| expect(CookieValidation.compute_search_domains('http://zero/')).to eq( | ||
| ['zero.local', '.zero.local', '.local']) | ||
| end | ||
| it 'should handle multi-part tlds' do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
| it 'should handle subdomains' do | ||
| expect(CookieValidation.compute_search_domains('http://www.auth.foo.com/')).to eq( | ||
| ['www.auth.foo.com', '.www.auth.foo.com', '.auth.foo.com']) | ||
| ['www.auth.foo.com', '.www.auth.foo.com', '.auth.foo.com', '.foo.com']) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
Layout/MultilineMethodCallBraceLayout: Closing method call brace must be on the line after the last argument when opening brace is on a separate line from the first argument.
| host = host.downcase | ||
| match = BASE_HOSTNAME.match host | ||
| match[1] if match | ||
| match[1] if match && (PublicSuffix.valid?(match[1]) || match[1] == 'local') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
Metrics/LineLength: Line is too long. [81/80]
| # frozen_string_literal: true | ||
| require 'cgi' | ||
| require 'uri' | ||
| require 'public_suffix' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
|
@dwaite Can I do anything to help get this merged? |
|
Possible to get this one merged? |
Closes #25