1// RUN: %exploded_graph_rewriter -d %s | FileCheck %s
2
3// FIXME: Substitution doesn't seem to work on Windows.
4// UNSUPPORTED: system-windows
5
6// No diffs on the first node, nothing to check.
7Node0x1 [shape=record,label=
8 "{
9    { "node_id": 1,
10      "pointer": "0x1",
11      "state_id": 2,
12      "program_points": [],
13      "program_state": {
14        "store": null,
15        "constraints": null,
16        "environment": {
17          "pointer": "0x2",
18          "items": [
19            {
20              "location_context": "#0 Call",
21              "lctx_id": 3,
22              "calling": "foo",
23              "call_line": 4,
24              "items": [
25                {
26                  "stmt_id": 5,
27                  "pretty": "bar()",
28                  "value": "Unknown"
29                }
30              ]
31            }
32          ]
33        }
34      }
35    }
36\l}"];
37
38Node0x1 -> Node0x6;
39
40// CHECK: Node0x6 [
41// CHECK-SAME: <tr>
42// CHECK-SAME:   <td><font color="red">-</font></td>
43// CHECK-SAME:   <td align="left"><i>S5</i></td>
44// CHECK-SAME:   <td align="left">bar()</td>
45// CHECK-SAME:   <td align="left">Unknown</td>
46// CHECK-SAME: </tr>
47// CHECK-SAME: <tr>
48// CHECK-SAME:   <td><font color="forestgreen">+</font></td>
49// CHECK-SAME:   <td align="left"><i>S9</i></td>
50// CHECK-SAME:   <td align="left">baz()</td>
51// CHECK-SAME:   <td align="left">Undefined</td>
52// CHECK-SAME: </tr>
53Node0x6 [shape=record,label=
54 "{
55    { "node_id": 6,
56      "pointer": "0x6",
57      "state_id": 7,
58      "program_points": [],
59      "program_state": {
60        "store": null,
61        "constraints": null,
62        "environment": {
63          "pointer": "0x2",
64          "items": [
65            {
66              "location_context": "#0 Call",
67              "lctx_id": 3,
68              "calling": "foo",
69              "call_line": 4,
70              "items": [
71                {
72                  "stmt_id": 9,
73                  "pretty": "baz()",
74                  "value": "Undefined"
75                }
76              ]
77            }
78          ]
79        }
80      }
81    }
82\l}"];
83
84Node0x6 -> Node0x9;
85// Make sure that the last node in the path is not diffed.
86// CHECK: Node0x9 [
87// CHECK-SAME: <tr>
88// CHECK-SAME:   <td></td>
89// CHECK-SAME:   <td align="left"><i>S9</i></td>
90// CHECK-SAME:   <td align="left">baz()</td>
91// CHECK-SAME:   <td align="left">Undefined</td>
92// CHECK-SAME: </tr>
93Node0x9 [shape=record,label=
94 "{
95    { "node_id": 9,
96      "pointer": "0x9",
97      "state_id": 7,
98      "program_points": [],
99      "program_state": {
100        "store": null,
101        "constraints": null,
102        "environment": {
103          "pointer": "0x2",
104          "items": [
105            {
106              "location_context": "#0 Call",
107              "lctx_id": 3,
108              "calling": "foo",
109              "call_line": 4,
110              "items": [
111                {
112                  "stmt_id": 9,
113                  "pretty": "baz()",
114                  "value": "Undefined"
115                }
116              ]
117            }
118          ]
119        }
120      }
121    }
122\l}"];
123