refactor(ip-parsing): centralize multi-delim splitting in splitIps
Extend splitIps to accept comma/semicolon/newline delimiters with dedupe, and reuse it in DetailPanel for both the IP list and the service-URL host. Fixes ServiceBadge links pointing at concatenated string when IPs were entered with ';' or newline separators. Adds tests for new delimiters.
This commit is contained in:
@@ -55,6 +55,27 @@ describe('splitIps', () => {
|
||||
expect(splitIps('')).toEqual([])
|
||||
expect(splitIps(' ')).toEqual([])
|
||||
})
|
||||
|
||||
it('splits on semicolons', () => {
|
||||
expect(splitIps('10.0.0.1; 10.0.0.2')).toEqual(['10.0.0.1', '10.0.0.2'])
|
||||
})
|
||||
|
||||
it('splits on newlines', () => {
|
||||
expect(splitIps('10.0.0.1\n10.0.0.2')).toEqual(['10.0.0.1', '10.0.0.2'])
|
||||
})
|
||||
|
||||
it('splits on mixed delimiters', () => {
|
||||
expect(splitIps('10.0.0.1,10.0.0.2; 10.0.0.3\n10.0.0.4')).toEqual([
|
||||
'10.0.0.1',
|
||||
'10.0.0.2',
|
||||
'10.0.0.3',
|
||||
'10.0.0.4',
|
||||
])
|
||||
})
|
||||
|
||||
it('deduplicates repeated IPs', () => {
|
||||
expect(splitIps('10.0.0.1, 10.0.0.1; 10.0.0.2')).toEqual(['10.0.0.1', '10.0.0.2'])
|
||||
})
|
||||
})
|
||||
|
||||
describe('primaryIp', () => {
|
||||
|
||||
Reference in New Issue
Block a user