|
2 | 2 |
|
3 | 3 | extern crate std;
|
4 | 4 |
|
5 |
| -use soroban_sdk::{contract, Env, IntoVal, String}; |
| 5 | +use soroban_sdk::{contract, Env, String}; |
6 | 6 |
|
7 |
| -use crate::extensions::metadata::storage::{decimals, name, set_metadata, symbol, Metadata, METADATA_KEY}; |
| 7 | +use crate::extensions::metadata::storage::{ |
| 8 | + decimals, name, set_metadata, symbol, Metadata, METADATA_KEY, |
| 9 | +}; |
8 | 10 |
|
9 | 11 | #[contract]
|
10 | 12 | struct TestToken;
|
@@ -67,44 +69,42 @@ fn test_metadata_struct() {
|
67 | 69 | name: String::from_str(&e, "Test Token"),
|
68 | 70 | symbol: String::from_str(&e, "TST"),
|
69 | 71 | };
|
70 |
| - |
| 72 | + |
71 | 73 | // Store and retrieve to verify serialization
|
72 | 74 | e.storage().instance().set(&METADATA_KEY, &metadata1);
|
73 | 75 | let retrieved1: Metadata = e.storage().instance().get(&METADATA_KEY).unwrap();
|
74 |
| - |
| 76 | + |
75 | 77 | assert_eq!(retrieved1.decimals, 9);
|
76 | 78 | assert_eq!(retrieved1.name, String::from_str(&e, "Test Token"));
|
77 | 79 | assert_eq!(retrieved1.symbol, String::from_str(&e, "TST"));
|
78 |
| - |
| 80 | + |
79 | 81 | // Test case 2: Edge cases - empty strings and maximum decimal value
|
80 | 82 | let metadata2 = Metadata {
|
81 | 83 | decimals: u32::MAX,
|
82 | 84 | name: String::from_str(&e, ""),
|
83 | 85 | symbol: String::from_str(&e, ""),
|
84 | 86 | };
|
85 |
| - |
| 87 | + |
86 | 88 | // Store and retrieve edge case metadata
|
87 | 89 | e.storage().instance().set(&METADATA_KEY, &metadata2);
|
88 | 90 | let retrieved2: Metadata = e.storage().instance().get(&METADATA_KEY).unwrap();
|
89 |
| - |
| 91 | + |
90 | 92 | assert_eq!(retrieved2.decimals, u32::MAX);
|
91 | 93 | assert_eq!(retrieved2.name, String::from_str(&e, ""));
|
92 | 94 | assert_eq!(retrieved2.symbol, String::from_str(&e, ""));
|
93 |
| - |
| 95 | + |
94 | 96 | // Test case 3: Long strings
|
95 |
| - let long_name = String::from_str(&e, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); |
| 97 | + let long_name = |
| 98 | + String::from_str(&e, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); |
96 | 99 | let long_symbol = String::from_str(&e, "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB");
|
97 |
| - |
98 |
| - let metadata3 = Metadata { |
99 |
| - decimals: 0, |
100 |
| - name: long_name.clone(), |
101 |
| - symbol: long_symbol.clone(), |
102 |
| - }; |
103 |
| - |
| 100 | + |
| 101 | + let metadata3 = |
| 102 | + Metadata { decimals: 0, name: long_name.clone(), symbol: long_symbol.clone() }; |
| 103 | + |
104 | 104 | // Store and retrieve with long strings
|
105 | 105 | e.storage().instance().set(&METADATA_KEY, &metadata3);
|
106 | 106 | let retrieved3: Metadata = e.storage().instance().get(&METADATA_KEY).unwrap();
|
107 |
| - |
| 107 | + |
108 | 108 | assert_eq!(retrieved3.decimals, 0);
|
109 | 109 | assert_eq!(retrieved3.name, long_name);
|
110 | 110 | assert_eq!(retrieved3.symbol, long_symbol);
|
|
0 commit comments