update v 1.0.7.5

This commit is contained in:
Sujit Prasad
2016-06-13 20:41:55 +05:30
parent aa9786d829
commit 283d97e3ea
5078 changed files with 339851 additions and 175995 deletions

View File

@@ -0,0 +1,39 @@
<?php
abstract class TestCase extends Orchestra\Testbench\TestCase {
protected function getPackageProviders()
{
return [
'DaveJamesMiller\Breadcrumbs\ServiceProvider',
];
}
protected function getPackageAliases()
{
return [
'Breadcrumbs' => 'DaveJamesMiller\Breadcrumbs\Facade'
];
}
public function setUp()
{
parent::setUp();
$this->loadServiceProvider();
}
protected function loadServiceProvider()
{
// Need to trigger register() to test the views
$this->app->make('breadcrumbs');
}
public function tearDown()
{
$this->addToAssertionCount(Mockery::getContainer()->mockery_getExpectationCount());
Mockery::close();
}
}

View File

@@ -0,0 +1,3 @@
<ol class="breadcrumb">
<li class="active">Home</li>
</ol>

View File

@@ -0,0 +1,3 @@
<ol class="breadcrumb">
<li class="active">Home</li>
</ol>

View File

@@ -0,0 +1,17 @@
<ul class="breadcrumb">
<li>
<a href="/">Home</a>
<span class="divider">/</span>
</li>
<li class="active">
Not a link
<span class="divider">/</span>
</li>
<li>
<a href="/blog">Blog &amp; &lt; &gt;</a>
<span class="divider">/</span>
</li>
<li class="active">
Sample Post
</li>
</ul>

View File

@@ -0,0 +1,6 @@
<ol class="breadcrumb">
<li><a href="/">Home</a></li>
<li class="active">Not a link</li>
<li><a href="/blog">Blog &amp; &lt; &gt;</a></li>
<li class="active">Sample Post</li>
</ol>

View File

@@ -0,0 +1,5 @@
<ol class="breadcrumb">
<li><a href="/">Home</a></li>
<li><a href="/category/456">Sample Category</a></li>
<li class="active">Sample Post</li>
</ol>

View File

@@ -0,0 +1,29 @@
<?php
class CustomServiceProviderTest extends TestCase {
protected function getPackageProviders()
{
return [
'CustomServiceProvider',
];
}
public function testRender()
{
$html = Breadcrumbs::render('home');
$this->assertXmlStringEqualsXmlFile(__DIR__ . '/../fixtures/CustomServiceProvider.html', $html);
}
}
class CustomServiceProvider extends DaveJamesMiller\Breadcrumbs\ServiceProvider {
public function registerBreadcrumbs()
{
Breadcrumbs::register('home', function($breadcrumbs) {
$breadcrumbs->push('Home', '/');
});
}
}

View File

@@ -0,0 +1,43 @@
<?php
class DependantServiceProviderErrorTest extends TestCase {
protected function getPackageProviders()
{
return [
// These are in the wrong order
'DependantServiceProviderError',
'DaveJamesMiller\Breadcrumbs\ServiceProvider',
];
}
protected function loadServiceProvider()
{
// Disabled - we want to test the automatic loading instead
}
/**
* @expectedException DaveJamesMiller\Breadcrumbs\Exception
* @expectedExceptionMessage Breadcrumbs view not specified
*/
public function testRender()
{
Breadcrumbs::render('home');
}
}
class DependantServiceProviderError extends Illuminate\Support\ServiceProvider {
public function register()
{
}
public function boot()
{
Breadcrumbs::register('home', function($breadcrumbs) {
$breadcrumbs->push('Home', '/');
});
}
}

View File

@@ -0,0 +1,39 @@
<?php
class DependantServiceProviderTest extends TestCase {
protected function getPackageProviders()
{
return [
'DaveJamesMiller\Breadcrumbs\ServiceProvider',
'DependantServiceProvider',
];
}
protected function loadServiceProvider()
{
// Disabled - we want to test the automatic loading instead
}
public function testRender()
{
$html = Breadcrumbs::render('home');
$this->assertXmlStringEqualsXmlFile(__DIR__ . '/../fixtures/DependantServiceProvider.html', $html);
}
}
class DependantServiceProvider extends Illuminate\Support\ServiceProvider {
public function register()
{
}
public function boot()
{
Breadcrumbs::register('home', function($breadcrumbs) {
$breadcrumbs->push('Home', '/');
});
}
}

View File

@@ -0,0 +1,61 @@
<?php
class IntegrationTest extends TestCase {
public function setUp()
{
parent::setUp();
Breadcrumbs::register('home', function($breadcrumbs) {
$breadcrumbs->push('Home', '/');
});
Breadcrumbs::register('category', function($breadcrumbs, $category) {
$breadcrumbs->parent('home');
$breadcrumbs->push($category->title, '/category/' . $category->id);
});
Breadcrumbs::register('post', function($breadcrumbs, $post) {
$breadcrumbs->parent('category', $post->category);
$breadcrumbs->push($post->title, '/blog/' . $post->id);
});
$this->post = (object) [
'id' => 123,
'title' => 'Sample Post',
'category' => (object) [
'id' => 456,
'title' => 'Sample Category',
],
];
}
public function testGenerate()
{
$breadcrumbs = Breadcrumbs::generate('post', $this->post);
$this->assertCount(3, $breadcrumbs);
$this->assertSame('Home', $breadcrumbs[0]->title);
$this->assertSame('/', $breadcrumbs[0]->url);
$this->assertTrue($breadcrumbs[0]->first);
$this->assertFalse($breadcrumbs[0]->last);
$this->assertSame('Sample Category', $breadcrumbs[1]->title);
$this->assertSame('/category/456', $breadcrumbs[1]->url);
$this->assertFalse($breadcrumbs[1]->first);
$this->assertFalse($breadcrumbs[1]->last);
$this->assertSame('Sample Post', $breadcrumbs[2]->title);
$this->assertSame('/blog/123', $breadcrumbs[2]->url);
$this->assertFalse($breadcrumbs[2]->first);
$this->assertTrue($breadcrumbs[2]->last);
}
public function testRender()
{
$html = Breadcrumbs::render('post', $this->post);
$this->assertXmlStringEqualsXmlFile(__DIR__ . '/../fixtures/integration.html', $html);
}
}

View File

@@ -0,0 +1,80 @@
<?php
use DaveJamesMiller\Breadcrumbs\CurrentRoute;
use Mockery as m;
class CurrentRouteTest extends TestCase {
public function setUp()
{
parent::setUp();
$this->currentRoute = app('DaveJamesMiller\Breadcrumbs\CurrentRoute');
}
public function testNamedRoute()
{
Route::get('/sample', ['as' => 'sampleroute', function()
{
$this->assertSame(['sampleroute', []], $this->currentRoute->get());
}]);
$this->call('GET', '/sample');
}
public function testNamedRouteWithParameters()
{
$object = new stdClass;
Route::bind('object', function() use ($object) {
return $object;
});
Route::get('/sample/{text}/{object}', ['as' => 'sampleroute', function() use ($object)
{
$this->assertSame(['sampleroute', ['blah', $object]], $this->currentRoute->get());
}]);
$this->call('GET', '/sample/blah/object');
}
/**
* @expectedException DaveJamesMiller\Breadcrumbs\Exception
* @expectedExceptionMessage The current route (GET /sample/unnamed) is not named - please check routes.php for an "as" parameter
*/
public function testUnnamedRoute()
{
Route::get('/sample/unnamed', function()
{
$this->assertSame(['sample', []], $this->currentRoute->get());
});
$this->call('GET', '/sample/unnamed');
}
public function testSet()
{
$this->currentRoute->set('custom', [1, 'blah']);
Route::get('/sample', ['as' => 'sampleroute', function()
{
$this->assertSame(['custom', [1, 'blah']], $this->currentRoute->get());
}]);
$this->call('GET', '/sample');
}
public function testClear()
{
$this->currentRoute->set('custom', [1, 'blah']);
$this->currentRoute->clear();
Route::get('/sample', ['as' => 'sampleroute', function()
{
$this->assertSame(['sampleroute', []], $this->currentRoute->get());
}]);
$this->call('GET', '/sample');
}
}

View File

@@ -0,0 +1,11 @@
<?php
class FacadeTest extends TestCase {
public function testFacade()
{
$this->assertInstanceOf('DaveJamesMiller\Breadcrumbs\Manager', Breadcrumbs::getFacadeRoot());
$this->assertSame($this->app['breadcrumbs'], Breadcrumbs::getFacadeRoot());
}
}

