HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/quadcode-jobs/node_modules/hogan.js/inheritance.js
var Hogan = Hogan || require('./lib/hogan');

function doIt() {

    var child        = Hogan.compile('{{< intermediate }} {{$childcontent}} child content {{/childcontent}} {{/intermediate}}');

    var intermediate = Hogan.compile('{{< parent}} {{$content}} intermediate content {{$childcontent}} ERROR {{/childcontent}} {{/content}} {{/parent}}');

    var parent       = Hogan.compile('Content:{{$content}} parent content{{/content}}');

    var result       = child.render({}, {intermediate: intermediate, parent: parent});

    console.log("got:     ", result);
    console.log("expected:", "Content: intermediate content child content")
}

function doIt2() {

    var child        = Hogan.compile('{{< intermediate }}{{$childcontent}}child content{{/childcontent}}{{/intermediate}}');

    var intermediate = Hogan.compile('{{< parent}} {{$content}} intermediate content {{/content}}{{$childcontent}} ERROR2 {{/childcontent}}  {{/parent}}');

    var parent       = Hogan.compile('Content:{{$content}} parent content {{/content}}{{$childcontent}} ERROR1 {{/childcontent}}');

    var result       = child.render({}, {intermediate: intermediate, parent: parent});

    console.log("got:     ", result);
    console.log("expected:", "Content: intermediate content child content")
}

function doIt3() {
  Hogan.cache = {};
  var child1 = Hogan.compile("{{<intermediate}}{{$content}}CHILD1{{/content}}{{/intermediate}}");
  var child2 = Hogan.compile("{{<intermediate}}{{$content}}CHILD2{{/content}}{{/intermediate}}");
  var intermediate = Hogan.compile("{{<parent}}{{$content}}INTERMEDIATE{{/content}}{{/parent}}");
  var parent = Hogan.compile("Content: {{$content}}PARENT{{/content}}");
  var s;

  s = parent.render({}, {});

  s = intermediate.render({}, {parent: parent});

  s = child1.render({}, {intermediate: intermediate, parent: parent});

  s = child2.render({}, {intermediate: intermediate, parent: parent});
  console.log("got:         ", s);
  console.log("expected:    ", "Content: CHILD2");
}

doIt3();