Changeset 2828 for lang/ruby/ssb

Show
Ignore:
Timestamp:
12/08/07 03:12:29 (13 months ago)
Author:
coji
Message:

lang/ruby/ssb: about:blank if specified null URI

Location:
lang/ruby/ssb/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/ssb/trunk/libs/ssb/request.rb

    r2826 r2828  
    8686      in_query.keys.each do |key| 
    8787        if key == 'ssb_q'       # request URI 
    88           uri_base = in_query[key].dup.untaint 
     88          uri_base = in_query[key].dup.untaint unless in_query[key].nil? 
    8989        else 
    9090          uri_params << in_query[key].list.map do |value| 
     
    9494      end 
    9595 
    96       uri_base = SSB::config['default']['homepage'] unless uri_base 
     96      uri_base = SSB::config['default']['homepage'] if uri_base.nil? || uri_base == '' 
    9797      uri_base = 'http://' + uri_base unless uri_base =~ %r[https?://|about:blank] 
    9898 
  • lang/ruby/ssb/trunk/test/request_test.rb

    r2826 r2828  
    106106 
    107107  test 'about:blank uri' do 
    108     @request = SSB::Request.new('GET', {'ssb_q'.taint, 'about:blank'.taint}, cookie) 
    109     assert_not_nil(@request.uri) 
    110     assert_instance_of(URI::Generic, @request.uri) 
    111     assert_equal(@request.uri.scheme, 'about') 
    112     assert_equal(@request.uri.opaque, 'blank') 
     108    request = SSB::Request.new('GET', {'ssb_q'.taint => 'about:blank'.taint}, cookie) 
     109    assert_not_nil(request.uri) 
     110    assert_instance_of(URI::Generic, request.uri) 
     111    assert_equal(request.uri.scheme, 'about') 
     112    assert_equal(request.uri.opaque, 'blank') 
     113  end 
     114 
     115  test 'null uri should about:blank' do 
     116    request = SSB::Request.new('GET', {'ssb_q'.taint => ''.taint}, cookie) 
     117    assert_not_nil(request.uri) 
     118    assert_instance_of(URI::Generic, request.uri) 
     119    assert_equal(request.uri.scheme, 'about') 
     120    assert_equal(request.uri.opaque, 'blank') 
     121 
     122    request = SSB::Request.new('GET', {'ssb_q'.taint => nil}, cookie) 
     123    assert_not_nil(request.uri) 
     124    assert_instance_of(URI::Generic, request.uri) 
     125    assert_equal(request.uri.scheme, 'about') 
     126    assert_equal(request.uri.opaque, 'blank') 
    113127  end 
    114128