spec/domainatrix/domain_parser_spec.rb in f1sherman-domainatrix-0.0.10 vs spec/domainatrix/domain_parser_spec.rb in f1sherman-domainatrix-0.0.11

- old
+ new

@@ -22,11 +22,11 @@ @domain_parser.public_suffixes["jp"].should have_key("ac") @domain_parser.public_suffixes["jp"]["aichi"].should have_key("*") end end - describe "parsing" do + describe :parse do it "returns a hash of parts" do @domain_parser.parse("http://pauldix.net").should be_a Hash end it "includes the original url" do @@ -66,6 +66,32 @@ it "should have subdomains" do @domain_parser.parse("http://foo.pauldix.net")[:subdomain].should == "foo" @domain_parser.parse("http://bar.foo.pauldix.co.uk")[:subdomain].should == "bar.foo" end end -end \ No newline at end of file + + describe :parse_domains_from_host do + it "should parse from a lowercase host" do + @domain_parser.parse_domains_from_host("foo.pauldix.net")[:domain].should == "pauldix" + @domain_parser.parse_domains_from_host("foo.pauldix.net")[:subdomain].should == "foo" + @domain_parser.parse_domains_from_host("foo.pauldix.net")[:public_suffix].should == "net" + end + it "should parse from a mixed case host" do + @domain_parser.parse_domains_from_host("foo.pauldix.NET")[:domain].should == "pauldix" + @domain_parser.parse_domains_from_host("foo.pauldix.NET")[:subdomain].should == "foo" + @domain_parser.parse_domains_from_host("foo.pauldix.NET")[:public_suffix].should == "net" + end + it "should parse from an uppercase host" do + @domain_parser.parse_domains_from_host("FOO.PAULDIX.NET")[:domain].should == "pauldix" + @domain_parser.parse_domains_from_host("FOO.PAULDIX.NET")[:subdomain].should == "foo" + @domain_parser.parse_domains_from_host("FOO.PAULDIX.NET")[:public_suffix].should == "net" + end + it "should parse from an empty host" do + @domain_parser.parse_domains_from_host("")[:domain].should == "" + @domain_parser.parse_domains_from_host("")[:subdomain].should == "" + @domain_parser.parse_domains_from_host("")[:public_suffix].should == "" + end + it "should raise an error for invalid input" do + lambda { @domain_parser.parse_domains_from_host(nil) }.should raise_error + end + end +end