Skip to content

Commit d858a65

Browse files
committed
Convert to using file-scoped namespaces
1 parent 2f49299 commit d858a65

253 files changed

Lines changed: 43390 additions & 43650 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Jint.Tests.PublicInterface/InteropTests.Dynamic.cs

Lines changed: 115 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -2,151 +2,150 @@
22
using Jint.Native;
33
using Jint.Native.Symbol;
44

5-
namespace Jint.Tests.PublicInterface
5+
namespace Jint.Tests.PublicInterface;
6+
7+
public partial class InteropTests
68
{
7-
public partial class InteropTests
9+
[Fact]
10+
public void CanAccessExpandoObject()
811
{
9-
[Fact]
10-
public void CanAccessExpandoObject()
11-
{
12-
var engine = new Engine();
13-
dynamic expando = new ExpandoObject();
14-
expando.Name = "test";
15-
engine.SetValue("expando", expando);
16-
Assert.Equal("test", engine.Evaluate("expando.Name").ToString());
17-
}
18-
19-
[Fact]
20-
public void DebugView()
21-
{
22-
// allows displaying different local variables under debugger
23-
24-
var engine = new Engine();
25-
var boolNet = true;
26-
var boolJint = (JsBoolean) boolNet;
27-
var doubleNet = 12.34;
28-
var doubleJint = (JsNumber) doubleNet;
29-
var integerNet = 42;
30-
var integerJint = (JsNumber) integerNet;
31-
var stringNet = "ABC";
32-
var stringJint = (JsString) stringNet;
33-
var arrayNet = new[] { 1, 2, 3 };
34-
var arrayListNet = new List<int> { 1, 2, 3 };
35-
var arrayJint = new JsArray(engine, arrayNet.Select(x => (JsNumber) x).ToArray());
36-
37-
var objectNet = new Person { Name = "name", Age = 12 };
38-
var objectJint = new JsObject(engine);
39-
objectJint["name"] = "name";
40-
objectJint["age"] = 12;
41-
objectJint[GlobalSymbolRegistry.ToStringTag] = "Object";
42-
43-
var dictionaryNet = new Dictionary<JsValue, JsValue>();
44-
dictionaryNet["name"] = "name";
45-
dictionaryNet["age"] = 12;
46-
dictionaryNet[GlobalSymbolRegistry.ToStringTag] = "Object";
47-
}
12+
var engine = new Engine();
13+
dynamic expando = new ExpandoObject();
14+
expando.Name = "test";
15+
engine.SetValue("expando", expando);
16+
Assert.Equal("test", engine.Evaluate("expando.Name").ToString());
17+
}
4818

49-
[Fact]
50-
public void CanAccessMemberNamedItemThroughExpando()
51-
{
52-
var parent = (IDictionary<string, object>) new ExpandoObject();
53-
var child = (IDictionary<string, object>) new ExpandoObject();
54-
var values = (IDictionary<string, object>) new ExpandoObject();
19+
[Fact]
20+
public void DebugView()
21+
{
22+
// allows displaying different local variables under debugger
23+
24+
var engine = new Engine();
25+
var boolNet = true;
26+
var boolJint = (JsBoolean) boolNet;
27+
var doubleNet = 12.34;
28+
var doubleJint = (JsNumber) doubleNet;
29+
var integerNet = 42;
30+
var integerJint = (JsNumber) integerNet;
31+
var stringNet = "ABC";
32+
var stringJint = (JsString) stringNet;
33+
var arrayNet = new[] { 1, 2, 3 };
34+
var arrayListNet = new List<int> { 1, 2, 3 };
35+
var arrayJint = new JsArray(engine, arrayNet.Select(x => (JsNumber) x).ToArray());
36+
37+
var objectNet = new Person { Name = "name", Age = 12 };
38+
var objectJint = new JsObject(engine);
39+
objectJint["name"] = "name";
40+
objectJint["age"] = 12;
41+
objectJint[GlobalSymbolRegistry.ToStringTag] = "Object";
42+
43+
var dictionaryNet = new Dictionary<JsValue, JsValue>();
44+
dictionaryNet["name"] = "name";
45+
dictionaryNet["age"] = 12;
46+
dictionaryNet[GlobalSymbolRegistry.ToStringTag] = "Object";
47+
}
5548

56-
parent["child"] = child;
57-
child["item"] = values;
58-
values["title"] = "abc";
49+
[Fact]
50+
public void CanAccessMemberNamedItemThroughExpando()
51+
{
52+
var parent = (IDictionary<string, object>) new ExpandoObject();
53+
var child = (IDictionary<string, object>) new ExpandoObject();
54+
var values = (IDictionary<string, object>) new ExpandoObject();
5955

60-
_engine.SetValue("parent", parent);
61-
Assert.Equal("abc", _engine.Evaluate("parent.child.item.title"));
62-
}
56+
parent["child"] = child;
57+
child["item"] = values;
58+
values["title"] = "abc";
6359

64-
[Fact]
65-
public void ShouldForOfOnExpandoObject()
66-
{
67-
dynamic o = new ExpandoObject();
68-
o.a = 1;
69-
o.b = 2;
60+
_engine.SetValue("parent", parent);
61+
Assert.Equal("abc", _engine.Evaluate("parent.child.item.title"));
62+
}
7063

71-
_engine.SetValue("dynamic", o);
64+
[Fact]
65+
public void ShouldForOfOnExpandoObject()
66+
{
67+
dynamic o = new ExpandoObject();
68+
o.a = 1;
69+
o.b = 2;
7270

73-
var result = _engine.Evaluate("var l = ''; for (var x of dynamic) l += x; return l;").AsString();
71+
_engine.SetValue("dynamic", o);
7472

75-
Assert.Equal("a,1b,2", result);
76-
}
73+
var result = _engine.Evaluate("var l = ''; for (var x of dynamic) l += x; return l;").AsString();
7774

78-
[Fact]
79-
public void ShouldConvertObjectInstanceToExpando()
80-
{
81-
_engine.Evaluate("var o = {a: 1, b: 'foo'}");
82-
var result = _engine.GetValue("o");
75+
Assert.Equal("a,1b,2", result);
76+
}
8377

84-
dynamic value = result.ToObject();
78+
[Fact]
79+
public void ShouldConvertObjectInstanceToExpando()
80+
{
81+
_engine.Evaluate("var o = {a: 1, b: 'foo'}");
82+
var result = _engine.GetValue("o");
8583

86-
Assert.Equal(1, value.a);
87-
Assert.Equal("foo", value.b);
84+
dynamic value = result.ToObject();
8885

89-
var dic = (IDictionary<string, object>) result.ToObject();
86+
Assert.Equal(1, value.a);
87+
Assert.Equal("foo", value.b);
9088

91-
Assert.Equal(1d, dic["a"]);
92-
Assert.Equal("foo", dic["b"]);
93-
}
89+
var dic = (IDictionary<string, object>) result.ToObject();
9490

95-
[Fact]
96-
public void CanAccessDynamicObject()
97-
{
98-
var test = new DynamicClass();
99-
var engine = new Engine();
100-
101-
engine.SetValue("test", test);
91+
Assert.Equal(1d, dic["a"]);
92+
Assert.Equal("foo", dic["b"]);
93+
}
10294

103-
Assert.Equal("a", engine.Evaluate("test.a").AsString());
104-
Assert.Equal("b", engine.Evaluate("test.b").AsString());
95+
[Fact]
96+
public void CanAccessDynamicObject()
97+
{
98+
var test = new DynamicClass();
99+
var engine = new Engine();
105100

106-
engine.Evaluate("test.a = 5; test.b = 10; test.Name = 'Jint'");
101+
engine.SetValue("test", test);
107102

108-
Assert.Equal(5, engine.Evaluate("test.a").AsNumber());
109-
Assert.Equal(10, engine.Evaluate("test.b").AsNumber());
103+
Assert.Equal("a", engine.Evaluate("test.a").AsString());
104+
Assert.Equal("b", engine.Evaluate("test.b").AsString());
110105

111-
Assert.Equal("Jint", engine.Evaluate("test.Name").AsString());
112-
Assert.True(engine.Evaluate("test.ContainsKey('a')").AsBoolean());
113-
Assert.True(engine.Evaluate("test.ContainsKey('b')").AsBoolean());
114-
Assert.False(engine.Evaluate("test.ContainsKey('c')").AsBoolean());
115-
}
106+
engine.Evaluate("test.a = 5; test.b = 10; test.Name = 'Jint'");
116107

117-
private class DynamicClass : DynamicObject
118-
{
119-
private readonly Dictionary<string, object> _properties = new Dictionary<string, object>();
108+
Assert.Equal(5, engine.Evaluate("test.a").AsNumber());
109+
Assert.Equal(10, engine.Evaluate("test.b").AsNumber());
120110

121-
public override bool TryGetMember(GetMemberBinder binder, out object result)
122-
{
123-
result = binder.Name;
124-
if (_properties.TryGetValue(binder.Name, out var value))
125-
{
126-
result = value;
127-
}
111+
Assert.Equal("Jint", engine.Evaluate("test.Name").AsString());
112+
Assert.True(engine.Evaluate("test.ContainsKey('a')").AsBoolean());
113+
Assert.True(engine.Evaluate("test.ContainsKey('b')").AsBoolean());
114+
Assert.False(engine.Evaluate("test.ContainsKey('c')").AsBoolean());
115+
}
128116

129-
return true;
130-
}
117+
private class DynamicClass : DynamicObject
118+
{
119+
private readonly Dictionary<string, object> _properties = new Dictionary<string, object>();
131120

132-
public override bool TrySetMember(SetMemberBinder binder, object value)
121+
public override bool TryGetMember(GetMemberBinder binder, out object result)
122+
{
123+
result = binder.Name;
124+
if (_properties.TryGetValue(binder.Name, out var value))
133125
{
134-
_properties[binder.Name] = value;
135-
return true;
126+
result = value;
136127
}
137128

138-
public string Name { get; set; }
129+
return true;
130+
}
139131

140-
public bool ContainsKey(string key)
141-
{
142-
return _properties.ContainsKey(key);
143-
}
132+
public override bool TrySetMember(SetMemberBinder binder, object value)
133+
{
134+
_properties[binder.Name] = value;
135+
return true;
144136
}
145137

146-
private class Person
138+
public string Name { get; set; }
139+
140+
public bool ContainsKey(string key)
147141
{
148-
public string Name { get; set; }
149-
public int Age { get; set; }
142+
return _properties.ContainsKey(key);
150143
}
151144
}
152-
}
145+
146+
private class Person
147+
{
148+
public string Name { get; set; }
149+
public int Age { get; set; }
150+
}
151+
}

0 commit comments

Comments
 (0)