View File

@@ -0,0 +1,189 @@
<?php
use DaveJamesMiller\Breadcrumbs\Generator;
use Mockery as m;
class GeneratorTest extends TestCase {
public function setUp()
{
parent::setUp();
$this->generator = new Generator;
}
public function testCallbacks()
{
$this->generator->generate([
'sample' => function($breadcrumbs)
{
$this->assertSame($this->generator, $breadcrumbs);
},
], 'sample', []);
}
public function testCallbackParameters()
{
$this->generator->generate([
'sample' => function($breadcrumbs, $num, $text)
{
$this->assertSame(1, $num);
$this->assertSame('blah', $text);
},
], 'sample', [1, 'blah']);
}
// $breadcrumbs->push($title)
// $breadcrumb->title
public function testPush_title()
{
$breadcrumbs = $this->generator->generate([
'sample' => function($breadcrumbs)
{
$breadcrumbs->push('Home');
},
], 'sample', []);
$this->assertCount(1, $breadcrumbs);
$this->assertSame('Home', $breadcrumbs[0]->title);
$this->assertNull($breadcrumbs[0]->url);
}
// $breadcrumbs->push($title, $url)
// $breadcrumb->url
public function testPush_title_url()
{
$breadcrumbs = $this->generator->generate([
'sample' => function($breadcrumbs)
{
$breadcrumbs->push('Home', '/');
},
], 'sample', []);
$this->assertCount(1, $breadcrumbs);
$this->assertSame('Home', $breadcrumbs[0]->title);
$this->assertSame('/', $breadcrumbs[0]->url);
}
// $breadcrumbs->push($title, $url, $data)
// $breadcrumb->custom_attribute_name
public function testPush_title_url_data()
{
$data = [
'foo' => 'bar',
'baz' => 'qux',
'title' => 'should not be overwritten by custom data',
];
$breadcrumbs = $this->generator->generate([
'sample' => function($breadcrumbs)
{
$breadcrumbs->push('Home', '/', ['foo' => 'bar', 'title' => 'ignored']);
},
], 'sample', []);
$this->assertCount(1, $breadcrumbs);
$this->assertSame('Home', $breadcrumbs[0]->title);
$this->assertSame('/', $breadcrumbs[0]->url);
$this->assertSame('bar', $breadcrumbs[0]->foo);
}
public function testPushMultipleTimes()
{
$breadcrumbs = $this->generator->generate([
'sample' => function($breadcrumbs)
{
$breadcrumbs->push('Level 1', '/1');
$breadcrumbs->push('Level 2', '/2');
$breadcrumbs->push('Level 3', '/3');
},
], 'sample', []);
$this->assertCount(3, $breadcrumbs);
$this->assertSame('Level 1', $breadcrumbs[0]->title);
$this->assertSame('Level 2', $breadcrumbs[1]->title);
$this->assertSame('Level 3', $breadcrumbs[2]->title);
$this->assertSame('/1', $breadcrumbs[0]->url);
$this->assertSame('/2', $breadcrumbs[1]->url);
$this->assertSame('/3', $breadcrumbs[2]->url);
}
// $breadcrumbs->parent($name)
public function testParent_name()
{
$breadcrumbs = $this->generator->generate([
'home' => function($breadcrumbs)
{
$breadcrumbs->push('Home', '/');
},
'sample' => function($breadcrumbs)
{
$breadcrumbs->parent('home');
$breadcrumbs->push('Page', '/page');
},
], 'sample', []);
$this->assertCount(2, $breadcrumbs);
$this->assertSame('Home', $breadcrumbs[0]->title);
$this->assertSame('/', $breadcrumbs[0]->url);
$this->assertSame('Page', $breadcrumbs[1]->title);
$this->assertSame('/page', $breadcrumbs[1]->url);
}
// $breadcrumbs->parent($name, $param1, ...)
public function testParent_name_params()
{
$breadcrumbs = $this->generator->generate([
'parent' => function($breadcrumbs, $num, $text)
{
$this->assertSame(1, $num);
$this->assertSame('blah', $text);
},
'sample' => function($breadcrumbs)
{
$breadcrumbs->parent('parent', 1, 'blah');
},
], 'sample', []);
}
// $breadcrumbs->parentArray($name, $params)
public function testParentArray_name_params()
{
$breadcrumbs = $this->generator->generate([
'parent' => function($breadcrumbs, $num, $text)
{
$this->assertSame(1, $num);
$this->assertSame('blah', $text);
},
'sample' => function($breadcrumbs)
{
$breadcrumbs->parentArray('parent', [1, 'blah']);
},
], 'sample', []);
}
// $breadcrumb->first
// $breadcrumb->last
public function testFirstLast()
{
$breadcrumbs = $this->generator->generate([
'sample' => function($breadcrumbs)
{
$breadcrumbs->push('Level 1', '/1');
$breadcrumbs->push('Level 2', '/2');
$breadcrumbs->push('Level 3', '/3');
},
], 'sample', []);
$this->assertCount(3, $breadcrumbs);
$this->assertTrue($breadcrumbs[0]->first, '$breadcrumbs[0]->first');
$this->assertFalse($breadcrumbs[1]->first, '$breadcrumbs[1]->first');
$this->assertFalse($breadcrumbs[2]->first, '$breadcrumbs[2]->first');
$this->assertFalse($breadcrumbs[0]->last, '$breadcrumbs[0]->last');
$this->assertFalse($breadcrumbs[1]->last, '$breadcrumbs[1]->last');
$this->assertTrue($breadcrumbs[2]->last, '$breadcrumbs[2]->last');
}
}

