| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library test.src.task.dart_test; | 5 library test.src.task.dart_test; |
| 6 | 6 |
| 7 import 'package:analyzer/src/generated/ast.dart'; | 7 import 'package:analyzer/src/generated/ast.dart'; |
| 8 import 'package:analyzer/src/generated/element.dart'; | 8 import 'package:analyzer/src/generated/element.dart'; |
| 9 import 'package:analyzer/src/generated/error.dart'; | 9 import 'package:analyzer/src/generated/error.dart'; |
| 10 import 'package:analyzer/src/generated/resolver.dart'; | 10 import 'package:analyzer/src/generated/resolver.dart'; |
| (...skipping 1738 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1749 FunctionElement main = unit.element.functions[0]; | 1749 FunctionElement main = unit.element.functions[0]; |
| 1750 expectMutated(main.parameters[0], isFalse, isFalse); | 1750 expectMutated(main.parameters[0], isFalse, isFalse); |
| 1751 expectMutated(main.parameters[1], isFalse, isTrue); | 1751 expectMutated(main.parameters[1], isFalse, isTrue); |
| 1752 expectMutated(main.parameters[2], isTrue, isTrue); | 1752 expectMutated(main.parameters[2], isTrue, isTrue); |
| 1753 expectMutated(main.parameters[3], isTrue, isTrue); | 1753 expectMutated(main.parameters[3], isTrue, isTrue); |
| 1754 } | 1754 } |
| 1755 } | 1755 } |
| 1756 | 1756 |
| 1757 @reflectiveTest | 1757 @reflectiveTest |
| 1758 class ScanDartTaskTest extends _AbstractDartTaskTest { | 1758 class ScanDartTaskTest extends _AbstractDartTaskTest { |
| 1759 void assertSameResults(List<ResultDescriptor> descriptors) { |
| 1760 descriptors.forEach((descriptor) { |
| 1761 var oldResult = oldOutputs[descriptor]; |
| 1762 var newResult = outputs[descriptor]; |
| 1763 expect(newResult, same(oldResult)); |
| 1764 }); |
| 1765 } |
| 1766 |
| 1759 test_buildInputs() { | 1767 test_buildInputs() { |
| 1760 Map<String, TaskInput> inputs = ScanDartTask.buildInputs(emptySource); | 1768 Map<String, TaskInput> inputs = ScanDartTask.buildInputs(emptySource); |
| 1761 expect(inputs, isNotNull); | 1769 expect(inputs, isNotNull); |
| 1762 expect(inputs.keys, unorderedEquals([ScanDartTask.CONTENT_INPUT_NAME])); | 1770 expect(inputs.keys, unorderedEquals([ScanDartTask.CONTENT_INPUT_NAME])); |
| 1763 } | 1771 } |
| 1764 | 1772 |
| 1765 test_constructor() { | 1773 test_constructor() { |
| 1766 ScanDartTask task = new ScanDartTask(context, emptySource); | 1774 ScanDartTask task = new ScanDartTask(context, emptySource); |
| 1767 expect(task, isNotNull); | 1775 expect(task, isNotNull); |
| 1768 expect(task.context, context); | 1776 expect(task.context, context); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 1795 } | 1803 } |
| 1796 | 1804 |
| 1797 test_perform_noErrors() { | 1805 test_perform_noErrors() { |
| 1798 _performScanTask('class A {}'); | 1806 _performScanTask('class A {}'); |
| 1799 expect(outputs, hasLength(3)); | 1807 expect(outputs, hasLength(3)); |
| 1800 expect(outputs[LINE_INFO], isNotNull); | 1808 expect(outputs[LINE_INFO], isNotNull); |
| 1801 expect(outputs[SCAN_ERRORS], hasLength(0)); | 1809 expect(outputs[SCAN_ERRORS], hasLength(0)); |
| 1802 expect(outputs[TOKEN_STREAM], isNotNull); | 1810 expect(outputs[TOKEN_STREAM], isNotNull); |
| 1803 } | 1811 } |
| 1804 | 1812 |
| 1813 test_perform_useMemento() { |
| 1814 AnalysisTarget target = newSource('/test.dart', 'main() {}'); |
| 1815 _computeResult(target, TOKEN_STREAM); |
| 1816 // update content |
| 1817 context.setContents(target, 'main() {}'); |
| 1818 // recompute |
| 1819 _computeResult(target, TOKEN_STREAM); |
| 1820 // values from the mememto are returned |
| 1821 assertSameResults([LINE_INFO, SCAN_ERRORS, TOKEN_STREAM]); |
| 1822 } |
| 1823 |
| 1805 void _performScanTask(String content) { | 1824 void _performScanTask(String content) { |
| 1806 AnalysisTarget target = newSource('/test.dart', content); | 1825 AnalysisTarget target = newSource('/test.dart', content); |
| 1807 _computeResult(target, TOKEN_STREAM); | 1826 _computeResult(target, TOKEN_STREAM); |
| 1808 expect(task, new isInstanceOf<ScanDartTask>()); | 1827 expect(task, new isInstanceOf<ScanDartTask>()); |
| 1809 } | 1828 } |
| 1810 } | 1829 } |
| 1811 | 1830 |
| 1812 @reflectiveTest | 1831 @reflectiveTest |
| 1813 class VerifyUnitTaskTest extends _AbstractDartTaskTest { | 1832 class VerifyUnitTaskTest extends _AbstractDartTaskTest { |
| 1814 test_perform_verifyError() { | 1833 test_perform_verifyError() { |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1825 // validate | 1844 // validate |
| 1826 _fillErrorListener(VERIFY_ERRORS); | 1845 _fillErrorListener(VERIFY_ERRORS); |
| 1827 errorListener.assertErrorsWithCodes( | 1846 errorListener.assertErrorsWithCodes( |
| 1828 <ErrorCode>[StaticTypeWarningCode.NON_BOOL_CONDITION]); | 1847 <ErrorCode>[StaticTypeWarningCode.NON_BOOL_CONDITION]); |
| 1829 } | 1848 } |
| 1830 } | 1849 } |
| 1831 | 1850 |
| 1832 class _AbstractDartTaskTest extends AbstractContextTest { | 1851 class _AbstractDartTaskTest extends AbstractContextTest { |
| 1833 Source emptySource; | 1852 Source emptySource; |
| 1834 | 1853 |
| 1854 Map<ResultDescriptor<dynamic>, dynamic> oldOutputs; |
| 1835 AnalysisTask task; | 1855 AnalysisTask task; |
| 1836 Map<ResultDescriptor<dynamic>, dynamic> outputs; | 1856 Map<ResultDescriptor<dynamic>, dynamic> outputs; |
| 1837 GatheringErrorListener errorListener = new GatheringErrorListener(); | 1857 GatheringErrorListener errorListener = new GatheringErrorListener(); |
| 1838 | 1858 |
| 1839 void setUp() { | 1859 void setUp() { |
| 1840 super.setUp(); | 1860 super.setUp(); |
| 1841 emptySource = newSource('/test.dart'); | 1861 emptySource = newSource('/test.dart'); |
| 1842 } | 1862 } |
| 1843 | 1863 |
| 1844 void _computeResult(AnalysisTarget target, ResultDescriptor result) { | 1864 void _computeResult(AnalysisTarget target, ResultDescriptor result) { |
| 1865 oldOutputs = outputs; |
| 1845 task = analysisDriver.computeResult(target, result); | 1866 task = analysisDriver.computeResult(target, result); |
| 1846 expect(task.caughtException, isNull); | 1867 expect(task.caughtException, isNull); |
| 1847 outputs = task.outputs; | 1868 outputs = task.outputs; |
| 1848 } | 1869 } |
| 1849 | 1870 |
| 1850 /** | 1871 /** |
| 1851 * Fill [errorListener] with [result] errors in the current [task]. | 1872 * Fill [errorListener] with [result] errors in the current [task]. |
| 1852 */ | 1873 */ |
| 1853 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) { | 1874 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) { |
| 1854 List<AnalysisError> errors = task.outputs[result]; | 1875 List<AnalysisError> errors = task.outputs[result]; |
| 1855 expect(errors, isNotNull, reason: result.name); | 1876 expect(errors, isNotNull, reason: result.name); |
| 1856 errorListener = new GatheringErrorListener(); | 1877 errorListener = new GatheringErrorListener(); |
| 1857 errorListener.addAll(errors); | 1878 errorListener.addAll(errors); |
| 1858 } | 1879 } |
| 1859 } | 1880 } |
| OLD | NEW |