File: 80dynamically%2BObject-Pad.t

package info (click to toggle)
libobject-pad-perl 0.820-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 932 kB
  • sloc: ansic: 3,361; perl: 3,311; pascal: 28; makefile: 3
file content (32 lines) | stat: -rw-r--r-- 586 bytes parent folder | download
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
#!/usr/bin/perl

use v5.18;
use warnings;

use Test2::V0;

use Test2::Require::Module 'Object::Pad' => '0.800';
use Test2::Require::Module 'Syntax::Keyword::Dynamically';

use Object::Pad;
use Syntax::Keyword::Dynamically;

class Datum {
   field $value = 1;
   method value { $value }

   method test {
      ::is( $self->value, 1, 'value is 1 initially' );

      {
         dynamically $value = 2;
         ::is( $self->value, 2, 'value is 2 inside dynamically-assigned block' );
      }

      ::is( $self->value, 1, 'value is 1 finally' );
   }
}

Datum->new->test;

done_testing;