react / react-0.13.3 / examples / basic-commonjs / node_modules / browserify / node_modules / umd / test / index.js
80727 views'use strict';12var assert = require('assert')3var umd = require('../')4var src = umd('sentinel-prime', 'return "sentinel"')5var namespacedSrc = umd('sentinel.prime', 'return "sentinel"')6var multiNamespaces = umd('a.b.c.d.e', 'return "sentinel"')78describe('with CommonJS', function () {9it('uses module.exports', function () {10var module = {exports: {}}11Function('module,exports', src)(module,module.exports)12assert(module.exports === 'sentinel')13})14})15describe('with amd', function () {16it('uses define', function () {17var defed18function define(d, fn) {19assert.deepEqual(d, [], 'You must pass an empty array of dependencies to amd to prevent dependency scanning.');20defed = fn()21}22define.amd = true23Function('define', src)(define)24assert(defed === 'sentinel')25})26})27describe('in the absense of a module system', function () {28it('uses window', function () {29var glob = {}30Function('window', src)(glob)31assert(glob.sentinelPrime === 'sentinel')32})33it('uses global', function () {34var glob = {}35Function('global,window', src)(glob)36assert(glob.sentinelPrime === 'sentinel')37})38it('uses self', function () {39var glob = {}40Function('self,window,global', src)(glob)41assert(glob.sentinelPrime === 'sentinel')42})43it('creates the proper namespaces', function() {44var glob = {}45Function('window', namespacedSrc)(glob)46assert(glob.sentinel.prime === 'sentinel')47})48it('creates proper multiple namespaces', function() {49var glob = {}50Function('window', multiNamespaces)(glob)51assert(glob.a.b.c.d.e === 'sentinel')52})5354})555657