@@ -7,16 +7,22 @@ import * as Host from '../../core/host/host.js';
77import * as Platform from '../../core/platform/platform.js' ;
88import * as SDK from '../../core/sdk/sdk.js' ;
99import * as Workspace from '../../models/workspace/workspace.js' ;
10- import { createAiAssistancePanel , detachPanels , mockAidaClient } from '../../testing/AiAssistanceHelpers.js' ;
10+ import {
11+ createAiAssistancePanel ,
12+ createNetworkRequest ,
13+ detachPanels ,
14+ mockAidaClient
15+ } from '../../testing/AiAssistanceHelpers.js' ;
1116import { findMenuItemWithLabel , getMenu } from '../../testing/ContextMenuHelpers.js' ;
1217import { dispatchClickEvent } from '../../testing/DOMHelpers.js' ;
1318import { createTarget , registerNoopActions , updateHostConfig } from '../../testing/EnvironmentHelpers.js' ;
1419import { describeWithMockConnection } from '../../testing/MockConnection.js' ;
20+ import { createNetworkPanelForMockConnection } from '../../testing/NetworkHelpers.js' ;
1521import * as UI from '../../ui/legacy/legacy.js' ;
16- import * as ElementsPanel from '../elements/elements.js' ;
17- import * as NetworkPanel from '../network/network.js' ;
18- import * as SourcesPanel from '../sources/sources.js' ;
19- import * as TimelinePanel from '../timeline/timeline.js' ;
22+ import * as Elements from '../elements/elements.js' ;
23+ import * as Network from '../network/network.js' ;
24+ import * as Sources from '../sources/sources.js' ;
25+ import * as Timeline from '../timeline/timeline.js' ;
2026import * as TimelineUtils from '../timeline/utils/utils.js' ;
2127
2228import * as AiAssistance from './ai_assistance.js' ;
@@ -26,10 +32,10 @@ const {urlString} = Platform.DevToolsPath;
2632describeWithMockConnection ( 'AI Assistance Panel' , ( ) => {
2733 beforeEach ( ( ) => {
2834 registerNoopActions ( [ 'elements.toggle-element-search' ] ) ;
29- UI . Context . Context . instance ( ) . setFlavor ( ElementsPanel . ElementsPanel . ElementsPanel , null ) ;
30- UI . Context . Context . instance ( ) . setFlavor ( NetworkPanel . NetworkPanel . NetworkPanel , null ) ;
31- UI . Context . Context . instance ( ) . setFlavor ( SourcesPanel . SourcesPanel . SourcesPanel , null ) ;
32- UI . Context . Context . instance ( ) . setFlavor ( TimelinePanel . TimelinePanel . TimelinePanel , null ) ;
35+ UI . Context . Context . instance ( ) . setFlavor ( Elements . ElementsPanel . ElementsPanel , null ) ;
36+ UI . Context . Context . instance ( ) . setFlavor ( Network . NetworkPanel . NetworkPanel , null ) ;
37+ UI . Context . Context . instance ( ) . setFlavor ( Sources . SourcesPanel . SourcesPanel , null ) ;
38+ UI . Context . Context . instance ( ) . setFlavor ( Timeline . TimelinePanel . TimelinePanel , null ) ;
3339 UI . Context . Context . instance ( ) . setFlavor ( SDK . NetworkRequest . NetworkRequest , null ) ;
3440 UI . Context . Context . instance ( ) . setFlavor ( SDK . DOMModel . DOMNode , null ) ;
3541 UI . Context . Context . instance ( ) . setFlavor ( TimelineUtils . AICallTree . AICallTree , null ) ;
@@ -390,8 +396,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
390396 await view . lastCall . args [ 0 ] . onTextSubmit ( 'test' ) ;
391397
392398 UI . Context . Context . instance ( ) . setFlavor (
393- ElementsPanel . ElementsPanel . ElementsPanel ,
394- sinon . createStubInstance ( ElementsPanel . ElementsPanel . ElementsPanel ) ) ;
399+ Elements . ElementsPanel . ElementsPanel , sinon . createStubInstance ( Elements . ElementsPanel . ElementsPanel ) ) ;
395400
396401 assert . deepEqual ( view . lastCall . args [ 0 ] . messages , [
397402 {
@@ -426,8 +431,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
426431 panel . handleAction ( 'freestyler.elements-floating-button' ) ;
427432 await view . lastCall . args [ 0 ] . onTextSubmit ( 'test' ) ;
428433 UI . Context . Context . instance ( ) . setFlavor (
429- TimelinePanel . TimelinePanel . TimelinePanel ,
430- sinon . createStubInstance ( TimelinePanel . TimelinePanel . TimelinePanel ) ) ;
434+ Timeline . TimelinePanel . TimelinePanel , sinon . createStubInstance ( Timeline . TimelinePanel . TimelinePanel ) ) ;
431435
432436 assert . deepEqual ( view . lastCall . args [ 0 ] . messages , [
433437 {
@@ -462,8 +466,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
462466 panel . handleAction ( 'freestyler.elements-floating-button' ) ;
463467 await view . lastCall . args [ 0 ] . onTextSubmit ( 'test' ) ;
464468 UI . Context . Context . instance ( ) . setFlavor (
465- TimelinePanel . TimelinePanel . TimelinePanel ,
466- sinon . createStubInstance ( TimelinePanel . TimelinePanel . TimelinePanel ) ) ;
469+ Timeline . TimelinePanel . TimelinePanel , sinon . createStubInstance ( Timeline . TimelinePanel . TimelinePanel ) ) ;
467470
468471 assert . deepEqual ( view . lastCall . args [ 0 ] . messages , [
469472 {
@@ -566,8 +569,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
566569 } ) ;
567570 const addHistoryItemStub = sinon . stub ( AiAssistance . Conversation . prototype , 'addHistoryItem' ) ;
568571 UI . Context . Context . instance ( ) . setFlavor (
569- ElementsPanel . ElementsPanel . ElementsPanel ,
570- sinon . createStubInstance ( ElementsPanel . ElementsPanel . ElementsPanel ) ) ;
572+ Elements . ElementsPanel . ElementsPanel , sinon . createStubInstance ( Elements . ElementsPanel . ElementsPanel ) ) ;
571573 const { view} = await createAiAssistancePanel ( {
572574 aidaClient : mockAidaClient ( [ [
573575 { explanation : 'ANSWER: partially started' } , { explanation : 'ANSWER: partially started and now it\'s finished' }
@@ -619,7 +621,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
619621 await view . lastCall . args [ 0 ] . onTextSubmit ( 'test' ) ;
620622
621623 UI . Context . Context . instance ( ) . setFlavor (
622- ElementsPanel . ElementsPanel . ElementsPanel , sinon . createStubInstance ( ElementsPanel . ElementsPanel . ElementsPanel ) ) ;
624+ Elements . ElementsPanel . ElementsPanel , sinon . createStubInstance ( Elements . ElementsPanel . ElementsPanel ) ) ;
623625 assert . deepEqual ( view . lastCall . args [ 0 ] . messages , [
624626 {
625627 entity : AiAssistance . ChatMessageEntity . USER ,
@@ -702,10 +704,17 @@ describeWithMockConnection('AI Assistance Panel', () => {
702704 } ) ;
703705
704706 describe ( 'cross-origin' , ( ) => {
707+ beforeEach ( async ( ) => {
708+ createTarget ( ) ;
709+ await createNetworkPanelForMockConnection ( ) ;
710+ } ) ;
711+
712+ afterEach ( async ( ) => {
713+ Network . NetworkPanel . NetworkPanel . instance ( ) . detach ( ) ;
714+ } ) ;
715+
705716 it ( 'blocks input on cross origin requests' , async ( ) => {
706- // TODO: the stub for network requests fails if headers are
707- // retrieved.
708- const networkRequest = sinon . createStubInstance ( SDK . NetworkRequest . NetworkRequest , {
717+ const networkRequest = createNetworkRequest ( {
709718 url : urlString `https://a.test` ,
710719 } ) ;
711720 UI . Context . Context . instance ( ) . setFlavor ( SDK . NetworkRequest . NetworkRequest , networkRequest ) ;
@@ -723,12 +732,10 @@ describeWithMockConnection('AI Assistance Panel', () => {
723732
724733 // Send a query for https://a.test.
725734 panel . handleAction ( 'drjones.network-floating-button' ) ;
726- // TODO: properly await onTextSubmit.
727- void view . lastCall . args [ 0 ] . onTextSubmit ( 'test' ) ;
728- await new Promise ( resolve => setTimeout ( resolve , 0 ) ) ;
735+ await view . lastCall . args [ 0 ] . onTextSubmit ( 'test' ) ;
729736
730737 // Change context to https://b.test.
731- const networkRequest2 = sinon . createStubInstance ( SDK . NetworkRequest . NetworkRequest , {
738+ const networkRequest2 = createNetworkRequest ( {
732739 url : urlString `https://b.test` ,
733740 } ) ;
734741 UI . Context . Context . instance ( ) . setFlavor ( SDK . NetworkRequest . NetworkRequest , networkRequest2 ) ;
@@ -751,8 +758,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
751758 aidaClient : mockAidaClient ( [ [ { explanation : 'test' } ] , [ { explanation : 'test2' } ] ] ) ,
752759 } ) ;
753760 UI . Context . Context . instance ( ) . setFlavor (
754- ElementsPanel . ElementsPanel . ElementsPanel ,
755- sinon . createStubInstance ( ElementsPanel . ElementsPanel . ElementsPanel ) ) ;
761+ Elements . ElementsPanel . ElementsPanel , sinon . createStubInstance ( Elements . ElementsPanel . ElementsPanel ) ) ;
756762
757763 panel . handleAction ( 'freestyler.elements-floating-button' ) ;
758764 await view . lastCall . args [ 0 ] . onTextSubmit ( 'test' ) ;
@@ -773,8 +779,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
773779 ] ) ;
774780
775781 UI . Context . Context . instance ( ) . setFlavor (
776- ElementsPanel . ElementsPanel . ElementsPanel ,
777- sinon . createStubInstance ( ElementsPanel . ElementsPanel . ElementsPanel ) ) ;
782+ Elements . ElementsPanel . ElementsPanel , sinon . createStubInstance ( Elements . ElementsPanel . ElementsPanel ) ) ;
778783
779784 panel . handleAction ( 'freestyler.elements-floating-button' ) ;
780785 await view . lastCall . args [ 0 ] . onTextSubmit ( 'test2' ) ;
@@ -818,8 +823,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
818823 } ,
819824 } ) ;
820825 UI . Context . Context . instance ( ) . setFlavor (
821- ElementsPanel . ElementsPanel . ElementsPanel ,
822- sinon . createStubInstance ( ElementsPanel . ElementsPanel . ElementsPanel ) ) ;
826+ Elements . ElementsPanel . ElementsPanel , sinon . createStubInstance ( Elements . ElementsPanel . ElementsPanel ) ) ;
823827
824828 const { view} = await createAiAssistancePanel ( {
825829 aidaClient : mockAidaClient ( [ [ { explanation : 'test' } ] ] ) ,
@@ -837,15 +841,14 @@ describeWithMockConnection('AI Assistance Panel', () => {
837841 } ,
838842 } ) ;
839843 UI . Context . Context . instance ( ) . setFlavor (
840- ElementsPanel . ElementsPanel . ElementsPanel ,
841- sinon . createStubInstance ( ElementsPanel . ElementsPanel . ElementsPanel ) ) ;
844+ Elements . ElementsPanel . ElementsPanel , sinon . createStubInstance ( Elements . ElementsPanel . ElementsPanel ) ) ;
842845 const { view} = await createAiAssistancePanel ( ) ;
843846
844847 sinon . assert . calledWith ( view , sinon . match ( {
845848 agentType : AiAssistance . AgentType . STYLING ,
846849 } ) ) ;
847850
848- UI . Context . Context . instance ( ) . setFlavor ( ElementsPanel . ElementsPanel . ElementsPanel , null ) ;
851+ UI . Context . Context . instance ( ) . setFlavor ( Elements . ElementsPanel . ElementsPanel , null ) ;
849852 assert . isUndefined ( view . lastCall . args [ 0 ] . agentType ) ;
850853 } ) ;
851854
@@ -856,8 +859,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
856859 } ,
857860 } ) ;
858861 UI . Context . Context . instance ( ) . setFlavor (
859- ElementsPanel . ElementsPanel . ElementsPanel ,
860- sinon . createStubInstance ( ElementsPanel . ElementsPanel . ElementsPanel ) ) ;
862+ Elements . ElementsPanel . ElementsPanel , sinon . createStubInstance ( Elements . ElementsPanel . ElementsPanel ) ) ;
861863 const { view} = await createAiAssistancePanel ( ) ;
862864
863865 assert . isUndefined ( view . lastCall . args [ 0 ] . agentType ) ;
@@ -872,7 +874,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
872874 } ,
873875 } ) ;
874876 UI . Context . Context . instance ( ) . setFlavor (
875- NetworkPanel . NetworkPanel . NetworkPanel , sinon . createStubInstance ( NetworkPanel . NetworkPanel . NetworkPanel ) ) ;
877+ Network . NetworkPanel . NetworkPanel , sinon . createStubInstance ( Network . NetworkPanel . NetworkPanel ) ) ;
876878 const { view} = await createAiAssistancePanel ( ) ;
877879
878880 sinon . assert . calledWith ( view , sinon . match ( {
@@ -887,14 +889,14 @@ describeWithMockConnection('AI Assistance Panel', () => {
887889 } ,
888890 } ) ;
889891 UI . Context . Context . instance ( ) . setFlavor (
890- NetworkPanel . NetworkPanel . NetworkPanel , sinon . createStubInstance ( NetworkPanel . NetworkPanel . NetworkPanel ) ) ;
892+ Network . NetworkPanel . NetworkPanel , sinon . createStubInstance ( Network . NetworkPanel . NetworkPanel ) ) ;
891893 const { view} = await createAiAssistancePanel ( ) ;
892894
893895 sinon . assert . calledWith ( view , sinon . match ( {
894896 agentType : AiAssistance . AgentType . NETWORK ,
895897 } ) ) ;
896898
897- UI . Context . Context . instance ( ) . setFlavor ( NetworkPanel . NetworkPanel . NetworkPanel , null ) ;
899+ UI . Context . Context . instance ( ) . setFlavor ( Network . NetworkPanel . NetworkPanel , null ) ;
898900 assert . isUndefined ( view . lastCall . args [ 0 ] . agentType ) ;
899901 } ) ;
900902
@@ -906,8 +908,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
906908 } ,
907909 } ) ;
908910 UI . Context . Context . instance ( ) . setFlavor (
909- NetworkPanel . NetworkPanel . NetworkPanel ,
910- sinon . createStubInstance ( NetworkPanel . NetworkPanel . NetworkPanel ) ) ;
911+ Network . NetworkPanel . NetworkPanel , sinon . createStubInstance ( Network . NetworkPanel . NetworkPanel ) ) ;
911912 const { view} = await createAiAssistancePanel ( ) ;
912913
913914 assert . isUndefined ( view . lastCall . args [ 0 ] . agentType ) ;
@@ -922,7 +923,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
922923 } ,
923924 } ) ;
924925 UI . Context . Context . instance ( ) . setFlavor (
925- SourcesPanel . SourcesPanel . SourcesPanel , sinon . createStubInstance ( SourcesPanel . SourcesPanel . SourcesPanel ) ) ;
926+ Sources . SourcesPanel . SourcesPanel , sinon . createStubInstance ( Sources . SourcesPanel . SourcesPanel ) ) ;
926927 const { view} = await createAiAssistancePanel ( ) ;
927928
928929 sinon . assert . calledWith ( view , sinon . match ( {
@@ -937,13 +938,13 @@ describeWithMockConnection('AI Assistance Panel', () => {
937938 } ,
938939 } ) ;
939940 UI . Context . Context . instance ( ) . setFlavor (
940- SourcesPanel . SourcesPanel . SourcesPanel , sinon . createStubInstance ( SourcesPanel . SourcesPanel . SourcesPanel ) ) ;
941+ Sources . SourcesPanel . SourcesPanel , sinon . createStubInstance ( Sources . SourcesPanel . SourcesPanel ) ) ;
941942 const { view} = await createAiAssistancePanel ( ) ;
942943 sinon . assert . calledWith ( view , sinon . match ( {
943944 agentType : AiAssistance . AgentType . FILE ,
944945 } ) ) ;
945946
946- UI . Context . Context . instance ( ) . setFlavor ( SourcesPanel . SourcesPanel . SourcesPanel , null ) ;
947+ UI . Context . Context . instance ( ) . setFlavor ( Sources . SourcesPanel . SourcesPanel , null ) ;
947948 assert . isUndefined ( view . lastCall . args [ 0 ] . agentType ) ;
948949 } ) ;
949950
@@ -955,8 +956,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
955956 } ,
956957 } ) ;
957958 UI . Context . Context . instance ( ) . setFlavor (
958- SourcesPanel . SourcesPanel . SourcesPanel ,
959- sinon . createStubInstance ( SourcesPanel . SourcesPanel . SourcesPanel ) ) ;
959+ Sources . SourcesPanel . SourcesPanel , sinon . createStubInstance ( Sources . SourcesPanel . SourcesPanel ) ) ;
960960 const { view} = await createAiAssistancePanel ( ) ;
961961
962962 assert . isUndefined ( view . lastCall . args [ 0 ] . agentType ) ;
@@ -973,8 +973,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
973973 } ,
974974 } ) ;
975975 UI . Context . Context . instance ( ) . setFlavor (
976- TimelinePanel . TimelinePanel . TimelinePanel ,
977- sinon . createStubInstance ( TimelinePanel . TimelinePanel . TimelinePanel ) ) ;
976+ Timeline . TimelinePanel . TimelinePanel , sinon . createStubInstance ( Timeline . TimelinePanel . TimelinePanel ) ) ;
978977 const { view} = await createAiAssistancePanel ( ) ;
979978 sinon . assert . calledWith ( view , sinon . match ( {
980979 agentType : AiAssistance . AgentType . PERFORMANCE_INSIGHT ,
@@ -990,8 +989,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
990989 } ,
991990 } ) ;
992991 UI . Context . Context . instance ( ) . setFlavor (
993- TimelinePanel . TimelinePanel . TimelinePanel ,
994- sinon . createStubInstance ( TimelinePanel . TimelinePanel . TimelinePanel ) ) ;
992+ Timeline . TimelinePanel . TimelinePanel , sinon . createStubInstance ( Timeline . TimelinePanel . TimelinePanel ) ) ;
995993 const { view} = await createAiAssistancePanel ( ) ;
996994
997995 sinon . assert . calledWith ( view , sinon . match ( {
@@ -1007,14 +1005,13 @@ describeWithMockConnection('AI Assistance Panel', () => {
10071005 } ,
10081006 } ) ;
10091007 UI . Context . Context . instance ( ) . setFlavor (
1010- TimelinePanel . TimelinePanel . TimelinePanel ,
1011- sinon . createStubInstance ( TimelinePanel . TimelinePanel . TimelinePanel ) ) ;
1008+ Timeline . TimelinePanel . TimelinePanel , sinon . createStubInstance ( Timeline . TimelinePanel . TimelinePanel ) ) ;
10121009 const { view} = await createAiAssistancePanel ( ) ;
10131010 sinon . assert . calledWith ( view , sinon . match ( {
10141011 agentType : AiAssistance . AgentType . PERFORMANCE ,
10151012 } ) ) ;
10161013
1017- UI . Context . Context . instance ( ) . setFlavor ( TimelinePanel . TimelinePanel . TimelinePanel , null ) ;
1014+ UI . Context . Context . instance ( ) . setFlavor ( Timeline . TimelinePanel . TimelinePanel , null ) ;
10181015 assert . isUndefined ( view . lastCall . args [ 0 ] . agentType ) ;
10191016 } ) ;
10201017
@@ -1026,8 +1023,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
10261023 } ,
10271024 } ) ;
10281025 UI . Context . Context . instance ( ) . setFlavor (
1029- TimelinePanel . TimelinePanel . TimelinePanel ,
1030- sinon . createStubInstance ( TimelinePanel . TimelinePanel . TimelinePanel ) ) ;
1026+ Timeline . TimelinePanel . TimelinePanel , sinon . createStubInstance ( Timeline . TimelinePanel . TimelinePanel ) ) ;
10311027 const { view} = await createAiAssistancePanel ( ) ;
10321028
10331029 assert . isUndefined ( view . lastCall . args [ 0 ] . agentType ) ;
@@ -1080,8 +1076,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
10801076 } ,
10811077 } ) ;
10821078 UI . Context . Context . instance ( ) . setFlavor (
1083- ElementsPanel . ElementsPanel . ElementsPanel ,
1084- sinon . createStubInstance ( ElementsPanel . ElementsPanel . ElementsPanel ) ) ;
1079+ Elements . ElementsPanel . ElementsPanel , sinon . createStubInstance ( Elements . ElementsPanel . ElementsPanel ) ) ;
10851080 const {
10861081 view,
10871082 } = await createAiAssistancePanel ( ) ;
@@ -1101,8 +1096,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
11011096 } ,
11021097 } ) ;
11031098 UI . Context . Context . instance ( ) . setFlavor (
1104- ElementsPanel . ElementsPanel . ElementsPanel ,
1105- sinon . createStubInstance ( ElementsPanel . ElementsPanel . ElementsPanel ) ) ;
1099+ Elements . ElementsPanel . ElementsPanel , sinon . createStubInstance ( Elements . ElementsPanel . ElementsPanel ) ) ;
11061100 const {
11071101 view,
11081102 } = await createAiAssistancePanel ( ) ;
@@ -1127,8 +1121,7 @@ describeWithMockConnection('AI Assistance Panel', () => {
11271121 } ,
11281122 } ) ;
11291123 UI . Context . Context . instance ( ) . setFlavor (
1130- ElementsPanel . ElementsPanel . ElementsPanel ,
1131- sinon . createStubInstance ( ElementsPanel . ElementsPanel . ElementsPanel ) ) ;
1124+ Elements . ElementsPanel . ElementsPanel , sinon . createStubInstance ( Elements . ElementsPanel . ElementsPanel ) ) ;
11321125 const {
11331126 view,
11341127 } = await createAiAssistancePanel ( { aidaClient : mockAidaClient ( [ [ { explanation : 'test' } ] ] ) } ) ;
0 commit comments