, function (err, dir, fileContents, stdout, stderr, callback) {
            refute(err)
            refute(stderr)

            assert.stdoutRefersToNPMPackages(stdout, 'ender-js tracer-bullet@0.0.0 long-stack-traces@0.1.2')
            assert.stdoutReportsBuildCommand(stdout, 'ender build tracer-bullet@0.0.0 long-stack-traces@0.1.2')
            assert.stdoutReportsOutputSizes(stdout)
            assert.hasVersionedPackage(stdout, 'tracer-bullet', 'stdout')
            assert.hasVersionedPackage(stdout, 'long-stack-traces', 'stdout')

            fileContents.forEach(function (contents, i) {
              assert.match(
                  contents
                , /Build: ender build tracer-bullet@0.0.0 long-stack-traces@0.1.2$/m
                , files[i] + ' contains correct build command'
              )
              assert.sourceHasProvide(contents, 'tracer-bullet', files[i])
              assert.sourceHasProvide(contents, 'long-stack-traces', files[i])
            })

            functionalCommon.verifyNodeModulesDirectories(
                dir
              , 'ender-js tracer-bullet long-stack-traces .bin'.split(' ')
              , callback.bind(null, done)
            )
        })
Example #2
0
        , function (err, dir, fileContents, stdout, stderr, callback) {
            refute(err)
            refute(stderr)

            assert.stdoutRefersToNPMPackages(stdout, 'ender-js bonzo bean')
            assert.stdoutReportsBuildCommand(stdout, 'ender build bonzo bean --output foobar')
            assert.stdoutReportsOutputSizes(stdout)
            assert.hasVersionedPackage(stdout, 'bonzo', 'stdout')
            assert.hasVersionedPackage(stdout, 'bean', 'stdout')

            fileContents.forEach(function (contents, i) {
              assert.match(
                  contents
                , /Build: ender build bonzo bean --output foobar$/m
                , files[i] + ' contains correct build command')
              assert.sourceContainsProvideStatements(contents, 2, files[i])
              assert.hasVersionedPackage(contents, 'bonzo', files[i])
              assert.hasVersionedPackage(contents, 'bean', files[i])
              assert.sourceHasStandardWrapFunction(contents, 'bonzo', files[i])
              assert.sourceHasProvide(contents, 'bonzo', files[i])
              assert.sourceHasStandardWrapFunction(contents, 'bean', files[i])
              assert.sourceHasProvide(contents, 'bean', files[i])

              assert.sourceHasProvidesInOrder(contents, 'bonzo', 'bean', files[i])
            })

            functionalCommon.verifyNodeModulesDirectories(
                dir
              , 'ender-js bonzo bean'.split(' ')
              , callback.bind(null, done)
            )
        })
Example #3
0
                , function (err, dir, fileContents, stdout, stderr) {
                    refute(err)
                    refute(stderr)

                    assert.stdoutRefersToNPMPackages(stdout, 'ender-js qwery bean')
                    assert.stdoutReportsBuildCommand(stdout, 'ender build qwery bean' + (use ? ' --output ' + use : ''))
                    assert.stdoutReportsOutputSizes(stdout)
                    assert.hasVersionedPackage(stdout, 'qwery', 'stdout')
                    assert.hasVersionedPackage(stdout, 'bean', 'stdout')

                    fileContents.forEach(function (contents, i) {
                      assert.match(
                          contents
                        , new RegExp('Build: ender build qwery bean' + (use ? ' --output ' + use : '') + '$', 'm')
                        , files[i] + ' contains correct build command'
                      )
                      assert.sourceContainsProvideStatements(contents, 2, files[i])
                      assert.hasVersionedPackage(contents, 'qwery', files[i])
                      assert.hasVersionedPackage(contents, 'bean', files[i])
                      assert.sourceHasStandardWrapFunction(contents, 'qwery', files[i])
                      assert.sourceHasProvide(contents, 'qwery', files[i])
                      assert.sourceHasStandardWrapFunction(contents, 'bean', files[i])
                      assert.sourceHasProvide(contents, 'bean', files[i])

                      assert.sourceHasProvidesInOrder(contents, 'qwery', 'bean', files[i])
                    })

                    functionalCommon.verifyNodeModulesDirectories(
                        dir
                      , 'ender-js qwery bean'.split(' ')
                      , function (err) { callback(err, dir) }
                    )
                  }
