Skip to content

Commit bc42540

Browse files
committed
Improve existing tests
1 parent 9c42795 commit bc42540

File tree

3 files changed

+23
-21
lines changed

3 files changed

+23
-21
lines changed

lib/debug/server_dap.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -880,6 +880,7 @@ def process_dap args
880880
case req.dig('arguments', 'filter')
881881
when 'indexed'
882882
start = req.dig('arguments', 'start') || 0
883+
# FIXME: `req.dig('arguments', 'count')` needs to be capped to be `<= obj.size`.
883884
count = req.dig('arguments', 'count') || obj.size
884885
vars = (start ... (start + count)).map{|i|
885886
variable(i.to_s, obj[i])

test/protocol/hover_raw_dap_test.rb

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -578,80 +578,81 @@ def test_hover_works_correctly
578578
variables: [
579579
{
580580
name: "0",
581-
value: /.*/,
582-
type: /.*/,
581+
value: "JSON::Ext::Generator::GeneratorMethods::Integer",
582+
type: "Module",
583583
variablesReference: 22,
584584
indexedVariables: 0,
585585
namedVariables: /\d+/
586586
},
587587
{
588588
name: "1",
589-
value: /.*/,
590-
type: /.*/,
589+
value: "Numeric",
590+
type: "Class",
591591
variablesReference: 23,
592592
indexedVariables: 0,
593593
namedVariables: /\d+/
594594
},
595595
{
596596
name: "2",
597-
value: /.*/,
598-
type: /.*/,
597+
value: "Comparable",
598+
type: "Module",
599599
variablesReference: 24,
600600
indexedVariables: 0,
601601
namedVariables: /\d+/
602602
},
603603
{
604604
name: "3",
605-
value: /.*/,
606-
type: /.*/,
605+
value: "Object",
606+
type: "Class",
607607
variablesReference: 25,
608608
indexedVariables: 0,
609609
namedVariables: /\d+/
610610
},
611611
{
612612
name: "4",
613-
value: /.*/,
614-
type: /.*/,
613+
value: "JSON::Ext::Generator::GeneratorMethods::Object",
614+
type: "Module",
615615
variablesReference: 26,
616616
indexedVariables: 0,
617617
namedVariables: /\d+/
618618
},
619619
{
620620
name: "5",
621-
value: /.*/,
622-
type: /.*/,
621+
value: "PP::ObjectMixin",
622+
type: "Module",
623623
variablesReference: 27,
624624
indexedVariables: 0,
625625
namedVariables: /\d+/
626626
},
627627
{
628628
name: "6",
629-
value: /.*/,
630-
type: /.*/,
629+
value: "DEBUGGER__::TrapInterceptor",
630+
type: "Module",
631631
variablesReference: 28,
632632
indexedVariables: 0,
633633
namedVariables: /\d+/
634634
},
635635
{
636636
name: "7",
637-
value: /.*/,
638-
type: /.*/,
637+
value: "Kernel",
638+
type: "Module",
639639
variablesReference: 29,
640640
indexedVariables: 0,
641641
namedVariables: /\d+/
642642
},
643643
{
644644
name: "8",
645-
value: /.*/,
646-
type: /.*/,
645+
value: "BasicObject",
646+
type: "Class",
647647
variablesReference: 30,
648648
indexedVariables: 0,
649649
namedVariables: /\d+/
650650
},
651651
{
652+
# This is an extra entry caused by an out-of-bounds index access in server_dap.rb
652653
name: "9",
653-
value: /.*/,
654-
type: /.*/,
654+
value: nil,
655+
type: NilClass,
655656
variablesReference: 31,
656657
indexedVariables: 0,
657658
namedVariables: /\d+/

test/protocol/variables_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def test_ordering_instance_variables
7676
res = send_dap_request 'variables', variablesReference: variables_reference
7777

7878
instance_vars = res.dig(:body, :variables)
79-
assert_equal instance_vars.map { |var| var[:name] }, ["#class", "@a", "@b", "@c"]
79+
assert_equal ["#class", "@a", "@b", "@c"], instance_vars.map { |var| var[:name] }
8080

8181
req_terminate_debuggee
8282
end

0 commit comments

Comments
 (0)