From b32782ac9b5729da2a73134d28828b43c5593581 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Tue, 20 Apr 2010 17:25:28 -0500 Subject: [PATCH] Move the guts of eval-js to its own word, add eval-js-standalone for unit tests --- .../javascriptcore/javascriptcore-tests.factor | 4 ++-- extra/javascriptcore/javascriptcore.factor | 17 ++++++++--------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/extra/javascriptcore/javascriptcore-tests.factor b/extra/javascriptcore/javascriptcore-tests.factor index f04ada89f2..53ae12d2b0 100644 --- a/extra/javascriptcore/javascriptcore-tests.factor +++ b/extra/javascriptcore/javascriptcore-tests.factor @@ -3,8 +3,8 @@ USING: accessors javascriptcore kernel tools.test ; IN: javascriptcore.tests -[ "2" ] [ "1+1" eval-js ] unit-test +[ "2" ] [ "1+1" eval-js-standalone ] unit-test -[ "1+shoes" eval-js ] +[ "1+shoes" eval-js-standalone ] [ error>> "ReferenceError: Can't find variable: shoes" = ] must-fail-with diff --git a/extra/javascriptcore/javascriptcore.factor b/extra/javascriptcore/javascriptcore.factor index eabb97df61..65b6fe5fff 100644 --- a/extra/javascriptcore/javascriptcore.factor +++ b/extra/javascriptcore/javascriptcore.factor @@ -35,14 +35,13 @@ SYMBOL: js-context drop f ] if* ; -: eval-js ( string -- result-string ) - '[ - [ - dup _ JSStringCreateWithUTF8CString f f 0 JSValueRef - [ JSEvaluateScript ] keep *void* - dup [ nip JSValueRef>string javascriptcore-error ] [ drop JSValueRef>string ] if - ] with-global-context - ] with-javascriptcore ; +: eval-js ( context string -- result-string ) + dupd JSStringCreateWithUTF8CString f f 0 JSValueRef + [ JSEvaluateScript ] keep *void* + dup [ nip JSValueRef>string javascriptcore-error ] [ drop JSValueRef>string ] if ; -: eval-js-path ( path -- result-string ) utf8 file-contents eval-js ; +: eval-js-standalone ( string -- result-string ) + '[ [ _ eval-js ] with-global-context ] with-javascriptcore ; + +: eval-js-path-standalone ( path -- result-string ) utf8 file-contents eval-js-standalone ;