6523 "character syntax extension" |
6525 "character syntax extension" |
6524 |
6526 |
6525 |spec| |
6527 |spec| |
6526 |
6528 |
6527 spec := #( |
6529 spec := #( |
6528 ('$''a''' #isCharacter (#eval '$a ') ) |
6530 ('$''a''' #isCharacter (#eval '$a ') ) |
6529 ('$''\n''' #isCharacter (#eval '(Character nl)') ) |
6531 ('$''\n''' #isCharacter (#eval '(Character nl)') ) |
6530 ('$''\r''' #isCharacter (#eval '(Character return)') ) |
6532 ('$''\r''' #isCharacter (#eval '(Character return)') ) |
6531 ('$''\b''' #isCharacter (#eval '(Character backspace)') ) |
6533 ('$''\b''' #isCharacter (#eval '(Character backspace)') ) |
6532 ('$''\x00''' #isCharacter (#eval '(Character value:0)') ) |
6534 ('$''\x00''' #isCharacter (#eval '(Character value:0)') ) |
6533 ('$''\x01''' #isCharacter (#eval '(Character value:1)') ) |
6535 ('$''\x01''' #isCharacter (#eval '(Character value:1)') ) |
6534 ('$''\x1a''' #isCharacter (#eval '(Character value:16r1a)') ) |
6536 ('$''\x1a''' #isCharacter (#eval '(Character value:16r1a)') ) |
6535 ('$''\x000''' #isCharacter (#error ) ) |
6537 ('$''\x000''' #isCharacter (#error ) ) |
6536 ('$''\xgg''' #isCharacter (#error ) ) |
6538 ('$''\xgg''' #isCharacter (#error ) ) |
6537 ('$''\xg''' #isCharacter (#error ) ) |
6539 ('$''\xg''' #isCharacter (#error ) ) |
6538 ('$''\x''' #isCharacter (#error ) ) |
6540 ('$''\x''' #isCharacter (#error ) ) |
6539 ('$''\x0g''' #isCharacter (#error ) ) |
6541 ('$''\x0g''' #isCharacter (#error ) ) |
6540 ('$''\u1234''' #isCharacter (#eval '(Character value:16r1234) ') ) |
6542 ('$''\u1234''' #isCharacter (#eval '(Character value:16r1234) ') ) |
6541 ('$''\uFFFF''' #isCharacter (#eval '(Character value:16rFFFF) ') ) |
6543 ('$''\uFFFF''' #isCharacter (#eval '(Character value:16rFFFF) ') ) |
6542 ). |
6544 ). |
6543 |
6545 |
6544 self doTestEachFromSpec:spec. |
6546 self doTestEachFromSpec:spec. |
6545 |
6547 |
6546 " |
6548 " |
6547 self run:#test_03_parse_literals3 |
6549 self run:#test_03_parse_literals3 |
6548 self new test_03_parse_literals3 |
6550 self new test_03_parse_literals3 |
6549 " |
6551 " |
|
6552 |
|
6553 "Modified: / 09-06-2019 / 17:02:42 / Claus Gittinger" |
6550 ! |
6554 ! |
6551 |
6555 |
6552 test_04_parse_object |
6556 test_04_parse_object |
6553 "complex object parsing (example from alexa's nodejs)" |
6557 "complex object parsing (example from alexa's nodejs)" |
6554 |
6558 |
6797 self assert: tree selectorPosition = (6 to: 8) |
6801 self assert: tree selectorPosition = (6 to: 8) |
6798 |
6802 |
6799 "Created: / 17-11-2014 / 13:31:31 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6803 "Created: / 17-11-2014 / 13:31:31 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6800 ! |
6804 ! |
6801 |
6805 |
|
6806 test_42_parse_literals4 |
|
6807 "symbol syntax extension" |
|
6808 |
|
6809 |spec| |
|
6810 |
|
6811 spec := #( |
|
6812 ('#''abc''' #isSymbol (#eval '#abc ') ) |
|
6813 ). |
|
6814 |
|
6815 self doTestEachFromSpec:spec. |
|
6816 |
|
6817 " |
|
6818 self run:#test_42_parse_literals4 |
|
6819 self new test_42_parse_literals4 |
|
6820 " |
|
6821 |
|
6822 "Created: / 09-06-2019 / 17:02:32 / Claus Gittinger" |
|
6823 ! |
|
6824 |
6802 test_99_misc_tests |
6825 test_99_misc_tests |
6803 | didRaiseError result | |
6826 | didRaiseError result | |
6804 |
6827 |
6805 result := JavaScriptParser evaluate:' |
6828 result := JavaScriptParser evaluate:' |
6806 var x = 0; |
6829 var x = 0; |