| 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);
|
| });
|
| }
|
| }
|
|
|