@Test public void testTooManyGlobalHardCodevedValues() throws ParseException, IOException { String scriptSrc = "<cfscript>\r\n" + "pi = 3.14;\r\n" + "calc = \"AREA\";\r\n" + "if (code == \"AREA\") {\r\n" + "circumference = 2 * 3.14 * radius;\r\n" + "}\r\n" + "</cfscript>"; cfBugs.process(scriptSrc, "test"); scriptSrc = "<cfscript>\r\n" + "area = 3.14 * radius * radius;\r\n" + "volume = 4/3 * 3.14 * radius * radius * radius;\r\n" + "}\r\n" + "</cfscript>"; cfBugs.process(scriptSrc, "test"); final List<BugInfo> result = cfBugs.getBugs().getBugList().values().iterator().next(); assertEquals(1, result.size()); assertEquals("GLOBAL_LITERAL_VALUE_USED_TOO_OFTEN", result.get(0).getMessageCode()); assertEquals(3, result.get(0).getLine()); }
@Test public void testOK() throws ParseException, IOException { final String scriptSrc = "<cfscript>\r\n" + "var pi = 3.14;\r\n" + "var code = \"CODE\";\r\n" + "</cfscript>"; cfBugs.process(scriptSrc, "test"); final Map<String, List<BugInfo>> result = cfBugs.getBugs().getBugList(); assertEquals(0, result.size()); }
@Test public void testHasHint() throws ParseException, IOException { final String cfcSrc = "<cfcomponent>\r\n" + "<cffunction name=\"test\" hint=\"This is a test function.\">\r\n" + " <cfargument name=\"xyz\" default=\"123\">\r\n" + "</cffunction>\r\n" + "</cfcomponent>"; cfBugs.process(cfcSrc, "test"); final Map<String, List<BugInfo>> result = cfBugs.getBugs().getBugList(); assertEquals(0, result.size()); }
@Test public void testBlankHint() throws ParseException, IOException { final String cfcSrc = "<cfcomponent>\r\n" + "<cffunction name=\"test\" hint=\"\">\r\n" + " <cfargument name=\"xyz\" default=\"123\">\r\n" + "</cffunction>\r\n" + "</cfcomponent>"; cfBugs.process(cfcSrc, "test"); final List<BugInfo> result = cfBugs.getBugs().getBugList().values().iterator().next(); assertEquals(1, result.size()); assertEquals("FUNCTION_HINT_MISSING", result.get(0).getMessageCode()); assertEquals(2, result.get(0).getLine()); }