Skip to content

Commit 1a903cd

Browse files
committed
Unit tests for DefaultHanlder of the BuilderBundle
1 parent f338bdd commit 1a903cd

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
<?php
2+
/**
3+
* Created by PhpStorm.
4+
* User: fpapadopou
5+
* Date: 4/14/15
6+
* Time: 4:27 PM
7+
*/
8+
9+
namespace Codebender\BuilderBundle\Tests\Handler;
10+
11+
use Codebender\BuilderBundle\Handler\DefaultHandler;
12+
13+
class DefaultHandlerUnitTest extends \PHPUnit_Framework_TestCase
14+
{
15+
public function testPostRawData() {
16+
$this->markTestIncomplete('Only functional tests apply to postRawData function');
17+
}
18+
19+
public function testDetectHeadersInFile() {
20+
$handler = new DefaultHandler();
21+
22+
$code = "/*\nThis is a comment\n*/\n#include <header.h>\n#include \"quotedHeader.h\"\nvoid setup(){\n\n}\n\nvoid loop(){\n\n}\n";
23+
24+
$this->assertEquals(array('arrows' => array('header'), 'quotes' => array('quotedHeader')), $handler->detectHeadersInFile($code));
25+
}
26+
27+
public function testDetectHeadersInFileEmptyInoProvided() {
28+
$handler = new DefaultHandler();
29+
30+
$code = '';
31+
$this->assertEquals(array('arrows' => array(), 'quotes' => array()), $handler->detectHeadersInFile($code));
32+
}
33+
34+
public function testReadLibraries() {
35+
$handler = $this->getMockBuilder('Codebender\BuilderBundle\Handler\DefaultHandler')
36+
->setMethods(array('detectHeadersInFile'))
37+
->getMock();
38+
39+
$inoFile = array('filename' => 'project.ino', 'content' => '#include <header.h>\n#include <Ethernet.h>\n#include \"quotedHeader.h\"\nvoid setup(){\n\n}\n\nvoid loop(){\n\n}\n');
40+
$headerFile = array('filename' => 'quotedHeader.h', 'content' => '#define PIN 5\n#define PIN2 10');
41+
$projectFiles = array(
42+
$inoFile,
43+
$headerFile
44+
);
45+
46+
$handler
47+
->expects($this->once())
48+
->method('detectHeadersInFile')
49+
->with($inoFile['content'])
50+
->will($this->returnValue(array('arrows' => array('header', 'Ethernet'), 'quotes' => array('quotedHeader'))));
51+
52+
$this->assertTrue(is_array($handler->readlibraries($projectFiles)));
53+
}
54+
55+
public function testReadLibrariesNoIno() {
56+
$handler = $this->getMockBuilder('Codebender\BuilderBundle\Handler\DefaultHandler')
57+
->setMethods(array('detectHeadersInFile'))
58+
->getMock();
59+
60+
$headerFile = array('filename' => 'quotedHeader.h', 'content' => '#define PIN 5\n#define PIN2 10');
61+
$projectFiles = array(
62+
$headerFile
63+
);
64+
65+
$handler
66+
->expects($this->never())
67+
->method('detectHeadersInFile');
68+
69+
$this->assertEquals($handler->readlibraries($projectFiles), array());
70+
}
71+
}

0 commit comments

Comments
 (0)