Follow-up Comment #25, bug #42395 (project gnash):
I have done some experiment regarding the format of variable path,
and found that it looks very similar to ones used internally in
ActionScript's ActionGetVariable instruction
<http://git.savannah.gnu.org/cgit/gnash.git/tree/testsuite/actionscript.all/getvariable.as?id=435d3e9aa7864883f6a2379fd318126113786475>.
Based on the experiment, I have made a test SWF/HTML file (via SWFTools's
swfc) which tries to access variable in root MovieClip, sub-MovieClip and
nested-MovieClip using `GetVariable()` plugin function with slash-colon
variable path.
This is text output of `getvariable-slashcolon.html` under browser with Flash
Player:
PASSED: GetVariable call on "movievar" path should return a correct value
PASSED: GetVariable call on ":movievar" path should return a correct value
PASSED: GetVariable call on "/:movievar" path should return a correct value
PASSED: GetVariable call on "submovie:submovievar" path should return a
correct value
PASSED: GetVariable call on "submovie/:submovievar" path should return a
correct value
PASSED: GetVariable call on "submovie::submovievar" path should return a
correct value
PASSED: GetVariable call on "/submovie:submovievar" path should return a
correct value
PASSED: GetVariable call on "/submovie/:submovievar" path should return a
correct value
PASSED: GetVariable call on "/submovie::submovievar" path should return a
correct value
PASSED: GetVariable call on ":submovie:submovievar" path should return a
correct value
PASSED: GetVariable call on ":submovie/:submovievar" path should return a
correct value
PASSED: GetVariable call on ":submovie::submovievar" path should return a
correct value
PASSED: GetVariable call on "submovie/nestedmovie:nestedmovievar" path should
return a correct value
PASSED: GetVariable call on "submovie/nestedmovie/:nestedmovievar" path should
return a correct value
PASSED: GetVariable call on "submovie/nestedmovie::nestedmovievar" path should
return a correct value
PASSED: GetVariable call on "submovie:nestedmovie:nestedmovievar" path should
return a correct value
PASSED: GetVariable call on "submovie:nestedmovie/:nestedmovievar" path should
return a correct value
PASSED: GetVariable call on "submovie:nestedmovie::nestedmovievar" path should
return a correct value
PASSED: GetVariable call on "/submovie/nestedmovie:nestedmovievar" path should
return a correct value
PASSED: GetVariable call on "/submovie/nestedmovie/:nestedmovievar" path
should return a correct value
PASSED: GetVariable call on "/submovie/nestedmovie::nestedmovievar" path
should return a correct value
PASSED: GetVariable call on "/submovie:nestedmovie:nestedmovievar" path should
return a correct value
PASSED: GetVariable call on "/submovie:nestedmovie/:nestedmovievar" path
should return a correct value
PASSED: GetVariable call on "/submovie:nestedmovie::nestedmovievar" path
should return a correct value
PASSED: GetVariable call on ":submovie/nestedmovie:nestedmovievar" path should
return a correct value
PASSED: GetVariable call on ":submovie/nestedmovie/:nestedmovievar" path
should return a correct value
PASSED: GetVariable call on ":submovie/nestedmovie::nestedmovievar" path
should return a correct value
PASSED: GetVariable call on ":submovie:nestedmovie:nestedmovievar" path should
return a correct value
PASSED: GetVariable call on ":submovie:nestedmovie/:nestedmovievar" path
should return a correct value
PASSED: GetVariable call on ":submovie:nestedmovie::nestedmovievar" path
should return a correct value
You'd see that all tests were passed.
This is text output of `getvariable-slashcolon.html` under browser with
current Gnash:
PASSED: GetVariable call on "movievar" path should return a correct value
FAILED: GetVariable call on ":movievar" path should return a correct value
("null" != "This is movievar")
FAILED: GetVariable call on "/:movievar" path should return a correct value
("null" != "This is movievar")
FAILED: GetVariable call on "submovie:submovievar" path should return a
correct value ("null" != "This is submovievar")
FAILED: GetVariable call on "submovie/:submovievar" path should return a
correct value ("null" != "This is submovievar")
FAILED: GetVariable call on "submovie::submovievar" path should return a
correct value ("null" != "This is submovievar")
FAILED: GetVariable call on "/submovie:submovievar" path should return a
correct value ("null" != "This is submovievar")
FAILED: GetVariable call on "/submovie/:submovievar" path should return a
correct value ("null" != "This is submovievar")
FAILED: GetVariable call on "/submovie::submovievar" path should return a
correct value ("null" != "This is submovievar")
FAILED: GetVariable call on ":submovie:submovievar" path should return a
correct value ("null" != "This is submovievar")
FAILED: GetVariable call on ":submovie/:submovievar" path should return a
correct value ("null" != "This is submovievar")
FAILED: GetVariable call on ":submovie::submovievar" path should return a
correct value ("null" != "This is submovievar")
FAILED: GetVariable call on "submovie/nestedmovie:nestedmovievar" path should
return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on "submovie/nestedmovie/:nestedmovievar" path should
return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on "submovie/nestedmovie::nestedmovievar" path should
return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on "submovie:nestedmovie:nestedmovievar" path should
return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on "submovie:nestedmovie/:nestedmovievar" path should
return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on "submovie:nestedmovie::nestedmovievar" path should
return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on "/submovie/nestedmovie:nestedmovievar" path should
return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on "/submovie/nestedmovie/:nestedmovievar" path
should return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on "/submovie/nestedmovie::nestedmovievar" path
should return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on "/submovie:nestedmovie:nestedmovievar" path should
return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on "/submovie:nestedmovie/:nestedmovievar" path
should return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on "/submovie:nestedmovie::nestedmovievar" path
should return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on ":submovie/nestedmovie:nestedmovievar" path should
return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on ":submovie/nestedmovie/:nestedmovievar" path
should return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on ":submovie/nestedmovie::nestedmovievar" path
should return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on ":submovie:nestedmovie:nestedmovievar" path should
return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on ":submovie:nestedmovie/:nestedmovievar" path
should return a correct value ("null" != "This is nestedmovievar")
FAILED: GetVariable call on ":submovie:nestedmovie::nestedmovievar" path
should return a correct value ("null" != "This is nestedmovievar")
You'd see that all tests were failed except the one with bare variable name.
Test SWF, souce code, HTML container, screenshots, logs, and container-player
communication dump is attached as `getvariable-slashcolon.zip`.
Side note: I haven't created a plausible EBNF definition of the path yet;
the slash-colon part is quite straightforward, but it is complicated
when dot is in the mix.
Gnash: 0.8.11dev (git 435d3e9 6-Feb-2016)
Flash Player: 11.2 r202 (11.2.202.491) NPAPI binary
Browser: Iceweasel 10.0.12 (debian)
System: Debian GNU/Linux 7.0 Wheezy i386
(file #36293)
_______________________________________________________
Additional Item Attachment:
File name: getvariable-slashcolon.zip Size:23 KB
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?42395>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/