From 98c7058bf7b3eab91c62a77cb10b09f6c8ed368e Mon Sep 17 00:00:00 2001 From: hsbt Date: Mon, 26 Mar 2018 05:56:26 +0000 Subject: Merge RDoc 6.0.3 from upstream. It fixed the several bugs that was found after RDoc 6 releasing. From: SHIBATA Hiroshi git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rdoc/test_rdoc_generator_json_index.rb | 37 +++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) (limited to 'test/rdoc/test_rdoc_generator_json_index.rb') diff --git a/test/rdoc/test_rdoc_generator_json_index.rb b/test/rdoc/test_rdoc_generator_json_index.rb index 6cb5463d29..ca7260c820 100644 --- a/test/rdoc/test_rdoc_generator_json_index.rb +++ b/test/rdoc/test_rdoc_generator_json_index.rb @@ -1,14 +1,14 @@ # coding: US-ASCII # frozen_string_literal: true -require 'rdoc/test_case' +require 'minitest_helper' class TestRDocGeneratorJsonIndex < RDoc::TestCase def setup super - @tmpdir = File.join Dir.tmpdir, "test_rdoc_generator_darkfish_#{$$}" + @tmpdir = Dir.mktmpdir "test_rdoc_generator_darkfish_#{$$}_" FileUtils.mkdir_p @tmpdir @options = RDoc::Options.new @@ -89,12 +89,31 @@ class TestRDocGeneratorJsonIndex < RDoc::TestCase end def test_generate + now = Time.now @g.generate assert_file 'js/searcher.js' assert_file 'js/navigation.js' assert_file 'js/search_index.js' + srcdir = File.expand_path("../../lib/rdoc", __FILE__) + if !File.directory? srcdir + # for Ruby core repository + srcdir = File.expand_path("../../../lib/rdoc", __FILE__) + end + + orig_file = Pathname(File.join srcdir, 'generator/template/json_index/js/navigation.js') + generated_file = Pathname(File.join @tmpdir, 'js/navigation.js') + + # This is dirty hack on JRuby for MiniTest 4 + assert orig_file.mtime.inspect == generated_file.mtime.inspect, + '.js files should be tha same timestamp of original' + + assert generated_file.mtime < now, '.js files should be the same timestamp' + + generated_search_index = Pathname(File.join @tmpdir, 'js/search_index.js') + assert generated_search_index.mtime > (now - 1), 'search_index.js should be generated timestamp' + json = File.read 'js/search_index.js' json =~ /\Avar search_data = / @@ -137,6 +156,20 @@ class TestRDocGeneratorJsonIndex < RDoc::TestCase assert_equal expected, index end + def test_generate_search_index_with_reproducible_builds + backup_epoch = ENV['SOURCE_DATE_EPOCH'] + ruby_birthday = Time.parse 'Wed, 24 Feb 1993 21:00:00 +0900' + ENV['SOURCE_DATE_EPOCH'] = ruby_birthday.to_i.to_s + + @g.generate + + assert_file 'js/search_index.js' + generated_search_index = Pathname(File.join @tmpdir, 'js/search_index.js') + assert_equal ruby_birthday, generated_search_index.mtime + + ENV['SOURCE_DATE_EPOCH'] = backup_epoch + end + def test_generate_gzipped begin require 'zlib' -- cgit v1.2.3