@@ -118,59 +118,59 @@ describe('isNarrowLink', () => {
118
118
119
119
describe ( 'getLinkType' , ( ) => {
120
120
test ( 'links to a different domain are of "non-narrow" type' , ( ) => {
121
- expect ( getLinkType ( 'https://google.com/some-path' , realm ) ) . toBe ( 'non-narrow' ) ;
121
+ expect ( getLinkType ( new URL ( 'https://google.com/some-path' ) , realm ) ) . toBe ( 'non-narrow' ) ;
122
122
} ) ;
123
123
124
124
test ( 'only in-app link containing "stream" is a stream link' , ( ) => {
125
- expect ( getLinkType ( 'https://example.com/ #narrow/pm-with/1,2-group', realm ) ) . toBe ( 'pm' ) ;
126
- expect ( getLinkType ( 'https://example.com/ #narrow/stream/jest', realm ) ) . toBe ( 'stream' ) ;
127
- expect ( getLinkType ( 'https://example.com/ #narrow/stream/stream/', realm ) ) . toBe ( 'stream' ) ;
125
+ expect ( getLinkType ( new URL ( '/ #narrow/pm-with/1,2-group', realm ) , realm ) ) . toBe ( 'pm' ) ;
126
+ expect ( getLinkType ( new URL ( '/ #narrow/stream/jest', realm ) , realm ) ) . toBe ( 'stream' ) ;
127
+ expect ( getLinkType ( new URL ( '/ #narrow/stream/stream/', realm ) , realm ) ) . toBe ( 'stream' ) ;
128
128
} ) ;
129
129
130
130
test ( 'when a url is not a topic narrow return false' , ( ) => {
131
- expect ( getLinkType ( 'https://example.com/ #narrow/pm-with/1,2-group', realm ) ) . toBe ( 'pm' ) ;
132
- expect ( getLinkType ( 'https://example.com/ #narrow/stream/jest', realm ) ) . toBe ( 'stream' ) ;
133
- expect ( getLinkType ( 'https://example.com/ #narrow/stream/stream/topic/topic/near/', realm ) ) . toBe (
131
+ expect ( getLinkType ( new URL ( '/ #narrow/pm-with/1,2-group', realm ) , realm ) ) . toBe ( 'pm' ) ;
132
+ expect ( getLinkType ( new URL ( '/ #narrow/stream/jest', realm ) , realm ) ) . toBe ( 'stream' ) ;
133
+ expect ( getLinkType ( new URL ( '/ #narrow/stream/stream/topic/topic/near/', realm ) , realm ) ) . toBe (
134
134
'home' ,
135
135
) ;
136
- expect ( getLinkType ( 'https://example.com/ #narrow/stream/topic/', realm ) ) . toBe ( 'stream' ) ;
136
+ expect ( getLinkType ( new URL ( '/ #narrow/stream/topic/', realm ) , realm ) ) . toBe ( 'stream' ) ;
137
137
} ) ;
138
138
139
139
test ( 'when a url is a topic narrow return true' , ( ) => {
140
- expect ( getLinkType ( 'https://example.com/ #narrow/stream/jest/topic/test', realm ) ) . toBe ( 'topic' ) ;
140
+ expect ( getLinkType ( new URL ( '/ #narrow/stream/jest/topic/test', realm ) , realm ) ) . toBe ( 'topic' ) ;
141
141
expect (
142
- getLinkType ( 'https://example.com/ #narrow/stream/mobile/subject/topic/near/378333', realm ) ,
142
+ getLinkType ( new URL ( '/ #narrow/stream/mobile/subject/topic/near/378333', realm ) , realm ) ,
143
143
) . toBe ( 'topic' ) ;
144
- expect ( getLinkType ( 'https://example.com/#narrow/stream/mobile/topic/topic/' , realm ) ) . toBe (
144
+ expect ( getLinkType ( new URL ( '/#narrow/stream/mobile/topic/topic/' , realm ) , realm ) ) . toBe ( 'topic' ) ;
145
+ expect ( getLinkType ( new URL ( '/#narrow/stream/stream/topic/topic/near/1' , realm ) , realm ) ) . toBe (
145
146
'topic' ,
146
147
) ;
147
- expect ( getLinkType ( 'https://example.com/ #narrow/stream/stream/topic /topic/near/1', realm ) ) . toBe (
148
+ expect ( getLinkType ( new URL ( '/ #narrow/stream/stream/subject /topic/near/1', realm ) , realm ) ) . toBe (
148
149
'topic' ,
149
150
) ;
150
- expect (
151
- getLinkType ( 'https://example.com/#narrow/stream/stream/subject/topic/near/1' , realm ) ,
152
- ) . toBe ( 'topic' ) ;
153
151
154
- expect ( getLinkType ( '/#narrow/stream/stream/subject/topic' , realm ) ) . toBe ( 'topic' ) ;
152
+ expect ( getLinkType ( new URL ( '/#narrow/stream/stream/subject/topic' , realm ) , realm ) ) . toBe (
153
+ 'topic' ,
154
+ ) ;
155
155
} ) ;
156
156
157
157
test ( 'only in-app link containing "pm-with" is a group link' , ( ) => {
158
- expect ( getLinkType ( 'https://example.com/ #narrow/stream/jest/topic/test', realm ) ) . toBe ( 'topic' ) ;
159
- expect ( getLinkType ( 'https://example.com/ #narrow/pm-with/1,2-group', realm ) ) . toBe ( 'pm' ) ;
160
- expect ( getLinkType ( 'https://example.com/ #narrow/pm-with/1,2-group/near/1', realm ) ) . toBe ( 'pm' ) ;
158
+ expect ( getLinkType ( new URL ( '/ #narrow/stream/jest/topic/test', realm ) , realm ) ) . toBe ( 'topic' ) ;
159
+ expect ( getLinkType ( new URL ( '/ #narrow/pm-with/1,2-group', realm ) , realm ) ) . toBe ( 'pm' ) ;
160
+ expect ( getLinkType ( new URL ( '/ #narrow/pm-with/1,2-group/near/1', realm ) , realm ) ) . toBe ( 'pm' ) ;
161
161
expect (
162
- getLinkType ( 'https://example.com/ #narrow/pm-with/a.40b.2Ecom.2Ec.2Ed.2Ecom/near/3', realm ) ,
162
+ getLinkType ( new URL ( '/ #narrow/pm-with/a.40b.2Ecom.2Ec.2Ed.2Ecom/near/3', realm ) , realm ) ,
163
163
) . toBe ( 'pm' ) ;
164
164
} ) ;
165
165
166
166
test ( 'only in-app link containing "is" is a special link' , ( ) => {
167
- expect ( getLinkType ( 'https://example.com/ #narrow/stream/jest/topic/test', realm ) ) . toBe ( 'topic' ) ;
168
- expect ( getLinkType ( 'https://example.com/ #narrow/is/private', realm ) ) . toBe ( 'special' ) ;
169
- expect ( getLinkType ( 'https://example.com/ #narrow/is/starred', realm ) ) . toBe ( 'special' ) ;
170
- expect ( getLinkType ( 'https://example.com/ #narrow/is/mentioned', realm ) ) . toBe ( 'special' ) ;
171
- expect ( getLinkType ( 'https://example.com/ #narrow/is/men', realm ) ) . toBe ( 'home' ) ;
172
- expect ( getLinkType ( 'https://example.com/ #narrow/is/men/stream', realm ) ) . toBe ( 'home' ) ;
173
- expect ( getLinkType ( 'https://example.com/ #narrow/are/men/stream', realm ) ) . toBe ( 'home' ) ;
167
+ expect ( getLinkType ( new URL ( '/ #narrow/stream/jest/topic/test', realm ) , realm ) ) . toBe ( 'topic' ) ;
168
+ expect ( getLinkType ( new URL ( '/ #narrow/is/private', realm ) , realm ) ) . toBe ( 'special' ) ;
169
+ expect ( getLinkType ( new URL ( '/ #narrow/is/starred', realm ) , realm ) ) . toBe ( 'special' ) ;
170
+ expect ( getLinkType ( new URL ( '/ #narrow/is/mentioned', realm ) , realm ) ) . toBe ( 'special' ) ;
171
+ expect ( getLinkType ( new URL ( '/ #narrow/is/men', realm ) , realm ) ) . toBe ( 'home' ) ;
172
+ expect ( getLinkType ( new URL ( '/ #narrow/is/men/stream', realm ) , realm ) ) . toBe ( 'home' ) ;
173
+ expect ( getLinkType ( new URL ( '/ #narrow/are/men/stream', realm ) , realm ) ) . toBe ( 'home' ) ;
174
174
} ) ;
175
175
} ) ;
176
176
0 commit comments