@ -596,7 +596,7 @@ describe("generated parser behavior", function() {
'thing = digit / mark' ,
'thing = digit / mark' ,
'digit = [0-9]' ,
'digit = [0-9]' ,
'mark = &{ result = location(); return true; } "x"' ,
'mark = &{ result = location(); return true; } "x"' ,
'nl = [\\r"\\n\\u2028\\u2029] '
'nl = "\\r"? "\\n" '
] . join ( "\n" ) , options ) ;
] . join ( "\n" ) , options ) ;
expect ( parser ) . toParse ( "1\n2\n\n3\n\n\n4 5 x" , {
expect ( parser ) . toParse ( "1\n2\n\n3\n\n\n4 5 x" , {
@ -604,8 +604,8 @@ describe("generated parser behavior", function() {
end : { offset : 13 , line : 7 , column : 5 }
end : { offset : 13 , line : 7 , column : 5 }
} ) ;
} ) ;
/* N on-Unix n ewlines */
/* N ewline representation s */
expect ( parser ) . toParse ( "1\ rx", { // Old Mac
expect ( parser ) . toParse ( "1\ nx", { // Unix
start : { offset : 2 , line : 2 , column : 1 } ,
start : { offset : 2 , line : 2 , column : 1 } ,
end : { offset : 2 , line : 2 , column : 1 }
end : { offset : 2 , line : 2 , column : 1 }
} ) ;
} ) ;
@ -613,20 +613,6 @@ describe("generated parser behavior", function() {
start : { offset : 3 , line : 2 , column : 1 } ,
start : { offset : 3 , line : 2 , column : 1 } ,
end : { offset : 3 , line : 2 , column : 1 }
end : { offset : 3 , line : 2 , column : 1 }
} ) ;
} ) ;
expect ( parser ) . toParse ( "1\n\rx" , { // mismatched
start : { offset : 3 , line : 3 , column : 1 } ,
end : { offset : 3 , line : 3 , column : 1 }
} ) ;
/* Strange newlines */
expect ( parser ) . toParse ( "1\u2028x" , { // line separator
start : { offset : 2 , line : 2 , column : 1 } ,
end : { offset : 2 , line : 2 , column : 1 }
} ) ;
expect ( parser ) . toParse ( "1\u2029x" , { // paragraph separator
start : { offset : 2 , line : 2 , column : 1 } ,
end : { offset : 2 , line : 2 , column : 1 }
} ) ;
} ) ;
} ) ;
} ) ;
} ) ;
} ) ;
} ) ;
@ -809,7 +795,7 @@ describe("generated parser behavior", function() {
'thing = digit / mark' ,
'thing = digit / mark' ,
'digit = [0-9]' ,
'digit = [0-9]' ,
'mark = !{ result = location(); return false; } "x"' ,
'mark = !{ result = location(); return false; } "x"' ,
'nl = [\\r"\\n\\u2028\\u2029] '
'nl = "\\r"? "\\n" '
] . join ( "\n" ) , options ) ;
] . join ( "\n" ) , options ) ;
expect ( parser ) . toParse ( "1\n2\n\n3\n\n\n4 5 x" , {
expect ( parser ) . toParse ( "1\n2\n\n3\n\n\n4 5 x" , {
@ -817,8 +803,8 @@ describe("generated parser behavior", function() {
end : { offset : 13 , line : 7 , column : 5 }
end : { offset : 13 , line : 7 , column : 5 }
} ) ;
} ) ;
/* N on-Unix n ewlines */
/* N ewline representation s */
expect ( parser ) . toParse ( "1\ rx", { // Old Mac
expect ( parser ) . toParse ( "1\ nx", { // Unix
start : { offset : 2 , line : 2 , column : 1 } ,
start : { offset : 2 , line : 2 , column : 1 } ,
end : { offset : 2 , line : 2 , column : 1 }
end : { offset : 2 , line : 2 , column : 1 }
} ) ;
} ) ;
@ -826,20 +812,6 @@ describe("generated parser behavior", function() {
start : { offset : 3 , line : 2 , column : 1 } ,
start : { offset : 3 , line : 2 , column : 1 } ,
end : { offset : 3 , line : 2 , column : 1 }
end : { offset : 3 , line : 2 , column : 1 }
} ) ;
} ) ;
expect ( parser ) . toParse ( "1\n\rx" , { // mismatched
start : { offset : 3 , line : 3 , column : 1 } ,
end : { offset : 3 , line : 3 , column : 1 }
} ) ;
/* Strange newlines */
expect ( parser ) . toParse ( "1\u2028x" , { // line separator
start : { offset : 2 , line : 2 , column : 1 } ,
end : { offset : 2 , line : 2 , column : 1 }
} ) ;
expect ( parser ) . toParse ( "1\u2029x" , { // paragraph separator
start : { offset : 2 , line : 2 , column : 1 } ,
end : { offset : 2 , line : 2 , column : 1 }
} ) ;
} ) ;
} ) ;
} ) ;
} ) ;
} ) ;
} ) ;
@ -1227,7 +1199,7 @@ describe("generated parser behavior", function() {
'thing = digit / mark' ,
'thing = digit / mark' ,
'digit = [0-9]' ,
'digit = [0-9]' ,
'mark = "x" { result = location(); }' ,
'mark = "x" { result = location(); }' ,
'nl = [\\r\\n\\u2028\\u2029] '
'nl = "\\r"? "\\n" '
] . join ( "\n" ) , options ) ;
] . join ( "\n" ) , options ) ;
expect ( parser ) . toParse ( "1\n2\n\n3\n\n\n4 5 x" , {
expect ( parser ) . toParse ( "1\n2\n\n3\n\n\n4 5 x" , {
@ -1235,8 +1207,8 @@ describe("generated parser behavior", function() {
end : { offset : 14 , line : 7 , column : 6 }
end : { offset : 14 , line : 7 , column : 6 }
} ) ;
} ) ;
/* N on-Unix n ewlines */
/* N ewline representation s */
expect ( parser ) . toParse ( "1\ rx", { // Old Mac
expect ( parser ) . toParse ( "1\ nx", { // Unix
start : { offset : 2 , line : 2 , column : 1 } ,
start : { offset : 2 , line : 2 , column : 1 } ,
end : { offset : 3 , line : 2 , column : 2 }
end : { offset : 3 , line : 2 , column : 2 }
} ) ;
} ) ;
@ -1244,20 +1216,6 @@ describe("generated parser behavior", function() {
start : { offset : 3 , line : 2 , column : 1 } ,
start : { offset : 3 , line : 2 , column : 1 } ,
end : { offset : 4 , line : 2 , column : 2 }
end : { offset : 4 , line : 2 , column : 2 }
} ) ;
} ) ;
expect ( parser ) . toParse ( "1\n\rx" , { // mismatched
start : { offset : 3 , line : 3 , column : 1 } ,
end : { offset : 4 , line : 3 , column : 2 }
} ) ;
/* Strange newlines */
expect ( parser ) . toParse ( "1\u2028x" , { // line separator
start : { offset : 2 , line : 2 , column : 1 } ,
end : { offset : 3 , line : 2 , column : 2 }
} ) ;
expect ( parser ) . toParse ( "1\u2029x" , { // paragraph separator
start : { offset : 2 , line : 2 , column : 1 } ,
end : { offset : 3 , line : 2 , column : 2 }
} ) ;
} ) ;
} ) ;
it ( "|expected| terminates parsing and throws an exception" , function ( ) {
it ( "|expected| terminates parsing and throws an exception" , function ( ) {
@ -1454,7 +1412,7 @@ describe("generated parser behavior", function() {
'start = line (nl+ line)*' ,
'start = line (nl+ line)*' ,
'line = digit (" "+ digit)*' ,
'line = digit (" "+ digit)*' ,
'digit = [0-9]' ,
'digit = [0-9]' ,
'nl = [\\r\\n\\u2028\\u2029] '
'nl = "\\r"? "\\n" '
] . join ( "\n" ) , options ) ;
] . join ( "\n" ) , options ) ;
expect ( parser ) . toFailToParse ( "1\n2\n\n3\n\n\n4 5 x" , {
expect ( parser ) . toFailToParse ( "1\n2\n\n3\n\n\n4 5 x" , {
@ -1464,8 +1422,8 @@ describe("generated parser behavior", function() {
}
}
} ) ;
} ) ;
/* N on-Unix n ewlines */
/* N ewline representation s */
expect ( parser ) . toFailToParse ( "1\ r x", { // Old Mac
expect ( parser ) . toFailToParse ( "1\ n x", { // Old Mac
location : {
location : {
start : { offset : 2 , line : 2 , column : 1 } ,
start : { offset : 2 , line : 2 , column : 1 } ,
end : { offset : 2 , line : 2 , column : 1 }
end : { offset : 2 , line : 2 , column : 1 }
@ -1477,26 +1435,6 @@ describe("generated parser behavior", function() {
end : { offset : 3 , line : 2 , column : 1 }
end : { offset : 3 , line : 2 , column : 1 }
}
}
} ) ;
} ) ;
expect ( parser ) . toFailToParse ( "1\n\rx" , { // mismatched
location : {
start : { offset : 3 , line : 3 , column : 1 } ,
end : { offset : 3 , line : 3 , column : 1 }
}
} ) ;
/* Strange newlines */
expect ( parser ) . toFailToParse ( "1\u2028x" , { // line separator
location : {
start : { offset : 2 , line : 2 , column : 1 } ,
end : { offset : 2 , line : 2 , column : 1 }
}
} ) ;
expect ( parser ) . toFailToParse ( "1\u2029x" , { // paragraph separator
location : {
start : { offset : 2 , line : 2 , column : 1 } ,
end : { offset : 2 , line : 2 , column : 1 }
}
} ) ;
} ) ;
} ) ;
} ) ;
} ) ;
} ) ;
} ) ;