package fr.adrienbrault.idea.symfony2plugin.tests.util;
import com.jetbrains.php.lang.PhpFileType;
import fr.adrienbrault.idea.symfony2plugin.tests.SymfonyLightCodeInsightFixtureTestCase;
import fr.adrienbrault.idea.symfony2plugin.util.SymfonyUtil;
/**
* @author Daniel Espendiller <daniel@espendiller.net>
*/
public class SymfonyUtilTest extends SymfonyLightCodeInsightFixtureTestCase {
public void testKernelVersion() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php\n" +
"namespace Symfony\\Component\\HttpKernel {\n" +
" class Kernel {\n" +
" const VERSION = '2.5.3';" +
" }" +
"}"
);
assertTrue(SymfonyUtil.isVersionGreaterThenEquals(getProject(), "2.5.3"));
assertTrue(SymfonyUtil.isVersionGreaterThenEquals(getProject(), "2.5.2"));
assertTrue(SymfonyUtil.isVersionGreaterThenEquals(getProject(), "1.0"));
assertFalse(SymfonyUtil.isVersionGreaterThenEquals(getProject(), "2.6.1000"));
}
public void testKernelVersionWithDevSuffix() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php\n" +
"namespace Symfony\\Component\\HttpKernel {\n" +
" class Kernel {\n" +
" const VERSION = '3.2.0-DEV';" +
" }" +
"}"
);
assertTrue(SymfonyUtil.isVersionGreaterThenEquals(getProject(), "3.1.1"));
assertTrue(SymfonyUtil.isVersionGreaterThenEquals(getProject(), "3.2.0"));
assertFalse(SymfonyUtil.isVersionGreaterThenEquals(getProject(), "3.3.0"));
}
public void testIsVersionLessThenEquals() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php\n" +
"namespace Symfony\\Component\\HttpKernel {\n" +
" class Kernel {\n" +
" const VERSION = '3.2.0-DEV';" +
" }" +
"}"
);
assertTrue(SymfonyUtil.isVersionLessThenEquals(getProject(), "3.2.0"));
assertTrue(SymfonyUtil.isVersionLessThenEquals(getProject(), "3.2.1"));
assertFalse(SymfonyUtil.isVersionLessThenEquals(getProject(), "3.1"));
}
public void testIsVersionLessThen() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php\n" +
"namespace Symfony\\Component\\HttpKernel {\n" +
" class Kernel {\n" +
" const VERSION = '3.2.0';" +
" }" +
"}"
);
assertTrue(SymfonyUtil.isVersionLessThen(getProject(), "3.3.0"));
assertFalse(SymfonyUtil.isVersionLessThen(getProject(), "3.2.0"));
assertFalse(SymfonyUtil.isVersionLessThen(getProject(), "3.1.0"));
}
public void testIsVersionGreaterThen() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php\n" +
"namespace Symfony\\Component\\HttpKernel {\n" +
" class Kernel {\n" +
" const VERSION = '3.2.0-DEV';" +
" }" +
"}"
);
assertTrue(SymfonyUtil.isVersionGreaterThen(getProject(), "3.1.0"));
assertFalse(SymfonyUtil.isVersionGreaterThen(getProject(), "3.2.0"));
}
public void testVersionSuffixStrip() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php\n" +
"namespace Symfony\\Component\\HttpKernel {\n" +
" class Kernel {\n" +
" const VERSION = '3.2.0-RC1';" +
" }" +
"}"
);
assertTrue(SymfonyUtil.isVersionGreaterThen(getProject(), "3.1.0"));
}
public void testVersionSuffixStrip2() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php\n" +
"namespace Symfony\\Component\\HttpKernel {\n" +
" class Kernel {\n" +
" const VERSION = '3.2.0-RC-111';" +
" }" +
"}"
);
assertTrue(SymfonyUtil.isVersionGreaterThen(getProject(), "3.1.0"));
}
public void testVersionSuffixStrip3() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php\n" +
"namespace Symfony\\Component\\HttpKernel {\n" +
" class Kernel {\n" +
" const VERSION = '3.2.0-RC_111';" +
" }" +
"}"
);
assertTrue(SymfonyUtil.isVersionGreaterThen(getProject(), "3.1.0"));
}
public void testIsVersionInvalidateNull() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php\n" +
"namespace Symfony\\Component\\HttpKernel {\n" +
" class Kernel {\n" +
" const VERSION = null" +
" }" +
"}"
);
assertFalse(SymfonyUtil.isVersionGreaterThen(getProject(), "3.2.0"));
}
public void testIsVersionInvalidateDefaultValue() {
myFixture.configureByText(PhpFileType.INSTANCE, "<?php\n" +
"namespace Symfony\\Component\\HttpKernel {\n" +
" class Kernel {\n" +
" const VERSION"+
" }" +
"}"
);
assertFalse(SymfonyUtil.isVersionGreaterThen(getProject(), "3.2.0"));
}
}