Example #1
0
 public function testShouldPassWithBrowserify()
 {
     $this->app['config']->set('reactjs::basepath', dirname(__FILE__));
     $this->app['config']->set('reactjs::react_src', '');
     $this->app['config']->set('reactjs::src_files', ['/js/bundle.js']);
     $this->app['config']->set('reactjs::react_prefix', 'Application.libs');
     $this->app['config']->set('reactjs::components_prefix', 'Application.components');
     $this->setupErrorHandling();
     $data = ['nome' => 'Luis Henrique', 'email' => '*****@*****.**'];
     ReactJS::component('Person');
     ReactJS::data($data);
     $doc = new DOMDocument();
     $doc->loadHTML(ReactJS::markup());
     $this->assertEquals($data['nome'], $doc->getElementsByTagName('p')->item(0)->getElementsByTagName('span')->item(0)->textContent);
     $this->assertEquals($data['email'], $doc->getElementsByTagName('p')->item(1)->getElementsByTagName('span')->item(0)->textContent);
     $selector = '.xpto';
     $jsMarkup = ReactJS::js($selector);
     $this->assertTrue((bool) strpos($jsMarkup, 'Application.libs.React.render'));
     $this->assertTrue((bool) strpos($jsMarkup, json_encode($data)));
     $this->assertTrue((bool) strpos($jsMarkup, 'document.querySelector("' . $selector . '")'));
 }