2012-03-10 20:11:23 +08:00
window . test ( true , "index.js should be replaced with index.web.js" ) ;
window . test ( window . libary1 , "libary1 loaded" ) ;
window . test ( window . libary2 . ok , "libary2 loaded" ) ;
require . ensure ( "subcontent" , function ( require ) {
// Comments work!
exports . ok = true ;
window . test ( require ( "subcontent" ) === "replaced" , "node_modules should be replaced with web_modules" ) ;
window . test ( require ( "subcontent2/file.js" ) === "orginal" , "node_modules should still work when web_modules exists" ) ;
} ) ;
setTimeout ( function ( ) {
window . test ( exports . ok , "asnyc loaded, exports is still avaible" ) ;
} , 3000 ) ;
window . test ( require ( "./circular" ) === 1 , "circular require should work" ) ;
window . test ( require ( "./singluar.js" ) . value === 1 , "sigular module loaded" ) ;
2012-03-12 07:30:54 +08:00
require ( "./sing" + "luar.js" ) . value = 2 ;
2012-03-10 20:11:23 +08:00
window . test ( require ( "./singluar" ) . value === 2 , "exported object is singluar" ) ;
window . test ( require ( "subfilemodule" ) === "subfilemodule" , "Modules as single file should load" ) ;
2012-03-12 04:37:18 +08:00
window . test ( require . context ( "../templates" ) ( "./tmpl" ) === "test template" , "Context should work" ) ;
2012-03-12 07:30:54 +08:00
window . test ( require . context ( "." + "." + "/" + "templ" + "ates" ) ( "./subdir/tmpl.js" ) === "subdir test template" , "Context should work with subdirectories and splitted" ) ;
2012-03-14 23:33:46 +08:00
var template = "tmpl" , templateFull = "./tmpl.js" ;
2012-03-12 04:37:18 +08:00
window . test ( require ( "../templates/" + template ) === "test template" , "Automatical context should work" ) ;
2012-03-14 23:33:46 +08:00
window . test ( require ( "../templates/templateLoader" ) ( templateFull ) === "test template" , "Automatical context without prefix should work" ) ;
window . test ( require ( "../templates/templateLoaderIndirect" ) ( templateFull ) === "test template" , "Automatical context should work with require identifier" ) ;
window . test ( function ( require ) { return require ; } ( 1234 ) === 1234 , "require overwrite in anonymos function" ) ;
function testFunc ( abc , require ) {
return require ;
}
window . test ( testFunc ( 333 , 678 ) === 678 , "require overwrite in named function" ) ;
2012-03-12 04:37:18 +08:00
require . ensure ( [ ] , function ( require ) {
var contextRequire = require . context ( "." ) ;
window . test ( contextRequire ( "./singluar" ) . value === 2 , "Context works in chunk" ) ;
2012-03-12 07:30:54 +08:00
var singl = "singl" ;
window . test ( require ( "." + "/" + singl + "uar" ) . value === 2 , "Context works in chunk, when splitted" ) ;
2012-03-15 21:38:55 +08:00
window . test ( typeof module . id === "string" , "module.id should be a string" ) ;
window . test ( process . argv && process . argv . length > 1 , "process.argv should be an array" ) ;
process . nextTick ( function ( ) {
sum2 ++ ;
} ) ;
process . on ( "xyz" , function ( ) {
sum2 ++ ;
} ) ;
process . emit ( "xyz" ) ;
2012-03-16 06:01:42 +08:00
window . test ( window === global , "window === global" ) ;
( function ( ) {
var require = 123 ;
window . test ( require === 123 , "overwrite require via variable should be ok" ) ;
} ( ) ) ;
( function ( ) {
var module = 1233 ;
window . test ( module === 1233 , "overwrite module via variable should be ok" ) ;
} ( ) ) ;
2012-03-12 04:37:18 +08:00
} ) ;
2012-03-10 20:11:23 +08:00
require . ensure ( [ ] , function ( require ) {
require ( "./acircular" ) ;
require ( "./duplicate" ) ;
require ( "./duplicate2" ) ;
} ) ;
require . ensure ( [ ] , function ( require ) {
require ( "./acircular2" ) ;
require ( "./duplicate" ) ;
require ( "./duplicate2" ) ;
} ) ;
var sum = 0 ;
require . ensure ( [ ] , function ( require ) {
require ( "./duplicate" ) ;
require ( "./duplicate2" ) ;
sum ++ ;
} ) ;
require . ensure ( [ ] , function ( require ) {
require ( "./duplicate" ) ;
require ( "./duplicate2" ) ;
sum ++ ;
} ) ;
2012-03-15 21:38:55 +08:00
var sum2 = 0 ;
2012-03-10 20:11:23 +08:00
setTimeout ( function ( ) {
window . test ( sum === 2 , "Multiple callbacks on code load finish" ) ;
2012-03-15 21:38:55 +08:00
window . test ( sum2 === 2 , "process.nextTick and process.emit/on should be polyfilled" ) ;
2012-03-10 20:11:23 +08:00
} , 3000 ) ;