Skip to content

Commit

Permalink
Do not reorder methods for ES6 classes while exporting test functions.
Browse files Browse the repository at this point in the history
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=187205930
  • Loading branch information
gkdn authored and Tyler Breisacher committed Feb 27, 2018
1 parent 5cefe98 commit 22b2bbb
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
5 changes: 3 additions & 2 deletions src/com/google/javascript/jscomp/ExportTestFunctions.java
Expand Up @@ -123,7 +123,7 @@ private void exportClass(Node scriptNode, Node classNode) {
exportClass(scriptNode, classNode, className, classNode);
}

private void exportClass(Node scriptNode, Node classNode, String className, Node baseNode) {
private void exportClass(Node scriptNode, Node classNode, String className, Node addAfter) {
Node classMembers = classNode.getLastChild();
for (Node maybeMemberFunctionDef : classMembers.children()) {
if (maybeMemberFunctionDef.isMemberFunctionDef()) {
Expand All @@ -148,8 +148,9 @@ private void exportClass(Node scriptNode, Node classNode, String className, Node

Node expression = IR.exprResult(call);

scriptNode.addChildAfter(expression, baseNode);
scriptNode.addChildAfter(expression, addAfter);
compiler.reportChangeToEnclosingScope(expression);
addAfter = expression;
}
}
}
Expand Down
Expand Up @@ -245,12 +245,12 @@ public void testEs6Class_lifeCycleMethods() {
"class MyTest {"
+ "testFoo(){} setUp(){} tearDown(){} setUpPage(){} tearDownPage(){} notExported(){}"
+ "}"
+ "google_exportProperty(MyTest.prototype, 'testFoo', MyTest.prototype.testFoo);"
+ "google_exportProperty(MyTest.prototype, 'setUp', MyTest.prototype.setUp);"
+ "google_exportProperty(MyTest.prototype, 'tearDown', MyTest.prototype.tearDown);"
+ "google_exportProperty(MyTest.prototype, 'setUpPage', MyTest.prototype.setUpPage);"
+ "google_exportProperty(MyTest.prototype, 'tearDownPage', "
+ "MyTest.prototype.tearDownPage);"
+ "google_exportProperty(MyTest.prototype, 'setUpPage', MyTest.prototype.setUpPage);"
+ "google_exportProperty(MyTest.prototype, 'tearDown', MyTest.prototype.tearDown);"
+ "google_exportProperty(MyTest.prototype, 'setUp', MyTest.prototype.setUp);"
+ "google_exportProperty(MyTest.prototype, 'testFoo', MyTest.prototype.testFoo);"
+ "goog.testing.testSuite(new MyTest());");
}

Expand Down

0 comments on commit 22b2bbb

Please sign in to comment.