aboutsummaryrefslogtreecommitdiffstats
path: root/test/rdoc/test_rdoc_generator_json_index.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rdoc/test_rdoc_generator_json_index.rb')
-rw-r--r--test/rdoc/test_rdoc_generator_json_index.rb55
1 files changed, 55 insertions, 0 deletions
diff --git a/test/rdoc/test_rdoc_generator_json_index.rb b/test/rdoc/test_rdoc_generator_json_index.rb
index 214e4a0d91..f25ee27d5e 100644
--- a/test/rdoc/test_rdoc_generator_json_index.rb
+++ b/test/rdoc/test_rdoc_generator_json_index.rb
@@ -136,6 +136,61 @@ class TestRDocGeneratorJsonIndex < RDoc::TestCase
assert_equal expected, index
end
+ def test_generate_gzipped
+ require 'zlib'
+ @g.generate
+ @g.generate_gzipped
+
+ assert_file 'js/searcher.js'
+ assert_file 'js/searcher.js.gz'
+ assert_file 'js/navigation.js'
+ assert_file 'js/navigation.js.gz'
+ assert_file 'js/search_index.js'
+ assert_file 'js/search_index.js.gz'
+
+ gzip = File.open 'js/search_index.js.gz'
+ json = Zlib::GzipReader.new(gzip).read
+
+ json =~ /\Avar search_data = /
+
+ assignment = $&
+ index = $'
+
+ refute_empty assignment
+
+ index = JSON.parse index
+
+ info = [
+ @klass.search_record[2..-1],
+ @nest_klass.search_record[2..-1],
+ @meth.search_record[2..-1],
+ @nest_meth.search_record[2..-1],
+ @page.search_record[2..-1],
+ ]
+
+ expected = {
+ 'index' => {
+ 'searchIndex' => [
+ 'c',
+ 'd',
+ 'meth()',
+ 'meth()',
+ 'page',
+ ],
+ 'longSearchIndex' => [
+ 'c',
+ 'c::d',
+ 'c#meth()',
+ 'c::d#meth()',
+ '',
+ ],
+ 'info' => info,
+ },
+ }
+
+ assert_equal expected, index
+ end
+
def test_generate_utf_8
skip "Encoding not implemented" unless Object.const_defined? :Encoding