Skip to content

Übergabe eines Loggers im Konstruktor wird nicht übernommen

Zusammenfassung

Wird im Konstruktor ein Logger übergeben, so wird dieser nicht korrekt gesetzt.

STR

Angehängten Test ausführen.

Ist

Der Logger wird nicht verwendet.

Soll

Der Logger wird verwendet.

Testfall

/**
  * Expect Logger to be customizable
  */
function testLoggerCustomization() {

  $cloSleepOneSecond = function() {

    sleep(1);

  };

  $boolCustomLoggerTriggered = false;
  $cloCustomLogger = function ($strOutput) use (&$boolCustomLoggerTriggered) {

    $boolCustomLoggerTriggered = true;

  };

  $objSlottedForkMachine = new \SFM\SlottedForkMachine(cloLogger: $cloCustomLogger);

  $objSlottedForkMachine->createSlot("alpha", 1);
  $objSlottedForkMachine->queueIntoSlot("alpha", $cloSleepOneSecond);
  $objSlottedForkMachine->run();
  $objSlottedForkMachine->waitUntilAllForksFinished();

  assertTrue($boolCustomLoggerTriggered);

}

Weitere Anmerkungen

Beim SASFM kann der Logger über eine separate Methode gesetzt werden. Das ist expliziter – Eventuell das Verhalten so einfach übernehmen, um über beide Pakete einheitlich zu bleiben?

Edited by Max