• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mattonem / PharoJS / 13812362614

11 Mar 2025 04:04PM UTC coverage: 42.026% (-17.4%) from 59.444%
13812362614

push

github

mattonem
more catching

1 of 1 new or added line in 1 file covered. (100.0%)

3707 existing lines in 69 files now uncovered.

8909 of 21199 relevant lines covered (42.03%)

0.42 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/Pharo/PharoJs-Base-JS-CoreLibraries-Tests/PjAsJsObjectInJs.class.st
1
Class {
2
        #name : 'PjAsJsObjectInJs',
3
        #superclass : 'PjBridgeTestCase',
4
        #category : 'PharoJs-Base-JS-CoreLibraries-Tests-Collections',
5
        #package : 'PharoJs-Base-JS-CoreLibraries-Tests',
6
        #tag : 'Collections'
7
}
8

9
{ #category : 'tests' }
UNCOV
10
PjAsJsObjectInJs >> testBoolean [
×
UNCOV
11
        self assertBlock: [ true asJsObject == true].
×
UNCOV
12
        self assertBlock: [ false asJsObject == false].
×
UNCOV
13
]
×
14

15
{ #category : 'tests' }
UNCOV
16
PjAsJsObjectInJs >> testConvertingADictionary [
×
UNCOV
17
        self assertBlock: [{ #a -> 1. #b -> 2. #c -> 3 } asDictionary asJsObject class == Object].
×
UNCOV
18
]
×
19

20
{ #category : 'tests' }
UNCOV
21
PjAsJsObjectInJs >> testConvertingAnAssociationArray [
×
UNCOV
22
        self assertBlock: [{ #a -> 1. #b -> 2. #c -> 3 } asJsObject class == Object].
×
UNCOV
23
]
×
24

25
{ #category : 'tests' }
UNCOV
26
PjAsJsObjectInJs >> testConvertingCompositeArray [
×
UNCOV
27
        | converted convertedAssociations convertedDict |
×
UNCOV
28
        converted := self evalBlock: [
×
UNCOV
29
                { 
×
UNCOV
30
                #array -> #(1 2 3). 
×
UNCOV
31
                #associationArray -> { #a -> 1. #b -> 2. #c -> 3 }.
×
UNCOV
32
                #dict ->  { #x -> 0. #y -> 3.14.} asDictionary.
×
UNCOV
33
                #object -> Object new
×
UNCOV
34
        } asJsObject].
×
UNCOV
35
        self assertBlock: [converted class == Object].
×
UNCOV
36
        self assertBlock: [(converted at: #array) class == Array].
×
UNCOV
37
        self assertBlock: [(converted at: #object) class == Object].
×
UNCOV
38
        convertedAssociations := converted at: #associationArray.
×
UNCOV
39
        self assertBlock: [convertedAssociations class == Object].
×
UNCOV
40
        #(a b c) with: #(1 2 3) do: [ : iv : expectedValue | 
×
UNCOV
41
                self assert: (convertedAssociations at: iv) equals: expectedValue].
×
UNCOV
42
        convertedDict := converted at: #dict.
×
UNCOV
43
        self assertBlock: [convertedDict class == Object].
×
UNCOV
44
        #(x y) with: #(0 3.14) do: [ : iv : expectedValue | 
×
UNCOV
45
                self assert: (convertedDict at: iv) equals: expectedValue].
×
UNCOV
46
]
×
47

48
{ #category : 'tests' }
UNCOV
49
PjAsJsObjectInJs >> testConvertingCompositeDictionary [
×
UNCOV
50
        | converted |
×
UNCOV
51
        converted := self evalBlock: [
×
UNCOV
52
                { 
×
UNCOV
53
                #array -> #(1 2 3). 
×
UNCOV
54
                #associationArray -> { #a -> 1. #b -> 2. #c -> 3 }.
×
UNCOV
55
                #dict ->  { #x -> 0. #y -> 3.14.} asDictionary.
×
UNCOV
56
                #object -> Object new
×
UNCOV
57
        } asDictionary asJsObject].
×
UNCOV
58
        self assertBlock: [converted class == Object].
×
UNCOV
59
        self assertBlock: [(converted at: #array) class == Array].
×
UNCOV
60
        self assertBlock: [(converted at: #object) class == Object].
×
UNCOV
61
        self assertBlock: [(converted at: #associationArray) class == Object].
×
UNCOV
62
        self assertBlock: [(converted at: #dict) class == Object].
×
UNCOV
63
]
×
64

65
{ #category : 'tests' }
UNCOV
66
PjAsJsObjectInJs >> testConvertingNestedDictionariesAndArrays [
×
UNCOV
67
        | converted |
×
UNCOV
68
        converted := self evalBlock: [
×
UNCOV
69
                { { 
×
UNCOV
70
                #arrays -> { { #a -> 4. #b -> 5 }. false not. 3 negated. #(3 4 5)}.
×
UNCOV
71
        } } asJsObject].
×
UNCOV
72
        self assertBlock: [converted class == Array].
×
UNCOV
73
        self assertBlock: [converted first class == Object].
×
UNCOV
74
        self assertBlock: [(converted first at: #arrays) class == Array].
×
UNCOV
75
        self assertBlock: [(converted first at: #arrays) first class == Object].
×
UNCOV
76
        self assertBlock: [(converted first at: #arrays) second class == Boolean].
×
UNCOV
77
        self assertBlock: [(converted first at: #arrays) third class == SmallInteger].
×
UNCOV
78
        self assertBlock: [(converted first at: #arrays) fourth class == Array].
×
UNCOV
79
]
×
80

81
{ #category : 'tests' }
UNCOV
82
PjAsJsObjectInJs >> testConvertingObjectWithNestedDictionaryAndArray [
×
UNCOV
83
        | original converted |
×
UNCOV
84
        self bridge loadClass: PjObjectForTestingAsJsObject.
×
UNCOV
85
        original :=  self evalBlock: [PjObjectForTestingAsJsObject from:
×
UNCOV
86
                { 
×
UNCOV
87
                #plainArray -> #(1 2 3). 
×
UNCOV
88
                #associationArray -> { #a -> 1. #b -> 2. #c -> 3 }.
×
UNCOV
89
                #dict ->  { #x -> 0. #y -> 3.14.} asDictionary.
×
UNCOV
90
                #object -> Object new
×
UNCOV
91
        }].
×
UNCOV
92
        converted := self evalBlock: [original asJsObject].
×
UNCOV
93
        self assertBlock: [converted == original].
×
UNCOV
94
        self assertBlock: [converted class == PjObjectForTestingAsJsObject].
×
UNCOV
95
        self assertBlock: [converted plainArray == original plainArray].
×
UNCOV
96
        self assertBlock: [converted plainArray class == Array].
×
UNCOV
97
        self assertBlock: [converted associationArray == original associationArray].
×
UNCOV
98
        self assertBlock: [converted associationArray class == Array].
×
UNCOV
99
        self assertBlock: [converted dict == original dict].
×
UNCOV
100
        self assertBlock: [converted dict class == Dictionary].
×
UNCOV
101
        self assertBlock: [converted object == original object].
×
UNCOV
102
        self assertBlock: [converted object class == Object].
×
UNCOV
103
]
×
104

105
{ #category : 'tests' }
UNCOV
106
PjAsJsObjectInJs >> testIfnil [
×
UNCOV
107
    self
×
UNCOV
108
        assertBlock: [ PjDummyTestObject string: ('Hello' ifNil: [ 'World' ]).
×
UNCOV
109
            PjDummyTestObject string = 'Hello' ]
×
UNCOV
110
]
×
111

112
{ #category : 'tests' }
UNCOV
113
PjAsJsObjectInJs >> testIgnoreArrayOfNonAssociations [
×
UNCOV
114
        self assertBlock: [#(1 2 3) asJsObject class == Array].
×
UNCOV
115
]
×
116

117
{ #category : 'tests' }
UNCOV
118
PjAsJsObjectInJs >> testNumber [
×
UNCOV
119
        self assertBlock: [ 3.14 asJsObject == 3.14].
×
UNCOV
120
        self assertBlock: [ 42 asJsObject == 42].
×
UNCOV
121
]
×
122

123
{ #category : 'tests' }
UNCOV
124
PjAsJsObjectInJs >> testString [
×
UNCOV
125
        self assertBlock: [ 'Smalltalk Rocks!' asJsObject == 'Smalltalk Rocks!'].
×
UNCOV
126
]
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc