dakrone-fastri 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/test/test_util.rb ADDED
@@ -0,0 +1,91 @@
1
+ # Copyright (C) 2006 Mauricio Fernandez <mfp@acm.org>
2
+ #
3
+
4
+ require 'test/unit'
5
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
6
+ $:.unshift "lib"
7
+ require 'fastri/util'
8
+
9
+ class TestUtil < Test::Unit::TestCase
10
+ data = <<EOF
11
+ foo 0.1.1 /usr/local/lib/ruby/gems/1.8/doc/foo-0.1.1/ri
12
+ foo 1.1.1 /usr/local/lib/ruby/gems/1.8/doc/foo-1.1.1/ri
13
+ bar 0.1.1 /usr/local/lib/ruby/gems/1.8/doc/bar-0.1.1/ri
14
+ baz 0.1.1 /usr/local/lib/ruby/gems/1.8/doc/baz-0.1.1/ri
15
+ EOF
16
+ GEM_DIR_INFO = data.split(/\n/).map{|l| l.split(/\s+/)}
17
+
18
+ include FastRI::Util
19
+ def test_gem_info_for_path
20
+ assert_equal(["foo", "0.1.1", "/usr/local/lib/ruby/gems/1.8/doc/foo-0.1.1/ri"],
21
+ gem_info_for_path("/usr/local/lib/ruby/gems/1.8/doc/foo-0.1.1/ri/Array/cdesc-Array.yaml", GEM_DIR_INFO))
22
+ assert_equal(["foo", "1.1.1", "/usr/local/lib/ruby/gems/1.8/doc/foo-1.1.1/ri"],
23
+ gem_info_for_path("/usr/local/lib/ruby/gems/1.8/doc/foo-1.1.1/ri/Array/cdesc-Array.yaml", GEM_DIR_INFO))
24
+ assert_equal(["bar", "0.1.1", "/usr/local/lib/ruby/gems/1.8/doc/bar-0.1.1/ri"],
25
+ gem_info_for_path("/usr/local/lib/ruby/gems/1.8/doc/bar-0.1.1/ri/Array/cdesc-Array.yaml", GEM_DIR_INFO))
26
+ assert_equal(["baz", "0.1.1", "/usr/local/lib/ruby/gems/1.8/doc/baz-0.1.1/ri"],
27
+ gem_info_for_path("/usr/local/lib/ruby/gems/1.8/doc/baz-0.1.1/ri/Array/cdesc-Array.yaml", GEM_DIR_INFO))
28
+ assert_nil(gem_info_for_path("/usr/lib/ruby/gems/1.8/doc/baz-1.1.1/ri/Array/cdesc-Array.yaml", GEM_DIR_INFO))
29
+ end
30
+
31
+ def test_gem_relpath_to_full_name
32
+ assert_equal("Array", gem_relpath_to_full_name("Array/cdesc-Array.yaml"))
33
+ assert_equal("String", gem_relpath_to_full_name("String/cdesc-String.yaml"))
34
+ assert_equal("Foo::Bar::String", gem_relpath_to_full_name("Foo/Bar/String/cdesc-String.yaml"))
35
+ assert_equal("Foo::Bar#eql?", gem_relpath_to_full_name("Foo/Bar/eql%3f-i.yaml"))
36
+ assert_equal("Foo::Bar.eql?", gem_relpath_to_full_name("Foo/Bar/eql%3f-c.yaml"))
37
+ end
38
+
39
+ def test_change_query_method_type
40
+ assert_equal(".foo", change_query_method_type(".foo"))
41
+ assert_equal("::foo", change_query_method_type("#foo"))
42
+ assert_equal("#foo", change_query_method_type("::foo"))
43
+ assert_equal("A::B.foo", change_query_method_type("A::B.foo"))
44
+ assert_equal("A::B::foo", change_query_method_type("A::B#foo"))
45
+ assert_equal("A::B#foo", change_query_method_type("A::B::foo"))
46
+ end
47
+ end
48
+
49
+ class TestUtilMagicHelp < Test::Unit::TestCase
50
+ include FastRI::Util::MagicHelp
51
+ module TestModule
52
+ def foo; end
53
+ module_function :foo
54
+
55
+ def self.bar; end
56
+ def bar; end
57
+ end
58
+
59
+ def test_magic_help
60
+ assert_equal("IO::readlines", magic_help("IO::readlines"))
61
+ assert_equal("IO::readlines", magic_help("IO.readlines"))
62
+
63
+ assert_equal("Enumerable#inject", magic_help("File#inject"))
64
+ assert_equal("Enumerable#inject", magic_help("File.inject"))
65
+
66
+ assert_equal("IO::readlines", magic_help("File.readlines"))
67
+ assert_equal("IO::readlines", magic_help("File::readlines"))
68
+ end
69
+
70
+ def test_magic_help_nested_namespaces
71
+ assert_equal("TestUtilMagicHelp::TestModule#foo",
72
+ magic_help("TestUtilMagicHelp::TestModule.foo"))
73
+ assert_equal("TestUtilMagicHelp::TestModule::bar",
74
+ magic_help("TestUtilMagicHelp::TestModule.bar"))
75
+ end
76
+
77
+ def test_magic_help__new
78
+ assert_equal("Array::new", magic_help("Array::new"))
79
+ assert_equal("Array::new", magic_help("Array.new"))
80
+ assert_equal("Struct::new", magic_help("Struct.new"))
81
+ assert_equal("Struct::new", magic_help("Struct::new"))
82
+ end
83
+
84
+ def test_magic_help__Kernel_public_instance_methods
85
+ # It is mysterious.
86
+ # Object.instance_method(:object_id) # => #<UnboundMethod: Object(Kernel)#object_id>
87
+ assert_equal("Object#object_id", magic_help("Object.object_id"))
88
+ assert_equal("Object#object_id", magic_help("Object#object_id"))
89
+ end
90
+
91
+ end
metadata ADDED
@@ -0,0 +1,84 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dakrone-fastri
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.1
5
+ platform: ruby
6
+ authors:
7
+ - Mauricio Fernandez
8
+ - Lee Hinman
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2009-07-17 00:00:00 -07:00
14
+ default_executable: fri
15
+ dependencies: []
16
+
17
+ description: Fastri is RI, fast.
18
+ email: lee@writequit.org
19
+ executables:
20
+ - fastri-server
21
+ - fri
22
+ - ri-emacs
23
+ extensions: []
24
+
25
+ extra_rdoc_files:
26
+ - README.en
27
+ files:
28
+ - fastri.gemspec
29
+ - Rakefile
30
+ - README.en
31
+ - THANKS
32
+ - CHANGES
33
+ - COPYING
34
+ - LEGAL
35
+ - LICENSE
36
+ - bin/fastri-server
37
+ - bin/fri
38
+ - bin/ri-emacs
39
+ - lib/fastri/full_text_index.rb
40
+ - lib/fastri/full_text_indexer.rb
41
+ - lib/fastri/name_descriptor.rb
42
+ - lib/fastri/ri_index.rb
43
+ - lib/fastri/ri_service.rb
44
+ - lib/fastri/util.rb
45
+ - lib/fastri/version.rb
46
+ - indexer.rb
47
+ - lookup.rb
48
+ - pre-install.rb
49
+ - setup.rb
50
+ - test/test_full_text_index.rb
51
+ - test/test_full_text_indexer.rb
52
+ - test/test_functional_ri_service.rb
53
+ - test/test_integration_full_text_index.rb
54
+ - test/test_name_descriptor.rb
55
+ - test/test_ri_index.rb
56
+ - test/test_util.rb
57
+ has_rdoc: false
58
+ homepage: http://github.com/dakrone/fastri
59
+ post_install_message:
60
+ rdoc_options:
61
+ - --charset=UTF-8
62
+ require_paths:
63
+ - lib
64
+ required_ruby_version: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: "0"
69
+ version:
70
+ required_rubygems_version: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: "0"
75
+ version:
76
+ requirements: []
77
+
78
+ rubyforge_project:
79
+ rubygems_version: 1.2.0
80
+ signing_key:
81
+ specification_version: 3
82
+ summary: Fastri is RI, fast.
83
+ test_files: []
84
+