Update JSON Previewer & test

This commit is contained in:
Ashita Prasad
2023-11-24 23:36:44 +05:30
parent 42865b2d21
commit 87fb7cf198
3 changed files with 13 additions and 8 deletions

View File

@ -1,4 +1,3 @@
import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:json_data_explorer/json_data_explorer.dart'; import 'package:json_data_explorer/json_data_explorer.dart';
@ -134,7 +133,7 @@ class JsonPreviewer extends StatefulWidget {
super.key, super.key,
required this.code, required this.code,
}); });
final String code; final dynamic code;
@override @override
State<JsonPreviewer> createState() => _JsonPreviewerState(); State<JsonPreviewer> createState() => _JsonPreviewerState();
@ -148,7 +147,7 @@ class _JsonPreviewerState extends State<JsonPreviewer> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
store.buildNodes(jsonDecode(widget.code), areAllCollapsed: true); store.buildNodes(widget.code, areAllCollapsed: true);
store.expandAll(); store.expandAll();
} }
@ -166,7 +165,7 @@ class _JsonPreviewerState extends State<JsonPreviewer> {
children: [ children: [
TextButton( TextButton(
onPressed: () async { onPressed: () async {
await _copy(kEncoder.convert(jsonDecode(widget.code)), sm); await _copy(kEncoder.convert(widget.code), sm);
}, },
child: const Text('Copy'), child: const Text('Copy'),
), ),

View File

@ -1,3 +1,4 @@
import 'dart:convert';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'error_message.dart'; import 'error_message.dart';
@ -30,9 +31,14 @@ class _PreviewerState extends State<Previewer> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (widget.type == kTypeApplication && widget.subtype == kSubTypeJson) { if (widget.type == kTypeApplication && widget.subtype == kSubTypeJson) {
return JsonPreviewer( try {
code: widget.body, var preview = JsonPreviewer(
code: jsonDecode(widget.body),
); );
return preview;
} catch (e) {
// pass
}
} }
if (widget.type == kTypeImage) { if (widget.type == kTypeImage) {
return Image.memory( return Image.memory(

View File

@ -341,7 +341,7 @@ void main() {
"${kMimeTypeRawRaiseIssueStart}application/json$kMimeTypeRaiseIssue"), "${kMimeTypeRawRaiseIssueStart}application/json$kMimeTypeRaiseIssue"),
findsOneWidget); findsOneWidget);
expect(find.byIcon(Icons.download), findsOneWidget); expect(find.byIcon(Icons.download), findsOneWidget);
}, skip: true); });
testWidgets('Testing Body Success for ResponseBodyView.raw', (tester) async { testWidgets('Testing Body Success for ResponseBodyView.raw', (tester) async {
await tester.pumpWidget( await tester.pumpWidget(