Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(583)

Side by Side Diff: compiler/javatests/com/google/dart/compiler/end2end/inc/IncrementalCompilation2Test.java

Issue 10666020: Issue 2478. Support for 'factory lib.Interface.namedConstructor()' (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 package com.google.dart.compiler.end2end.inc; 4 package com.google.dart.compiler.end2end.inc;
5 5
6 import static com.google.dart.compiler.DartCompiler.EXTENSION_DEPS; 6 import static com.google.dart.compiler.DartCompiler.EXTENSION_DEPS;
7 import static com.google.dart.compiler.DartCompiler.EXTENSION_TIMESTAMP; 7 import static com.google.dart.compiler.DartCompiler.EXTENSION_TIMESTAMP;
8 import static com.google.dart.compiler.common.ErrorExpectation.assertErrors; 8 import static com.google.dart.compiler.common.ErrorExpectation.assertErrors;
9 import static com.google.dart.compiler.common.ErrorExpectation.errEx; 9 import static com.google.dart.compiler.common.ErrorExpectation.errEx;
10 10
(...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after
743 "#import('A.dart');", 743 "#import('A.dart');",
744 "class B extends A {", 744 "class B extends A {",
745 " test1() {", 745 " test1() {",
746 " _method();", 746 " _method();",
747 " }", 747 " }",
748 " test2() {", 748 " test2() {",
749 " super._method();", 749 " super._method();",
750 " }", 750 " }",
751 "}", 751 "}",
752 "")); 752 ""));
753 // do compile, no errors expected 753 // do compile, check errors
754 compile(); 754 compile();
755 assertErrors( 755 assertErrors(
756 errors, 756 errors,
757 errEx(ResolverErrorCode.CANNOT_ACCESS_METHOD, 6, 5, 7), 757 errEx(ResolverErrorCode.CANNOT_ACCESS_METHOD, 6, 5, 7),
758 errEx(ResolverErrorCode.CANNOT_ACCESS_METHOD, 9, 11, 7)); 758 errEx(ResolverErrorCode.CANNOT_ACCESS_METHOD, 9, 11, 7));
759 } 759 }
760
761 /**
762 * When we resolve factory constructors, we should check if "lib" is library p refix, it is not
763 * always have to be name of type.
764 * <p>
765 * http://code.google.com/p/dart/issues/detail?id=2478
766 */
767 public void test_factoryClass_fromPrefixImportedLibrary() throws Exception {
768 appSource.setContent(
769 "A.dart",
770 makeCode(
771 "// filler filler filler filler filler filler filler filler filler f iller filler",
772 "#library('A');",
773 "#import('" + APP + "');",
774 "interface I default A {",
775 " I();",
776 " I.named();",
777 "}",
778 ""));
779 appSource.setContent(
780 APP,
781 makeCode(
782 "// filler filler filler filler filler filler filler filler filler f iller filler",
783 "#library('application');",
784 "#import('A.dart', prefix: 'lib');",
785 "class A {",
786 " factory lib.I() {}",
787 " factory lib.I.named() {}",
788 "}",
789 ""));
790 // do compile, no errors expected
791 compile();
792 assertErrors(errors);
793 }
760 794
761 /** 795 /**
762 * <p> 796 * <p>
763 * http://code.google.com/p/dart/issues/detail?id=3340 797 * http://code.google.com/p/dart/issues/detail?id=3340
764 */ 798 */
765 public void test_useImportPrefix_asVariableName() throws Exception { 799 public void test_useImportPrefix_asVariableName() throws Exception {
766 appSource.setContent( 800 appSource.setContent(
767 "A.dart", 801 "A.dart",
768 makeCode( 802 makeCode(
769 "// filler filler filler filler filler filler filler filler filler f iller filler", 803 "// filler filler filler filler filler filler filler filler filler f iller filler",
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
883 private void didWrite(String sourceName, String extension) { 917 private void didWrite(String sourceName, String extension) {
884 String spec = sourceName + "/" + extension; 918 String spec = sourceName + "/" + extension;
885 assertTrue("Expected write: " + spec, provider.writes.contains(spec)); 919 assertTrue("Expected write: " + spec, provider.writes.contains(spec));
886 } 920 }
887 921
888 private void didNotWrite(String sourceName, String extension) { 922 private void didNotWrite(String sourceName, String extension) {
889 String spec = sourceName + "/" + extension; 923 String spec = sourceName + "/" + extension;
890 assertFalse("Didn't expect write: " + spec, provider.writes.contains(spec)); 924 assertFalse("Didn't expect write: " + spec, provider.writes.contains(spec));
891 } 925 }
892 } 926 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698