From 6d707533a02cffbff01378c11fee2d9e39ccdf4d Mon Sep 17 00:00:00 2001 From: kojix2 <2xijok@gmail.com> Date: Mon, 21 Dec 2020 21:29:39 +0900 Subject: [PATCH] Allow DSV to accept single line header --- lib/youplot/dsv.rb | 20 ++++++++++++------- .../{dev_reader_test.rb => dsv_test.rb} | 4 ++++ 2 files changed, 17 insertions(+), 7 deletions(-) rename test/youplot/{dev_reader_test.rb => dsv_test.rb} (97%) diff --git a/lib/youplot/dsv.rb b/lib/youplot/dsv.rb index b542d02..d59de1f 100644 --- a/lib/youplot/dsv.rb +++ b/lib/youplot/dsv.rb @@ -57,16 +57,22 @@ module YouPlot end def get_series(arr, headers, transpose) - if transpose - if headers - arr.map { |row| row[1..-1] } + if headers + if arr.size > 1 + if transpose + arr.map { |row| row[1..-1] } + else + transpose2(arr[1..-1]) + end else - arr + Array.new(arr[0].size, []) end - elsif headers - transpose2(arr[1..-1]) else - transpose2(arr) + if transpose + arr + else + transpose2(arr) + end end end end diff --git a/test/youplot/dev_reader_test.rb b/test/youplot/dsv_test.rb similarity index 97% rename from test/youplot/dev_reader_test.rb rename to test/youplot/dsv_test.rb index 30ffbd6..19d80a5 100644 --- a/test/youplot/dev_reader_test.rb +++ b/test/youplot/dsv_test.rb @@ -59,6 +59,8 @@ class YouPlotDSVTest < Test::Unit::TestCase assert_equal(nil, @m.get_headers([[1, 2, 3], [4, 5, 6], [7, 8, 9]], false, false)) + + assert_equal([1, 2, 3], @m.get_headers([[1, 2, 3]], true, false)) end test :get_series do @@ -123,5 +125,7 @@ class YouPlotDSVTest < Test::Unit::TestCase [n, n, 6]], @m.get_series([[1], [2, 4], [3, 5, 6]], false, false)) + + assert_equal([[], [] ,[]], @m.get_series([[1, 2, 3]], true, false)) end end