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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
# Copyright (C) 2012-2022 Sutou Kouhei <kou@cozmixng.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
require "rabbit/slide-configuration"
class TestSlideConfiguration < Test::Unit::TestCase
def setup
@slide = Rabbit::SlideConfiguration.new
end
def test_merge!
author_conf = {
"markup_language" => "rd",
"name" => "Kouhei Sutou",
"email" => "kou@cozmixng.org",
"rubygems_user" => "kou",
"slideshare_user" => "kou",
"speaker_deck_user" => "kou",
}
conf = {
"id" => "sprk2012",
"base_name" => "how-to-make-clear-code",
"tags" => ["rabbit", "sprk2012", "clear code"],
"presentation_date" => "2012-09-16",
"presentation_start_time" => "2012-09-16T10:00:00+0900",
"presentation_end_time" => "2012-09-16T10:30:00+0900",
"version" => "2012.09.16.0",
"licenses" => ["GPLv3+", "GFDL", "CC BY-SA 3.0"],
"slideshare_id" => "rabbit-14073776",
"source_code_uri" => "https://example.com/source",
"speaker_deck_id" => "rabbit-debian",
"vimeo_id" => "00000000",
"youtube_id" => "XXXXX-xxxxx",
"author" => author_conf,
"width" => 800,
"height" => 600,
}
@slide.id = "RubyKaigi2012"
@slide.merge!(conf)
object_conf = conf.dup
object_conf["presentation_date"] = Date.parse(conf["presentation_date"])
object_conf["presentation_start_time"] =
Time.parse(conf["presentation_start_time"])
object_conf["presentation_end_time"] =
Time.parse(conf["presentation_end_time"])
assert_equal(object_conf,
@slide.to_hash)
end
class TestDefaultVersion < self
def test_have_presentation_date
@slide.presentation_date = "2012-09-16"
assert_equal("2012.9.16.0", @slide.version)
end
def test_no_presentation_date
assert_equal("1.0.0", @slide.version)
end
end
end
|