cvsuser     05/03/31 07:20:07

  Modified:    runtime/parrot/library/Data/Dumper Default.imc
               t/library dumper.t
  Log:
  - fixed dumping of some array PMCs
  - support for more PMC types
  - more tests
  
  Revision  Changes    Path
  1.8       +143 -17   parrot/runtime/parrot/library/Data/Dumper/Default.imc
  
  Index: Default.imc
  ===================================================================
  RCS file: /cvs/public/parrot/runtime/parrot/library/Data/Dumper/Default.imc,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Default.imc       14 Jan 2005 03:01:26 -0000      1.7
  +++ Default.imc       31 Mar 2005 15:20:06 -0000      1.8
  @@ -212,9 +212,130 @@
   
   =cut
   
  -.sub pmcPMCArray
  -    S0 = "pmcPerlArray"
  -    callmethod
  +.sub pmcPMCArray method
  +    .param string name
  +    .param pmc array
  +    self."pmcPerlArray"( name, array )
  +.end
  +
  +=item style."pmcResizablePMCArray"( name, array )
  +
  +Dumps an resizable (PMC) Array.
  +
  +=cut
  +
  +.sub pmcResizablePMCArray method
  +    .param string name
  +    .param pmc array
  +    self."pmcPerlArray"( name, array )
  +.end
  +
  +=item style."pmcResizableStringArray"( name, array )
  +
  +Dumps an resizable (string) Array.
  +
  +=cut
  +
  +.sub pmcResizableStringArray method
  +    .param string name
  +    .param pmc array
  +    self."pmcPerlArray"( name, array )
  +.end
  +
  +=item style."pmcResizableIntegerArray"( name, array )
  +
  +Dumps an resizable (Integer) Array.
  +
  +=cut
  +
  +.sub pmcResizableIntegerArray method
  +    .param string name
  +    .param pmc array
  +    self."pmcPerlArray"( name, array )
  +.end
  +
  +=item style."pmcResizableFloatArray"( name, array )
  +
  +Dumps an resizable (Float) Array.
  +
  +=cut
  +
  +.sub pmcResizableFloatArray method
  +    .param string name
  +    .param pmc array
  +    self."pmcPerlArray"( name, array )
  +.end
  +
  +=item style."pmcFixedPMCArray"( name, array )
  +
  +Dumps an fixed (PMC) Array.
  +
  +=cut
  +
  +.sub pmcFixedPMCArray method
  +    .param string name
  +    .param pmc array
  +    self."pmcPerlArray"( name, array )
  +.end
  +
  +=item style."pmcFixedStringArray"( name, array )
  +
  +Dumps an fixed (string) Array.
  +
  +=cut
  +
  +.sub pmcFixedStringArray method
  +    .param string name
  +    .param pmc array
  +    self."pmcPerlArray"( name, array )
  +.end
  +
  +=item style."pmcFixedIntegerArray"( name, array )
  +
  +Dumps an fixed (Integer) Array.
  +
  +=cut
  +
  +.sub pmcFixedIntegerArray method
  +    .param string name
  +    .param pmc array
  +    self."pmcPerlArray"( name, array )
  +.end
  +
  +=item style."pmcFixedFloatArray"( name, array )
  +
  +Dumps an fixed (Float) Array.
  +
  +=cut
  +
  +.sub pmcFixedFloatArray method
  +    .param string name
  +    .param pmc array
  +    self."pmcPerlArray"( name, array )
  +.end
  +
  +=item style."pmcPMCArray"( name, array )
  +
  +Dumps an (PMC) Array.
  +
  +=cut
  +
  +.sub pmcPMCArray method
  +    .param string name
  +    .param pmc array
  +    self."pmcPerlArray"( name, array )
  +.end
  +
  +=item style."pmcStringArray"( name, array )
  +
  +Dumps an (string) Array.
  +
  +=cut
  +
  +.sub pmcStringArray method
  +    .param string name
  +    .param pmc array
  +    self."pmcPerlArray"( name, array )
   .end
   
   =item style."pmcIntList"( name, array )
  @@ -282,17 +403,6 @@
       .return ( 1 )
   .end
   
  -=item style."pmcStringArray"( name, array )
  -
  -Dumps an (string) Array.
  -
  -=cut
  -
  -.sub pmcStringArray
  -    S0 = "pmcPerlArray"
  -    callmethod
  -.end
  -
   =item style."pmcPerlArray"( name, array )
   
   Dumps an (Perl) Array.
  @@ -541,9 +651,10 @@
   
   =cut
   
  -.sub pmcArray
  -    S0 = "pmcPerlArray"
  -    callmethod
  +.sub pmcArray method
  +    .param string name
  +    .param pmc array
  +    self."pmcPerlArray"( name, array )
   .end
   
   =item style."pmcInteger"( name, val )
  @@ -561,6 +672,21 @@
       .return ( 1 )
   .end
   
  +=item style."pmcFloat"( name, val )
  +
  +Dumps an Float PMC.
  +
  +=cut
  +
  +.sub pmcFloat method
  +    .param string name
  +    .param pmc val
  +
  +    print val
  +
  +    .return ( 1 )
  +.end
  +
   =back
   
   =head1 AUTHOR
  
  
  
  1.14      +217 -4    parrot/t/library/dumper.t
  
  Index: dumper.t
  ===================================================================
  RCS file: /cvs/public/parrot/t/library/dumper.t,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- dumper.t  19 Mar 2005 16:20:12 -0000      1.13
  +++ dumper.t  31 Mar 2005 15:20:07 -0000      1.14
  @@ -1,7 +1,7 @@
   #! perl -w
   
   # Copyright: 2001-2004 The Perl Foundation.  All Rights Reserved.
  -# $Id: dumper.t,v 1.13 2005/03/19 16:20:12 leo Exp $
  +# $Id: dumper.t,v 1.14 2005/03/31 15:20:07 jrieks Exp $
   
   =head1 NAME
   
  @@ -19,7 +19,7 @@
   
   use strict;
   
  -use Parrot::Test tests => 16;
  +use Parrot::Test tests => 27;
   
   # no. 1
   pir_output_is(<<'CODE', <<'OUT', "dumping array of sorted numbers");
  @@ -448,7 +448,7 @@
   OUT
   
   # no. 10
  -pir_output_is(<<'CODE', <<'OUT', "self-referential properties");
  +pir_output_is(<<'CODE', <<'OUT', "self-referential properties (1)");
   
   .sub _main
       .local pmc hash
  @@ -472,7 +472,7 @@
   OUT
   
   # no. 11
  -pir_output_is(<<'CODE', <<'OUT', "self-referential properties");
  +pir_output_is(<<'CODE', <<'OUT', "self-referential properties (2)");
   
   .sub _main
       .local pmc array
  @@ -767,3 +767,216 @@
   CODE
   "Int:" => 12345
   OUTPUT
  +
  +# no. 17
  +pir_output_is(<<'CODE', <<'OUTPUT', "dumping Float PMC");
  +
  +.sub _main
  +    .local pmc float1
  +
  +    new float1, .Float
  +    float1 = 12345.678
  +    _dumper( "Float:", float1 )
  +    end
  +.end
  +.include "library/dumper.imc"
  +CODE
  +"Float:" => 12345.7
  +OUTPUT
  +
  +# no. 18
  +pir_output_is(<<'CODE', <<'OUTPUT', "dumping ResizablePMCArray PMC");
  +.sub _main
  +    .local pmc array
  +
  +    new array, .ResizablePMCArray
  +    push array, 12345
  +    push array, "hello"
  +    _dumper( "array:", array )
  +    end
  +.end
  +.include "library/dumper.imc"
  +CODE
  +"array:" => ResizablePMCArray (size:2) [
  +    12345,
  +    "hello"
  +]
  +OUTPUT
  +
  +# no. 19
  +pir_output_is(<<'CODE', <<'OUTPUT', "dumping ResizableStringArray PMC");
  +.sub _main
  +    .local pmc array
  +
  +    new array, .ResizableStringArray
  +    push array, "hello"
  +    push array, "world"
  +    _dumper( "array:", array )
  +    end
  +.end
  +.include "library/dumper.imc"
  +CODE
  +"array:" => ResizableStringArray (size:2) [
  +    "hello",
  +    "world"
  +]
  +OUTPUT
  +
  +# no. 20
  +pir_output_is(<<'CODE', <<'OUTPUT', "dumping ResizableIntegerArray PMC");
  +.sub _main
  +    .local pmc array
  +
  +    new array, .ResizableIntegerArray
  +    push array, 12345
  +    push array, 67890
  +    _dumper( "array:", array )
  +    end
  +.end
  +.include "library/dumper.imc"
  +CODE
  +"array:" => ResizableIntegerArray (size:2) [
  +    12345,
  +    67890
  +]
  +OUTPUT
  +
  +# no. 21
  +pir_output_is(<<'CODE', <<'OUTPUT', "dumping ResizableFloatArray PMC");
  +.sub _main
  +    .local pmc array
  +
  +    new array, .ResizableFloatArray
  +    push array, 123.45
  +    push array, 67.89
  +    _dumper( "array:", array )
  +    end
  +.end
  +.include "library/dumper.imc"
  +CODE
  +"array:" => ResizableFloatArray (size:2) [
  +    123.45,
  +    67.89
  +]
  +OUTPUT
  +
  +# no. 22
  +pir_output_is(<<'CODE', <<'OUTPUT', "dumping FixedPMCArray PMC");
  +.sub _main
  +    .local pmc array
  +
  +    new array, .FixedPMCArray
  +    array = 2
  +    array[0] = 12345
  +    array[1] = "hello"
  +    _dumper( "array:", array )
  +    end
  +.end
  +.include "library/dumper.imc"
  +CODE
  +"array:" => FixedPMCArray (size:2) [
  +    12345,
  +    "hello"
  +]
  +OUTPUT
  +
  +# no. 23
  +pir_output_is(<<'CODE', <<'OUTPUT', "dumping FixedStringArray PMC");
  +.sub _main
  +    .local pmc array
  +
  +    new array, .FixedStringArray
  +    array = 2
  +    array[0] = "hello"
  +    array[1] = "world"
  +    _dumper( "array:", array )
  +    end
  +.end
  +.include "library/dumper.imc"
  +CODE
  +"array:" => FixedStringArray (size:2) [
  +    "hello",
  +    "world"
  +]
  +OUTPUT
  +
  +# no. 24
  +pir_output_is(<<'CODE', <<'OUTPUT', "dumping FixedIntegerArray PMC");
  +.sub _main
  +    .local pmc array
  +
  +    new array, .FixedIntegerArray
  +    array = 2
  +    array[0] = 12345
  +    array[1] = 67890
  +    _dumper( "array:", array )
  +    end
  +.end
  +.include "library/dumper.imc"
  +CODE
  +"array:" => FixedIntegerArray (size:2) [
  +    12345,
  +    67890
  +]
  +OUTPUT
  +
  +# no. 25
  +pir_output_is(<<'CODE', <<'OUTPUT', "dumping FixedFloatArray PMC");
  +.sub _main
  +    .local pmc array
  +
  +    new array, .FixedFloatArray
  +    array = 2
  +    array[0] = 123.45
  +    array[1] = 67.89
  +    _dumper( "array:", array )
  +    end
  +.end
  +.include "library/dumper.imc"
  +CODE
  +"array:" => FixedFloatArray (size:2) [
  +    123.45,
  +    67.89
  +]
  +OUTPUT
  +
  +# no. 26
  +pir_output_is(<<'CODE', <<'OUTPUT', "dumping PMCArray PMC");
  +.sub _main
  +    .local pmc array
  +
  +    new array, .PMCArray
  +    push array, 12345
  +    push array, "hello"
  +    _dumper( "array:", array )
  +    end
  +.end
  +.include "library/dumper.imc"
  +CODE
  +"array:" => PMCArray (size:2) [
  +    12345,
  +    "hello"
  +]
  +OUTPUT
  +
  +# no. 27
  +pir_output_is(<<'CODE', <<'OUTPUT', "dumping StringArray PMC");
  +.sub _main
  +    .local pmc array
  +
  +    new array, .StringArray
  +    push array, "hello"
  +    push array, "world"
  +    _dumper( "array:", array )
  +    end
  +.end
  +.include "library/dumper.imc"
  +CODE
  +"array:" => StringArray (size:2) [
  +    "hello",
  +    "world"
  +]
  +OUTPUT
  +
  +# pir_output_is(<<'CODE', <<'OUTPUT', "dumping IntegerArray PMC");
  +# pir_output_is(<<'CODE', <<'OUTPUT', "dumping FloatValArray PMC");
  
  
  

Reply via email to