Example #4
0
                , function (err, dir, fileContents, stdout, stderr) {
                    refute(err)
                    refute(stderr)

                    assert.stdoutRefersToNPMPackages(stdout, 'ender-core ender-commonjs qwery bean bonzo sel')
                    assert.stdoutReportsBuildCommand(
                        stdout
                      , 'ender build qwery bean bonzo sel' + (use ? ' --output ' + use : '')
                    )
                    assert.stdoutReportsOutputSizes(stdout)
                    assert.hasVersionedPackage(stdout, 'qwery', 'stdout')
                    assert.hasVersionedPackage(stdout, 'bean', 'stdout')
                    assert.hasVersionedPackage(stdout, 'bonzo', 'stdout')
                    assert.hasVersionedPackage(stdout, 'sel', 'stdout')

                    fileContents.forEach(function (contents, i) {
                      assert.match(
                          contents
                        , new RegExp(
                            'Build: ender build qwery bean bonzo sel' + (use ? ' --output ' + use : '') + '$', 'm'
                          )
                        , files[i] + ' contains correct build command')
                      assert.sourceContainsPackages(contents, 5, files[i])
                      assert.hasVersionedPackage(contents, 'qwery', files[i])
                      assert.hasVersionedPackage(contents, 'bean', files[i])
                      assert.hasVersionedPackage(stdout, 'bonzo', 'stdout')
                      assert.hasVersionedPackage(stdout, 'es5-basic', 'stdout')
                      assert.hasVersionedPackage(stdout, 'sel', 'stdout')
                      assert.sourceHasPackage(contents, 'qwery', files[i])
                      assert.sourceHasPackage(contents, 'bean', files[i])
                      assert.sourceHasPackage(contents, 'bonzo', files[i])
                      assert.sourceHasPackage(contents, 'es5-basic', files[i])
                      assert.sourceHasPackage(contents, 'sel', files[i])
                      assert.sourceHasRequire(contents, 'qwery', files[i])
                      assert.sourceHasRequire(contents, 'bean', files[i])
                      assert.sourceHasRequire(contents, 'bonzo', files[i])
                      assert.sourceHasRequire(contents, 'es5-basic', files[i])
                      assert.sourceHasRequire(contents, 'sel', files[i])
                      assert.sourceHasRequire(contents, 'qwery/src/ender', files[i])
                      assert.sourceHasRequire(contents, 'bean/src/ender', files[i])
                      assert.sourceHasRequire(contents, 'bonzo/src/ender', files[i])
                      assert.sourceHasRequire(contents, 'sel/lib/ender', files[i])

                      assert.sourceHasPackagesInOrder(contents, 'qwery', 'bean', files[i])
                      assert.sourceHasPackagesInOrder(contents, 'bean', 'bonzo', files[i])
                      assert.sourceHasPackagesInOrder(contents, 'bonzo', 'es5-basic', files[i])
                      assert.sourceHasPackagesInOrder(contents, 'es5-basic', 'sel', files[i])
                    })

                    functionalCommon.verifyNodeModulesDirectories(
                        dir
                      , 'ender-core ender-commonjs qwery bean bonzo sel'.split(' ')
                      , function (err) { callback(err, dir) }
                    )
                  }
