@@ -100,7 +100,7 @@ defmodule ErrorTrackerTest do
100100 assert report_error ( fn -> raise "Sample error" end ) == :noop
101101 end
102102
103- test "includes bread crumbs if present" do
103+ test "includes breadcrumbs if present" do
104104 breadcrumbs = [ "breadcrumb 1" , "breadcrumb 2" ]
105105
106106 occurrence =
@@ -110,6 +110,27 @@ defmodule ErrorTrackerTest do
110110
111111 assert occurrence . breadcrumbs == breadcrumbs
112112 end
113+
114+ test "includes breadcrumbs if stored by the user" do
115+ ErrorTracker . add_breadcrumb ( "breadcrumb 1" )
116+ ErrorTracker . add_breadcrumb ( "breadcrumb 2" )
117+
118+ occurrence = report_error ( fn -> raise "Sample error" end )
119+
120+ assert occurrence . breadcrumbs == [ "breadcrumb 1" , "breadcrumb 2" ]
121+ end
122+
123+ test "merges breadcrumbs stored by the user and contained on the exception" do
124+ ErrorTracker . add_breadcrumb ( "breadcrumb 1" )
125+ ErrorTracker . add_breadcrumb ( "breadcrumb 2" )
126+
127+ occurrence =
128+ report_error ( fn ->
129+ raise ErrorWithBreadcrumbs , message: "test" , bread_crumbs: [ "breadcrumb 3" ]
130+ end )
131+
132+ assert occurrence . breadcrumbs == [ "breadcrumb 1" , "breadcrumb 2" , "breadcrumb 3" ]
133+ end
113134 end
114135
115136 describe inspect ( & ErrorTracker . resolve / 1 ) do
@@ -129,6 +150,15 @@ defmodule ErrorTrackerTest do
129150 assert { :ok , % Error { status: :unresolved } } = ErrorTracker . unresolve ( resolved )
130151 end
131152 end
153+
154+ describe inspect ( & ErrorTracker . add_breadcrumb / 1 ) do
155+ test "adds an entry to the breadcrumbs list" do
156+ ErrorTracker . add_breadcrumb ( "breadcrumb 1" )
157+ ErrorTracker . add_breadcrumb ( "breadcrumb 2" )
158+
159+ assert [ "breadcrumb 1" , "breadcrumb 2" ] = ErrorTracker . get_breadcrumbs ( )
160+ end
161+ end
132162end
133163
134164defmodule ErrorWithBreadcrumbs do
0 commit comments