View File

@@ -0,0 +1,329 @@
<?php
use DaveJamesMiller\Breadcrumbs\Manager;
use Mockery as m;
class ManagerTest extends TestCase {
public function setUp()
{
parent::setUp();
$this->currentRoute = m::mock('DaveJamesMiller\Breadcrumbs\CurrentRoute');
$this->generator = m::mock('DaveJamesMiller\Breadcrumbs\Generator');
$this->view = m::mock('DaveJamesMiller\Breadcrumbs\View');
$this->manager = new Manager($this->currentRoute, $this->generator, $this->view);
$this->manager->setView('view');
}
// Breadcrumbs::register($name, $callback) is tested by other methods
protected function register($name)
{
$this->manager->register($name, $fn = function() {
// We're not testing whether the callbacks are executed - see GeneratorTest
throw new Exception('Callback executed');
});
return $fn;
}
// Breadcrumbs::exists() -> boolean
public function testExists()
{
$this->currentRoute->shouldReceive('get')->andReturn(['sample', [1, 'blah']]);
$this->assertFalse($this->manager->exists());
$this->register('sample');
$this->assertTrue($this->manager->exists());
}
// Breadcrumbs::exists($name) -> boolean
public function testExists_name()
{
$this->assertFalse($this->manager->exists('sample'));
$this->register('sample');
$this->assertTrue($this->manager->exists('sample'));
}
// Breadcrumbs::generate() -> array
public function testGenerate()
{
$fn = $this->register('sample');
$this->currentRoute->shouldReceive('get')->andReturn(['sample', [1, 'blah']]);
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [1, 'blah'])->once()->andReturn('generated');;
$this->assertSame('generated', $this->manager->generate());
}
// Breadcrumbs::generate($name) -> array
public function testGenerate_name()
{
$fn = $this->register('sample');
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [])->once()->andReturn('generated');;
$this->assertSame('generated', $this->manager->generate('sample'));
}
// Breadcrumbs::generate($name, $param1, ...) -> array
public function testGenerate_name_params()
{
$fn = $this->register('sample');
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [1, 'blah'])->once()->andReturn('generated');;
$this->assertSame('generated', $this->manager->generate('sample', 1, 'blah'));
}
// Breadcrumbs::generateArray($name, $params) -> array
public function testGenerateArray_name_params()
{
$fn = $this->register('sample');
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [1, 'blah'])->once()->andReturn('generated');;
$this->assertSame('generated', $this->manager->generateArray('sample', [1, 'blah']));
}
// Breadcrumbs::generateIfExists() -> array
public function testGenerateIfExists_existing()
{
$fn = $this->register('sample');
$this->currentRoute->shouldReceive('get')->andReturn(['sample', [1, 'blah']]);
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [1, 'blah'])->once()->andReturn('generated');
$this->assertSame('generated', $this->manager->generateIfExists());
}
public function testGenerateIfExists_nonexistant()
{
$this->currentRoute->shouldReceive('get')->andReturn(['sample', [1, 'blah']]);
$this->generator->shouldReceive('generate')->never();
$this->assertSame([], $this->manager->generateIfExists());
}
// Breadcrumbs::generateIfExists($name) -> array
public function testGenerateIfExists_name_existing()
{
$fn = $this->register('sample');
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [])->once()->andReturn('generated');
$this->assertSame('generated', $this->manager->generateIfExists('sample'));
}
public function testGenerateIfExists_name_nonexistant()
{
$this->generator->shouldReceive('generate')->never();
$this->assertSame([], $this->manager->generateIfExists('sample'));
}
// Breadcrumbs::generateIfExists($name, $param1, ...) -> array
public function testGenerateIfExists_name_params_existing()
{
$fn = $this->register('sample');
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [1, 'blah'])->once()->andReturn('generated');
$this->assertSame('generated', $this->manager->generateIfExists('sample', 1, 'blah'));
}
public function testGenerateIfExists_name_params_nonexistant()
{
$this->generator->shouldReceive('generate')->never();
$this->assertSame([], $this->manager->generateIfExists('sample', 1, 'blah'));
}
// Breadcrumbs::generateArrayIfExists($name, $params) -> array
public function testGenerateArrayIfExists_name_params_existing()
{
$fn = $this->register('sample');
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [1, 'blah'])->once()->andReturn('generated');
$this->assertSame('generated', $this->manager->generateArrayIfExists('sample', [1, 'blah']));
}
public function testGenerateArrayIfExists_name_params_nonexistant()
{
$this->generator->shouldReceive('generate')->never();
$this->assertSame([], $this->manager->generateArrayIfExists('sample', [1, 'blah']));
}
// Breadcrumbs::render() -> array
public function testRender()
{
$fn = $this->register('sample');
$this->currentRoute->shouldReceive('get')->andReturn(['sample', [1, 'blah']]);
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [1, 'blah'])->once()->andReturn('generated');;
$this->view->shouldReceive('render')->with('view', 'generated')->once()->andReturn('rendered');
$this->assertSame('rendered', $this->manager->render());
}
// Breadcrumbs::render($name) -> array
public function testRender_name()
{
$fn = $this->register('sample');
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [])->once()->andReturn('generated');;
$this->view->shouldReceive('render')->with('view', 'generated')->once()->andReturn('rendered');
$this->assertSame('rendered', $this->manager->render('sample'));
}
// Breadcrumbs::render($name, $param1, ...) -> array
public function testRender_name_params()
{
$fn = $this->register('sample');
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [1, 'blah'])->once()->andReturn('generated');;
$this->view->shouldReceive('render')->with('view', 'generated')->once()->andReturn('rendered');
$this->assertSame('rendered', $this->manager->render('sample', 1, 'blah'));
}
// Breadcrumbs::renderArray($name, $params) -> array
public function testRenderArray_name_params()
{
$fn = $this->register('sample');
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [1, 'blah'])->once()->andReturn('generated');;
$this->view->shouldReceive('render')->with('view', 'generated')->once()->andReturn('rendered');
$this->assertSame('rendered', $this->manager->renderArray('sample', [1, 'blah']));
}
// Breadcrumbs::renderIfExists() -> array
public function testRenderIfExists_existing()
{
$fn = $this->register('sample');
$this->currentRoute->shouldReceive('get')->andReturn(['sample', [1, 'blah']]);
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [1, 'blah'])->once()->andReturn('generated');
$this->view->shouldReceive('render')->with('view', 'generated')->once()->andReturn('rendered');
$this->assertSame('rendered', $this->manager->renderIfExists());
}
public function testRenderIfExists_nonexistant()
{
$this->currentRoute->shouldReceive('get')->andReturn(['sample', [1, 'blah']]);
$this->generator->shouldReceive('generate')->never();
$this->view->shouldReceive('render')->never();
$this->assertSame('', $this->manager->renderIfExists());
}
// Breadcrumbs::renderIfExists($name) -> array
public function testRenderIfExists_name_existing()
{
$fn = $this->register('sample');
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [])->once()->andReturn('generated');
$this->view->shouldReceive('render')->with('view', 'generated')->once()->andReturn('rendered');
$this->assertSame('rendered', $this->manager->renderIfExists('sample'));
}
public function testRenderIfExists_name_nonexistant()
{
$this->generator->shouldReceive('generate')->never();
$this->view->shouldReceive('render')->never();
$this->assertSame('', $this->manager->renderIfExists('sample'));
}
// Breadcrumbs::renderIfExists($name, $param1, ...) -> array
public function testRenderIfExists_name_params_existing()
{
$fn = $this->register('sample');
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [1, 'blah'])->once()->andReturn('generated');
$this->view->shouldReceive('render')->with('view', 'generated')->once()->andReturn('rendered');
$this->assertSame('rendered', $this->manager->renderIfExists('sample', 1, 'blah'));
}
public function testRenderIfExists_name_params_nonexistant()
{
$this->generator->shouldReceive('generate')->never();
$this->view->shouldReceive('render')->never();
$this->assertSame('', $this->manager->renderIfExists('sample', 1, 'blah'));
}
// Breadcrumbs::renderArrayIfExists($name, $params) -> array
public function testRenderArrayIfExists_name_params_existing()
{
$fn = $this->register('sample');
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [1, 'blah'])->once()->andReturn('generated');
$this->view->shouldReceive('render')->with('view', 'generated')->once()->andReturn('rendered');
$this->assertSame('rendered', $this->manager->renderArrayIfExists('sample', [1, 'blah']));
}
public function testRenderArrayIfExists_name_params_nonexistant()
{
$this->generator->shouldReceive('generate')->never();
$this->view->shouldReceive('render')->never();
$this->assertSame('', $this->manager->renderArrayIfExists('sample', [1, 'blah']));
}
// Breadcrumbs::setCurrentRoute($name)
public function testSetCurrentRoute_name()
{
$this->currentRoute->shouldReceive('set')->with('sample', [])->once();
$this->manager->setCurrentRoute('sample');
}
// Breadcrumbs::setCurrentRoute($name, $param1, ...)
public function testSetCurrentRoute_name_params()
{
$this->currentRoute->shouldReceive('set')->with('sample', [1, 'blah'])->once();
$this->manager->setCurrentRoute('sample', 1, 'blah');
}
// Breadcrumbs::setCurrentRouteArray($name, $params)
public function testSetCurrentRouteArray_name_params()
{
$this->currentRoute->shouldReceive('set')->with('sample', [1, 'blah'])->once();
$this->manager->setCurrentRouteArray('sample', [1, 'blah']);
}
// Breadcrumbs::clearCurrentRoute()
public function testClearCurrentRoute()
{
$this->currentRoute->shouldReceive('clear')->withNoArgs()->once();
$this->manager->clearCurrentRoute();
}
// Breadcrumbs::setView($view)
public function testSetView()
{
$fn = $this->register('sample');
$this->generator->shouldReceive('generate')->with(['sample' => $fn], 'sample', [1, 'blah'])->once()->andReturn('generated');;
$this->view->shouldReceive('render')->with('custom.view', 'generated')->once()->andReturn('rendered');
$this->manager->setView($view = 'custom.view');
$this->assertSame('rendered', $this->manager->render('sample', 1, 'blah'));
}
}

View File

@@ -0,0 +1,51 @@
<?php
class ViewTest extends TestCase {
public function setUp()
{
parent::setUp();
$this->view = app('DaveJamesMiller\Breadcrumbs\View');
$this->breadcrumbs = [
(object) [
'title' => 'Home',
'url' => '/',
'first' => true,
'last' => false,
],
(object) [
'title' => 'Not a link',
'url' => null, // Test non-links
'first' => false,
'last' => false,
],
(object) [
'title' => 'Blog & < >', // Test HTML escaping
'url' => '/blog',
'first' => false,
'last' => false,
],
(object) [
'title' => 'Sample Post',
'url' => '/blog/123',
'first' => false,
'last' => true,
],
];
}
public function testBootstrap2()
{
$html = $this->view->render('breadcrumbs::bootstrap2', $this->breadcrumbs);
$this->assertXmlStringEqualsXmlFile(__DIR__ . '/../fixtures/bootstrap2.html', $html);
}
public function testBootstrap3()
{
$html = $this->view->render('breadcrumbs::bootstrap3', $this->breadcrumbs);
$this->assertXmlStringEqualsXmlFile(__DIR__ . '/../fixtures/bootstrap3.html', $html);
}
}