diff --git a/test/comunica/sparql_file/file.ttl b/test/comunica/sparql_file/file.ttl
new file mode 100644
index 00000000..2afbb546
--- /dev/null
+++ b/test/comunica/sparql_file/file.ttl
@@ -0,0 +1,6 @@
+@prefix ex: .
+
+ex:subject1 ex:predicate1 ex:object1 .
+ex:subject2 ex:predicate2 ex:object2 .
+ex:subject3 ex:predicate3 ex:object3 .
+ex:subject4 ex:predicate4 ex:object4 .
\ No newline at end of file
diff --git a/test/comunica/sparql_file/sparql-file1_no.js b/test/comunica/sparql_file/sparql-file1_no.js
new file mode 100644
index 00000000..e59d7390
--- /dev/null
+++ b/test/comunica/sparql_file/sparql-file1_no.js
@@ -0,0 +1,39 @@
+const QueryEngine = require('@comunica/query-sparql-file').QueryEngine;
+const myEngine = new QueryEngine();
+
+const bindingsStream = await myEngine.queryBindings(`
+ SELECT ?s ?p ?o WHERE {
+ ?s ?p .
+ ?s ?p ?o
+ } LIMIT 100`, {
+ sources: ['http://fragments.dbpedia.org/2015/en'],
+});
+
+// Consume results as a stream (best performance)
+bindingsStream.on('data', (binding) => {
+ console.log(binding.toString()); // Quick way to print bindings for testing
+
+ console.log(binding.has('s')); // Will be true
+
+ // Obtaining values
+ console.log(binding.get('s').value);
+ console.log(binding.get('s').termType);
+ console.log(binding.get('p').value);
+ console.log(binding.get('o').value);
+});
+bindingsStream.on('end', () => {
+ // The data-listener will not be called anymore once we get here.
+});
+bindingsStream.on('error', (error) => {
+ console.error(error);
+});
+
+// Consume results as async iterable (easier)
+for await (const binding of bindingsStream) {
+ console.log(binding.toString());
+}
+
+// Consume results as an array (easier)
+const bindings = await bindingsStream.toArray();
+console.log(bindings[0].get('s').value);
+console.log(bindings[0].get('s').termType);
\ No newline at end of file