File: 64_dates.t

package info (click to toggle)
libspreadsheet-read-perl 0.41-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 568 kB
  • sloc: perl: 2,605; lisp: 293; makefile: 9; xml: 1
file content (65 lines) | stat: -rw-r--r-- 2,174 bytes parent folder | download | duplicates (2)
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
#!/usr/bin/perl

use strict;
use warnings;

my     $tests = 71;
use     Test::More;
require Test::NoWarnings;

use     Spreadsheet::Read;
Spreadsheet::Read::parses ("xlsx") or
    plan skip_all => "No M\$-Excel parser found";

BEGIN { delete @ENV{qw( LANG LC_ALL LC_DATE )}; }

my $xls;
ok ($xls = ReadData ("files/Dates.xlsx", attr => 1, dtfmt => "yyyy-mm-dd"), "Excel Date testcase");

SKIP: {
    ok (my $ss   = $xls->[1],	"sheet");
    ok (my $attr = $ss->{attr},	"attr");

    defined $attr->[2][1]{format} or
	skip "$xls->[0]{parser} $xls->[0]{version} does not reliably support formats", 68;

    my @date = (undef, 39668, 39672,      39790,        39673);
    my @fmt  = (undef, undef, "yyyymmdd", "yyyy-mm-dd", "mm/dd/yyyy");
    foreach my $r (1 .. 4) {
	is ($ss->{cell}[$_][$r], $date[$r],	"Date value  row $r col $_") for 1 .. 4;

	is ($attr->[$_][$r]{type},   "date",   "Date type   row $r col $_")  for 1 .. 4;
	is ($attr->[$_][$r]{format}, $fmt[$_], "Date format row $r col $_")  for 1 .. 4;
	}

    is ($ss->{A1},	 "8-Aug",	"Cell content A1");
    is ($ss->{A2},	"12-Aug",	"Cell content A2");
    is ($ss->{A3},	 "8-Dec",	"Cell content A3");
    is ($ss->{A4},	"13-Aug",	"Cell content A4");

    is ($ss->{B1},	20080808,	"Cell content B1");
    is ($ss->{B2},	20080812,	"Cell content B2");
    is ($ss->{B3},	20081208,	"Cell content B3");
    is ($ss->{B4},	20080813,	"Cell content B4");

    is ($ss->{C1},	"2008-08-08",	"Cell content C1");
    is ($ss->{C2},	"2008-08-12",	"Cell content C2");
    is ($ss->{C3},	"2008-12-08",	"Cell content C3");
    is ($ss->{C4},	"2008-08-13",	"Cell content C4");

    is ($ss->{D1},	"08/08/2008",	"Cell content D1");
    is ($ss->{D2},	"08/12/2008",	"Cell content D2");
    is ($ss->{D3},	"12/08/2008",	"Cell content D3");
    is ($ss->{D4},	"08/13/2008",	"Cell content D4");

    is ($ss->{E1},	"08 Aug 2008",	"Cell content E1");
    is ($ss->{E2},	"12 Aug 2008",	"Cell content E2");
    is ($ss->{E3},	"08 Dec 2008",	"Cell content E3");
    is ($ss->{E4},	"13 Aug 2008",	"Cell content E4");
    }

unless ($ENV{AUTOMATED_TESTING}) {
    Test::NoWarnings::had_no_warnings ();
    $tests++;
    }
done_testing ($tests);