Open Journal Systems  3.3.0
ContextTest.php
1 <?php
2 /*
3  * citeproc-php
4  *
5  * @link http://github.com/seboettg/citeproc-php for the source repository
6  * @copyright Copyright (c) 2017 Sebastian Böttger.
7  * @license https://opensource.org/licenses/MIT
8  */
9 
10 namespace Seboettg\CiteProc;
11 
12 use PHPUnit\Framework\TestCase;
14 
15 class ContextTest extends TestCase
16 {
17 
18  private $data = "[{\"author\": [{\"family\": \"Hotho\", \"given\": \"Andreas\"}, {\"family\": \"Benz\", \"given\": \"Dominik\"}], \"title\":\"Book\", \"type\":\"book\"}]";
19 
23  private $citeProc;
24 
28  private $context;
29 
30  public function setUp()
31  {
32  $style = StyleSheet::loadStyleSheet("din-1505-2");
33  $this->citeProc = new CiteProc($style, "de-DE");
34  $this->citeProc->init();
35  $this->context = $this->citeProc->getContext();
36  $this->context->setMode("bibliography");
37  $dataList = new DataList(json_decode($this->data));
38  $this->context->setCitationItems($dataList);
39  }
40 
41 
45  public function testGetMacros()
46  {
47  $macros = $this->citeProc->getContext()->getMacros();
48  $this->assertTrue(count($macros) > 0);
49  foreach ($macros as $macro) {
50  $this->assertInstanceOf("Seboettg\\CiteProc\\Style\\Macro", $macro);
51  }
52 
53  }
54 
58  public function testGetMode()
59  {
60  $this->assertEquals("bibliography", $this->context->getMode());
61  }
62 
66  public function testHasCitationItems()
67  {
68  $this->assertTrue($this->citeProc->getContext()->hasCitationItems());
69  }
70 
74  public function testGetCitationItems()
75  {
76  foreach ($this->citeProc->getContext()->getCitationItems() as $item) {
77  $this->assertNotNull($item->{'author'});
78  $this->assertTrue(is_array($item->{'author'}));
79  $this->assertNotEmpty($item->{'author'});
80  }
81  }
82 }
Seboettg\CiteProc\ContextTest\testGetMacros
testGetMacros()
Definition: ContextTest.php:51
Seboettg\CiteProc\ContextTest\testGetCitationItems
testGetCitationItems()
Definition: ContextTest.php:80
Seboettg\CiteProc\ContextTest\setUp
setUp()
Definition: ContextTest.php:36
Seboettg\CiteProc\ContextTest\testGetMode
testGetMode()
Definition: ContextTest.php:64
Seboettg\CiteProc
Definition: CiteProc.php:10
Seboettg\CiteProc\ContextTest\testHasCitationItems
testHasCitationItems()
Definition: ContextTest.php:72
Seboettg\CiteProc\StyleSheet\loadStyleSheet
static loadStyleSheet($styleName)
Definition: StyleSheet.php:35
Seboettg\CiteProc\CiteProc
Definition: CiteProc.php:32
Seboettg\CiteProc\Data\DataList
Definition: DataList.php:22
Seboettg\CiteProc\ContextTest
Definition: ContextTest.php:15