| Index: utils/tests/dartdoc/src/dartdoc_tests.dart
|
| diff --git a/utils/dartdoc/test/dartdoc_tests.dart b/utils/tests/dartdoc/src/dartdoc_tests.dart
|
| similarity index 73%
|
| rename from utils/dartdoc/test/dartdoc_tests.dart
|
| rename to utils/tests/dartdoc/src/dartdoc_tests.dart
|
| index 88e4fc2d3f6ba886a59f9e687ab6019296d4aacb..49570d35f8faee08146e5e202754dc512caa0b5f 100644
|
| --- a/utils/dartdoc/test/dartdoc_tests.dart
|
| +++ b/utils/tests/dartdoc/src/dartdoc_tests.dart
|
| @@ -5,13 +5,13 @@
|
| /// Unit tests for dartdoc.
|
| #library('dartdoc_tests');
|
|
|
| -#import('../dartdoc.dart');
|
| -#import('../markdown.dart', prefix: 'md');
|
| +#import('../../../dartdoc/dartdoc.dart');
|
| +#import('../../../dartdoc/markdown.dart', prefix: 'md');
|
|
|
| // TODO(rnystrom): Better path to unittest.
|
| -#import('../../../client/testing/unittest/unittest_node.dart');
|
| -#import('../../../frog/lang.dart');
|
| -#import('../../../frog/file_system_node.dart');
|
| +#import('../../../../client/testing/unittest/unittest_node.dart');
|
| +#import('../../../../frog/lang.dart');
|
| +#import('../../../../frog/file_system_node.dart');
|
|
|
| main() {
|
| var files = new NodeFileSystem();
|
| @@ -118,9 +118,28 @@ main() {
|
| });
|
|
|
| group('name reference', () {
|
| + // TODO(rnystrom): The paths here are a bit strange. They're relative to
|
| + // where test.dart happens to be invoked from.
|
| + final dummyPath = 'utils/tests/dartdoc/src/dummy.dart';
|
| +
|
| + // TODO(rnystrom): Bail if we couldn't find the test file. The problem is
|
| + // that loading dummy.dart is sensitive to the location that dart was
|
| + // *invoked* from and not relative to *this* file like we'd like. That
|
| + // means these tests only run correctly from one place. Unfortunately,
|
| + // test.py/test.dart runs this from one directory and frog/presubmit.py
|
| + // runs it from another.
|
| + // See Bug 1145.
|
| + var fileSystem = new NodeFileSystem();
|
| + if (!fileSystem.fileExists(dummyPath)) {
|
| + print("Can't run dartdoc name reference tests because dummy.dart " +
|
| + "could not be found.");
|
| + return;
|
| + }
|
| +
|
| var doc = new Dartdoc();
|
| - doc.document('test/dummy.dart');
|
| - var dummy = world.libraries['test/dummy.dart'];
|
| + world.processDartScript(dummyPath);
|
| + world.resolveAll();
|
| + var dummy = world.libraries[dummyPath];
|
| var klass = dummy.findTypeByName('Class');
|
| var method = klass.getMember('method');
|
|
|
| @@ -133,37 +152,38 @@ main() {
|
|
|
| test('to a member of the current type', () {
|
| expect(render(doc.resolveNameReference('method', type: klass))).
|
| - equals('<a href="../../dummy/Class.html#method" class="crossref">' +
|
| + equals('<a class="crossref" href="../../dummy/Class.html#method">' +
|
| 'method</a>');
|
| });
|
|
|
| test('to a property with only a getter links to the getter', () {
|
| expect(render(doc.resolveNameReference('getterOnly', type: klass))).
|
| - equals('<a href="../../dummy/Class.html#get:getterOnly" ' +
|
| - 'class="crossref">getterOnly</a>');
|
| + equals('<a class="crossref" ' +
|
| + 'href="../../dummy/Class.html#get:getterOnly">getterOnly</a>');
|
| });
|
|
|
| test('to a property with only a setter links to the setter', () {
|
| expect(render(doc.resolveNameReference('setterOnly', type: klass))).
|
| - equals('<a href="../../dummy/Class.html#set:setterOnly" ' +
|
| - 'class="crossref">setterOnly</a>');
|
| + equals('<a class="crossref" ' +
|
| + 'href="../../dummy/Class.html#set:setterOnly">setterOnly</a>');
|
| });
|
|
|
| test('to a property with a getter and setter links to the getter', () {
|
| expect(render(doc.resolveNameReference('getterAndSetter', type: klass))).
|
| - equals('<a href="../../dummy/Class.html#get:getterAndSetter" ' +
|
| - 'class="crossref">getterAndSetter</a>');
|
| + equals('<a class="crossref" ' +
|
| + 'href="../../dummy/Class.html#get:getterAndSetter">' +
|
| + 'getterAndSetter</a>');
|
| });
|
|
|
| test('to a type in the current library', () {
|
| expect(render(doc.resolveNameReference('Class', library: dummy))).
|
| - equals('<a href="../../dummy/Class.html" class="crossref">Class</a>');
|
| + equals('<a class="crossref" href="../../dummy/Class.html">Class</a>');
|
| });
|
|
|
| test('to a top-level member in the current library', () {
|
| expect(render(doc.resolveNameReference('topLevelMethod',
|
| library: dummy))).
|
| - equals('<a href="../../dummy.html#topLevelMethod" class="crossref">' +
|
| + equals('<a class="crossref" href="../../dummy.html#topLevelMethod">' +
|
| 'topLevelMethod</a>');
|
| });
|
|
|
|
|