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