|
38 | 38 | it "prints only a part of the exception backtrace" do |
39 | 39 | subject.process |
40 | 40 | expect(subject.output.string).to eq( |
41 | | - "\e[1mException:\e[0m RuntimeError: oops\n" \ |
| 41 | + "\001\e[1m\002Exception:\001\e[0m\002 RuntimeError: oops\n" \ |
42 | 42 | "--\n" \ |
43 | 43 | "0: /bin/pry:23:in `<main>'\n" \ |
44 | 44 | "1: /bin/pry:23:in `<main>'\n" \ |
|
55 | 55 | it "prints full exception backtrace" do |
56 | 56 | subject.process |
57 | 57 | expect(subject.output.string).to eq( |
58 | | - "\e[1mException:\e[0m RuntimeError: oops\n" \ |
| 58 | + "\001\e[1m\002Exception:\001\e[0m\002 RuntimeError: oops\n" \ |
59 | 59 | "--\n" \ |
60 | 60 | "0: /bin/pry:23:in `<main>'\n" \ |
61 | 61 | "1: /bin/pry:23:in `<main>'\n" \ |
|
73 | 73 | it "prints more of backtrace" do |
74 | 74 | subject.process |
75 | 75 | expect(subject.output.string).to eq( |
76 | | - "\e[1mException:\e[0m RuntimeError: oops\n" \ |
| 76 | + "\001\e[1m\002Exception:\001\e[0m\002 RuntimeError: oops\n" \ |
77 | 77 | "--\n" \ |
78 | 78 | "0: /bin/pry:23:in `<main>'\n" \ |
79 | 79 | "1: /bin/pry:23:in `<main>'\n" \ |
|
116 | 116 | it "prints parts of both original and nested exception backtrace" do |
117 | 117 | subject.process |
118 | 118 | expect(subject.output.string).to eq( |
119 | | - "\e[1mException:\e[0m RuntimeError: outer\n" \ |
| 119 | + "\001\e[1m\002Exception:\001\e[0m\002 RuntimeError: outer\n" \ |
120 | 120 | "--\n" \ |
121 | 121 | "0: /bin/pry:23:in `<main>'\n" \ |
122 | 122 | "1: /bin/pry:23:in `<main>'\n" \ |
123 | 123 | "2: /bin/pry:23:in `<main>'\n" \ |
124 | 124 | "3: /bin/pry:23:in `<main>'\n" \ |
125 | 125 | "4: /bin/pry:23:in `<main>'\n" \ |
126 | | - "\e[1mCaused by:\e[0m RuntimeError: inner\n" \ |
| 126 | + "\001\e[1m\002Caused by:\001\e[0m\002 RuntimeError: inner\n" \ |
127 | 127 | "--\n" \ |
128 | 128 | "0: /bin/pry:23:in `<main>'\n" \ |
129 | 129 | "1: /bin/pry:23:in `<main>'\n" \ |
|
140 | 140 | it "prints both original and nested exception backtrace" do |
141 | 141 | subject.process |
142 | 142 | expect(subject.output.string).to eq( |
143 | | - "\e[1mException:\e[0m RuntimeError: outer\n" \ |
| 143 | + "\001\e[1m\002Exception:\001\e[0m\002 RuntimeError: outer\n" \ |
144 | 144 | "--\n" \ |
145 | 145 | "0: /bin/pry:23:in `<main>'\n" \ |
146 | 146 | "1: /bin/pry:23:in `<main>'\n" \ |
147 | 147 | "2: /bin/pry:23:in `<main>'\n" \ |
148 | 148 | "3: /bin/pry:23:in `<main>'\n" \ |
149 | 149 | "4: /bin/pry:23:in `<main>'\n" \ |
150 | 150 | "5: /bin/pry:23:in `<main>'\n" \ |
151 | | - "\e[1mCaused by:\e[0m RuntimeError: inner\n" \ |
| 151 | + "\001\e[1m\002Caused by:\001\e[0m\002 RuntimeError: inner\n" \ |
152 | 152 | "--\n" \ |
153 | 153 | "0: /bin/pry:23:in `<main>'\n" \ |
154 | 154 | "1: /bin/pry:23:in `<main>'\n" \ |
|
177 | 177 | it "prints lines of code that exception frame references" do |
178 | 178 | subject.process |
179 | 179 | expect(subject.output.string).to eq( |
180 | | - "\e[1mException:\e[0m RuntimeError: oops\n" \ |
| 180 | + "\001\e[1m\002Exception:\001\e[0m\002 RuntimeError: oops\n" \ |
181 | 181 | "--\n" \ |
182 | | - "0: \e[1m#{__FILE__}:168:in `<main>'\e[0m\n" \ |
| 182 | + "0: \001\e[1m\002#{__FILE__}:168:in `<main>'\001\e[0m\002\n" \ |
183 | 183 | " Array.new(6) { \"\#{__FILE__}:\#{__LINE__}:in `<main>'\" }\n" \ |
184 | | - "1: \e[1m#{__FILE__}:168:in `<main>'\e[0m\n" \ |
| 184 | + "1: \001\e[1m\002#{__FILE__}:168:in `<main>'\001\e[0m\002\n" \ |
185 | 185 | " Array.new(6) { \"\#{__FILE__}:\#{__LINE__}:in `<main>'\" }\n" \ |
186 | | - "2: \e[1m#{__FILE__}:168:in `<main>'\e[0m\n" \ |
| 186 | + "2: \001\e[1m\002#{__FILE__}:168:in `<main>'\001\e[0m\002\n" \ |
187 | 187 | " Array.new(6) { \"\#{__FILE__}:\#{__LINE__}:in `<main>'\" }\n" \ |
188 | | - "3: \e[1m#{__FILE__}:168:in `<main>'\e[0m\n" \ |
| 188 | + "3: \001\e[1m\002#{__FILE__}:168:in `<main>'\001\e[0m\002\n" \ |
189 | 189 | " Array.new(6) { \"\#{__FILE__}:\#{__LINE__}:in `<main>'\" }\n" \ |
190 | | - "4: \e[1m#{__FILE__}:168:in `<main>'\e[0m\n" \ |
| 190 | + "4: \001\e[1m\002#{__FILE__}:168:in `<main>'\001\e[0m\002\n" \ |
191 | 191 | " Array.new(6) { \"\#{__FILE__}:\#{__LINE__}:in `<main>'\" }\n" |
192 | 192 | ) |
193 | 193 | end |
|
200 | 200 | it "skips code and prints only the backtrace frame" do |
201 | 201 | subject.process |
202 | 202 | expect(subject.output.string).to eq( |
203 | | - "\e[1mException:\e[0m RuntimeError: oops\n" \ |
| 203 | + "\001\e[1m\002Exception:\001\e[0m\002 RuntimeError: oops\n" \ |
204 | 204 | "--\n" \ |
205 | | - "0: \e[1m#{__FILE__}:168:in `<main>'\e[0m\n" \ |
206 | | - "1: \e[1m#{__FILE__}:168:in `<main>'\e[0m\n" \ |
207 | | - "2: \e[1m#{__FILE__}:168:in `<main>'\e[0m\n" \ |
208 | | - "3: \e[1m#{__FILE__}:168:in `<main>'\e[0m\n" \ |
209 | | - "4: \e[1m#{__FILE__}:168:in `<main>'\e[0m\n" |
| 205 | + "0: \001\e[1m\002#{__FILE__}:168:in `<main>'\001\e[0m\002\n" \ |
| 206 | + "1: \001\e[1m\002#{__FILE__}:168:in `<main>'\001\e[0m\002\n" \ |
| 207 | + "2: \001\e[1m\002#{__FILE__}:168:in `<main>'\001\e[0m\002\n" \ |
| 208 | + "3: \001\e[1m\002#{__FILE__}:168:in `<main>'\001\e[0m\002\n" \ |
| 209 | + "4: \001\e[1m\002#{__FILE__}:168:in `<main>'\001\e[0m\002\n" |
210 | 210 | ) |
211 | 211 | end |
212 | 212 | end |
|
0 commit comments