/var/www/hkosl.com/imusiccircle/webadmin/libraies/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DefaultValueBinderTest.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php

require_once 'testDataFileIterator.php';

class 
DefaultValueBinderTest extends PHPUnit_Framework_TestCase
{
    protected 
$cellStub;

    public function 
setUp()
    {
        if (!
defined('PHPEXCEL_ROOT'))
        {
            
define('PHPEXCEL_ROOT'APPLICATION_PATH '/');
        }
        require_once(
PHPEXCEL_ROOT 'PHPExcel/Autoloader.php');
    }

    protected function 
createCellStub()
    {
        
// Create a stub for the Cell class.
        
$this->cellStub $this->getMockBuilder('PHPExcel_Cell')
            ->
disableOriginalConstructor()
            ->
getMock();
        
// Configure the stub.
        
$this->cellStub->expects($this->any())
             ->
method('setValueExplicit')
             ->
will($this->returnValue(true));

    }

    
/**
     * @dataProvider binderProvider
     */
    
public function testBindValue($value)
    {
        
$this->createCellStub();
        
$binder = new PHPExcel_Cell_DefaultValueBinder();
        
$result $binder->bindValue($this->cellStub$value);
        
$this->assertTrue($result);
    }

    public function 
binderProvider()
    {
        return array(
            array(
null),
            array(
''),
            array(
'ABC'),
            array(
'=SUM(A1:B2)'),
            array(
true),
            array(
false),
            array(
123),
            array(-
123.456),
            array(
'123'),
            array(
'-123.456'),
            array(
'#REF!'),
            array(new 
DateTime()),
        );
    }

    
/**
     * @dataProvider providerDataTypeForValue
     */
    
public function testDataTypeForValue()
    {
        
$args func_get_args();
        
$expectedResult array_pop($args);
        
$result call_user_func_array(array('PHPExcel_Cell_DefaultValueBinder','dataTypeForValue'), $args);
        
$this->assertEquals($expectedResult$result);
    }

    public function 
providerDataTypeForValue()
    {
        return new 
testDataFileIterator('rawTestData/Cell/DefaultValueBinder.data');
    }

    public function 
testDataTypeForRichTextObject()
    {
        
$objRichText = new PHPExcel_RichText();
        
$objRichText->createText('Hello World');

        
$expectedResult PHPExcel_Cell_DataType::TYPE_INLINE;
        
$result call_user_func(array('PHPExcel_Cell_DefaultValueBinder','dataTypeForValue'), $objRichText);
        
$this->assertEquals($expectedResult$result);
    }
}