Handle Single Line Sequence Node in Removal

This commit is contained in:
suhasgumma
2022-12-10 18:11:17 +05:30
parent baf62887b9
commit e02086e90c
6 changed files with 40 additions and 13 deletions
+1 -1
View File
@@ -140,7 +140,7 @@ func TestFixHandler_applyFixToFile(t *testing.T) {
testDirectoryApplyFix(t, "insert_scenarios")
// Tests for Removal scenarios
// testDirectoryApplyFix(t, "remove_scenarios")
testDirectoryApplyFix(t, "remove_scenarios")
// Tests for Replace scenarios
// testDirectoryApplyFix(t, "replace_scenarios")
+34 -7
View File
@@ -114,7 +114,7 @@ func getFixInfo(originalList, fixedList *[]NodeInfo) (*[]ContentToAdd, *[]Conten
fixedListTracker += 1
case int(removedNode):
originalListTracker = addLinesToRemove(fixInfoMetadata)
originalListTracker, fixedListTracker = addLinesToRemove(fixInfoMetadata)
case int(insertedNode):
originalListTracker, fixedListTracker = addLinesToInsert(fixInfoMetadata)
@@ -127,7 +127,7 @@ func getFixInfo(originalList, fixedList *[]NodeInfo) (*[]ContentToAdd, *[]Conten
for originalListTracker < len(*originalList) {
fixInfoMetadata.originalListTracker = originalListTracker
fixInfoMetadata.fixedListTracker = len(*fixedList) - 1
originalListTracker = addLinesToRemove(fixInfoMetadata)
originalListTracker, _ = addLinesToRemove(fixInfoMetadata)
}
for fixedListTracker < len(*fixedList) {
@@ -141,15 +141,43 @@ func getFixInfo(originalList, fixedList *[]NodeInfo) (*[]ContentToAdd, *[]Conten
}
// Adds the lines to remove and returns the updated originalListTracker
func addLinesToRemove(fixInfoMetadata *FixInfoMetadata) int {
func addLinesToRemove(fixInfoMetadata *FixInfoMetadata) (int, int) {
currentDFSNode := (*fixInfoMetadata.originalList)[fixInfoMetadata.originalListTracker]
isOneLine, line := isOneLineSequenceNode(fixInfoMetadata.originalList, fixInfoMetadata.originalListTracker)
if isOneLine {
originalListTracker := getFirstNodeInLine(fixInfoMetadata.originalList, line)
fixedListTracker := getFirstNodeInLine(fixInfoMetadata.fixedList, line)
currentDFSNode = (*fixInfoMetadata.fixedList)[fixedListTracker]
content := getContent(currentDFSNode.parent, fixInfoMetadata.fixedList, fixedListTracker)
// Remove the Single line
*fixInfoMetadata.contentToRemove = append(*fixInfoMetadata.contentToRemove, ContentToRemove{
startLine: line,
endLine: line,
})
// Encode entire Sequence Node and Insert
*fixInfoMetadata.contentToAdd = append(*fixInfoMetadata.contentToAdd, ContentToAdd{
Line: line,
Content: content,
})
originalListTracker = updateTracker(fixInfoMetadata.originalList, originalListTracker)
fixedListTracker = updateTracker(fixInfoMetadata.fixedList, fixedListTracker)
return originalListTracker, fixedListTracker
}
newTracker := updateTracker(fixInfoMetadata.originalList, fixInfoMetadata.originalListTracker)
*fixInfoMetadata.contentToRemove = append(*fixInfoMetadata.contentToRemove, ContentToRemove{
startLine: currentDFSNode.node.Line,
endLine: getNodeLine(fixInfoMetadata.originalList, newTracker) - 1,
})
return newTracker
return newTracker, fixInfoMetadata.fixedListTracker
}
// Adds the lines to insert and returns the updated fixedListTracker
@@ -181,7 +209,6 @@ func addLinesToInsert(fixInfoMetadata *FixInfoMetadata) (int, int) {
fixedListTracker = updateTracker(fixInfoMetadata.fixedList, fixedListTracker)
return originalListTracker, fixedListTracker
}
var lineToInsert int
@@ -212,8 +239,8 @@ func updateLinesToReplace(fixInfoMetadata *FixInfoMetadata) (int, int) {
fixInfoMetadata.fixedListTracker -= 1
}
updatedOriginalTracker := addLinesToRemove(fixInfoMetadata)
updatedOriginalTracker, updatedFixedTracker := addLinesToInsert(fixInfoMetadata)
updatedOriginalTracker, updatedFixedTracker := addLinesToRemove(fixInfoMetadata)
updatedOriginalTracker, updatedFixedTracker = addLinesToInsert(fixInfoMetadata)
return updatedOriginalTracker, updatedFixedTracker
}
@@ -9,4 +9,4 @@ metadata:
spec:
containers:
- name: nginx_container
image: nginx
image: nginx
@@ -9,4 +9,5 @@ metadata:
spec:
containers:
- name: nginx_container
image: nginx
image: nginx
@@ -11,5 +11,4 @@ spec:
image: nginx
securityContext:
capabilities:
drop:
- NET_RAW
drop: ["NET_RAW"]
@@ -10,6 +10,6 @@ spec:
containers:
- name: nginx_container
image: nginx
- name: container_with_security_issues
image: image_with_security_issues