Coder Social home page Coder Social logo

juxy's Introduction

Juxy

Juxy is a library for unit testing XSLT stylesheets from Java using JUnit.

This is a fork of juxy.tigris.org.

Quick introduction

Changes in this fork:

  • Converted the build system from Ant to Gradle.
  • Added samples written in Groovy.
  • New class JuxyTextSupport for JUnit4 tests.

Sample

The following example is a unit test written in Groovy. It uses the DOMBuilder to generate the input document inline in the test.

import groovy.xml.DOMBuilder
import org.junit.Test
import org.tigris.juxy.JuxyTestSupport;

public class TransformationTest extends JuxyTestSupport {
	@Test
	public void twoAuthors() {
		setStylesheet("src/test/resources/transform.xsl")
		
		setDocument(DOMBuilder.newInstance().books() {
			book() {
				authors() {
					author("Andrews, Bob")
					author("Cooper, Alice")
				} 
			}
		})

		def result = applyTemplates()

		xpathAssert("//author[1]/firstName", "Bob").eval(result)
		xpathAssert("//author[2]/firstName", "Alice").eval(result)
	}
}

Building

You don't need to have Gradle installed to build Juxy. The wrapper script "gradlew" will download Gradle automatically.

Build the sources:

gradlew build

Install the juxy jar into your local Maven repository:

gradlew install

To deploy the juxy jar to a remote Maven repository, set the properties 'uploadRepositoryUrl', 'uploadSnapshotRepositoryUrl', 'uploadRepositoryUsername', and 'uploadRepositoryPassword' in ~/.gradle/gradle.properties and call

gradlew uploadArchives

Generate Eclipse project files:

gradlew eclipse

juxy's People

Contributors

teetrinkers avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.