Skip to content

Commit

Permalink
Preserve Enumeration ordering when building display list in MappedEnum.
Browse files Browse the repository at this point in the history
Closes lift#1142
  • Loading branch information
jeppenejsum committed Nov 4, 2011
1 parent 91c4376 commit 4d3ccdc
Showing 1 changed file with 52 additions and 0 deletions.
@@ -0,0 +1,52 @@
/*
* Copyright 2010-2011 WorldWide Conferencing, LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package net.liftweb
package mapper

import org.specs.Specification

import common._

object MyEnum extends Enumeration {
val a = Value
val b = Value
val c = Value
val d = Value
val e = Value
}

class EnumObj extends LongKeyedMapper[EnumObj] with IdPK {
def getSingleton = EnumObj

object enum extends MappedEnum(this, MyEnum)
}


object EnumObj extends EnumObj with LongKeyedMetaMapper[EnumObj]


object MappedEnumSpec extends Specification("MappedEnum Specification") {
"MappedEnum" should {
"preserve enumeration order when building display list" in {
val v = EnumObj.create

import MyEnum._
v.enum.buildDisplayList must_== List(a.id -> a.toString, b.id -> b.toString, c.id -> c.toString, d.id -> d.toString, e.id -> e.toString)
}
}
}

0 comments on commit 4d3ccdc

Please sign in to comment.