public static PhpIniIssue newIssue(String message) { return new BasePhpIniIssue(message); }
private static Directive createDirective(String line, int lineNumber, int equalSignIndex, int endIndex) { if (equalSignIndex < 0) { return null; } String name = line.substring(0, equalSignIndex); String value = line.substring(equalSignIndex + 1, endIndex); checkState(!name.trim().isEmpty(), lineNumber, line); return new DirectiveImpl(lineNumber, name, value); }
public DirectiveImpl(int lineNumber, String name, String value) { this.name = createToken(lineNumber, name, 0); this.equalSign = createToken(lineNumber, "=", name.length()); this.value = createToken(lineNumber, value, name.length() + 1); }
private PhpIniFile parse(String toParse) { return new PhpIniParser().parse(toParse); }
public PhpIniFile parse(PhpFile file) { return parse(file.contents()); }
@Test public void numeric_value() throws Exception { checkSingleDirective("name1=42", "name1", "42"); checkSingleDirective("name1=42.", "name1", "42."); checkSingleDirective("name1=4.2", "name1", "4.2"); checkSingleDirective("name1=.42", "name1", ".42"); }
public PhpIniFile parse(String content) { List<Directive> directives = new ArrayList<>(); String[] lines = content.split("\\r?\\n"); int lineNumber = 1; for (String line : lines) { Directive directive = parseLine(line, lineNumber); if (directive != null) { directives.add(directive); } lineNumber++; } return new PhpIniFileImpl(directives); }
@Test public void string_value_containing_special_char() throws Exception { checkSingleDirective("name1=\"value1;value2\"", "name1", "\"value1;value2\""); checkSingleDirective("name1=\"value1=value2\"", "name1", "\"value1=value2\""); }
private static Directive createDirective(String line, int lineNumber, int equalSignIndex, int endIndex) { if (equalSignIndex < 0) { return null; } String name = line.substring(0, equalSignIndex); String value = line.substring(equalSignIndex + 1, endIndex); checkState(!name.trim().isEmpty(), lineNumber, line); return new DirectiveImpl(lineNumber, name, value); }
public PhpIniFile parse(String content) { List<Directive> directives = new ArrayList<>(); String[] lines = content.split("\\r?\\n"); int lineNumber = 1; for (String line : lines) { Directive directive = parseLine(line, lineNumber); if (directive != null) { directives.add(directive); } lineNumber++; } return new PhpIniFileImpl(directives); }
public static PhpIniIssue newIssue(String message) { return new BasePhpIniIssue(message); }
public DirectiveImpl(int lineNumber, String name, String value) { this.name = createToken(lineNumber, name, 0); this.equalSign = createToken(lineNumber, "=", name.length()); this.value = createToken(lineNumber, value, name.length() + 1); }
@Test public void simple_directive() throws Exception { checkSingleDirective("name1=value1", "name1", "value1"); }
@Test public void empty_value() throws Exception { checkSingleDirective("name1=", "name1", ""); }
@Test public void end_of_line_comment() throws Exception { checkSingleDirective("name1=value1;comment1", "name1", "value1"); }
@Test public void string_value() throws Exception { checkSingleDirective("name1=\"value1\"", "name1", "\"value1\""); }
@Test public void full_line_comment() throws Exception { checkSingleDirective(";comment1\nname1=value1\n;comment2", "name1", "value1"); }
@Test public void string_value_containing_escaped_quotes() throws Exception { checkSingleDirective("name1=\"aa\\\"bb;\\\"cc\"", "name1", "\"aa\\\"bb;\\\"cc\""); }
@Test public void expressions() throws Exception { checkSingleDirective("name1=E_ALL & ~E_DEPRECATED & ~E_STRICT", "name1", "E_ALL & ~E_DEPRECATED & ~E_STRICT"); }
@Test public void whitespaces() throws Exception { checkSingleDirective(" \t name1 \t = \t value1 ", "name1", "value1"); }