Example #5
0
        , function (err, dir, fileContents, stdout, stderr, callback) {
            refute(err)
            refute(stderr)

            assert.stdoutRefersToNPMPackages(stdout, 'ender-js sel bean dagron')
            assert.stdoutReportsBuildCommand(stdout, 'ender build sel bean dagron')
            assert.stdoutReportsOutputSizes(stdout)
            assert.hasVersionedPackage(stdout, 'sel', 'stdout')
            assert.hasVersionedPackage(stdout, 'es5-basic', 'stdout')
            assert.hasVersionedPackage(stdout, 'bean', 'stdout')
            assert.hasVersionedPackage(stdout, 'dagron', 'stdout')
            assert.hasVersionedPackage(stdout, 'qwery', 'stdout')

            fileContents.forEach(function (contents, i) {
              assert.match(contents, /Build: ender build sel bean dagron$/m, files[i] + ' contains correct build command')
              assert.sourceContainsProvideStatements(contents, 5, files[i])
              assert.hasVersionedPackage(contents, 'sel', files[i])
              assert.hasVersionedPackage(contents, 'es5-basic', files[i])
              assert.hasVersionedPackage(contents, 'bean', files[i])
              assert.hasVersionedPackage(contents, 'dagron', files[i])
              assert.hasVersionedPackage(contents, 'qwery', files[i])
              // sel & es5-basic don't have the standard wrapper pattern
              assert.sourceHasProvide(contents, 'sel', files[i])
              assert.sourceHasProvide(contents, 'es5-basic', files[i])
              assert.sourceHasStandardWrapFunction(contents, 'bean', files[i])
              assert.sourceHasProvide(contents, 'bean', files[i])
              // dagron doesn't have the standard wrapper pattern
              assert.sourceHasProvide(contents, 'dagron', files[i])
              assert.sourceHasStandardWrapFunction(contents, 'qwery', files[i])
              assert.sourceHasProvide(contents, 'qwery', files[i])

              // check they are in order, we only care about the following ordering pairs:
              assert.sourceHasProvidesInOrder(contents, 'es5-basic', 'sel', files[i])
              assert.sourceHasProvidesInOrder(contents, 'bean', 'dagron', files[i])
              assert.sourceHasProvidesInOrder(contents, 'qwery', 'dagron', files[i])
              // check that they are in the order specified on the commandline
              assert.sourceHasProvidesInOrder(contents, 'sel', 'dagron', files[i])

              assert.sourceHasCopyrightComments(contents, 5, files[i]) // head, ender-js, bean, dagron, qwery
            })

            functionalCommon.verifyNodeModulesDirectories(
                dir
              , 'ender-js sel bean dagron'.split(' ')
              , callback.bind(null, done)
            )
        })
Example #6
0
        , function (err, dir, fileContents, stdout, stderr, callback) {
            refute(err)
            refute(stderr)

            assert.stdoutRefersToNPMPackages(stdout, 'ender-js jeesh')
            assert.stdoutReportsBuildCommand(stdout, 'ender build jeesh')
            assert.stdoutReportsOutputSizes(stdout)
            assert.hasVersionedPackage(stdout, 'jeesh', 'stdout')
            assert.hasVersionedPackage(stdout, 'domready', 'stdout')
            assert.hasVersionedPackage(stdout, 'qwery', 'stdout')
            assert.hasVersionedPackage(stdout, 'bonzo', 'stdout')
            assert.hasVersionedPackage(stdout, 'bean', 'stdout')

            fileContents.forEach(function (contents, i) {
              assert.match(contents, /Build: ender build jeesh$/m, files[i] + ' contains correct build command')
              assert.sourceContainsProvideStatements(contents, 5, files[i]) // jeesh has a provide() too
              assert.hasVersionedPackage(contents, 'jeesh', files[i])
              assert.hasVersionedPackage(contents, 'domready', files[i])
              assert.hasVersionedPackage(contents, 'qwery', files[i])
              assert.hasVersionedPackage(contents, 'bonzo', files[i])
              assert.hasVersionedPackage(contents, 'bean', files[i])
              assert.sourceHasStandardWrapFunction(contents, 'domready', files[i])
              assert.sourceHasProvide(contents, 'domready', files[i])
              assert.sourceHasStandardWrapFunction(contents, 'qwery', files[i])
              assert.sourceHasProvide(contents, 'qwery', files[i])
              assert.sourceHasStandardWrapFunction(contents, 'bonzo', files[i])
              assert.sourceHasProvide(contents, 'bonzo', files[i])
              assert.sourceHasStandardWrapFunction(contents, 'bean', files[i])
              assert.sourceHasProvide(contents, 'bean', files[i])

              // check they are in order, we only care about the following ordering pairs:
              // (take advantage of the useless jeesh provide() to make sure it's last)
              assert.sourceHasProvidesInOrder(contents, 'domready', 'jeesh', files[i])
              assert.sourceHasProvidesInOrder(contents, 'qwery', 'jeesh', files[i])
              assert.sourceHasProvidesInOrder(contents, 'bonzo', 'jeesh', files[i])
              assert.sourceHasProvidesInOrder(contents, 'bean', 'jeesh', files[i])

              assert.sourceHasCopyrightComments(contents, 6, files[i]) // 1 each + header
            })

            functionalCommon.verifyNodeModulesDirectories(
                dir
              , 'ender-js jeesh'.split(' ')
              , callback.bind(null, done)
            )
        })
