All JS and Python tests passing.
This commit is contained in:
130
test/lineData.test.tce
Normal file
130
test/lineData.test.tce
Normal file
@@ -0,0 +1,130 @@
|
||||
#schema test
|
||||
|
||||
describe LineData
|
||||
it Handles a blank line at indent level 0
|
||||
key linedata:basic
|
||||
packages js python
|
||||
input \n
|
||||
output
|
||||
| level 0 | indent | offsetHead 0 | offsetTail 0 | line |
|
||||
|
||||
it Handles a blank line with a single space
|
||||
key linedata:basic
|
||||
packages js python
|
||||
input \s
|
||||
output
|
||||
| level 1 | indent | offsetHead 1 | offsetTail 1 | line |
|
||||
|
||||
it Handles a blank line with two spaces
|
||||
key linedata:basic
|
||||
packages js python
|
||||
input \s\s
|
||||
output
|
||||
| level 2 | indent | offsetHead 2 | offsetTail 2 | line |
|
||||
|
||||
it Handles a normal line at indent level 0
|
||||
key linedata:basic
|
||||
packages js python
|
||||
input
|
||||
line 1
|
||||
output
|
||||
| level 0 | indent | offsetHead 0 | offsetTail 4 | line line 1 |
|
||||
|
||||
it Handles a normal line at indent level 1
|
||||
key linedata:basic
|
||||
packages js python
|
||||
input
|
||||
line 1
|
||||
output
|
||||
| level 1 | indent | offsetHead 1 | offsetTail 5 | line line 1 |
|
||||
|
||||
it Handles a normal line at indent level 2
|
||||
key linedata:basic
|
||||
packages js python
|
||||
input
|
||||
line 1
|
||||
output
|
||||
| level 2 | indent | offsetHead 2 | offsetTail 6 | line line 1 |
|
||||
|
||||
it Handles a normal line at indent level 1 indented with tabs
|
||||
key linedata:tabs
|
||||
packages js python
|
||||
input
|
||||
\tline 1
|
||||
output
|
||||
| level 1 | indent \t | offsetHead 1 | offsetTail 5 | line \tline 1 |
|
||||
|
||||
it Handles a normal line at indent level 2 indented with tabs
|
||||
key linedata:tabs
|
||||
packages js python
|
||||
input
|
||||
\t\tline 1
|
||||
output
|
||||
| level 2 | indent \t | offsetHead 2 | offsetTail 6 | line \t\tline 1 |
|
||||
|
||||
it Nests a normal line under a preceding normal line
|
||||
key linedata:basic
|
||||
packages js python
|
||||
input
|
||||
line 1
|
||||
line 2
|
||||
output
|
||||
| level 0 | indent | offsetHead 0 | offsetTail 4 | line line 1 |
|
||||
| level 1 | indent | offsetHead 1 | offsetTail 5 | line line 2 |
|
||||
|
||||
it Nests multiple normal lines under a preceding normal line
|
||||
key linedata:basic
|
||||
packages js python
|
||||
input
|
||||
line 1
|
||||
line 2
|
||||
line 3
|
||||
line 4
|
||||
output
|
||||
| level 0 | indent | offsetHead 0 | offsetTail 4 | line line 1 |
|
||||
| level 1 | indent | offsetHead 1 | offsetTail 5 | line line 2 |
|
||||
| level 1 | indent | offsetHead 1 | offsetTail 5 | line line 3 |
|
||||
| level 1 | indent | offsetHead 1 | offsetTail 5 | line line 4 |
|
||||
|
||||
it Does not nest an empty line under a preceding normal line
|
||||
key linedata:basic
|
||||
packages js python
|
||||
comment Two newlines are needed here. A single newline will look to readline as if the input is finished.
|
||||
input line 1\n\n
|
||||
output
|
||||
| level 0 | indent | offsetHead 0 | offsetTail 4 | line line 1 |
|
||||
| level 0 | indent | offsetHead 0 | offsetTail 0 | line |
|
||||
|
||||
it Does not nest multiple empty lines under a preceding normal line
|
||||
key linedata:basic
|
||||
packages js python
|
||||
comment Four newlines are needed here. A single newline will look to readline as if the input is finished.
|
||||
input line 1\n\n\n\n
|
||||
output
|
||||
| level 0 | indent | offsetHead 0 | offsetTail 4 | line line 1 |
|
||||
| level 0 | indent | offsetHead 0 | offsetTail 0 | line |
|
||||
| level 0 | indent | offsetHead 0 | offsetTail 0 | line |
|
||||
| level 0 | indent | offsetHead 0 | offsetTail 0 | line |
|
||||
|
||||
it Handles head and tail matching for lines with head and tail
|
||||
key linedata:head-tail
|
||||
packages js python
|
||||
input
|
||||
head1 tail1 tail2 tail3
|
||||
output
|
||||
| head head1 | tail tail1 tail2 tail3 |
|
||||
|
||||
it Handles head and tail matching for lines with head but no tail
|
||||
key linedata:head-tail
|
||||
packages js python
|
||||
input
|
||||
head1
|
||||
output
|
||||
| head head1 | tail |
|
||||
|
||||
it Handles head and tail matching for lines with head and trailing space
|
||||
key linedata:head-tail
|
||||
packages js python
|
||||
input head1 \n
|
||||
output
|
||||
| head head1 | tail |
|
||||
Reference in New Issue
Block a user