diff options
author | Péter Szilágyi <peterke@gmail.com> | 2016-06-09 20:42:17 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2016-06-09 20:42:17 +0800 |
commit | 6886913fdf7feaf39c49f1afebae1ef8ea10b514 (patch) | |
tree | ec094a0083ac6747a38be2d5757f5a76b788f3cf /console/console_test.go | |
parent | c75d3b0ede005afc30aaa61f27bb5bbe2cf6a3f1 (diff) | |
parent | dbcdf83ed8aca3f0b84d67b944fff2f3a8bc7769 (diff) | |
download | dexon-6886913fdf7feaf39c49f1afebae1ef8ea10b514.tar dexon-6886913fdf7feaf39c49f1afebae1ef8ea10b514.tar.gz dexon-6886913fdf7feaf39c49f1afebae1ef8ea10b514.tar.bz2 dexon-6886913fdf7feaf39c49f1afebae1ef8ea10b514.tar.lz dexon-6886913fdf7feaf39c49f1afebae1ef8ea10b514.tar.xz dexon-6886913fdf7feaf39c49f1afebae1ef8ea10b514.tar.zst dexon-6886913fdf7feaf39c49f1afebae1ef8ea10b514.zip |
Merge pull request #2670 from bas-vk/indent
Ignore round and curly brackets in strings for indentation level
Diffstat (limited to 'console/console_test.go')
-rw-r--r-- | console/console_test.go | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/console/console_test.go b/console/console_test.go index 911087824..7738d0c44 100644 --- a/console/console_test.go +++ b/console/console_test.go @@ -294,3 +294,49 @@ func TestPrettyError(t *testing.T) { t.Fatalf("pretty error mismatch: have %s, want %s", output, want) } } + +// Tests that tests if the number of indents for JS input is calculated correct. +func TestIndenting(t *testing.T) { + testCases := []struct { + input string + expectedIndentCount int + }{ + {`var a = 1;`, 0}, + {`"some string"`, 0}, + {`"some string with (parentesis`, 0}, + {`"some string with newline + ("`, 0}, + {`function v(a,b) {}`, 0}, + {`function f(a,b) { var str = "asd("; };`, 0}, + {`function f(a) {`, 1}, + {`function f(a, function(b) {`, 2}, + {`function f(a, function(b) { + var str = "a)}"; + });`, 0}, + {`function f(a,b) { + var str = "a{b(" + a, ", " + b; + }`, 0}, + {`var str = "\"{"`, 0}, + {`var str = "'("`, 0}, + {`var str = "\\{"`, 0}, + {`var str = "\\\\{"`, 0}, + {`var str = 'a"{`, 0}, + {`var obj = {`, 1}, + {`var obj = { {a:1`, 2}, + {`var obj = { {a:1}`, 1}, + {`var obj = { {a:1}, b:2}`, 0}, + {`var obj = {}`, 0}, + {`var obj = { + a: 1, b: 2 + }`, 0}, + {`var test = }`, -1}, + {`var str = "a\""; var obj = {`, 1}, + } + + for i, tt := range testCases { + counted := countIndents(tt.input) + if counted != tt.expectedIndentCount { + t.Errorf("test %d: invalid indenting: have %d, want %d", i, counted, tt.expectedIndentCount) + } + } +} |