An open API service indexing awesome lists of open source software.

https://github.com/idiocc/test-form-data

Data For Testing Multipart/Form-Data Algorithms.
https://github.com/idiocc/test-form-data

Last synced: about 1 year ago
JSON representation

Data For Testing Multipart/Form-Data Algorithms.

Awesome Lists containing this project

README

          

# @multipart/test-form-data

[![npm version](https://badge.fury.io/js/%40multipart%2Ftest-form-data.svg)](https://npmjs.org/package/@multipart/test-form-data)

`@multipart/test-form-data` is Data For Testing Multipart/Form-Data Algorithms Written As [Zoroaster Mask](https://contexttesting.com).

```sh
yarn add -D @multipart/test-form-data
```

## Table Of Contents

- [Table Of Contents](#table-of-contents)
- [API](#api)
- [`updateStore(store: Object)`](#updatestorestore-object-void)
- [Copyright](#copyright)

## API

The package is available by importing its named function, and by referencing the mask result file:

```js
import makeTestSuite from '@zoroaster/mask'
import { updateStore } from '@multipart/test-form-data'

export default makeTestSuite('node_modules/@multipart/test-form-data', {
getResults() {
// ... must return the store for comparison
}
})
```

```markdown
## basic keys
[
{
"key": "name",
"value": "Bender"
},
{
"key": "hind",
"value": "Bitable"
},
{
"key": "shiny",
"value": "Yes"
}
]

/* expected */
{
"name": "Bender",
"hind": "Bitable",
"shiny": "Yes"
}
/**/

## multiple values
[
{
"key": "bottle-on-wall",
"value": "1"
},
{
"key": "bottle-on-wall",
"value": "2"
},
{
"key": "bottle-on-wall",
"value": "3"
}
]

/* expected */
{
"bottle-on-wall": [
"1",
"2",
"3"
]
}
/**/

## deeper structure
[
{
"key": "pet[species]",
"value": "Dahut"
},
{
"key": "pet[name]",
"value": "Hypatia"
},
{
"key": "kids[1]",
"value": "Thelma"
},
{
"key": "kids[0]",
"value": "Ashley"
}
]

/* expected */
{
"pet": {
"species": "Dahut",
"name": "Hypatia"
},
"kids": [
"Ashley",
"Thelma"
]
}
/**/

## sparse arrays
[
{
"key": "heartbeat[0]",
"value": "thunk"
},
{
"key": "heartbeat[2]",
"value": "thunk"
}
]

/* expected */
{
"heartbeat": [
"thunk",
null,
"thunk"
]
}
/**/

## even deeper
[
{
"key": "pet[0][species]",
"value": "Dahut"
},
{
"key": "pet[0][name]",
"value": "Hypatia"
},
{
"key": "pet[1][species]",
"value": "Felis Stultus"
},
{
"key": "pet[1][name]",
"value": "Billie"
}
]

/* expected */
{
"pet": [
{
"species": "Dahut",
"name": "Hypatia"
},
{
"species": "Felis Stultus",
"name": "Billie"
}
]
}
/**/

## such deep
[
{
"key": "wow[such][deep][3][much][power][!]",
"value": "Amaze"
}
]

/* expected */
{
"wow": {
"such": {
"deep": [
null,
null,
null,
{
"much": {
"power": {
"!": "Amaze"
}
}
}
]
}
}
}
/**/

## merge behaviour
[
{
"key": "mix",
"value": "scalar"
},
{
"key": "mix[0]",
"value": "array 1"
},
{
"key": "mix[2]",
"value": "array 2"
},
{
"key": "mix[key]",
"value": "key key"
},
{
"key": "mix[car]",
"value": "car key"
}
]

/* expected */
{
"mix": {
"0": "array 1",
"2": "array 2",
"": "scalar",
"key": "key key",
"car": "car key"
}
}
/**/

## bad fields
[
{
"key": "error[good]",
"value": "BOOM!"
},
{
"key": "error[bad",
"value": "BOOM BOOM!"
}
]

/* expected */
{
"error": {
"good": "BOOM!"
},
"error[bad": "BOOM BOOM!"
}
/**/
```

## `updateStore(`
  `store: Object,`
`): void`

Updates the store to make `undefined` in sparse arrays appear as nulls for `deepStrictEqual` comparison.

```js
import { updateStore } from '@multipart/test-form-data'

const hello = []
hello[2] = 'test'

const store = { hello }
updateStore(store)
console.log(store)
```
```
{ hello: [ null, null, 'test' ] }
```

## Copyright

Original data by [Linus Unnebäck](https://github.com/LinusU/testdata-w3c-json-form).

---




Art Deco


© Art Deco for Idio 2019


Idio




Tech Nation Visa


Tech Nation Visa Sucks