Exemplo n.º 1
0
 /**
  * @test
  */
 public function findWordsReturnsWordWithInjectedVars()
 {
     $group = new \Bookmarks\Group();
     $group->title = '{group.title}';
     $link = new \Bookmarks\Link();
     $link->title = '{link.title}';
     $link->url = 'http://{link.domain}.de';
     $link->tags = array('{link.tag}');
     $group->addLink($link);
     $config = new \Bookmarks\Config();
     $config->addGroup($group);
     $env = new \Bookmarks\Environment();
     $env->inject('group.title', 'mytitle');
     $env->inject('link.title', 'mylinktitle');
     $env->inject('link.domain', 'mydomain');
     $env->inject('link.tag', 'mytag');
     $search = new \Bookmarks\Search($config);
     $search->injectEnvironment($env);
     $this->assertEquals(array('mytitle'), $search->findWords('mytitle'), 'search should find replaced string in group title');
     $this->assertEquals(array('mylinktitle'), $search->findWords('mylinktitle'), 'search should find replaced string in link title');
     $this->assertEquals(array('mydomain'), $search->findWords('mydomain'), 'search should find replaced string in link url');
     $this->assertEquals(array('mytag'), $search->findWords('mytag'), 'search should find replaced string in link tag');
 }
Exemplo n.º 2
0
 /**
  * @test
  */
 public function showLinkReplacesUserVariables()
 {
     $link = new \Bookmarks\Link();
     $link->title = 'my {domain}';
     $link->url = 'http://{domain}.de';
     $link->tags = array('tag {domain}', 'tag2');
     $env = new \Bookmarks\Environment();
     $env->inject('domain', 'abc');
     $view = new \Bookmarks\View();
     $view->injectEnvironment($env);
     $actual = (string) $view->showLink($link);
     $this->assertStringContains('my abc', $actual, 'html should replace {domain} and contain "my abc" title');
     $this->assertStringContains('my abc', $actual, 'html should replace {domain} and contain url "http://abc.de"');
     $this->assertStringContains('my abc', $actual, 'html should replace {domain} and contain tag "tag abc"');
 }
Exemplo n.º 3
0
<?php

require_once __DIR__ . '/../vendor/autoload.php';
use Bookmarks\Storage;
use Bookmarks\View;
use Bookmarks\Controller;
$server = filter_input_array(INPUT_SERVER, FILTER_SANITIZE_STRING);
$get = filter_input_array(INPUT_GET, FILTER_SANITIZE_STRING);
$post = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
$request = array_merge(is_null($get) ? array() : $get, is_null($post) ? array() : $post);
$env = new \Bookmarks\Environment();
$env->inject('subdomain', 'dev');
// replace all {subdomain} parts with dev
$storage = new Storage('../config/links.json');
$view = new View('../cache');
$controller = new Controller($storage, $view);
$controller->injectEnvironment($env);
echo $controller->parseRequest($server['REQUEST_METHOD'], $request);