55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Dart
		
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Dart
		
	
	
	
| /*
 | |
|  *   Famedly Matrix SDK
 | |
|  *   Copyright (C) 2019, 2020 Famedly GmbH
 | |
|  *
 | |
|  *   This program is free software: you can redistribute it and/or modify
 | |
|  *   it under the terms of the GNU Affero General Public License as
 | |
|  *   published by the Free Software Foundation, either version 3 of the
 | |
|  *   License, or (at your option) any later version.
 | |
|  *
 | |
|  *   This program is distributed in the hope that it will be useful,
 | |
|  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 | |
|  *   GNU Affero General Public License for more details.
 | |
|  *
 | |
|  *   You should have received a copy of the GNU Affero General Public License
 | |
|  *   along with this program.  If not, see <https://www.gnu.org/licenses/>.
 | |
|  */
 | |
| 
 | |
| import 'package:canonical_json/canonical_json.dart';
 | |
| import 'package:matrix/matrix.dart';
 | |
| import 'package:test/test.dart';
 | |
| 
 | |
| void main() {
 | |
|   /// All Tests related to the ChatTime
 | |
|   group('Canonical Json', () {
 | |
|     Logs().level = Level.error;
 | |
|     final textMap = <String, Map<String, dynamic>>{
 | |
|       '{}': {},
 | |
|       '{"one":1,"two":"Two"}': {'one': 1, 'two': 'Two'},
 | |
|       '{"a":"1","b":"2"}': {'b': '2', 'a': '1'},
 | |
|       '{"auth":{"mxid":"@john.doe:example.com","profile":{"display_name":"John Doe","three_pids":[{"address":"john.doe@example.org","medium":"email"},{"address":"123456789","medium":"msisdn"}]},"success":true}}':
 | |
|           {
 | |
|         'auth': {
 | |
|           'success': true,
 | |
|           'mxid': '@john.doe:example.com',
 | |
|           'profile': {
 | |
|             'display_name': 'John Doe',
 | |
|             'three_pids': [
 | |
|               {'medium': 'email', 'address': 'john.doe@example.org'},
 | |
|               {'medium': 'msisdn', 'address': '123456789'}
 | |
|             ]
 | |
|           }
 | |
|         }
 | |
|       },
 | |
|       '{"a":null}': {'a': null},
 | |
|     };
 | |
|     for (final entry in textMap.entries) {
 | |
|       test(entry.key, () async {
 | |
|         expect(
 | |
|             entry.key, String.fromCharCodes(canonicalJson.encode(entry.value)));
 | |
|       });
 | |
|     }
 | |
|   });
 | |
| }
 |