diff --git a/static/app/components/events/interfaces/performance/anrRootCause.spec.tsx b/static/app/components/events/interfaces/performance/anrRootCause.spec.tsx index 4898d95bc649..19b4780dd4fa 100644 --- a/static/app/components/events/interfaces/performance/anrRootCause.spec.tsx +++ b/static/app/components/events/interfaces/performance/anrRootCause.spec.tsx @@ -149,7 +149,10 @@ const makeEventWithThreads = (threads: Thread[]): Event => { type: 'ZeroDivisionError', value: 'divided by 0', }, - tags: [{key: 'level', value: 'error'}], + tags: [ + {key: 'level', value: 'error'}, + {key: 'mechanism', value: 'ANR'}, + ], platform: 'other', dateReceived: '2021-10-28T12:28:22.318469Z', errors: [], @@ -251,12 +254,8 @@ describe('anrRootCause', () => { ) ) ).toBeInTheDocument(); - expect(screen.getByTestId('stack-trace-content')).toBeInTheDocument(); - expect( - screen.getByText(textWithMarkupMatcher('Thread.java in wait at line 10')) - ).toBeInTheDocument(); - expect( - screen.getByText(textWithMarkupMatcher('MainActivity.java in onCreate at line 366')) - ).toBeInTheDocument(); + expect(screen.getByText('Suspect Frame')).toBeInTheDocument(); + expect(screen.getByText('wait')).toBeInTheDocument(); + expect(screen.getByText('onCreate')).toBeInTheDocument(); }); }); diff --git a/static/app/components/events/interfaces/performance/anrRootCause.tsx b/static/app/components/events/interfaces/performance/anrRootCause.tsx index 081db8145b02..82dba841fcf8 100644 --- a/static/app/components/events/interfaces/performance/anrRootCause.tsx +++ b/static/app/components/events/interfaces/performance/anrRootCause.tsx @@ -4,7 +4,6 @@ import styled from '@emotion/styled'; import {Link} from '@sentry/scraps/link'; import {analyzeFramesForRootCause} from 'sentry/components/events/interfaces/analyzeFrames'; -import {StackTraceContent} from 'sentry/components/events/interfaces/crashContent/stackTrace'; import {NoStackTraceMessage} from 'sentry/components/events/interfaces/noStackTraceMessage'; import {getThreadStacktrace} from 'sentry/components/events/interfaces/threads/threadSelector/getThreadStacktrace'; import { @@ -15,10 +14,14 @@ import { import {ShortId} from 'sentry/components/group/inboxBadges/shortId'; import ProjectBadge from 'sentry/components/idBadge/projectBadge'; import {extractSelectionParameters} from 'sentry/components/pageFilters/parse'; +import {FrameContent} from 'sentry/components/stackTrace/frame/frameContent'; +import {IssueFrameActions} from 'sentry/components/stackTrace/issueStackTrace/issueFrameActions'; +import {StackTraceViewStateProvider} from 'sentry/components/stackTrace/stackTraceContext'; +import {StackTraceFrames} from 'sentry/components/stackTrace/stackTraceFrames'; +import {StackTraceProvider} from 'sentry/components/stackTrace/stackTraceProvider'; import {t} from 'sentry/locale'; import type {Event} from 'sentry/types/event'; import type {Organization} from 'sentry/types/organization'; -import {StackView} from 'sentry/types/stacktrace'; import {trackAnalytics} from 'sentry/utils/analytics'; import {defined} from 'sentry/utils/defined'; import {useLocation} from 'sentry/utils/useLocation'; @@ -113,14 +116,20 @@ export function AnrRootCause({event, organization}: Props) { {anrCulprit?.resources} {defined(stackTrace) ? ( - + + + + + ) : ( )} diff --git a/static/app/components/events/interfaces/template.spec.tsx b/static/app/components/events/interfaces/template.spec.tsx new file mode 100644 index 000000000000..0a9d39985d04 --- /dev/null +++ b/static/app/components/events/interfaces/template.spec.tsx @@ -0,0 +1,55 @@ +import {EventFixture} from 'sentry-fixture/event'; +import {FrameFixture} from 'sentry-fixture/frame'; + +import {render, screen} from 'sentry-test/reactTestingLibrary'; + +import {Template} from 'sentry/components/events/interfaces/template'; +import {EntryType} from 'sentry/types/event'; + +it('renders template source context expanded in the new stack trace', () => { + const frame = FrameFixture({ + platform: 'python', + filename: 'template.html', + context: [[3, '{{ example.value }}']], + lineNo: 3, + vars: {example: 'value'}, + }); + render( +