Example #7
0
        , function (err, dir, fileContents, stdout, stderr, callback) {
            refute(err)
            refute(stderr)

            assert.stdoutRefersToNPMPackages(stdout, 'ender-js ender-bootstrap-popover@2.0.2')
            assert.stdoutReportsBuildCommand(stdout, 'ender build ender-bootstrap-popover@2.0.2')
            assert.stdoutReportsOutputSizes(stdout)
            assert.hasVersionedPackage(stdout, 'ender-bootstrap-popover', 'stdout')
            assert.hasVersionedPackage(stdout, 'ender-bootstrap-base', 'stdout')
            assert.hasVersionedPackage(stdout, 'bowser', 'stdout')
            assert.hasVersionedPackage(stdout, 'bonzo', 'stdout')
            assert.hasVersionedPackage(stdout, 'domready', 'stdout')
            assert.hasVersionedPackage(stdout, 'bean', 'stdout')
            assert.hasVersionedPackage(stdout, 'qwery', 'stdout')
            assert.hasVersionedPackage(stdout, 'ender-bootstrap-transition', 'stdout')
            assert.hasVersionedPackage(stdout, 'ender-bootstrap-tooltip', 'stdout')

            fileContents.forEach(function (contents, i) {
              assert.match(
                  contents
                , /Build: ender build ender-bootstrap-popover@2.0.2$/m
                , files[i] + ' contains correct build command'
              )
              assert.sourceContainsProvideStatements(contents, 9, files[i])
              assert.hasVersionedPackage(contents, 'ender-bootstrap-popover', files[i])
              assert.hasVersionedPackage(contents, 'ender-bootstrap-base', files[i])
              assert.hasVersionedPackage(contents, 'bowser', files[i])
              assert.hasVersionedPackage(contents, 'bonzo', files[i])
              assert.hasVersionedPackage(contents, 'domready', files[i])
              assert.hasVersionedPackage(contents, 'bean', files[i])
              assert.hasVersionedPackage(contents, 'qwery', files[i])
              assert.hasVersionedPackage(contents, 'ender-bootstrap-transition', files[i])
              assert.hasVersionedPackage(contents, 'ender-bootstrap-tooltip', files[i])
              // the ender-bootstrap packages don't have the standard wrapper pattern
              assert.sourceHasStandardWrapFunction(contents, 'bowser', files[i])
              assert.sourceHasProvide(contents, 'bowser', files[i])
              assert.sourceHasStandardWrapFunction(contents, 'domready', files[i])
              assert.sourceHasProvide(contents, 'domready', files[i])
              assert.sourceHasStandardWrapFunction(contents, 'qwery', files[i])
              assert.sourceHasProvide(contents, 'qwery', files[i])
              assert.sourceHasStandardWrapFunction(contents, 'bonzo', files[i])
              assert.sourceHasProvide(contents, 'bonzo', files[i])
              assert.sourceHasStandardWrapFunction(contents, 'bean', files[i])
              assert.sourceHasProvide(contents, 'bean', files[i])

              // check they are in order, we only care about the following ordering pairs:
              assert.sourceHasProvidesInOrder(contents, 'ender-bootstrap-transition', 'ender-bootstrap-popover', files[i])
              assert.sourceHasProvidesInOrder(contents, 'ender-bootstrap-tooltip', 'ender-bootstrap-popover', files[i])
              assert.sourceHasProvidesInOrder(contents, 'ender-bootstrap-base', 'ender-bootstrap-popover', files[i])
              assert.sourceHasProvidesInOrder(contents, 'ender-bootstrap-base', 'ender-bootstrap-transition', files[i])
              assert.sourceHasProvidesInOrder(contents, 'ender-bootstrap-base', 'ender-bootstrap-tooltip', files[i])
              assert.sourceHasProvidesInOrder(contents, 'bowser', 'ender-bootstrap-base', files[i])
              assert.sourceHasProvidesInOrder(contents, 'bonzo', 'ender-bootstrap-base', files[i])
              assert.sourceHasProvidesInOrder(contents, 'domready', 'ender-bootstrap-base', files[i])
              assert.sourceHasProvidesInOrder(contents, 'bean', 'ender-bootstrap-base', files[i])
              assert.sourceHasProvidesInOrder(contents, 'qwery', 'ender-bootstrap-base', files[i])

              assert.sourceHasCopyrightComments(contents, 7, files[i]) // head, ender-js, bowser, bonzo, domready, bean, qwery
            })

            functionalCommon.verifyNodeModulesDirectories(
                dir
              , 'ender-js ender-bootstrap-popover'.split(' ')
              , callback.bind(null, done)
            )
        })