MCPcopy Create free account
hub / github.com/buger/jsonparser / TestCodeMCDC_DeleteArrayElifMCDC

Function TestCodeMCDC_DeleteArrayElifMCDC

mcdc_supplement_test.go:877–903  ·  view source on GitHub ↗

Verifies: SYS-REQ-035 [boundary] Code MC/DC gap: parser.go:801 Delete data[endOffset+tokEnd] == ']' && data[tokStart] == ',' Full MC/DC for the array-branch elif at line 801. Need (T,T) => T and (F,?) => F: (T,T): delete last element from [1,2] — delimiter is ']' and preceding comma exists. (F): d

(t *testing.T)

Source from the content-addressed store, hash-verified

875// (T,T): delete last element from [1,2] — delimiter is ']' and preceding comma exists.
876// (F): delete from malformed [1} — delimiter is '}' not ']'.
877func TestCodeMCDC_DeleteArrayElifMCDC(t *testing.T) {
878 t.Run("TT: delete last array element", func(t *testing.T) {
879 // Delete [1] from [1,2]: delimiter after "2" is ']', comma before "2" exists.
880 got := string(Delete([]byte(`[1,2]`), "[1]"))
881 if got != `[1]` {
882 t.Fatalf("Delete [1] from [1,2] = %q, want %q", got, `[1]`)
883 }
884 })
885
886 t.Run("F: malformed array delimiter", func(t *testing.T) {
887 // Delete [0] from malformed [1}: delimiter after "1" is '}' not ']'.
888 // data[endOffset+tokEnd] == ']' is FALSE.
889 got := string(Delete([]byte(`[1}`), "[0]"))
890 if got != `[}` {
891 t.Fatalf("Delete [0] from [1} = %q, want %q", got, `[}`)
892 }
893 })
894
895 t.Run("F: multi-element first", func(t *testing.T) {
896 // Delete [0] from [1,2,3]: delimiter after "1" is ',' not ']'.
897 // First if catches comma, elif not reached.
898 got := string(Delete([]byte(`[1,2,3]`), "[0]"))
899 if got != `[2,3]` {
900 t.Fatalf("Delete [0] from [1,2,3] = %q, want %q", got, `[2,3]`)
901 }
902 })
903}

Callers

nothing calls this directly

Calls 1

DeleteFunction · 0.85

Tested by

no test coverage detected