File: time_spec.rb

package info (click to toggle)
ruby-roo 3.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 8,216 kB
  • sloc: ruby: 6,529; xml: 88; makefile: 6
file content (15 lines) | stat: -rw-r--r-- 780 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
require 'spec_helper'

RSpec.describe Roo::Excelx::Cell::Time do
  it "should set the cell value to the correct number of seconds" do
    value = 0.05513888888888888 # '1:19:24'
    excelx_type = [:numeric_or_formula, "h:mm:ss"]
    base_timestamp = Date.new(1899, 12, 30).to_time.to_i
    time_cell = Roo::Excelx::Cell::Time.new(value, nil, excelx_type, 1, nil, base_timestamp, nil)
    expect(time_cell.value).to eq(1*60*60 + 19*60 + 24) # '1:19:24' in seconds
    # use case from https://github.com/roo-rb/roo/issues/310
    value = 0.523761574074074   # '12:34:13' in seconds
    time_cell = Roo::Excelx::Cell::Time.new(value, nil, excelx_type, 1, nil, base_timestamp, nil)
    expect(time_cell.value).to eq(12*60*60 + 34*60 + 13) # 12:34:13 in seconds
  end
end