UNPKG

chrome-devtools-frontend

Version:
65 lines (52 loc) 3.17 kB
// Copyright 2020 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import * as Platform from '../../core/platform/platform.js'; import * as SDK from '../../core/sdk/sdk.js'; import type * as Protocol from '../../generated/protocol.js'; import {StubIssue} from '../../testing/StubIssue.js'; import * as IssuesManager from '../issues_manager/issues_manager.js'; describe('issuesAssociatedWith', () => { const requestId1 = 'r0' as Protocol.Network.RequestId; const requestId2 = 'r1' as Protocol.Network.RequestId; it('should return no issues if no issues exist', () => { const request = SDK.NetworkRequest.NetworkRequest.create( requestId1, Platform.DevToolsPath.EmptyUrlString, Platform.DevToolsPath.EmptyUrlString, null, null, null); assert.lengthOf(IssuesManager.RelatedIssue.issuesAssociatedWith([], request), 0); }); it('should return no issues if issues dont affect any resources', () => { const issue = new StubIssue('code', [], []); const request = SDK.NetworkRequest.NetworkRequest.create( requestId1, Platform.DevToolsPath.EmptyUrlString, Platform.DevToolsPath.EmptyUrlString, null, null, null); assert.lengthOf(IssuesManager.RelatedIssue.issuesAssociatedWith([issue], request), 0); }); it('should correctly filter issues associated with a given request id', () => { const issue1 = StubIssue.createFromRequestIds([requestId1, requestId2]); const issue2 = StubIssue.createFromRequestIds([requestId1]); const issues = [issue1, issue2]; const request1 = SDK.NetworkRequest.NetworkRequest.create( requestId1, Platform.DevToolsPath.EmptyUrlString, Platform.DevToolsPath.EmptyUrlString, null, null, null); const request2 = SDK.NetworkRequest.NetworkRequest.create( requestId2, Platform.DevToolsPath.EmptyUrlString, Platform.DevToolsPath.EmptyUrlString, null, null, null); assert.deepEqual(IssuesManager.RelatedIssue.issuesAssociatedWith(issues, request1), issues); assert.deepEqual(IssuesManager.RelatedIssue.issuesAssociatedWith(issues, request2), [issue1]); }); function createTestCookie(name: string): SDK.Cookie.Cookie { const cookie = new SDK.Cookie.Cookie(name, ''); cookie.addAttribute(SDK.Cookie.Attribute.DOMAIN, ''); cookie.addAttribute(SDK.Cookie.Attribute.PATH, ''); return cookie; } it('should correctly filter issues associated with a cookie', () => { const issue1 = StubIssue.createFromCookieNames(['c1', 'c2']); const issue2 = StubIssue.createFromCookieNames(['c3']); const issue3 = StubIssue.createFromCookieNames(['c1']); const issues = [issue1, issue2, issue3]; const cookie1 = createTestCookie('c1'); const cookie2 = createTestCookie('c2'); const cookie3 = createTestCookie('c3'); assert.deepEqual(IssuesManager.RelatedIssue.issuesAssociatedWith(issues, cookie1), [issue1, issue3]); assert.deepEqual(IssuesManager.RelatedIssue.issuesAssociatedWith(issues, cookie2), [issue1]); assert.deepEqual(IssuesManager.RelatedIssue.issuesAssociatedWith(issues, cookie3), [issue2]); }); });