This test proves the ability of TransformStream to execute caller supplied code in the start callback, and have access to TransformStreamDefaultController.
@@ -0,0 +1,3 @@
+In start
+Done: false
+Hello, world!
@@ -0,0 +1,20 @@
+<script src="../include.js"></script>
+<script>
+ test(() => {
+ const {readable} = new TransformStream({
+ start(controller) {
+ println("In start");
+ controller.enqueue("Hello, world!");
+ }
+ });
+ const reader = readable.getReader();
+ reader.read().then(function processText({done, value}) {
+ println(`Done: ${done}`);
+ if (done)
+ return;
+
+ println(value);
+ reader.read().then(processText);
+</script>