File: widgetscalculator.t

package info (click to toggle)
qt4-perl 4.8.4-1.2
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 8,636 kB
  • ctags: 8,100
  • sloc: perl: 42,963; cpp: 28,039; makefile: 160; xml: 98; sh: 4
file content (98 lines) | stat: -rwxr-xr-x 2,367 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
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#!/usr/bin/perl

package WidgetsCalculator;

use strict;
use warnings;

use QtCore4;
use QtGui4;
use QtTest4;
use Calculator;
use QtCore4::isa qw(Qt::Object);
use QtCore4::slots
    private => 1,
    initTestCase => [],
    cleanup => [],
    testAdd => [],
    testSubtract => [],
    testMemory => [];

use Test::More;

sub NEW {
    my ($class, $parent) = @_;
    $class->SUPER::NEW();
}

sub testAdd {
    my $widget = this->{widget};
    my $button5 = $widget->digitButtons->[5];
    my $plusButton = $widget->{plusButton};
    my $button4 = $widget->digitButtons->[4];
    my $equalButton = $widget->{equalButton};
    foreach my $widget ( $button4, $plusButton, $button5, $equalButton ) {
        Qt::Test::mouseClick( $widget, Qt::LeftButton() );
    }

    is($widget->display->text(), 5+4, 'Addition');
}

sub testSubtract {
    my $widget = this->{widget};
    my $button5 = $widget->digitButtons->[5];
    my $minusButton = $widget->{minusButton};
    my $button4 = $widget->digitButtons->[4];
    my $equalButton = $widget->{equalButton};
    foreach my $widget ( $button5, $minusButton, $button4, $equalButton ) {
        Qt::Test::mouseClick( $widget, Qt::LeftButton() );
    }

    is($widget->display->text(), 5-4, 'Subtraction');
}

sub testMemory {
    my $widget = this->{widget};
    my $button5 = $widget->digitButtons->[5];
    my $plusButton = $widget->{plusButton};
    my $button3 = $widget->digitButtons->[3];
    my $equalButton = $widget->{equalButton};
    my $setMemoryButton = $widget->{setMemoryButton};
    my $readMemoryButton = $widget->{readMemoryButton};
    foreach my $widget ( $button5, $plusButton, $button3, $equalButton, $setMemoryButton, $button3, $plusButton, $readMemoryButton, $equalButton ) {
        Qt::Test::mouseClick( $widget, Qt::LeftButton() );
    }

    is($widget->display->text(), 5+3+3, 'Memory');
}

sub initTestCase {
    my $widget = Calculator();
    $widget->show();
    this->{widget} = $widget;
    Qt::Test::qWaitForWindowShown($widget);
}

sub cleanup {
    this->{widget}->clear();
}

package main;

use strict;
use warnings;

use QtCore4;
use QtGui4;
use QtTest4;
use WidgetsCalculator;
use Test::More tests=>3;

sub main {
    my $app = Qt::Application(\@ARGV);
    my $test = WidgetsCalculator();
    unshift @ARGV, $0;
    return Qt::Test::qExec($test, scalar @ARGV, \@ARGV);
}

exit main();