AutoloaderTest.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. class AutoloaderTest extends PHPUnit_Framework_TestCase
  3. {
  4. public function setUp()
  5. {
  6. if (!defined('PHPEXCEL_ROOT')) {
  7. define('PHPEXCEL_ROOT', APPLICATION_PATH . '/');
  8. }
  9. require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
  10. }
  11. public function testAutoloaderNonPHPExcelClass()
  12. {
  13. $className = 'InvalidClass';
  14. $result = PHPExcel_Autoloader::Load($className);
  15. // Must return a boolean...
  16. $this->assertTrue(is_bool($result));
  17. // ... indicating failure
  18. $this->assertFalse($result);
  19. }
  20. public function testAutoloaderInvalidPHPExcelClass()
  21. {
  22. $className = 'PHPExcel_Invalid_Class';
  23. $result = PHPExcel_Autoloader::Load($className);
  24. // Must return a boolean...
  25. $this->assertTrue(is_bool($result));
  26. // ... indicating failure
  27. $this->assertFalse($result);
  28. }
  29. public function testAutoloadValidPHPExcelClass()
  30. {
  31. $className = 'PHPExcel_IOFactory';
  32. $result = PHPExcel_Autoloader::Load($className);
  33. // Check that class has been loaded
  34. $this->assertTrue(class_exists($className));
  35. }
  36. public function testAutoloadInstantiateSuccess()
  37. {
  38. $result = new PHPExcel_Calculation_Function(1, 2, 3);
  39. // Must return an object...
  40. $this->assertTrue(is_object($result));
  41. // ... of the correct type
  42. $this->assertTrue(is_a($result, 'PHPExcel_Calculation_Function'));
  43. }
  44. }