Skip to content

Commit e803070

Browse files
authored
Create "Bugsnag loaded" breadcrumb (#179)
1 parent 8dd5376 commit e803070

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

src/bugsnag.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1109,6 +1109,11 @@
11091109
trackConsoleLog();
11101110
trackNavigation();
11111111

1112+
// Leave the initial breadcrumb
1113+
if (getSetting("autoBreadcrumbs", true)) {
1114+
self.leaveBreadcrumb({ type: "navigation", name: "Bugsnag Loaded" });
1115+
}
1116+
11121117
window.Bugsnag = self;
11131118
// If people are using a javascript loader, we should integrate with it.
11141119
// We don't want to defer instrumenting their code with callbacks however,

test/test.bugsnag.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ describe("Bugsnag", function () {
436436
}
437437
};
438438

439-
var actual = requestData().params.breadcrumbs[0];
439+
var actual = requestData().params.breadcrumbs[1];
440440

441441
assert(actual, "no breadcrumbs present");
442442
assert.equal(actual.type, expected.type);
@@ -455,7 +455,7 @@ describe("Bugsnag", function () {
455455
}
456456
};
457457

458-
var actual = requestData().params.breadcrumbs[0];
458+
var actual = requestData().params.breadcrumbs[1];
459459

460460
assert.equal(actual.name, expected.name);
461461
assert.deepEqual(actual.metaData, expected.metaData);
@@ -475,7 +475,7 @@ describe("Bugsnag", function () {
475475
Bugsnag.leaveBreadcrumb(expected);
476476
Bugsnag.notify("Something");
477477

478-
var actual = requestData().params.breadcrumbs[0];
478+
var actual = requestData().params.breadcrumbs[1];
479479

480480
assert.deepEqual(actual, expected);
481481
});
@@ -493,14 +493,14 @@ describe("Bugsnag", function () {
493493
Bugsnag.notify("Something");
494494

495495
// Replacing an invalid breadcrumb also triggers a console log breadcrumb
496-
var logCrumb = requestData().params.breadcrumbs[0];
496+
var logCrumb = requestData().params.breadcrumbs[1];
497497
assert.equal(logCrumb.type, "log");
498498
assert.equal(
499499
logCrumb.metaData.message,
500500
"[Bugsnag] Converted invalid breadcrumb type 'fanciful' to 'manual'"
501501
);
502502

503-
var actualCrumb = requestData().params.breadcrumbs[1];
503+
var actualCrumb = requestData().params.breadcrumbs[2];
504504
assert.equal(actualCrumb.type, "manual");
505505
});
506506

@@ -512,7 +512,7 @@ describe("Bugsnag", function () {
512512
Bugsnag.leaveBreadcrumb(longValue);
513513
Bugsnag.notify("Something");
514514

515-
var crumb = requestData().params.breadcrumbs[0];
515+
var crumb = requestData().params.breadcrumbs[1];
516516

517517
assert.equal(crumb.metaData.message.length, 140);
518518
});
@@ -550,7 +550,7 @@ describe("Bugsnag", function () {
550550
}
551551
};
552552

553-
var actual = requestData().params.breadcrumbs[0];
553+
var actual = requestData().params.breadcrumbs[1];
554554

555555
assert(actual, "no breadcrumbs present");
556556
assert.equal(actual.type, expected.type);
@@ -562,22 +562,22 @@ describe("Bugsnag", function () {
562562
container.className = "blue steel";
563563
clickOn(container);
564564
Bugsnag.notify("Something");
565-
var selector = requestData().params.breadcrumbs[0].metaData.targetSelector;
565+
var selector = requestData().params.breadcrumbs[1].metaData.targetSelector;
566566
assert.equal(selector, "DIV#container.blue.steel");
567567
});
568568

569569
it("trims target text", function() {
570570
container.textContent = "\n Hello \n\n";
571571
clickOn(container);
572572
Bugsnag.notify("Something");
573-
assert.equal(requestData().params.breadcrumbs[0].metaData.targetText, "Hello");
573+
assert.equal(requestData().params.breadcrumbs[1].metaData.targetText, "Hello");
574574
});
575575

576576
it("handles invalid id attributes", function() {
577577
container.id = "12345";
578578
clickOn(container);
579579
Bugsnag.notify("Something");
580-
var selector = requestData().params.breadcrumbs[0].metaData.targetSelector;
580+
var selector = requestData().params.breadcrumbs[1].metaData.targetSelector;
581581
assert.equal(selector, "DIV#12345");
582582
});
583583
});

0 commit comments

Comments
 (0)