From 2b9473f5e8816eeea76b2fdada184532be00d3a2 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Tue, 7 Feb 2023 12:18:29 -0700 Subject: internal: Split in to sub-packages --- internal/parse_test.go | 78 -------------------------------------------------- 1 file changed, 78 deletions(-) delete mode 100644 internal/parse_test.go (limited to 'internal/parse_test.go') diff --git a/internal/parse_test.go b/internal/parse_test.go deleted file mode 100644 index 34977fb..0000000 --- a/internal/parse_test.go +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright (C) 2023 Luke Shumaker -// -// SPDX-License-Identifier: GPL-2.0-or-later - -package internal - -import ( - "testing" - - "github.com/stretchr/testify/assert" -) - -func TestParserHandleRune(t *testing.T) { - t.Parallel() - type testcase struct { - Input string - ExpStack []string - } - testcases := map[string]testcase{ - // Keep these test-cases in-sync with the examples in parse.go. - "object": { - Input: `{"x":"y","a":"b"}`, - ExpStack: []string{ - // st,// processed - `?`, - `{`, // { - `»"`, // {" - `»"`, // {"x - `»`, // {"x" - `o?`, // {"x": - `o"`, // {"x":" - `o"`, // {"x":"y - `o`, // {"x":"y" - `{`, // {"x":"y", - `»"`, // {"x":"y"," - `»"`, // {"x":"y","a - `»`, // {"x":"y","a" - `o?`, // {"x":"y","a": - `o"`, // {"x":"y","a":" - `o"`, // {"x":"y","a":"b - `o`, // {"x":"y","a":"b" - ``, // {"x":"y","a":"b"} - }, - }, - "array": { - Input: `["x","y"]`, - ExpStack: []string{ - // st,// processed - `?`, - `[`, // [ - `a"`, // [" - `a"`, // ["x - `a`, // ["x" - `a?`, // ["x", - `a"`, // ["x"," - `a"`, // ["x","y - `a`, // ["x","y" - ``, // ["x","y"] - }, - }, - } - for tcName, tc := range testcases { - tc := tc - t.Run(tcName, func(t *testing.T) { - t.Parallel() - var par Parser - if !assert.Equal(t, len(tc.Input)+1, len(tc.ExpStack)) { - return - } - for i, r := range tc.Input { - assert.Equal(t, tc.ExpStack[i], par.stackString()) - _, err := par.HandleRune(r) - assert.NoError(t, err) - assert.Equal(t, tc.ExpStack[i+1], par.stackString()) - } - }) - } -} -- cgit v1.2.3-2-g168b