VersionControl_Git
[ class tree: VersionControl_Git ] [ index: VersionControl_Git ] [ all elements ]

Source for file VersionControl_Git_Object_CommitTest.php

Documentation is available at VersionControl_Git_Object_CommitTest.php

  1. <?php
  2.  
  3. chdir(dirname(__FILE__));
  4. set_include_path(get_include_path().PATH_SEPARATOR.realpath('../'));
  5.  
  6. require_once 'PHPUnit/Autoload.php';
  7. require_once 'VersionControl/Git.php';
  8.  
  9. require_once './checkFixtures.php';
  10.  
  11. class VersionControl_Git_Object_CommitTest extends PHPUnit_Framework_TestCase
  12. {
  13.   public function testConstruct()
  14.   {
  15.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  16.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  17.  
  18.     $this->assertTrue($instance instanceof VersionControl_Git_Object_Commit);
  19.   }
  20.  
  21.   public function testCreateInstanceByArrayException()
  22.   {
  23.     $this->setExpectedException('VersionControl_Git_Exception');
  24.  
  25.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  26.   }
  27.  
  28.   public function testCreateInstanceByArray()
  29.   {
  30.     $this->assertTrue($this->getCreatedInstance(instanceof VersionControl_Git_Object_Commit);
  31.   }
  32.  
  33.   public function testSetTree()
  34.   {
  35.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  36.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  37.  
  38.     $this->assertFalse($instance->setTree('cca66138995a95b45a725e8727ee97a20a816d41'));
  39.     $this->assertNull($instance->setTree('tree cca66138995a95b45a725e8727ee97a20a816d41'));
  40.   }
  41.  
  42.   public function testGetTree()
  43.   {
  44.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  45.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  46.  
  47.     $this->assertNull($instance->getTree());
  48.  
  49.     $instance->setTree('tree cca66138995a95b45a725e8727ee97a20a816d41');
  50.     $this->assertEquals($instance->getTree()'cca66138995a95b45a725e8727ee97a20a816d41');
  51.   }
  52.  
  53.   public function testSetParents()
  54.   {
  55.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  56.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  57.  
  58.     $this->assertFalse($instance->setParents('ddf8aa7e97a206847658c90a26fe740b2e17231a'));
  59.     $this->assertNull($instance->setParents('parent ddf8aa7e97a206847658c90a26fe740b2e17231a'));
  60.     $this->assertNull($instance->setParents(array('parent ddf8aa7e97a206847658c90a26fe740b2e17231a''parent ddf8aa7e97a206847658c90a26fe740b2e17231a')));
  61.   }
  62.  
  63.   public function testHasParents()
  64.   {
  65.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  66.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  67.  
  68.     $this->assertFalse($instance->hasParents());
  69.     $instance->setParents(array('parent ddf8aa7e97a206847658c90a26fe740b2e17231a''parent ddf8aa7e97a206847658c90a26fe740b2e17231a'));
  70.     $this->assertTrue($instance->hasParents());
  71.   }
  72.  
  73.   public function testGetParents()
  74.   {
  75.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  76.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  77.  
  78.     $this->assertFalse($instance->getParents());
  79.  
  80.     $instance->setParents(array('parent ddf8aa7e97a206847658c90a26fe740b2e17231a''invalid'));
  81.     $this->assertFalse($instance->getParents());
  82.  
  83.     $instance->setParents(array('parent ddf8aa7e97a206847658c90a26fe740b2e17231a''parent ddf8aa7e97a206847658c90a26fe740b2e17231a'));
  84.     $parents $instance->getParents();
  85.     $this->assertEquals((string)$parents[0]'ddf8aa7e97a206847658c90a26fe740b2e17231a');
  86.     $this->assertEquals((string)$parents[1]'ddf8aa7e97a206847658c90a26fe740b2e17231a');
  87.     $this->assertEquals(count($parents)2);
  88.   }
  89.  
  90.   public function testSetAuthor()
  91.   {
  92.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  93.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  94.  
  95.     $this->assertFalse($instance->setAuthor('Kousuke Ebihara <ebihara@tejimaya.com> 1264003801 +0900'));
  96.     $this->assertNull($instance->setAuthor('author Kousuke Ebihara <ebihara@tejimaya.com> 1264003801 +0900'));
  97.   }
  98.  
  99.   public function testGetAuthor()
  100.   {
  101.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  102.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  103.     $instance->setAuthor('author Kousuke Ebihara <ebihara@tejimaya.com> 1264003801 +0900');
  104.  
  105.     $this->assertEquals($instance->getAuthor()'Kousuke Ebihara <ebihara@tejimaya.com>');
  106.  
  107.     $instance->setAuthor('author Kousuke Ebihara <ebihara@tejimaya.com>');
  108.     $this->assertNull($instance->getAuthor());
  109.   }
  110.  
  111.   public function testGetCreatedAt()
  112.   {
  113.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  114.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  115.     $instance->setAuthor('author Kousuke Ebihara <ebihara@tejimaya.com> 1264003801 +0900');
  116.  
  117.     $this->assertEquals(date('YmdHis'$instance->getCreatedAt())'20100121011001');
  118.  
  119.     $instance->setAuthor('author Kousuke Ebihara <ebihara@tejimaya.com>');
  120.     $this->assertNull($instance->getCreatedAt());
  121.   }
  122.  
  123.   public function testSetCommitter()
  124.   {
  125.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  126.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  127.  
  128.     $this->assertFalse($instance->setCommitter('Kousuke Ebihara <ebihara@tejimaya.com> 1264003801 +0900'));
  129.     $this->assertNull($instance->setCommitter('committer Kousuke Ebihara <ebihara@tejimaya.com> 1264003801 +0900'));
  130.   }
  131.  
  132.   public function testGetCommitter()
  133.   {
  134.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  135.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  136.     $instance->setCommitter('committer Kousuke Ebihara <ebihara@tejimaya.com> 1264003801 +0900');
  137.  
  138.     $this->assertEquals($instance->getCommitter()'Kousuke Ebihara <ebihara@tejimaya.com>');
  139.  
  140.     $instance->setCommitter('committer Kousuke Ebihara <ebihara@tejimaya.com>');
  141.     $this->assertNull($instance->getCommitter());
  142.   }
  143.  
  144.   public function testGetCommittedAt()
  145.   {
  146.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  147.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  148.     $instance->setCommitter('committer Kousuke Ebihara <ebihara@tejimaya.com> 1264003801 +0900');
  149.  
  150.     $this->assertEquals(date('YmdHis'$instance->getCommittedAt())'20100121011001');
  151.  
  152.     $instance->setCommitter('committer Kousuke Ebihara <ebihara@tejimaya.com>');
  153.     $this->assertNull($instance->getCommittedAt());
  154.   }
  155.  
  156.   public function testSetMessage()
  157.   {
  158.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  159.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  160.  
  161.     $instance->setMessage('message');
  162.     $this->assertEquals($instance->getMessage()'message');
  163.   }
  164.  
  165.   public function testFetchException()
  166.   {
  167.     $this->setExpectedException('VersionControl_Git_Exception');
  168.  
  169.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  170.     $instance = new VersionControl_Git_Object_Commit($git'invalid');
  171.     $instance->fetch();
  172.   }
  173.  
  174.   public function testFetch()
  175.   {
  176.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  177.     $instance = new VersionControl_Git_Object_Commit($git'4ed54abb8efca38a0c794ca414b1f296279e0d85');
  178.     $instance->fetch();
  179.  
  180.     $this->assertEquals($instance->getTree()'cca66138995a95b45a725e8727ee97a20a816d41');
  181.     $this->assertFalse($instance->hasParents());
  182.     $this->assertEquals($instance->getAuthor()'Kousuke Ebihara <ebihara@tejimaya.com>');
  183.     $this->assertEquals(date('YmdHis'$instance->getCreatedAt())'20100121011001');
  184.     $this->assertEquals($instance->getCommitter()'Kousuke Ebihara <ebihara@tejimaya.com>');
  185.     $this->assertEquals(date('YmdHis'$instance->getCommittedAt())'20100121011001');
  186.     $this->assertEquals($instance->getMessage()'added directories and files');
  187.   }
  188.  
  189.   protected function getCreatedInstance()
  190.   {
  191.     $git = new VersionControl_Git('./fixtures/001_VersionControl_Git');
  192.     $instance VersionControl_Git_Object_Commit::createInstanceByArray($gitarray(
  193.       'commit'    => 'commit 4ed54abb8efca38a0c794ca414b1f296279e0d85',
  194.       'tree'      => 'tree cca66138995a95b45a725e8727ee97a20a816d41',
  195.       'parent'    => 'parent ddf8aa7e97a206847658c90a26fe740b2e17231a',
  196.       'author'    => 'author Kousuke Ebihara <ebihara@tejimaya.com> 1264003801 +0900',
  197.       'committer' => 'committer Kousuke Ebihara <ebihara@tejimaya.com> 1264003801 +0900',
  198.     ));
  199.  
  200.     return $instance;
  201.   }
  202. }

Documentation generated on Mon, 11 Mar 2019 15:43:05 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.