Skip to content

Commit

Permalink
Fixing build problems after last strnatcmp commit
Browse files Browse the repository at this point in the history
  • Loading branch information
kukawski committed Jun 4, 2016
1 parent 8ad852f commit dcaca4e
Show file tree
Hide file tree
Showing 6 changed files with 90 additions and 92 deletions.
64 changes: 64 additions & 0 deletions src/php/_helpers/_phpCastString.js
@@ -0,0 +1,64 @@
module.exports = function _phpCastString (value) {
// original by: Rafał Kukawski
// example 1: _phpCastString(true)
// returns 1: '1'
// example 2: _phpCastString(false)
// returns 2: ''
// example 3: _phpCastString('foo')
// returns 3: 'foo'
// example 4: _phpCastString(0/0)
// returns 4: 'NAN'
// example 5: _phpCastString(1/0)
// returns 5: 'INF'
// example 6: _phpCastString(-1/0)
// returns 6: '-INF'
// example 7: _phpCastString(null)
// returns 7: ''
// example 8: _phpCastString(undefined)
// returns 8: ''
// example 9: _phpCastString([])
// returns 9: 'Array'
// example 10: _phpCastString({})
// returns 10: 'Object'
// example 11: _phpCastString(0)
// returns 11: '0'
// example 12: _phpCastString(1)
// returns 12: '1'
// example 13: _phpCastString(3.14)
// returns 13: '3.14'

var type = typeof value

switch (type) {
case 'boolean':
return value ? '1' : ''
case 'string':
return value
case 'number':
if (isNaN(value)) {
return 'NAN'
}

if (!isFinite(value)) {
return (value < 0 ? '-' : '') + 'INF'
}

return value + ''
case 'undefined':
return ''
case 'object':
if (Array.isArray(value)) {
return 'Array'
}

if (value !== null) {
return 'Object'
}

return ''
case 'function':
// fall through
default:
throw new Error('Unsupported value type')
}
}
64 changes: 0 additions & 64 deletions src/php/_helpers/_php_cast_string.js

This file was deleted.

