Skip to content

Commit

Permalink
Added test coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
benfortuna committed Feb 28, 2022
1 parent 2eac581 commit 5e8676d
Showing 1 changed file with 73 additions and 0 deletions.
@@ -0,0 +1,73 @@
/*
* Copyright (c) 2022, Ben Fortuna
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* o Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* o Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* o Neither the name of Ben Fortuna nor the names of any other contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/

package net.fortuna.ical4j.validate

import net.fortuna.ical4j.model.ContentBuilder
import net.fortuna.ical4j.model.property.Attach
import spock.lang.Shared
import spock.lang.Specification

class CalendarValidatorImplTest extends Specification {

@Shared
ContentBuilder builder

def setupSpec() {
builder = new ContentBuilder()
}

def 'test validation with custom rules'() {
given: 'a validator instance'
CalendarValidatorImpl validator = []

and: 'a calendar instance'
def calendar = builder.calendar() {
prodid '-//Ben Fortuna//iCal4j 1.0//EN'
version '2.0'
vevent {
uid '1'
dtstamp()
dtstart '20090810', parameters: parameters { value 'DATE' }
action 'DISPLAY'
attach new Attach(new File('gradle/wrapper/gradle-wrapper.jar').bytes)
}
}

when: 'validation applied to calendar instance'
validator.validate(calendar)

then: 'result is as expected'
notThrown(ValidationException)
}
}

0 comments on commit 5e8676d

Please sign in to comment.