Merge branch 'next' into components

This commit is contained in:
Leo Horie 2015-01-25 22:50:20 -05:00
commit 6650023c63
5 changed files with 17 additions and 3 deletions

View file

@ -150,6 +150,7 @@ module.exports = function(grunt) {
comparisons: {expand: true, cwd: inputFolder + "/layout/comparisons/", src: "./**", dest: currentVersionArchiveFolder + "/comparisons/"},
unminified: {src: "mithril.js", dest: currentVersionArchiveFolder + "/mithril.js"},
minified: {src: "mithril.min.js", dest: currentVersionArchiveFolder + "/mithril.min.js"},
readme: {src: "README.md", dest: currentVersionArchiveFolder + "/README.md"},
map: {src: "mithril.min.js.map", dest: currentVersionArchiveFolder + "/mithril.min.js.map"},
typescript: {src: "mithril.d.ts", dest: currentVersionArchiveFolder + "/mithril.d.ts"},
publish: {expand: true, cwd: currentVersionArchiveFolder, src: "./**", dest: outputFolder},

View file

@ -9,6 +9,7 @@
### Bug Fixes:
- prevent empty class attributes [#382](https://github.com/lhorie/mithril.js/issues/382)
- array-to-querystring serialization in `m.request` now behaves like jQuery [#426](https://github.com/lhorie/mithril.js/issues/426)
---

View file

@ -7,5 +7,5 @@
"repository": {"type": "git", "url": "https://github.com/lhorie/mithril"},
"main": "mithril.js",
"licenses": [{"type": "MIT", "url": "http://opensource.org/licenses/MIT"}],
"files": ["mithril.min.js", "mithril.min.map", "mithril.js"]
}
"files": ["mithril.min.js", "mithril.min.map", "mithril.js", "README.*"]
}

View file

@ -705,10 +705,17 @@ var m = (function app(window, undefined) {
var str = [];
for(var prop in object) {
var key = prefix ? prefix + "[" + prop + "]" : prop, value = object[prop];
str.push(value != null && type.call(value) === OBJECT ? buildQueryString(value, key) : encodeURIComponent(key) + "=" + encodeURIComponent(value))
var valueType = type.call(value)
var pair = value != null && (valueType === OBJECT) ?
buildQueryString(value, key) :
valueType === ARRAY ?
value.map(function(item) {return encodeURIComponent(key) + "=" + encodeURIComponent(item)}).join("&") :
encodeURIComponent(key) + "=" + encodeURIComponent(value)
str.push(pair)
}
return str.join("&")
}
function parseQueryString(str) {
var pairs = str.split("&"), params = {};
for (var i = 0, len = pairs.length; i < len; i++) {

View file

@ -1781,6 +1781,11 @@ function testMithril(mock) {
mock.XMLHttpRequest.$instances.pop().onreadystatechange()
return prop().url === "test"
})
test(function() {
var prop = m.request({method: "GET", url: "test", data: {foo: [1, 2]}})
mock.XMLHttpRequest.$instances.pop().onreadystatechange()
return prop().url === "test?foo=1&foo=2"
})
// m.request over jsonp
test(function(){