Index: lib/src/runner/browser/browser_manager.dart |
diff --git a/lib/src/runner/browser/browser_manager.dart b/lib/src/runner/browser/browser_manager.dart |
index 456ca47a08bce85346de4959e7517681b1eea14a..1992abbbc648f48c6758328929d9301678995124 100644 |
--- a/lib/src/runner/browser/browser_manager.dart |
+++ b/lib/src/runner/browser/browser_manager.dart |
@@ -38,13 +38,16 @@ class BrowserManager { |
/// |
/// [url] should be an HTML page with a reference to the JS-compiled test |
/// suite. [path] is the path of the original test suite file, which is used |
- /// for reporting. |
- Future<Suite> loadSuite(String path, Uri url) { |
+ /// for reporting. [metadata] is the parsed metadata for the test suite. |
+ Future<Suite> loadSuite(String path, Uri url, Metadata metadata) { |
+ url = url.replace( |
+ fragment: Uri.encodeFull(JSON.encode(metadata.serialize()))); |
+ |
var suiteChannel = _channel.virtualChannel(); |
_channel.sink.add({ |
"command": "loadSuite", |
"url": url.toString(), |
- "channel": suiteChannel.id |
+ "channel": suiteChannel.id, |
}); |
// Create a nested MultiChannel because the iframe will be using a channel |
@@ -66,10 +69,10 @@ class BrowserManager { |
} |
return new Suite(response["tests"].map((test) { |
- var metadata = new Metadata.deserialize(test['metadata']); |
+ var testMetadata = new Metadata.deserialize(test['metadata']); |
var testChannel = suiteChannel.virtualChannel(test['channel']); |
- return new IframeTest(test['name'], metadata, testChannel); |
- }), path: path); |
+ return new IframeTest(test['name'], testMetadata, testChannel); |
+ }), metadata: metadata, path: path); |
}); |
} |
} |