Example #1
0
function get_reader_config()
{
    $config = new ReaderConfig();
    $config->setTimezone(get('timezone'));
    // Client
    $config->setClientTimeout(HTTP_TIMEOUT);
    $config->setClientUserAgent(HTTP_USER_AGENT);
    // Grabber
    $config->setGrabberRulesFolder(RULES_DIRECTORY);
    // Proxy
    $config->setProxyHostname(PROXY_HOSTNAME);
    $config->setProxyPort(PROXY_PORT);
    $config->setProxyUsername(PROXY_USERNAME);
    $config->setProxyPassword(PROXY_PASSWORD);
    // Filter
    $config->setFilterIframeWhitelist(get_iframe_whitelist());
    if ((bool) get('debug_mode')) {
        Logger::enable();
    }
    // Parser
    $config->setParserHashAlgo('crc32b');
    return $config;
}
 public function testGetRulesFolders()
 {
     // No custom path
     $loader = new RuleLoader(new Config());
     $dirs = $loader->getRulesFolders();
     $this->assertNotEmpty($dirs);
     $this->assertCount(1, $dirs);
     $this->assertTrue(strpos($dirs[0], '/../Rules') !== false);
     // Custom path
     $config = new Config();
     $config->setGrabberRulesFolder('/foobar/rules');
     $loader = new RuleLoader($config);
     $dirs = $loader->getRulesFolders();
     $this->assertNotEmpty($dirs);
     $this->assertCount(2, $dirs);
     $this->assertTrue(strpos($dirs[0], '/../Rules') !== false);
     $this->assertEquals('/foobar/rules', $dirs[1]);
     // No custom path with empty config object
     $loader = new RuleLoader(new Config());
     $dirs = $loader->getRulesFolders();
     $this->assertNotEmpty($dirs);
     $this->assertCount(1, $dirs);
     $this->assertTrue(strpos($dirs[0], '/../Rules') !== false);
 }