Jak na konstantu v neonu?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
maarlin
Člen | 207
+
0
-

Pro jistotu hned na začátek: Ne, nejde mi o ty tolikrát propírané konstanty APP_DIR, WWW_DIR apod.

Snažím se napsat testy na knihovnu, která pracuje s XML a mění trochu své chování na základě verze libxml (popravdě se snaží workaroundovat bug v jedné ze starších verzí).

Třídu jsem záměrně napsal tak, abych mohl verzi libxml mockovat, tudíž napsat testy, které ověří, že se vše chová jak má při daných verzích.

<?php
class MyClass {

    private $libXmlVersion;

    public function __construct( $libXmlVersion ) {
        $this->libXmlVersion = $libXmlVersion;
    }

    public doSomething() {
        if( $libXmlVersion < 207002 ) {
	    // that's bad, we need to workaround this
        }
        // good for you
    }
?>

Problém teď ale je, když potřebuji předat v configu aktuální verzi libxml, která se nachází v konstantě LIBXML_VERSION.

myclass:
    class: MyClass
    arguments: [ LIBXML_VERSION ]

Nenašel jsem způsob, jak zadat konstantu, aniž by mi ji NeonParser překódoval do stringu.
Jde to? Pokud ne, je pro to nějaký důvod?

Milo
Nette Core | 1283
+
0
-

Moc to teď nejde.