Issue 217 in glassdb: MultibyteString JavascriptOn infinite recursion

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Issue 217 in glassdb: MultibyteString JavascriptOn infinite recursion

glassdb
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium GLASS-Server Version-GLASS0.231

New issue 217 by [hidden email]: MultibyteString JavascriptOn infinite  
recursion
http://code.google.com/p/glassdb/issues/detail?id=217

testMultibyteJavascriptOn
        | stream multibyteString |
       
        stream := (WriteStream on: String new).
        multibyteString := String with: (Character value: 8364).
        self assert: (multibyteString javascriptOn: stream) equals: multibyteString

On Pharo the test passes; on GemStone running the test results in stack  
overflow.

The fix is to move the method:

String>>#javascriptOn:

to:

CharacterCollection>>#javascriptOn:

I guess the test should be included in the  
package: 'Javascript-Tests-Core', although I couldn't see an obvious home.

There are currently three methods in *javascript-core which are implemented  
on String and I think should be moved to CharacterCollection:

#javascriptOn:
#jsonOn:
#asFunction:




Reply | Threaded
Open this post in threaded view
|

Re: Issue 217 in glassdb: MultibyteString JavascriptOn infinite recursion

Johan Brichau-2
Hi Nick,

Telepathy!

I was *just now* hitting the same problem here ;-)

cool you have found a fix

cheers
Johan

On 28 Jan 2011, at 14:29, [hidden email] wrote:

> Status: New
> Owner: ----
> Labels: Type-Defect Priority-Medium GLASS-Server Version-GLASS0.231
>
> New issue 217 by [hidden email]: MultibyteString JavascriptOn infinite recursion
> http://code.google.com/p/glassdb/issues/detail?id=217
>
> testMultibyteJavascriptOn
> | stream multibyteString |
>
> stream := (WriteStream on: String new).
> multibyteString := String with: (Character value: 8364).
> self assert: (multibyteString javascriptOn: stream) equals: multibyteString
>
> On Pharo the test passes; on GemStone running the test results in stack overflow.
>
> The fix is to move the method:
>
> String>>#javascriptOn:
>
> to:
>
> CharacterCollection>>#javascriptOn:
>
> I guess the test should be included in the package: 'Javascript-Tests-Core', although I couldn't see an obvious home.
>
> There are currently three methods in *javascript-core which are implemented on String and I think should be moved to CharacterCollection:
>
> #javascriptOn:
> #jsonOn:
> #asFunction:
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Issue 217 in glassdb: MultibyteString JavascriptOn infinite recursion

glassdb
In reply to this post by glassdb
Updates:
        Labels: Milestone-1.0-beta.8.6

Comment #1 on issue 217 by [hidden email]: MultibyteString JavascriptOn  
infinite recursion
http://code.google.com/p/glassdb/issues/detail?id=217

(No comment was entered for this change.)

Reply | Threaded
Open this post in threaded view
|

Re: Issue 217 in glassdb: MultibyteString JavascriptOn infinite recursion

glassdb
Updates:
        Labels: -GLASS-Server -Version-GLASS0.231 GLASS-Seaside30  
Version-1.0-beta.8.6

Comment #2 on issue 217 by [hidden email]: MultibyteString JavascriptOn  
infinite recursion
http://code.google.com/p/glassdb/issues/detail?id=217

(No comment was entered for this change.)

Reply | Threaded
Open this post in threaded view
|

Re: Issue 217 in glassdb: MultibyteString JavascriptOn infinite recursion

glassdb
Updates:
        Status: Fixed
        Owner: [hidden email]
        Labels: Fixed-1.0-beta.8.6

Comment #3 on issue 217 by [hidden email]: MultibyteString JavascriptOn  
infinite recursion
http://code.google.com/p/glassdb/issues/detail?id=217

- copied methods to CharacterCollection as part of JavaScript-GemStone-Core  
package (that way JavaScript-Core package is not disturbed)
- added testMultibyteJavascriptOn to JavaScript-Tests-Core
- took opportunity to copy a couple of Seaside-Core methods in String up to  
CharacterCollection as part of Seaside-GemStone-Core

Name: Javascript-GemStone-Core-DaleHenrichs.4
Author: DaleHenrichs
Time: 02/16/2011, 17:09:17
UUID: f59b0b98-3cfd-4ea1-8a6a-af343f4092a0
Ancestors: Javascript-GemStone-Core-DaleHenrichs.3

Name: Javascript-Tests-Core-DaleHenrichs.62
Author: DaleHenrichs
Time: 02/16/2011, 17:09:31
UUID: 6d211f0e-686b-4659-84af-70afd3d1426f
Ancestors: Javascript-Tests-Core-pmm.61

Name: Seaside-GemStone-Core-DaleHenrichs.61
Author: DaleHenrichs
Time: 02/16/2011, 17:09:21
UUID: 18c522ae-04fb-44fe-acfc-1281702a335c
Ancestors: Seaside-GemStone-Core-DaleHenrichs.60

Fix will be available in Seaside 3.0.4