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