package com.nvlad.yii2support.objectfactory;
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
import com.jetbrains.php.lang.PhpFileType;
import java.io.File;
/**
* Created by oleg on 16.03.2017..
*/
public class ObjectFactoryTests extends LightCodeInsightFixtureTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
myFixture.configureFromExistingVirtualFile(myFixture.copyFileToProject("classes.php"));
}
@Override
protected String getTestDataPath() {
return new File(this.getClass().getResource("fixtures").getFile()).getAbsolutePath();
}
public void testCompletionWidget_widget() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
" \\yii\\base\\TestWidget::widget(['<caret>']) ;\n" +
";");
myFixture.completeBasic();
assertEquals(myFixture.getLookupElementStrings().size(), 2);
}
public void testCompletionWidget_begin() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
" \\yii\\base\\TestWidget::begin(['<caret>']) ;\n" +
";");
myFixture.completeBasic();
assertEquals(myFixture.getLookupElementStrings().size(), 2);
}
public void testCompletionObject_create() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
" new \\yii\\base\\TestWidget(['<caret>']) ;\n" +
";");
myFixture.completeBasic();
assertEquals(myFixture.getLookupElementStrings().size(), 2);
}
public void testCompletion_createObject() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
" $test = new \\yii\\base\\TestWidget(['<caret>']) ;\n" +
";");
myFixture.completeBasic();
assertEquals(myFixture.getLookupElementStrings().size(), 2);
}
public void testCompletionInConfigAndSubObject() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
" $test = ['request' => [ 'subobject' => ['<caret>']] ;\n" +
";");
myFixture.completeBasic();
assertEquals(myFixture.getLookupElementStrings().size(), 3);
}
public void testCompletionYii_createObject() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
" \\yii\\Yii::createObject('\\yii\\web\\SubObject', ['<caret>']) ;\n" +
";");
myFixture.completeBasic();
assertEquals(myFixture.getLookupElementStrings().size(), 3);
}
public void testCompletionYii_gridColumns() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
" \\yii\\grid\\GridView::widget([\n" +
" 'columns' => [['<caret>']] ");
myFixture.completeBasic();
assertEquals(myFixture.getLookupElementStrings().size(), 2);
}
public void testCompletionYii_arrayAsTypedParam() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
" (new \\yii\\grid\\GridView())->setColumn(['<caret>']) ");
myFixture.completeBasic();
assertEquals(myFixture.getLookupElementStrings().size(), 2);
}
}