From 967171bc6838df7851e88ce7cfd00e39055ea520 Mon Sep 17 00:00:00 2001
From: Damyon Wiese <damyon@moodle.com>
Date: Mon, 20 Mar 2017 13:27:30 +0800
Subject: [PATCH] TESTING COMMIT

---
 lib/classes/output/external.php |  2 ++
 lib/templates/a.mustache        |  6 ++++++
 lib/templates/b.mustache        |  1 +
 test.php                        | 34 ++++++++++++++++++++++++++++++++++
 5 files changed, 51 insertions(+)
 create mode 100644 lib/templates/a.mustache
 create mode 100644 lib/templates/b.mustache
 create mode 100644 test.php

diff --git a/lib/classes/output/external.php b/lib/classes/output/external.php
index a76248e..fb82d10 100644
--- a/lib/classes/output/external.php
+++ b/lib/classes/output/external.php
@@ -66,6 +66,8 @@ class external extends external_api {
     public static function load_template($component, $template, $themename) {
         global $DB, $CFG, $PAGE;
 
+        sleep(2);
+
         $params = self::validate_parameters(self::load_template_parameters(),
                                             array('component' => $component,
                                                   'template' => $template,
diff --git a/lib/templates/a.mustache b/lib/templates/a.mustache
new file mode 100644
index 0000000..41d3a58
--- /dev/null
+++ b/lib/templates/a.mustache
@@ -0,0 +1,6 @@
+This is template a. It includes B 4 times.
+
+{{ > core/b }}
+{{ > core/b }}
+{{ > core/b }}
+{{ > core/b }}
diff --git a/lib/templates/b.mustache b/lib/templates/b.mustache
new file mode 100644
index 0000000..2aa42b8
--- /dev/null
+++ b/lib/templates/b.mustache
@@ -0,0 +1 @@
+This is template B.
diff --git a/test.php b/test.php
new file mode 100644
index 0000000..180b3dc
--- /dev/null
+++ b/test.php
@@ -0,0 +1,34 @@
+<?php
+
+require_once('config.php');
+
+$PAGE->set_url('/test.php');
+$PAGE->set_context(context_system::instance());
+$PAGE->set_title('test');
+
+echo $OUTPUT->header();
+echo $OUTPUT->heading('Test');
+
+echo $PAGE->requires->js_amd_inline('
+
+    require(["core/templates"], function(Templates) {
+        var context = {};                                                                                                                               
+
+        Templates.render("core/pix_icon", {}).then(function(html, js) {
+
+            // We need to queue multiple renders.
+            console.log("queue 1");
+            Templates.render("core/a", context).then(function(html, js) {
+                console.log(html, js);
+            });
+            console.log("queue 2");
+            Templates.render("core/a", context).then(function(html, js) {
+                console.log(html, js);
+            });
+        });
+    });
+
+
+
+');
+echo $OUTPUT->footer();
-- 
1.9.1

