import 'package:flutter_test/flutter_test.dart';
import 'package:proxypin/network/http/content_type.dart';
import 'package:proxypin/network/http/http.dart';
import 'package:proxypin/utils/xml_formatter.dart';
void main() {
test('XML.pretty formats nested document', () {
const input = '12';
expect(
XML.pretty(input),
'\n'
' 1\n'
' \n'
' 2\n'
' \n'
'',
);
});
test('XML.pretty falls back for malformed XML', () {
const input = '';
expect(XML.pretty(input), input);
});
test('xml content types map to ContentType.xml', () {
final response = HttpResponse(HttpStatus.ok);
response.headers.set('content-type', 'application/xml; charset=utf-8');
expect(response.contentType, ContentType.xml);
response.headers.set('content-type', 'text/xml; charset=utf-8');
expect(response.contentType, ContentType.xml);
response.headers.set('content-type', 'application/soap+xml; charset=utf-8');
expect(response.contentType, ContentType.xml);
});
test('xhtml keeps html content type', () {
final response = HttpResponse(HttpStatus.ok);
response.headers.set('content-type', 'application/xhtml+xml; charset=utf-8');
expect(response.contentType, ContentType.html);
});
}