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 mkdir -p $TARGET_DIR/images
ls $SOURCE_DIR/itempanel_icons | while read FILE; do ls $SOURCE_DIR/itempanel_icons | while read FILE; do
ITEM_NAME="$(echo $FILE | sed 's/.png//')" 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" cp "$SOURCE_DIR/itempanel_icons/$FILE" "$TARGET_DIR/images/$TARGET_FILE"
echo "item: $ITEM_NAME" >> $DATA_FILE echo "item: $ITEM_NAME" >> $DATA_FILE
echo "" >> $DATA_FILE echo "" >> $DATA_FILE
+2 -1
View File
@@ -5,6 +5,7 @@ global.Backbone = require 'backbone'
fs = require 'fs' fs = require 'fs'
Logger = require '../src/scripts/logger' Logger = require '../src/scripts/logger'
ModVersion = require '../src/scripts/models/mod_version'
ModVersionParser = require '../src/scripts/models/mod_version_parser' ModVersionParser = require '../src/scripts/models/mod_version_parser'
require '../src/scripts/underscore_mixins' require '../src/scripts/underscore_mixins'
@@ -38,7 +39,7 @@ global.logger = new Logger level:Logger.WARNING
try try
text = fs.readFileSync sourceFileName, 'UTF-8' text = fs.readFileSync sourceFileName, 'UTF-8'
parser = new ModVersionParser parser = new ModVersionParser model:new ModVersion modSlug:'', version:''
modVersion = parser.parse text modVersion = parser.parse text
text = parser.unparse modVersion text = parser.unparse modVersion
+7 -1
View File
@@ -6,7 +6,13 @@ All rights reserved.
### ###
# Minecraft must be first # 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 = {} exports.Duration = Duration = {}
Duration.snap = 100 Duration.snap = 100
@@ -42,13 +42,14 @@ module.exports = class ModPageController extends BaseController
recipe = item.getPrimaryRecipe() recipe = item.getPrimaryRecipe()
return if not recipe return if not recipe
controller = @_recipeControllers[controllerIndex] item.eachRecipe (recipe)=>
if not controller? controller = @_recipeControllers[controllerIndex]
_.delay (=> @_createRecipeController recipe), delay if not controller?
delay += @_delayStep _.delay (=> @_createRecipeController recipe), delay
else delay += @_delayStep
controller.model = recipe else
controllerIndex += 1 controller.model = recipe
controllerIndex += 1
else else
@$recipes.hide duration:Duration.fast @$recipes.hide duration:Duration.fast
@@ -5,6 +5,8 @@ Copyright (c) 2015 by Redwood Labs
All rights reserved. All rights reserved.
### ###
StringBuilder = require '../../models/string_builder'
######################################################################################################################## ########################################################################################################################
module.exports = class CommandParserVersionBase module.exports = class CommandParserVersionBase
@@ -39,8 +41,8 @@ module.exports = class CommandParserVersionBase
return @_model return @_model
unparse: -> unparse: ->
builder = new StringBuilder context:@model builder = new StringBuilder context:@_model
@_unparseModel builder, model @_unparseModel builder, @_model
return builder.toString() return builder.toString()
# Subclass Methods ############################################################################# # Subclass Methods #############################################################################
@@ -180,26 +180,26 @@ module.exports = class ModVersionParserV1 extends CommandParserVersionBase
# Un-parsing Methods ########################################################################### # Un-parsing Methods ###########################################################################
_unparseModVersion: (builder, modVersion)-> _unparseModVersion: (builder, modVersion)->
itemList = _.values modVersion.items itemList = []
itemList.sort (a, b)-> a.compareTo b modVersion.eachItem (item)-> itemList.push item
builder builder
.line 'schema: ', 2 .line 'schema: ', 1
.line 'name: ', modVersion.name
.line 'version: ', modVersion.version
.onlyIf modVersion.description?, => builder.line 'description: ', modVersion.description
.line() .line()
.onlyIf itemList.length > 0, => .onlyIf itemList.length > 0, =>
builder.loop itemList, delimiter:'\n', onEach:(b, i)=> @_unparseItem(b, i) builder.loop itemList, delimiter:'\n', onEach:(b, i)=> @_unparseItem(b, i)
.outdent() .outdent()
_unparseItem: (builder, item)-> _unparseItem: (builder, item)->
recipes = []
item.eachRecipe (recipe)-> recipes.push recipe
builder builder
.line 'item: ', item.name .line 'item: ', item.name
.indent() .indent()
.onlyIf item.isGatherable, => builder.line 'gatherable: yes' .onlyIf item.isGatherable, => builder.line 'gatherable: yes'
.onlyIf item.recipes.length > 0, => .onlyIf recipes.length > 0, =>
builder.loop item.recipes, delimiter:'', onEach:(b, r)=> @_unparseRecipe(b, r) builder.loop recipes, delimiter:'', onEach:(b, r)=> @_unparseRecipe(b, r)
.outdent() .outdent()
_unparseRecipe: (builder, recipe)-> _unparseRecipe: (builder, recipe)->
@@ -32,7 +32,6 @@ module.exports = class VersionedParserBase
unparse: (schema=null)-> unparse: (schema=null)->
schema ?= @_currentSchema schema ?= @_currentSchema
if not modVersion? then throw new Error 'modVersion is required'
parser = @_parsers["#{schema}"] parser = @_parsers["#{schema}"]
if not parser? then throw new Error "version #{schema} is not supported" 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', -> describe 'CraftingPlan', ->
beforeEach -> 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.addModVersion new ModVersion modSlug:mod.slug, version:'1.7.10'
mod.activeModVersion.parse """ mod.activeModVersion.parse """
schema:1 schema:1
+3 -3
View File
@@ -15,16 +15,16 @@ mod = null
describe 'Mod', -> describe 'Mod', ->
beforeEach -> mod = new Mod name:'Test' beforeEach -> mod = new Mod name:'Test', slug:'test'
describe 'compareTo', -> describe 'compareTo', ->
it 'lists required mods first', -> it 'lists required mods first', ->
minecraft = new Mod name:'Minecraft' minecraft = new Mod name:'Minecraft', slug:'minecraft'
mod.compareTo(minecraft).should.equal +1 mod.compareTo(minecraft).should.equal +1
minecraft.compareTo(mod).should.equal -1 minecraft.compareTo(mod).should.equal -1
it 'sorts by name second', -> it 'sorts by name second', ->
buildcraft = new Mod name:'Buildcraft' buildcraft = new Mod name:'Buildcraft', slug:'buildcraft'
mod.compareTo(buildcraft).should.equal +1 mod.compareTo(buildcraft).should.equal +1
buildcraft.compareTo(mod).should.equal -1 buildcraft.compareTo(mod).should.equal -1
+6 -6
View File
@@ -19,19 +19,19 @@ buildcraft = industrialCraft = minecraft = modPack = null
describe 'ModPack', -> describe 'ModPack', ->
beforeEach -> beforeEach ->
minecraft = new Mod name:'Minecraft' minecraft = new Mod slug:'minecraft'
minecraft.addModVersion new ModVersion modSlug:minecraft.slug, version:'1.7.10' minecraft.addModVersion new ModVersion modSlug:minecraft.slug, version:'1.7.10'
minecraft.activeModVersion.addItem new Item name:'Wool' minecraft.activeModVersion.addItem new Item name:'Wool'
minecraft.activeModVersion.addItem new Item name:'Bed', recipes:[''] minecraft.activeModVersion.addItem new Item name:'Bed', recipes:['']
minecraft.activeModVersion.registerSlug 'iron_chestplate', 'Iron Chestplate' 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.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:'Stone Gear', recipes:['']
buildcraft.activeModVersion.addItem new Item name:'Bed', recipes:[''] buildcraft.activeModVersion.addItem new Item name:'Bed', recipes:['']
buildcraft.activeVersion = Mod.Version.None 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.addModVersion new ModVersion modSlug:industrialCraft.slug, version:'2.0'
industrialCraft.activeModVersion.addItem new Item name:'Resin' industrialCraft.activeModVersion.addItem new Item name:'Resin'
industrialCraft.activeModVersion.addItem new Item name:'Rubber' industrialCraft.activeModVersion.addItem new Item name:'Rubber'
@@ -57,7 +57,7 @@ describe 'ModPack', ->
it 'returns all data for a regular Minecraft item', -> it 'returns all data for a regular Minecraft item', ->
display = modPack.findItemDisplay 'bed' display = modPack.findItemDisplay 'bed'
display.iconUrl.should.equal '/data/minecraft/1.7.10/images/bed.png' 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.itemName.should.equal 'Bed'
display.modSlug.should.equal 'minecraft' display.modSlug.should.equal 'minecraft'
@@ -65,13 +65,13 @@ describe 'ModPack', ->
buildcraft.activeVersion = '6.2.6' buildcraft.activeVersion = '6.2.6'
display = modPack.findItemDisplay 'stone_gear' display = modPack.findItemDisplay 'stone_gear'
display.iconUrl.should.equal '/data/buildcraft/6.2.6/images/stone_gear.png' 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.itemName.should.equal 'Stone Gear'
display.modSlug.should.equal 'buildcraft' display.modSlug.should.equal 'buildcraft'
it 'assumes an unfound item is from Minecraft', -> it 'assumes an unfound item is from Minecraft', ->
display = modPack.findItemDisplay 'iron_chestplate' display = modPack.findItemDisplay 'iron_chestplate'
display.iconUrl.should.equal '/data/minecraft/1.7.10/images/iron_chestplate.png' 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.itemName.should.equal 'Iron Chestplate'
display.modSlug.should.equal 'minecraft' display.modSlug.should.equal 'minecraft'