RegressionTests__JavaScriptTests.st
changeset 2304 734e561f251f
parent 2180 582380e4d050
child 2339 702d69ba62b9
equal deleted inserted replaced
2303:5dd9a675c06d 2304:734e561f251f
       
     1 "{ Encoding: utf8 }"
       
     2 
     1 "{ Package: 'stx:goodies/regression' }"
     3 "{ Package: 'stx:goodies/regression' }"
     2 
     4 
     3 "{ NameSpace: RegressionTests }"
     5 "{ NameSpace: RegressionTests }"
     4 
     6 
     5 TestCase subclass:#JavaScriptTests
     7 TestCase subclass:#JavaScriptTests
  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;