You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2016/08/24 05:02:37 UTC
[6/7] git commit: [flex-falcon] [refs/heads/develop] - allow for
tests to expect errors
allow for tests to expect errors
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/aeabcbc3
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/aeabcbc3
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/aeabcbc3
Branch: refs/heads/develop
Commit: aeabcbc3e90b54e1d9e0835449462cbcf20b2d2b
Parents: 2782237
Author: Alex Harui <ah...@apache.org>
Authored: Tue Aug 23 08:26:48 2016 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Aug 23 22:02:00 2016 -0700
----------------------------------------------------------------------
.../src/test/java/as/ASFeatureTestsBase.java | 166 +++++++++++--------
compiler/src/test/java/as/ASVariableTests.java | 5 +-
2 files changed, 97 insertions(+), 74 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/aeabcbc3/compiler/src/test/java/as/ASFeatureTestsBase.java
----------------------------------------------------------------------
diff --git a/compiler/src/test/java/as/ASFeatureTestsBase.java b/compiler/src/test/java/as/ASFeatureTestsBase.java
index 4accbec..730f45a 100644
--- a/compiler/src/test/java/as/ASFeatureTestsBase.java
+++ b/compiler/src/test/java/as/ASFeatureTestsBase.java
@@ -47,87 +47,109 @@ public class ASFeatureTestsBase
{
private static final String NAMESPACE_2009 = "http://ns.adobe.com/mxml/2009";
- protected void compileAndRun(String source, boolean withFramework, boolean withRPC, boolean withSpark, String[] otherOptions)
+ protected File generateTempFile(String source)
{
- System.out.println("Generating test:");
+ // Write the MXML into a temp file.
+ ITestAdapter testAdapter = TestAdapterFactory.getTestAdapter();
+ String tempDir = testAdapter.getTempDir();
+ File tempASFile = null;
+ try
+ {
+ tempASFile = File.createTempFile(getClass().getSimpleName(), ".as", new File(tempDir));
+ tempASFile.deleteOnExit();
- // Write the MXML into a temp file.
- ITestAdapter testAdapter = TestAdapterFactory.getTestAdapter();
- String tempDir = testAdapter.getTempDir();
- File tempASFile = null;
- try
- {
- tempASFile = File.createTempFile(getClass().getSimpleName(), ".as", new File(tempDir));
- tempASFile.deleteOnExit();
-
- BufferedWriter out = new BufferedWriter(new FileWriter(tempASFile));
- String className = tempASFile.getName();
- // chop off .as
- className = className.substring(0, className.length() - 3);
-
- source = source.replaceAll("%0", className);
- out.write(source);
- out.close();
- }
- catch (IOException e1)
- {
- e1.printStackTrace();
- fail("Error generating test code");
- }
+ BufferedWriter out = new BufferedWriter(new FileWriter(tempASFile));
+ String className = tempASFile.getName();
+ // chop off .as
+ className = className.substring(0, className.length() - 3);
+
+ source = source.replaceAll("%0", className);
+ out.write(source);
+ out.close();
+ }
+ catch (IOException e1)
+ {
+ e1.printStackTrace();
+ fail("Error generating test code");
+ }
+ return tempASFile;
+ }
+
+ protected String compile(File tempASFile, String source, boolean withFramework, boolean withRPC, boolean withSpark, String[] otherOptions, boolean checkExitCode)
+ {
+ System.out.println("Generating test:");
- // Build the list of SWCs to compile against on the library path.
- List<String> swcs = new ArrayList<String>();
- if (withFramework)
- {
- swcs.add(testAdapter.getFlexArtifact("framework").getPath());
- swcs.add(testAdapter.getFlexArtifactResourceBundle("framework").getPath());
- }
- if (withRPC)
- {
- swcs.add(testAdapter.getFlexArtifact("rpc").getPath());
- swcs.add(testAdapter.getFlexArtifactResourceBundle("rpc").getPath());
- }
- if (withSpark)
- {
- swcs.add(testAdapter.getFlexArtifact("spark").getPath());
- swcs.add(testAdapter.getFlexArtifactResourceBundle("spark").getPath());
- }
+ ITestAdapter testAdapter = TestAdapterFactory.getTestAdapter();
+ // Build the list of SWCs to compile against on the library path.
+ List<String> swcs = new ArrayList<String>();
+ if (withFramework)
+ {
+ swcs.add(testAdapter.getFlexArtifact("framework").getPath());
+ swcs.add(testAdapter.getFlexArtifactResourceBundle("framework").getPath());
+ }
+ if (withRPC)
+ {
+ swcs.add(testAdapter.getFlexArtifact("rpc").getPath());
+ swcs.add(testAdapter.getFlexArtifactResourceBundle("rpc").getPath());
+ }
+ if (withSpark)
+ {
+ swcs.add(testAdapter.getFlexArtifact("spark").getPath());
+ swcs.add(testAdapter.getFlexArtifactResourceBundle("spark").getPath());
+ }
- List<String> args = new ArrayList<String>();
- args.add("-external-library-path=" + testAdapter.getPlayerglobal().getPath());
- if(swcs.size() > 0) {
- String libraryPath = "-library-path=" + StringUtils.join(swcs.toArray(new String[swcs.size()]), ",");
- args.add(libraryPath);
- }
- if (withFramework || withRPC || withSpark)
- args.add("-namespace=" + NAMESPACE_2009 + "," + testAdapter.getFlexManifestPath("mxml-2009"));
- if (otherOptions != null)
- {
- Collections.addAll(args, otherOptions);
- }
- args.add(tempASFile.getAbsolutePath());
+ List<String> args = new ArrayList<String>();
+ args.add("-external-library-path=" + testAdapter.getPlayerglobal().getPath());
+ if(swcs.size() > 0) {
+ String libraryPath = "-library-path=" + StringUtils.join(swcs.toArray(new String[swcs.size()]), ",");
+ args.add(libraryPath);
+ }
+ if (withFramework || withRPC || withSpark)
+ args.add("-namespace=" + NAMESPACE_2009 + "," + testAdapter.getFlexManifestPath("mxml-2009"));
+ if (otherOptions != null)
+ {
+ Collections.addAll(args, otherOptions);
+ }
+ args.add(tempASFile.getAbsolutePath());
- // Use MXMLC to compile the MXML file against playerglobal.swc and possibly other SWCs.
- MXMLC mxmlc = new MXMLC();
- StringBuffer cmdLine = new StringBuffer();
- for(String arg : args) {
- cmdLine.append(arg).append(" ");
- }
- System.out.println("Compiling test:\n" + cmdLine.toString());
- int exitCode = mxmlc.mainNoExit(args.toArray(new String[args.size()]));
+ // Use MXMLC to compile the MXML file against playerglobal.swc and possibly other SWCs.
+ MXMLC mxmlc = new MXMLC();
+ StringBuffer cmdLine = new StringBuffer();
+ for(String arg : args) {
+ cmdLine.append(arg).append(" ");
+ }
+
+ System.out.println("Compiling test:\n" + cmdLine.toString());
+ int exitCode = mxmlc.mainNoExit(args.toArray(new String[args.size()]));
- // Check that there were no compilation problems.
- List<ICompilerProblem> problems = mxmlc.getProblems().getProblems();
- StringBuilder sb = new StringBuilder("Unxpected compilation problems:\n");
- for (ICompilerProblem problem : problems)
- {
- sb.append(problem.toString());
- sb.append('\n');
- }
+ // Check that there were no compilation problems.
+ List<ICompilerProblem> problems = mxmlc.getProblems().getProblems();
+ StringBuilder sb = new StringBuilder(checkExitCode ? "Unexpected compilation problems:\n" : "");
+ for (ICompilerProblem problem : problems)
+ {
+ sb.append(problem.toString());
+ sb.append('\n');
+ }
System.out.println("After compile:\n" + sb.toString());
- assertThat(sb.toString(), exitCode, is(0));
+ if (checkExitCode)
+ assertThat(sb.toString(), exitCode, is(0));
+ return sb.toString();
+ }
+
+ protected void compileAndExpectErrors(String source, boolean withFramework, boolean withRPC, boolean withSpark, String[] otherOptions, String errors)
+ {
+ File tempASFile = generateTempFile(source);
+ String results = compile(tempASFile, source, withFramework, withRPC, withSpark, otherOptions, false);
+ assertThat(results, is(errors));
+ }
+ protected void compileAndRun(String source, boolean withFramework, boolean withRPC, boolean withSpark, String[] otherOptions)
+ {
+ int exitCode = 0;
+ File tempASFile = generateTempFile(source);
+ compile(tempASFile, source, withFramework, withRPC, withSpark, otherOptions, true);
+ ITestAdapter testAdapter = TestAdapterFactory.getTestAdapter();
// Check the existence of the flashplayer executable
File playerExecutable = testAdapter.getFlashplayerDebugger();
if(!playerExecutable.isFile() || !playerExecutable.exists()) {
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/aeabcbc3/compiler/src/test/java/as/ASVariableTests.java
----------------------------------------------------------------------
diff --git a/compiler/src/test/java/as/ASVariableTests.java b/compiler/src/test/java/as/ASVariableTests.java
index b877fcc..21508fc 100644
--- a/compiler/src/test/java/as/ASVariableTests.java
+++ b/compiler/src/test/java/as/ASVariableTests.java
@@ -107,7 +107,7 @@ public class ASVariableTests extends ASFeatureTestsBase
}
@Test
- public void ASVariableTests_localVarSameNameAsPrivateMethod()
+ public void ASVariableTests_localVarSameNameAsPrivateMethodError()
{
// all tests can assume that flash.display.Sprite
// flash.system.System and flash.events.Event have been imported
@@ -129,7 +129,8 @@ public class ASVariableTests extends ASFeatureTestsBase
"assertEqual('null', isVertical, false);",
};
String source = getAS(imports, declarations, testCode, new String[0]);
- compileAndRun(source);
+ compileAndExpectErrors(source, false, false, false, new String[0],
+ "Call to isVertical is not a function.\n");
}
@Test