mirror of
https://github.com/luxfi/explore.git
synced 2026-09-24 00:28:18 +00:00
102 lines
2.4 KiB
TypeScript
102 lines
2.4 KiB
TypeScript
import composeFileTree from './composeFileTree';
|
|
|
|
const files = [
|
|
{
|
|
file_path: 'index.sol',
|
|
source_code: 'zero',
|
|
},
|
|
{
|
|
file_path: 'contracts/Zeta.eth.sol',
|
|
source_code: 'one',
|
|
},
|
|
{
|
|
file_path: '/_openzeppelin/contracts/utils/Context.sol',
|
|
source_code: 'two',
|
|
},
|
|
{
|
|
file_path: '/_openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol',
|
|
source_code: 'three',
|
|
},
|
|
{
|
|
file_path: '/_openzeppelin/contracts/token/ERC20/IERC20.sol',
|
|
source_code: 'four',
|
|
},
|
|
{
|
|
file_path: '/_openzeppelin/contracts/token/ERC20/ERC20.sol',
|
|
source_code: 'five',
|
|
},
|
|
];
|
|
|
|
test('builds correct file tree', () => {
|
|
const result = composeFileTree(files);
|
|
expect(result).toMatchInlineSnapshot(`
|
|
[
|
|
{
|
|
"children": [
|
|
{
|
|
"children": [
|
|
{
|
|
"children": [
|
|
{
|
|
"children": [
|
|
{
|
|
"children": [
|
|
{
|
|
"file_path": "/_openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",
|
|
"name": "IERC20Metadata.sol",
|
|
"source_code": "three",
|
|
},
|
|
],
|
|
"name": "extensions",
|
|
},
|
|
{
|
|
"file_path": "/_openzeppelin/contracts/token/ERC20/ERC20.sol",
|
|
"name": "ERC20.sol",
|
|
"source_code": "five",
|
|
},
|
|
{
|
|
"file_path": "/_openzeppelin/contracts/token/ERC20/IERC20.sol",
|
|
"name": "IERC20.sol",
|
|
"source_code": "four",
|
|
},
|
|
],
|
|
"name": "ERC20",
|
|
},
|
|
],
|
|
"name": "token",
|
|
},
|
|
{
|
|
"children": [
|
|
{
|
|
"file_path": "/_openzeppelin/contracts/utils/Context.sol",
|
|
"name": "Context.sol",
|
|
"source_code": "two",
|
|
},
|
|
],
|
|
"name": "utils",
|
|
},
|
|
],
|
|
"name": "contracts",
|
|
},
|
|
],
|
|
"name": "_openzeppelin",
|
|
},
|
|
{
|
|
"children": [
|
|
{
|
|
"file_path": "contracts/Zeta.eth.sol",
|
|
"name": "Zeta.eth.sol",
|
|
"source_code": "one",
|
|
},
|
|
],
|
|
"name": "contracts",
|
|
},
|
|
{
|
|
"file_path": "index.sol",
|
|
"name": "index.sol",
|
|
"source_code": "zero",
|
|
},
|
|
]
|
|
`);
|
|
});
|