Changeset 4758

Show
Ignore:
Timestamp:
08/08/08 04:22:07 (20 months ago)
Author:
guilhermeblanco
Message:

fixes #1112. Package sfYaml now handles overflows with int values and consider them as string. Updated tests to add coverage to it.

Location:
branches/1.0
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • branches/1.0/lib/Doctrine/Parser/sfYaml/Inline.php

    r4744 r4758  
    371371        return unserialize(substr($scalar, 13)); 
    372372      case ctype_digit($scalar): 
    373         return '0' == $scalar[0] ? octdec($scalar) : intval($scalar); 
     373        $raw = $scalar; 
     374        $cast = intval($scalar); 
     375 
     376        return '0' == $scalar[0] 
     377          ? octdec($scalar) : (((string) $raw == (string) $cast) ? strval($cast) : $raw); 
    374378      case in_array(strtolower($scalar), array('true', 'on', '+', 'yes', 'y')): 
    375379        return true; 
  • branches/1.0/tests/Data/ImportTestCase.php

    r4743 r4758  
    5555    Phonenumber:  
    5656      Phonenumber_1:  
    57         phonenumber: 615-513-9185 
     57        phonenumber: 6155139185 
    5858END; 
    5959        try { 
     
    7171            $this->assertEqual($user->name, 'jwage'); 
    7272            $this->assertEqual($user->Phonenumber->count(), 1); 
    73             $this->assertEqual($user->Phonenumber[0]->phonenumber, '615-513-9185'); 
     73            $this->assertEqual($user->Phonenumber[0]->phonenumber, '6155139185'); 
    7474             
    7575            $data = new Doctrine_Data(); 
     
    135135Phonenumber: 
    136136  Phonenumber_1: 
    137     phonenumber: 615-513-9185 
     137    phonenumber: 6155139185 
    138138  Phonenumber_2: 
    139     phonenumber: 615-313-7679 
     139    phonenumber: 6153137679 
    140140END; 
    141141        try { 
     
    153153            $this->assertEqual($user->name, 'jwage2'); 
    154154            $this->assertEqual($user->Phonenumber->count(), 2); 
    155             $this->assertEqual($user->Phonenumber[0]->phonenumber, '615-513-9185'); 
    156             $this->assertEqual($user->Phonenumber[1]->phonenumber, '615-313-7679'); 
     155            $this->assertEqual($user->Phonenumber[0]->phonenumber, '6155139185'); 
     156            $this->assertEqual($user->Phonenumber[1]->phonenumber, '6153137679'); 
    157157 
    158158            $this->pass();