mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-09-22 11:04:51 -04:00
142 lines
3.8 KiB
Go
142 lines
3.8 KiB
Go
package main
|
|
|
|
import (
|
|
check "gopkg.in/check.v1"
|
|
)
|
|
|
|
func (s *Suite) Test_Line_modifications(c *check.C) {
|
|
s.UseCommandLine(c, "--show-autofix")
|
|
|
|
line := NewLine("fname", 1, "dummy", s.NewRawLines(1, "original\n"))
|
|
|
|
c.Check(line.changed, equals, false)
|
|
c.Check(line.raw, check.DeepEquals, s.NewRawLines(1, "original\n"))
|
|
|
|
line.AutofixReplaceRegexp(`(.)(.*)(.)`, "$3$2$1")
|
|
|
|
c.Check(line.changed, equals, true)
|
|
c.Check(line.raw, check.DeepEquals, s.NewRawLines(1, "original\n", "lriginao\n"))
|
|
|
|
line.changed = false
|
|
line.AutofixReplace("i", "u")
|
|
|
|
c.Check(line.changed, equals, true)
|
|
c.Check(line.raw, check.DeepEquals, s.NewRawLines(1, "original\n", "lruginao\n"))
|
|
c.Check(line.raw[0].textnl, equals, "lruginao\n")
|
|
|
|
line.changed = false
|
|
line.AutofixReplace("lruginao", "middle")
|
|
|
|
c.Check(line.changed, equals, true)
|
|
c.Check(line.raw, check.DeepEquals, s.NewRawLines(1, "original\n", "middle\n"))
|
|
c.Check(line.raw[0].textnl, equals, "middle\n")
|
|
|
|
line.AutofixInsertBefore("before")
|
|
line.AutofixInsertBefore("between before and middle")
|
|
line.AutofixInsertAfter("between middle and after")
|
|
line.AutofixInsertAfter("after")
|
|
|
|
c.Check(line.modifiedLines(), check.DeepEquals, []string{
|
|
"before\n",
|
|
"between before and middle\n",
|
|
"middle\n",
|
|
"between middle and after\n",
|
|
"after\n"})
|
|
|
|
line.AutofixDelete()
|
|
|
|
c.Check(line.modifiedLines(), check.DeepEquals, []string{
|
|
"before\n",
|
|
"between before and middle\n",
|
|
"",
|
|
"between middle and after\n",
|
|
"after\n"})
|
|
}
|
|
|
|
func (s *Suite) Test_Line_CheckAbsolutePathname(c *check.C) {
|
|
line := NewLine("Makefile", 1, "# dummy", nil)
|
|
|
|
line.CheckAbsolutePathname("bindir=/bin")
|
|
line.CheckAbsolutePathname("bindir=/../lib")
|
|
|
|
c.Check(s.Output(), equals, "WARN: Makefile:1: Found absolute pathname: /bin\n")
|
|
}
|
|
|
|
func (s *Suite) Test_Line_show_autofix_AutofixReplace(c *check.C) {
|
|
s.UseCommandLine(c, "--show-autofix", "--source")
|
|
line := NewLineMulti("Makefile", 27, 29, "# old", s.NewRawLines(
|
|
27, "before\n",
|
|
28, "The old song\n",
|
|
29, "after\n"))
|
|
|
|
if !line.AutofixReplace("old", "new") {
|
|
line.Warn0("Using \"old\" is deprecated.")
|
|
}
|
|
|
|
c.Check(s.Output(), equals, ""+
|
|
"\n"+
|
|
"> before\n"+
|
|
"- The old song\n"+
|
|
"+ The new song\n"+
|
|
"> after\n"+
|
|
"WARN: Makefile:27--29: Using \"old\" is deprecated.\n"+
|
|
"AUTOFIX: Makefile:27--29: Replacing \"old\" with \"new\".\n")
|
|
}
|
|
|
|
func (s *Suite) Test_Line_show_autofix_AutofixInsertBefore(c *check.C) {
|
|
s.UseCommandLine(c, "--show-autofix", "--source")
|
|
line := NewLine("Makefile", 30, "original", s.NewRawLines(30, "original\n"))
|
|
|
|
if !line.AutofixInsertBefore("inserted") {
|
|
line.Warn0("Dummy")
|
|
}
|
|
|
|
c.Check(s.Output(), equals, ""+
|
|
"\n"+
|
|
"+ inserted\n"+
|
|
"> original\n"+
|
|
"WARN: Makefile:30: Dummy\n"+
|
|
"AUTOFIX: Makefile:30: Inserting a line \"inserted\" before this line.\n")
|
|
}
|
|
|
|
func (s *Suite) Test_Line_show_autofix_AutofixDelete(c *check.C) {
|
|
s.UseCommandLine(c, "--show-autofix", "--source")
|
|
line := NewLine("Makefile", 30, "to be deleted", s.NewRawLines(30, "to be deleted\n"))
|
|
|
|
if !line.AutofixDelete() {
|
|
line.Warn0("Dummy")
|
|
}
|
|
|
|
c.Check(s.Output(), equals, ""+
|
|
"\n"+
|
|
"- to be deleted\n"+
|
|
"WARN: Makefile:30: Dummy\n"+
|
|
"AUTOFIX: Makefile:30: Deleting this line.\n")
|
|
}
|
|
|
|
func (s *Suite) Test_Line_CheckTrailingWhitespace(c *check.C) {
|
|
line := NewLine("Makefile", 32, "The line must go on ", nil)
|
|
|
|
line.CheckTrailingWhitespace()
|
|
|
|
c.Check(s.Output(), equals, "NOTE: Makefile:32: Trailing white-space.\n")
|
|
}
|
|
|
|
func (s *Suite) Test_Line_CheckRcsid(c *check.C) {
|
|
lines := s.NewLines("fname",
|
|
"$"+"NetBSD: dummy $",
|
|
"$"+"NetBSD$",
|
|
"$"+"Id: dummy $",
|
|
"$"+"Id$",
|
|
"$"+"FreeBSD$")
|
|
|
|
for _, line := range lines {
|
|
line.CheckRcsid(``, "")
|
|
}
|
|
|
|
c.Check(s.Output(), equals, ""+
|
|
"ERROR: fname:3: Expected \"$"+"NetBSD$\".\n"+
|
|
"ERROR: fname:4: Expected \"$"+"NetBSD$\".\n"+
|
|
"ERROR: fname:5: Expected \"$"+"NetBSD$\".\n")
|
|
}
|