Commit | Line | Data |
ee7c0467 |
1 | use strict; |
2 | use warnings; |
3 | |
86a4d873 |
4 | use Test::More; |
ee7c0467 |
5 | use Test::Exception; |
6 | |
efd3d14c |
7 | use Class::MOP::Instance; |
ee7c0467 |
8 | |
9 | my $C = 'Class::MOP::Instance'; |
10 | |
11 | { |
12 | my $instance = '$self'; |
e9a19694 |
13 | my $slot_name = 'foo'; |
ee7c0467 |
14 | my $value = '$value'; |
10e9f05d |
15 | my $class = '$class'; |
ee7c0467 |
16 | |
10e9f05d |
17 | is($C->inline_create_instance($class), |
18 | 'bless {} => $class', |
19 | '... got the right code for create_instance'); |
8d2d4c67 |
20 | is($C->inline_get_slot_value($instance, $slot_name), |
5143ee94 |
21 | q[$self->{"foo"}], |
ee7c0467 |
22 | '... got the right code for get_slot_value'); |
8d2d4c67 |
23 | |
24 | is($C->inline_set_slot_value($instance, $slot_name, $value), |
5143ee94 |
25 | q[$self->{"foo"} = $value], |
8d2d4c67 |
26 | '... got the right code for set_slot_value'); |
ee7c0467 |
27 | |
8d2d4c67 |
28 | is($C->inline_initialize_slot($instance, $slot_name), |
a007159d |
29 | '', |
ee7c0467 |
30 | '... got the right code for initialize_slot'); |
8d2d4c67 |
31 | |
32 | is($C->inline_is_slot_initialized($instance, $slot_name), |
5143ee94 |
33 | q[exists $self->{"foo"}], |
8d2d4c67 |
34 | '... got the right code for get_slot_value'); |
35 | |
36 | is($C->inline_weaken_slot_value($instance, $slot_name), |
5143ee94 |
37 | q[Scalar::Util::weaken( $self->{"foo"} )], |
8d2d4c67 |
38 | '... got the right code for weaken_slot_value'); |
39 | |
40 | is($C->inline_strengthen_slot_value($instance, $slot_name), |
5143ee94 |
41 | q[$self->{"foo"} = $self->{"foo"}], |
8d2d4c67 |
42 | '... got the right code for strengthen_slot_value'); |
10e9f05d |
43 | is($C->inline_rebless_instance_structure($instance, $class), |
5143ee94 |
44 | q[bless $self => $class], |
10e9f05d |
45 | '... got the right code for rebless_instance_structure'); |
8d2d4c67 |
46 | } |
47 | |
86a4d873 |
48 | done_testing; |