}
);
+ [Fact]
+ public async Task InspectSimpleStringLocals() =>
+ await CheckInspectLocalsAtBreakpointSite(
+ "Math", "TestSimpleStrings", 13, "TestSimpleStrings",
+ "window.setTimeout(function() { invoke_static_method ('[debugger-test] Math:TestSimpleStrings')(); }, 1);",
+ wait_for_event_fn: async (pause_location) =>
+ {
+ var locals = await GetProperties(pause_location["callFrames"][0]["callFrameId"].Value<string>());
+
+ var str_null = TString(null);
+ var str_empty = TString(String.Empty);
+ var str_spaces = TString(" ");
+ var str_esc = TString("\\");
+
+ await CheckProps(locals, new
+ {
+ str_null,
+ str_empty,
+ str_spaces,
+ str_esc,
+
+ strings = TArray("string[]", 4)
+ }, "locals");
+
+ var strings_arr = await GetObjectOnLocals(locals, "strings");
+ await CheckProps(strings_arr, new[]
+ {
+ str_null,
+ str_empty,
+ str_spaces,
+ str_esc
+ }, "locals#strings");
+ }
+ );
+
[Theory]
[InlineData(false)]
[InlineData(true)]
public static GenericStruct<bool[]> DelegateTargetForSignatureTest(Math m, GenericStruct<GenericStruct<T[]>> gs) => new GenericStruct<bool[]>();
}
+ public static void TestSimpleStrings()
+ {
+ string str_null = null;
+ string str_empty = String.Empty;
+ string str_spaces = " ";
+ string str_esc = "\\";
+
+ var strings = new[]
+ {
+ str_null,
+ str_empty,
+ str_spaces,
+ str_esc
+ };
+ Console.WriteLine ($"break here");
+ }
+
}
public class DebuggerTest
},
_mono_wasm_add_string_var: function(var_value) {
- if (var_value == 0) {
+ if (var_value === 0) {
MONO.mono_wasm_add_null_var ("string");
return;
}
value: {
type : "object",
className : fixed_class_name,
- description : (toString == 0 ? fixed_class_name: Module.UTF8ToString (toString)),
+ description : (toString === 0 ? fixed_class_name: Module.UTF8ToString (toString)),
expanded : true,
isValueType : true,
__extra_vt_props: { klass: args.klass, value64: base64String },
value: {
type: "object",
className: fixed_class_name,
- description: (toString == 0 ? fixed_class_name : Module.UTF8ToString (toString)),
+ description: (toString === 0 ? fixed_class_name : Module.UTF8ToString (toString)),
isValueType: true
}
});
let type_str = type;
if (typeof type != 'string')
type_str = Module.UTF8ToString (type);
+
+ if (str_value !== 0)
str_value = Module.UTF8ToString (str_value);
switch (type_str) {
value: {
type: "object",
className: fixed_class_name,
- description: (toString == 0 ? fixed_class_name : Module.UTF8ToString (toString)),
+ description: (toString === 0 ? fixed_class_name : Module.UTF8ToString (toString)),
objectId: "dotnet:object:"+ objectId,
}
});