Fix scripts and tests

* Fix the reformat script to work with recent changes
* Fix the convert-nei-dump script to remove leading and trailing '_'
* Fix various broken tests
This commit is contained in:
Andrew Miner
2015-01-21 15:05:19 -08:00
parent 3edba072d0
commit e612cedf8d
10 changed files with 46 additions and 31 deletions
+7 -1
View File
@@ -38,7 +38,13 @@ echo "" >> $DATA_FILE
mkdir -p $TARGET_DIR/images
ls $SOURCE_DIR/itempanel_icons | while read FILE; do
ITEM_NAME="$(echo $FILE | sed 's/.png//')"
TARGET_FILE="$(echo $ITEM_NAME | sed 's/[^a-zA-Z0-9]/_/g' | sed 's/__*/_/g' | tr '[A-Z]' '[a-z]').png"
TARGET_FILE="$(echo $ITEM_NAME \
| sed 's/[^a-zA-Z0-9]/_/g' \
| sed 's/__*/_/g' \
| sed 's/^_//' \
| sed 's/_$//' \
| tr '[A-Z]' '[a-z]' \
).png"
cp "$SOURCE_DIR/itempanel_icons/$FILE" "$TARGET_DIR/images/$TARGET_FILE"
echo "item: $ITEM_NAME" >> $DATA_FILE
echo "" >> $DATA_FILE
+2 -1
View File
@@ -5,6 +5,7 @@ global.Backbone = require 'backbone'
fs = require 'fs'
Logger = require '../src/scripts/logger'
ModVersion = require '../src/scripts/models/mod_version'
ModVersionParser = require '../src/scripts/models/mod_version_parser'
require '../src/scripts/underscore_mixins'
@@ -38,7 +39,7 @@ global.logger = new Logger level:Logger.WARNING
try
text = fs.readFileSync sourceFileName, 'UTF-8'
parser = new ModVersionParser
parser = new ModVersionParser model:new ModVersion modSlug:'', version:''
modVersion = parser.parse text
text = parser.unparse modVersion
+7 -1
View File
@@ -6,7 +6,13 @@ All rights reserved.
###
# Minecraft must be first
exports.DefaultMods = [ 'minecraft', 'applied_energistics_2', 'buildcraft', 'ic2_classic' ]
exports.DefaultMods = [
'minecraft',
'applied_energistics_2',
'buildcraft',
'ic2_classic',
'thermal_expansion',
]
exports.Duration = Duration = {}
Duration.snap = 100
@@ -42,6 +42,7 @@ module.exports = class ModPageController extends BaseController
recipe = item.getPrimaryRecipe()
return if not recipe
item.eachRecipe (recipe)=>
controller = @_recipeControllers[controllerIndex]
if not controller?
_.delay (=> @_createRecipeController recipe), delay
@@ -5,6 +5,8 @@ Copyright (c) 2015 by Redwood Labs
All rights reserved.
###
StringBuilder = require '../../models/string_builder'
########################################################################################################################
module.exports = class CommandParserVersionBase
@@ -39,8 +41,8 @@ module.exports = class CommandParserVersionBase
return @_model
unparse: ->
builder = new StringBuilder context:@model
@_unparseModel builder, model
builder = new StringBuilder context:@_model
@_unparseModel builder, @_model
return builder.toString()
# Subclass Methods #############################################################################
@@ -180,26 +180,26 @@ module.exports = class ModVersionParserV1 extends CommandParserVersionBase
# Un-parsing Methods ###########################################################################
_unparseModVersion: (builder, modVersion)->
itemList = _.values modVersion.items
itemList.sort (a, b)-> a.compareTo b
itemList = []
modVersion.eachItem (item)-> itemList.push item
builder
.line 'schema: ', 2
.line 'name: ', modVersion.name
.line 'version: ', modVersion.version
.onlyIf modVersion.description?, => builder.line 'description: ', modVersion.description
.line 'schema: ', 1
.line()
.onlyIf itemList.length > 0, =>
builder.loop itemList, delimiter:'\n', onEach:(b, i)=> @_unparseItem(b, i)
.outdent()
_unparseItem: (builder, item)->
recipes = []
item.eachRecipe (recipe)-> recipes.push recipe
builder
.line 'item: ', item.name
.indent()
.onlyIf item.isGatherable, => builder.line 'gatherable: yes'
.onlyIf item.recipes.length > 0, =>
builder.loop item.recipes, delimiter:'', onEach:(b, r)=> @_unparseRecipe(b, r)
.onlyIf recipes.length > 0, =>
builder.loop recipes, delimiter:'', onEach:(b, r)=> @_unparseRecipe(b, r)
.outdent()
_unparseRecipe: (builder, recipe)->
@@ -32,7 +32,6 @@ module.exports = class VersionedParserBase
unparse: (schema=null)->
schema ?= @_currentSchema
if not modVersion? then throw new Error 'modVersion is required'
parser = @_parsers["#{schema}"]
if not parser? then throw new Error "version #{schema} is not supported"
+1 -1
View File
@@ -19,7 +19,7 @@ modPack = plan = null
describe 'CraftingPlan', ->
beforeEach ->
mod = new Mod name:'Minecraft'
mod = new Mod name:'Minecraft', slug:'minecraft'
mod.addModVersion new ModVersion modSlug:mod.slug, version:'1.7.10'
mod.activeModVersion.parse """
schema:1
+3 -3
View File
@@ -15,16 +15,16 @@ mod = null
describe 'Mod', ->
beforeEach -> mod = new Mod name:'Test'
beforeEach -> mod = new Mod name:'Test', slug:'test'
describe 'compareTo', ->
it 'lists required mods first', ->
minecraft = new Mod name:'Minecraft'
minecraft = new Mod name:'Minecraft', slug:'minecraft'
mod.compareTo(minecraft).should.equal +1
minecraft.compareTo(mod).should.equal -1
it 'sorts by name second', ->
buildcraft = new Mod name:'Buildcraft'
buildcraft = new Mod name:'Buildcraft', slug:'buildcraft'
mod.compareTo(buildcraft).should.equal +1
buildcraft.compareTo(mod).should.equal -1
+6 -6
View File
@@ -19,19 +19,19 @@ buildcraft = industrialCraft = minecraft = modPack = null
describe 'ModPack', ->
beforeEach ->
minecraft = new Mod name:'Minecraft'
minecraft = new Mod slug:'minecraft'
minecraft.addModVersion new ModVersion modSlug:minecraft.slug, version:'1.7.10'
minecraft.activeModVersion.addItem new Item name:'Wool'
minecraft.activeModVersion.addItem new Item name:'Bed', recipes:['']
minecraft.activeModVersion.registerSlug 'iron_chestplate', 'Iron Chestplate'
buildcraft = new Mod name:'Buildcraft'
buildcraft = new Mod slug:'buildcraft'
buildcraft.addModVersion new ModVersion modSlug:buildcraft.slug, version:'6.2.6'
buildcraft.activeModVersion.addItem new Item name:'Stone Gear', recipes:['']
buildcraft.activeModVersion.addItem new Item name:'Bed', recipes:['']
buildcraft.activeVersion = Mod.Version.None
industrialCraft = new Mod name:'Industrial Craft'
industrialCraft = new Mod slug:'industrial_craft'
industrialCraft.addModVersion new ModVersion modSlug:industrialCraft.slug, version:'2.0'
industrialCraft.activeModVersion.addItem new Item name:'Resin'
industrialCraft.activeModVersion.addItem new Item name:'Rubber'
@@ -57,7 +57,7 @@ describe 'ModPack', ->
it 'returns all data for a regular Minecraft item', ->
display = modPack.findItemDisplay 'bed'
display.iconUrl.should.equal '/data/minecraft/1.7.10/images/bed.png'
display.itemUrl.should.equal '/item/Bed'
display.itemUrl.should.equal '/item/bed'
display.itemName.should.equal 'Bed'
display.modSlug.should.equal 'minecraft'
@@ -65,13 +65,13 @@ describe 'ModPack', ->
buildcraft.activeVersion = '6.2.6'
display = modPack.findItemDisplay 'stone_gear'
display.iconUrl.should.equal '/data/buildcraft/6.2.6/images/stone_gear.png'
display.itemUrl.should.equal '/item/Stone%20Gear'
display.itemUrl.should.equal '/item/stone_gear'
display.itemName.should.equal 'Stone Gear'
display.modSlug.should.equal 'buildcraft'
it 'assumes an unfound item is from Minecraft', ->
display = modPack.findItemDisplay 'iron_chestplate'
display.iconUrl.should.equal '/data/minecraft/1.7.10/images/iron_chestplate.png'
display.itemUrl.should.equal '/item/Iron%20Chestplate'
display.itemUrl.should.equal '/item/iron_chestplate'
display.itemName.should.equal 'Iron Chestplate'
display.modSlug.should.equal 'minecraft'