addressable 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -553,7 +553,7 @@ span.run100 {
553
553
  </style>
554
554
  </head>
555
555
  <body><h3>C0 code coverage information</h3>
556
- <p>Generated on Sat May 03 13:27:45 -0400 2008 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
556
+ <p>Generated on Sat May 03 13:17:31 -0400 2008 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
557
557
  </p>
558
558
  <hr/>
559
559
  <pre><span class='marked0'>Code reported as executed by Ruby looks like this...
@@ -598,38 +598,38 @@ span.run100 {
598
598
  </tr>
599
599
  </tbody>
600
600
  </table>
601
- <pre><span class="inferred1"><a name="line1"></a> 1 #--
602
- </span><span class="inferred0"><a name="line2"></a> 2 # Addressable, Copyright (c) 2006-2008 Bob Aman
603
- </span><span class="inferred1"><a name="line3"></a> 3 #
604
- </span><span class="inferred0"><a name="line4"></a> 4 # Permission is hereby granted, free of charge, to any person obtaining
605
- </span><span class="inferred1"><a name="line5"></a> 5 # a copy of this software and associated documentation files (the
606
- </span><span class="inferred0"><a name="line6"></a> 6 # &quot;Software&quot;), to deal in the Software without restriction, including
607
- </span><span class="inferred1"><a name="line7"></a> 7 # without limitation the rights to use, copy, modify, merge, publish,
608
- </span><span class="inferred0"><a name="line8"></a> 8 # distribute, sublicense, and/or sell copies of the Software, and to
609
- </span><span class="inferred1"><a name="line9"></a> 9 # permit persons to whom the Software is furnished to do so, subject to
610
- </span><span class="inferred0"><a name="line10"></a>10 # the following conditions:
611
- </span><span class="inferred1"><a name="line11"></a>11 #
612
- </span><span class="inferred0"><a name="line12"></a>12 # The above copyright notice and this permission notice shall be
613
- </span><span class="inferred1"><a name="line13"></a>13 # included in all copies or substantial portions of the Software.
614
- </span><span class="inferred0"><a name="line14"></a>14 #
615
- </span><span class="inferred1"><a name="line15"></a>15 # THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,
616
- </span><span class="inferred0"><a name="line16"></a>16 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
617
- </span><span class="inferred1"><a name="line17"></a>17 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
618
- </span><span class="inferred0"><a name="line18"></a>18 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
619
- </span><span class="inferred1"><a name="line19"></a>19 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
620
- </span><span class="inferred0"><a name="line20"></a>20 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
621
- </span><span class="inferred1"><a name="line21"></a>21 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
622
- </span><span class="inferred0"><a name="line22"></a>22 #++
623
- </span><span class="inferred1"><a name="line23"></a>23
624
- </span><span class="marked0"><a name="line24"></a>24 module Addressable
625
- </span><span class="marked1"><a name="line25"></a>25 module ADDRESSABLE_VERSION #:nodoc:
626
- </span><span class="marked0"><a name="line26"></a>26 MAJOR = 1
627
- </span><span class="marked1"><a name="line27"></a>27 MINOR = 0
628
- </span><span class="marked0"><a name="line28"></a>28 TINY = 3
629
- </span><span class="inferred1"><a name="line29"></a>29
630
- </span><span class="marked0"><a name="line30"></a>30 STRING = [MAJOR, MINOR, TINY].join('.')
631
- </span><span class="inferred1"><a name="line31"></a>31 end
632
- </span><span class="inferred0"><a name="line32"></a>32 end
601
+ <pre><span class="inferred0"><a name="line1"></a> 1 #--
602
+ </span><span class="inferred1"><a name="line2"></a> 2 # Addressable, Copyright (c) 2006-2008 Bob Aman
603
+ </span><span class="inferred0"><a name="line3"></a> 3 #
604
+ </span><span class="inferred1"><a name="line4"></a> 4 # Permission is hereby granted, free of charge, to any person obtaining
605
+ </span><span class="inferred0"><a name="line5"></a> 5 # a copy of this software and associated documentation files (the
606
+ </span><span class="inferred1"><a name="line6"></a> 6 # &quot;Software&quot;), to deal in the Software without restriction, including
607
+ </span><span class="inferred0"><a name="line7"></a> 7 # without limitation the rights to use, copy, modify, merge, publish,
608
+ </span><span class="inferred1"><a name="line8"></a> 8 # distribute, sublicense, and/or sell copies of the Software, and to
609
+ </span><span class="inferred0"><a name="line9"></a> 9 # permit persons to whom the Software is furnished to do so, subject to
610
+ </span><span class="inferred1"><a name="line10"></a>10 # the following conditions:
611
+ </span><span class="inferred0"><a name="line11"></a>11 #
612
+ </span><span class="inferred1"><a name="line12"></a>12 # The above copyright notice and this permission notice shall be
613
+ </span><span class="inferred0"><a name="line13"></a>13 # included in all copies or substantial portions of the Software.
614
+ </span><span class="inferred1"><a name="line14"></a>14 #
615
+ </span><span class="inferred0"><a name="line15"></a>15 # THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,
616
+ </span><span class="inferred1"><a name="line16"></a>16 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
617
+ </span><span class="inferred0"><a name="line17"></a>17 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
618
+ </span><span class="inferred1"><a name="line18"></a>18 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
619
+ </span><span class="inferred0"><a name="line19"></a>19 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
620
+ </span><span class="inferred1"><a name="line20"></a>20 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
621
+ </span><span class="inferred0"><a name="line21"></a>21 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
622
+ </span><span class="inferred1"><a name="line22"></a>22 #++
623
+ </span><span class="inferred0"><a name="line23"></a>23
624
+ </span><span class="marked1"><a name="line24"></a>24 module Addressable
625
+ </span><span class="marked0"><a name="line25"></a>25 module ADDRESSABLE_VERSION #:nodoc:
626
+ </span><span class="marked1"><a name="line26"></a>26 MAJOR = 1
627
+ </span><span class="marked0"><a name="line27"></a>27 MINOR = 0
628
+ </span><span class="marked1"><a name="line28"></a>28 TINY = 4
629
+ </span><span class="inferred0"><a name="line29"></a>29
630
+ </span><span class="marked1"><a name="line30"></a>30 STRING = [MAJOR, MINOR, TINY].join('.')
631
+ </span><span class="inferred0"><a name="line31"></a>31 end
632
+ </span><span class="inferred1"><a name="line32"></a>32 end
633
633
  </span></pre><hr/>
634
634
  <p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a>
635
635
  version 0.8.1.2.</p>
@@ -505,6 +505,9 @@ module Addressable
505
505
  @port = @port.to_i
506
506
  @port = nil if @port == 0
507
507
  @path = (path || "")
508
+ if @path != "" && @path[0..0] != "/" && @host != nil
509
+ @path = "/#{@path}"
510
+ end
508
511
  @query = query
509
512
  @fragment = fragment
510
513
 
@@ -25,7 +25,7 @@ module Addressable
25
25
  module ADDRESSABLE_VERSION #:nodoc:
26
26
  MAJOR = 1
27
27
  MINOR = 0
28
- TINY = 3
28
+ TINY = 4
29
29
 
30
30
  STRING = [MAJOR, MINOR, TINY].join('.')
31
31
  end
@@ -105,6 +105,24 @@ describe Addressable::URI, "when created with a nil host but " +
105
105
  end
106
106
  end
107
107
 
108
+ describe Addressable::URI, "when created with a path that hasn't been " +
109
+ "prefixed with a '/' but a host specified" do
110
+ it "should prefix a '/' to the path" do
111
+ Addressable::URI.new(
112
+ "http", nil, nil, "example.com", nil, "path", nil, nil
113
+ ).should == Addressable::URI.parse("http://example.com/path")
114
+ end
115
+ end
116
+
117
+ describe Addressable::URI, "when created with a path that hasn't been " +
118
+ "prefixed with a '/' but no host specified" do
119
+ it "should prefix a '/' to the path" do
120
+ Addressable::URI.new(
121
+ "http", nil, nil, nil, nil, "path", nil, nil
122
+ ).should == Addressable::URI.parse("http:path")
123
+ end
124
+ end
125
+
108
126
  # Section 1.1.2 of RFC 3986
109
127
  describe Addressable::URI, " when parsed from " +
110
128
  "'ftp://ftp.is.co.za/rfc/rfc1808.txt'" do
@@ -728,7 +746,11 @@ describe Addressable::URI, " when parsed from " +
728
746
 
729
747
  # Based on http://intertwingly.net/blog/2004/07/31/URI-Equivalence
730
748
  it "should be equivalent to 'http://example.com/C%CC%A7'" do
731
- @uri.should == Addressable::URI.parse("http://example.com/C%CC%A7")
749
+ if Addressable::URI::IDNA.send(:use_libidn?)
750
+ @uri.should == Addressable::URI.parse("http://example.com/C%CC%A7")
751
+ else
752
+ pending("Skipping IDN specification because GNU libidn is unavailable.")
753
+ end
732
754
  end
733
755
 
734
756
  it "should not change if encoded with the normalizing algorithm" do
@@ -2108,7 +2130,7 @@ describe Addressable::URI, " when parsed from " +
2108
2130
  @uri.should ==
2109
2131
  Addressable::URI.parse("http://www.xn--8ws00zhy3a.com/")
2110
2132
  else
2111
- puts "\nSkipping IDN specification because GNU libidn is unavailable."
2133
+ pending("Skipping IDN specification because GNU libidn is unavailable.")
2112
2134
  end
2113
2135
  end
2114
2136
 
@@ -2131,7 +2153,7 @@ describe Addressable::URI, " when parsed from " +
2131
2153
  Addressable::URI.parse(
2132
2154
  "http://www.xn--8ws00zhy3a.com/%20some%20spaces%20/")
2133
2155
  else
2134
- puts "\nSkipping IDN specification because GNU libidn is unavailable."
2156
+ pending("Skipping IDN specification because GNU libidn is unavailable.")
2135
2157
  end
2136
2158
  end
2137
2159
 
@@ -2151,7 +2173,7 @@ describe Addressable::URI, " when parsed from " +
2151
2173
  if Addressable::URI::IDNA.send(:use_libidn?)
2152
2174
  @uri.display_uri.to_s.should == "http://www.詹姆斯.com/"
2153
2175
  else
2154
- puts "\nSkipping IDN specification because GNU libidn is unavailable."
2176
+ pending("Skipping IDN specification because GNU libidn is unavailable.")
2155
2177
  end
2156
2178
  end
2157
2179
  end
@@ -2170,7 +2192,7 @@ describe Addressable::URI, " when parsed from " +
2170
2192
  @uri.normalize!.to_s.should ==
2171
2193
  "http://www.xn--8ws00zhy3a.com/atomtests/iri/%E8%A9%B9.html"
2172
2194
  else
2173
- puts "\nSkipping IDN specification because GNU libidn is unavailable."
2195
+ pending("Skipping IDN specification because GNU libidn is unavailable.")
2174
2196
  end
2175
2197
  end
2176
2198
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: addressable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Aman