File: 09-formula.t

package info (click to toggle)
libspreadsheet-readsxc-perl 0.39-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,368 kB
  • sloc: perl: 1,377; makefile: 8; xml: 2
file content (35 lines) | stat: -rw-r--r-- 784 bytes parent folder | download | duplicates (3)
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
use strict;
use Test::More;
use File::Basename 'dirname';
use Spreadsheet::ParseODS;
use Data::Dumper;

my $d = dirname($0);

my @cell_tests = (
    [0,2,"=2+2"],
    [1,2,'=SUM([.E$1:.E$1048576])'],
);

plan tests => 0+@cell_tests;

for my $file (qw(formula.ods)) {
    my $workbook = Spreadsheet::ParseODS->new()->parse("$d/$file");

    my $sheet = $workbook->worksheet('Tabelle1');

    for my $t (@cell_tests) {
        my $c = $sheet->get_cell( $t->[0], $t->[1] );

        if( ! $c ) {
            diag Dumper $sheet->data;
        };

        my $name = $sheet->get_cell($t->[0], 0)->value;
        my $literal = $sheet->get_cell($t->[0], 1)->value;
        my $formula = $c->formula;
        my $visual = "$name ($literal)";

        is $formula, $t->[2], $visual;
    };
};