Allow metaclasses to be reinitialized from an existing metaclass, instead of only...
[gitmo/Class-MOP.git] / t / 014_attribute_introspection.t
index 6fab683..34b09cc 100644 (file)
@@ -1,14 +1,10 @@
-#!/usr/bin/perl
-
 use strict;
 use warnings;
 
-use Test::More tests => 60;
+use Test::More tests => 69;
 use Test::Exception;
 
-BEGIN {
-    use_ok('Class::MOP');
-}
+use Class::MOP;
 
 {
     my $attr = Class::MOP::Attribute->new('$test');
@@ -20,21 +16,27 @@ BEGIN {
     isa_ok($meta, 'Class::MOP::Class');
 
     my @methods = qw(
-        meta
-        new clone
+        new
+        clone
 
         initialize_instance_slot
+        _set_initial_slot_value
 
         name
-        has_accessor  accessor
-        has_writer    writer     get_write_method get_write_method_ref
-        has_reader    reader     get_read_method  get_read_method_ref
-        has_predicate predicate
-        has_clearer   clearer
-        has_builder   builder
-        has_init_arg  init_arg
-        has_default   default    is_default_a_coderef
-        has_initializer initializer
+        has_accessor      accessor
+        has_writer        writer
+        has_write_method  get_write_method  get_write_method_ref
+        has_reader        reader
+        has_read_method   get_read_method   get_read_method_ref
+        has_predicate     predicate
+        has_clearer       clearer
+        has_builder       builder
+        has_init_arg      init_arg
+        has_default       default           is_default_a_coderef
+        has_initializer   initializer
+        has_insertion_order insertion_order _set_insertion_order
+
+        definition_context
 
         slots
         get_value
@@ -44,7 +46,8 @@ BEGIN {
         clear_value
 
         associated_class
-        attach_to_class detach_from_class
+        attach_to_class
+        detach_from_class
 
         accessor_metaclass
 
@@ -52,8 +55,11 @@ BEGIN {
         associate_method
 
         process_accessors
+        _process_accessors
         install_accessors
         remove_accessors
+
+        _new
         );
 
     is_deeply(
@@ -66,18 +72,20 @@ BEGIN {
     }
 
     my @attributes = (
-        '$!name',
-        '$!accessor',
-        '$!reader',
-        '$!writer',
-        '$!predicate',
-        '$!clearer',
-        '$!builder',
-        '$!init_arg',
-        '$!initializer',
-        '$!default',
-        '$!associated_class',
-        '@!associated_methods',
+        'name',
+        'accessor',
+        'reader',
+        'writer',
+        'predicate',
+        'clearer',
+        'builder',
+        'init_arg',
+        'initializer',
+        'definition_context',
+        'default',
+        'associated_class',
+        'associated_methods',
+        'insertion_order',
     );
 
     is_deeply(