aboutsummaryrefslogtreecommitdiffstats
path: root/test/rdoc/test_rdoc_ri_paths.rb
blob: 91e6abbfbd0d3a2784c0b6ed0a3638122832a7ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
require 'rubygems'
require 'test/unit'
require 'tmpdir'
require 'fileutils'
require 'rdoc/ri/paths'
require_relative '../ruby/envutil'

class TestRDocRIPaths < Test::Unit::TestCase

  def setup
    RDoc::RI::Paths.instance_variable_set :@gemdirs, %w[/nonexistent/gemdir]
  end

  def teardown
    RDoc::RI::Paths.instance_variable_set :@gemdirs, nil
  end

  def test_class_path_nonexistent
    path = RDoc::RI::Paths.path true, true, true, true, '/nonexistent'

    refute_includes path, '/nonexistent'
  end

  def test_class_raw_path
    path = RDoc::RI::Paths.raw_path true, true, true, true

    assert_equal RDoc::RI::Paths::SYSDIR,  path.shift
    assert_equal RDoc::RI::Paths::SITEDIR, path.shift
    assert_equal RDoc::RI::Paths::HOMEDIR, path.shift
    assert_equal '/nonexistent/gemdir',    path.shift
  end

  def test_class_raw_path_extra_dirs
    path = RDoc::RI::Paths.raw_path true, true, true, true, '/nonexistent'

    assert_equal '/nonexistent',           path.shift
    assert_equal RDoc::RI::Paths::SYSDIR,  path.shift
    assert_equal RDoc::RI::Paths::SITEDIR, path.shift
    assert_equal RDoc::RI::Paths::HOMEDIR, path.shift
    assert_equal '/nonexistent/gemdir',    path.shift
  end

  def test_homeless
    bug4202 = '[ruby-core:33867]'
    assert(assert_in_out_err([{"HOME"=>nil}, *%w"-rrdoc/ri/paths -e;"], bug4202).success?, bug4202)
  end
end