aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--lib/rdoc/ri/driver.rb6
-rw-r--r--test/rdoc/test_rdoc_ri_driver.rb34
3 files changed, 44 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 83ce4f119a..b3775c4228 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Fri Nov 30 10:38:54 2012 Eric Hodel <drbrain@segment7.net>
+
+ * lib/rdoc/ri/driver.rb: Relaxed matching for pages to be more
+ user-friendly.
+ * test/rdoc/test_rdoc_ri_driver.rb: Test for above.
+
Fri Nov 30 09:50:16 2012 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/markdown.rb: Fixed warnings with -w
diff --git a/lib/rdoc/ri/driver.rb b/lib/rdoc/ri/driver.rb
index 4beda55881..4f5e13034e 100644
--- a/lib/rdoc/ri/driver.rb
+++ b/lib/rdoc/ri/driver.rb
@@ -842,10 +842,12 @@ The ri pager can be set with the 'RI_PAGER' environment variable or the
unless pages.include? page_name then
found_names = pages.select do |n|
- n =~ /^#{Regexp.escape page_name}\.[^.]+$/
+ n =~ /#{Regexp.escape page_name}\.[^.]+$/
end
- if found_names.length > 1 then
+ if found_names.length.zero? then
+ return display_page_list store, pages
+ elsif found_names.length > 1 then
return display_page_list store, found_names, page_name
end
diff --git a/test/rdoc/test_rdoc_ri_driver.rb b/test/rdoc/test_rdoc_ri_driver.rb
index 3f0e667784..37f29fbdfc 100644
--- a/test/rdoc/test_rdoc_ri_driver.rb
+++ b/test/rdoc/test_rdoc_ri_driver.rb
@@ -747,6 +747,40 @@ Foo::Bar#bother
assert_match %r%README\.md%, out
end
+ def test_display_page_ignore_directory
+ util_store
+
+ other = @store1.add_file 'doc/globals.rdoc'
+ other.parser = RDoc::Parser::Simple
+ other.comment =
+ doc(
+ head(1, 'globals.rdoc'),
+ para('Globals go here'))
+
+ @store1.save_page other
+
+ out, = capture_io do
+ @driver.display_page 'home:globals'
+ end
+
+ assert_match %r%= globals\.rdoc%, out
+ end
+
+ def test_display_page_missing
+ util_store
+
+ out, = capture_io do
+ @driver.display_page 'home:missing'
+ end
+
+ out, = capture_io do
+ @driver.display_page_list @store1
+ end
+
+ assert_match %r%= Pages in ~/\.rdoc%, out
+ assert_match %r%README\.rdoc%, out
+ end
+
def test_display_page_list
util_store