app/loader test | ./

This test is designed to cover common patterns used in AMD application and dojoToolkit based UI:

Test cases should have PASSED upon completion

  1. relative to current page MID require(["./a","./b"])
  2. parent to current page MID require(["../test/a","./a"])
  3. parent to current page MID require(["../test/a","./a"])
  4. relative to current page MID require(["./a","./b"])
  5. plugin parent to current page MID require(["text!./testLoader.html!strip "])
  6. plugin parent to current page MID require(["text!../test/testLoader.html!strip "])
  7. CDN order
  8. failed CDN, loaded CDN
  9. failed CDN, loaded local
  10. dojo/parser with MID in data-dojo-type="app/loader/test/DijitSimple" ...
  11. dojo/parser with relative MID in data-dojo-type="../loader/test/DijitSimple" ...
  12. dojo/parser with relative MID in template of data-dojo-type="../loader/test/DijitTemplatedSample" ...
  13. dijit/templated with relative MID in data-dojo-type
  14. cssQuery. TODO full API test.

Surprisingly AMD as a standard still have a bit of hiccups.
Treating relative to HTML MIDs in global require() or fail back on CDN is not a part of standard.
In order to work around each the AMD implementation should have shims sufficient to comply to this test.

Plugins should be relative path aware, some AMD implementations on top level require() are missing those.