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