package org.angularjs.codeInsight;
import com.intellij.lang.javascript.inspections.JSUnresolvedVariableInspection;
import com.intellij.testFramework.fixtures.LightPlatformCodeInsightFixtureTestCase;
import org.angularjs.AngularTestUtil;
import java.util.List;
/**
* @author Dennis.Ushakov
*/
public class NgRepeatTest extends LightPlatformCodeInsightFixtureTestCase {
@Override
protected String getTestDataPath() {
return AngularTestUtil.getBaseTestDataPath(getClass()) + "ngRepeat";
}
@Override
protected boolean isWriteActionRequired() {
return getTestName(true).contains("Completion");
}
public void testNgInit() {
final List<String> variants = myFixture.getCompletionVariants("ngInit.html", "angular.js");
assertNotNull(variants);
assertTrue(variants.size() >= 3);
assertEquals("age", variants.get(0));
assertEquals("gender", variants.get(1));
assertEquals("name", variants.get(2));
}
public void testControllerWithAlias() {
final List<String> variants = myFixture.getCompletionVariants("controllerWithAlias.html", "angular.js", "custom.js");
assertNotNull(variants);
assertTrue(variants.size() >= 2);
assertEquals("firstName", variants.get(0));
assertEquals("lastName", variants.get(1));
}
public void testControllerWithAliasNoVar() {
final List<String> variants = myFixture.getCompletionVariants("controllerWithAlias.html", "angular.js", "customNoVar.js");
assertNotNull(variants);
assertTrue(variants.size() >= 2);
assertEquals("firstName", variants.get(0));
assertEquals("lastName", variants.get(1));
}
public void testControllerWithoutAlias() {
final List<String> variants = myFixture.getCompletionVariants("controllerWithoutAlias.html", "angular.js", "custom.js");
assertNotNull(variants);
assertTrue(variants.size() >= 2);
assertEquals("firstName", variants.get(0));
assertEquals("lastName", variants.get(1));
}
public void testInspection() {
myFixture.enableInspections(JSUnresolvedVariableInspection.class);
myFixture.disableInspections();
myFixture.configureByFiles("controllerWithAlias.inspect.html", "angular.js", "customNoVar.js");
myFixture.checkHighlighting();
}
}