/*
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package org.apache.flex.compiler.internal.codegen.js.amd;
import org.apache.flex.compiler.internal.test.AMDTestBase;
import org.apache.flex.compiler.tree.as.IFunctionNode;
import org.apache.flex.compiler.tree.as.IVariableNode;
import org.junit.Ignore;
import org.junit.Test;
/**
* This class tests the production of AMD JavaScript for the test project, class
* B.
*
* @author Michael Schmalle
*/
@Ignore
public class TestAMDClassB extends AMDTestBase
{
//--------------------------------------------------------------------------
// Class B
//--------------------------------------------------------------------------
// XXX (mschmalle) () get back to this when more work is done
@Test
public void test_nowPlusOne()
{
// IFunctionNode vnode = findFunction("nowPlusOne", classNode);
// asBlockWalker.visitFunction(vnode);
// assertOut("nowPlusOne: function nowPlusOne() {\n\treturn new Date(B.now.getTime() + 60 * 60 * 1000);\n}");
}
@Test
public void test_constructor()
{
IFunctionNode vnode = findFunction("B", classNode);
asBlockWalker.visitFunction(vnode);
assertOut("function B(msg, count) {\n\tthis.barfoo = (A._ || A._$get()).bar(3);"
+ "\n\tSuper.call(this, msg);\n\tthis.count = count;\n\ttrace(\"now: \" + B.now);\n}");
}
@Test
public void test_count()
{
IVariableNode node = findField("count", classNode);
asBlockWalker.visitVariable(node);
assertOut("count: {\n\tvalue:0,\n\twritable:true\n}");
}
@Test
public void test_override_foo()
{
IFunctionNode vnode = findFunction("foo", classNode);
asBlockWalker.visitFunction(vnode);
assertOut("foo: function foo(x) {\n\treturn this.foo$2(x + 2) + \"-sub\";\n}");
}
@Test
public void test_now()
{
IVariableNode node = findField("now", classNode);
asBlockWalker.visitVariable(node);
assertOut("B.now = new Date()");
}
@Test
public void test_file()
{
// not going to put this test production in until everything is concrete and agreed upon
asBlockWalker.visitFile(fileNode);
//assertOut("");
}
@Override
protected String getTypeUnderTest()
{
return "com.acme.B";
}
}