2 changes: 1 addition & 1 deletion src/php/_helpers/index.js
@@ -1,2 +1,2 @@
module.exports['_bc'] = require('./_bc')
module.exports['_php_cast_string'] = require('./_php_cast_string')
module.exports['_phpCastString'] = require('./_phpCastString')
7 changes: 3 additions & 4 deletions src/php/strings/strnatcasecmp.js
Expand Up @@ -13,13 +13,12 @@ module.exports = function strnatcasecmp (a, b) {
// example 2: strnatcasecmp('1', '10')
// returns 2: -1


var strnatcmp = require('../strings/strnatcmp')
var _php_cast_string = require('../_helpers/_php_cast_string')
var _phpCastString = require('../_helpers/_phpCastString')

if (arguments.length !== 2) {
return null;
return null
}

return strnatcmp(_php_cast_string(a).toLowerCase(), _php_cast_string(b).toLowerCase())
return strnatcmp(_phpCastString(a).toLowerCase(), _phpCastString(b).toLowerCase())
}
15 changes: 7 additions & 8 deletions src/php/strings/strnatcmp.js
Expand Up @@ -20,7 +20,7 @@ module.exports = function strnatcmp (a, b) {
// example 7: strnatcmp('0A', '5N')
// returns 7: -1

var _php_cast_string = require('../_helpers/_php_cast_string')
var _phpCastString = require('../_helpers/_phpCastString')

var leadingZeros = /^0+(?=\d)/
var whitespace = /^\s/
Expand All @@ -30,15 +30,15 @@ module.exports = function strnatcmp (a, b) {
return null
}

a = _php_cast_string(a)
b = _php_cast_string(b)
a = _phpCastString(a)
b = _phpCastString(b)

if (!a.length || !b.length) {
return a.length - b.length
}

var i = 0,
j = 0
var i = 0
var j = 0

a = a.replace(leadingZeros, '')
b = b.replace(leadingZeros, '')
Expand Down Expand Up @@ -85,7 +85,6 @@ module.exports = function strnatcmp (a, b) {

aIsDigit = digit.test(ac)
bIsDigit = digit.test(bc)

} while (aIsDigit || bIsDigit)

if (!fractional && bias) {
Expand All @@ -107,8 +106,8 @@ module.exports = function strnatcmp (a, b) {
j++
}

var iBeforeStrEnd = i < a.length,
jBeforeStrEnd = j < b.length
var iBeforeStrEnd = i < a.length
var jBeforeStrEnd = j < b.length

// Check which string ended first
// return -1 if a, 1 if b, 0 otherwise
Expand Down
Expand Up @@ -4,84 +4,84 @@ process.env.TZ = 'UTC'
var expect = require('chai').expect
var ini_set = require('../../../../src/php/info/ini_set') // eslint-disable-line no-unused-vars,camelcase
var ini_get = require('../../../../src/php/info/ini_get') // eslint-disable-line no-unused-vars,camelcase
var _php_cast_string = require('../../../../src/php/_helpers/_php_cast_string.js') // eslint-disable-line no-unused-vars,camelcase
var _phpCastString = require('../../../../src/php/_helpers/_phpCastString.js') // eslint-disable-line no-unused-vars,camelcase

describe('src/php/_helpers/_php_cast_string.js (tested in test/languages/php/_helpers/test-_php_cast_string.js)', function () {
describe('src/php/_helpers/_phpCastString.js (tested in test/languages/php/_helpers/test-_phpCastString.js)', function () {
it('should pass example 1', function (done) {
var expected = '1'
var result = _php_cast_string(true)
var result = _phpCastString(true)
expect(result).to.deep.equal(expected)
done()
})
it('should pass example 2', function (done) {
var expected = ''
var result = _php_cast_string(false)
var result = _phpCastString(false)
expect(result).to.deep.equal(expected)
done()
})
it('should pass example 3', function (done) {
var expected = 'foo'
var result = _php_cast_string('foo')
var result = _phpCastString('foo')
expect(result).to.deep.equal(expected)
done()
})
it('should pass example 4', function (done) {
var expected = 'NAN'
var result = _php_cast_string(0/0)
var result = _phpCastString(0/0)
expect(result).to.deep.equal(expected)
done()
})
it('should pass example 5', function (done) {
var expected = 'INF'
var result = _php_cast_string(1/0)
var result = _phpCastString(1/0)
expect(result).to.deep.equal(expected)
done()
})
it('should pass example 6', function (done) {
var expected = '-INF'
var result = _php_cast_string(-1/0)
var result = _phpCastString(-1/0)
expect(result).to.deep.equal(expected)
done()
})
it('should pass example 7', function (done) {
var expected = ''
var result = _php_cast_string(null)
var result = _phpCastString(null)
expect(result).to.deep.equal(expected)
done()
})
it('should pass example 8', function (done) {
var expected = ''
var result = _php_cast_string(undefined)
var result = _phpCastString(undefined)
expect(result).to.deep.equal(expected)
done()
})
it('should pass example 9', function (done) {
var expected = 'Array'
var result = _php_cast_string([])
var result = _phpCastString([])
expect(result).to.deep.equal(expected)
done()
})
it('should pass example 10', function (done) {
var expected = 'Object'
var result = _php_cast_string({})
var result = _phpCastString({})
expect(result).to.deep.equal(expected)
done()
})
it('should pass example 11', function (done) {
var expected = '0'
var result = _php_cast_string(0)
var result = _phpCastString(0)
expect(result).to.deep.equal(expected)
done()
})
it('should pass example 12', function (done) {
var expected = '1'
var result = _php_cast_string(1)
var result = _phpCastString(1)
expect(result).to.deep.equal(expected)
done()
})
it('should pass example 13', function (done) {
var expected = '3.14'
var result = _php_cast_string(3.14)
var result = _phpCastString(3.14)
expect(result).to.deep.equal(expected)
done()
})
Expand Down

0 comments on commit dcaca4e

Please sign in to comment.