avm2: Added flash.net.URLVariables
This commit is contained in:
parent
53f42e0bec
commit
5ac4f4358d
|
@ -0,0 +1,33 @@
|
||||||
|
package flash.net {
|
||||||
|
import flash.utils.escapeMultiByte;
|
||||||
|
public dynamic class URLVariables {
|
||||||
|
// TODO: construct from String
|
||||||
|
// TODO: implement decode()
|
||||||
|
public function URLVariables() {}
|
||||||
|
|
||||||
|
public function toString(): String {
|
||||||
|
var acc : String = ""
|
||||||
|
var sep :String = ""
|
||||||
|
for (p in this) {
|
||||||
|
var pe : String = escapeMultiByte(p);
|
||||||
|
var val = this[p];
|
||||||
|
if (val is Array) {
|
||||||
|
for (i in val) {
|
||||||
|
acc += sep;
|
||||||
|
acc += pe;
|
||||||
|
acc += "=";
|
||||||
|
acc += escapeMultiByte(val[i]);
|
||||||
|
sep = "&";
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
acc += sep;
|
||||||
|
acc += pe;
|
||||||
|
acc += "=";
|
||||||
|
acc += escapeMultiByte(val);
|
||||||
|
sep="&";
|
||||||
|
}
|
||||||
|
return acc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -167,6 +167,7 @@ include "flash/net/URLLoaderDataFormat.as"
|
||||||
include "flash/net/URLRequest.as"
|
include "flash/net/URLRequest.as"
|
||||||
include "flash/net/URLRequestHeader.as"
|
include "flash/net/URLRequestHeader.as"
|
||||||
include "flash/net/URLRequestMethod.as"
|
include "flash/net/URLRequestMethod.as"
|
||||||
|
include "flash/net/URLVariables.as"
|
||||||
|
|
||||||
include "flash/printing/PrintJobOrientation.as"
|
include "flash/printing/PrintJobOrientation.as"
|
||||||
include "flash/security/CertificateStatus.as"
|
include "flash/security/CertificateStatus.as"
|
||||||
|
|
|
@ -537,6 +537,7 @@ swf_tests! {
|
||||||
(as3_uint_tostring, "avm2/uint_tostring", 1),
|
(as3_uint_tostring, "avm2/uint_tostring", 1),
|
||||||
(as3_unchecked_function, "avm2/unchecked_function", 1),
|
(as3_unchecked_function, "avm2/unchecked_function", 1),
|
||||||
(as3_url_loader, "avm2/url_loader", 1),
|
(as3_url_loader, "avm2/url_loader", 1),
|
||||||
|
(as3_url_vars, "avm2/url_vars", 1),
|
||||||
(as3_urshift, "avm2/urshift", 1),
|
(as3_urshift, "avm2/urshift", 1),
|
||||||
(as3_vector_coercion, "avm2/vector_coercion", 1),
|
(as3_vector_coercion, "avm2/vector_coercion", 1),
|
||||||
(as3_vector_concat, "avm2/vector_concat", 1),
|
(as3_vector_concat, "avm2/vector_concat", 1),
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
package {
|
||||||
|
import flash.display.MovieClip;
|
||||||
|
public class Test extends MovieClip {
|
||||||
|
public function Test() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
import flash.net.URLVariables;
|
||||||
|
|
||||||
|
var variables:URLVariables = new URLVariables();
|
||||||
|
|
||||||
|
variables.foo = "a";
|
||||||
|
trace(variables);
|
||||||
|
|
||||||
|
variables = new URLVariables();
|
||||||
|
variables.foo = [0,1,2];
|
||||||
|
trace(variables);
|
||||||
|
|
||||||
|
variables = new URLVariables();
|
||||||
|
variables["😭"] = [0,"😭",2];
|
||||||
|
trace(variables);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
foo=a
|
||||||
|
foo=0&foo=1&foo=2
|
||||||
|
%F0%9F%98%AD=0&%F0%9F%98%AD=%F0%9F%98%AD&%F0%9F%98%AD=2
|
Binary file not shown.
Loading…
Reference in New Issue