47 lines
1.6 KiB
Nix
47 lines
1.6 KiB
Nix
|
{ stdenv, fetchgit, python, phantomjs }:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
name = "casperjs-1.0.0-RC5";
|
||
|
|
||
|
src = fetchgit {
|
||
|
url = "git://github.com/n1k0/casperjs.git";
|
||
|
rev = "refs/tags/1.0.0-RC5";
|
||
|
sha256 = "e7fd6b94b4b304416159196208dea7f6e8841a667df102eb378a698a92f0f2c7";
|
||
|
};
|
||
|
|
||
|
patchPhase = ''
|
||
|
substituteInPlace bin/casperjs --replace "/usr/bin/env python" "${python}/bin/python" \
|
||
|
--replace "'phantomjs'" "'${phantomjs}/bin/phantomjs'"
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
mkdir -p $out/share/casperjs $out/bin
|
||
|
cp -a . $out/share/casperjs/.
|
||
|
ln -s $out/share/casperjs/bin/casperjs $out/bin
|
||
|
'';
|
||
|
|
||
|
meta = {
|
||
|
description = "Navigation scripting & testing utility for PhantomJS.";
|
||
|
longDescription = ''
|
||
|
CasperJS is a navigation scripting & testing utility for PhantomJS.
|
||
|
It eases the process of defining a full navigation scenario and provides useful high-level
|
||
|
functions, methods & syntaxic sugar for doing common tasks such as:
|
||
|
- defining & ordering navigation steps
|
||
|
- filling forms
|
||
|
- clicking links
|
||
|
- capturing screenshots of a page (or an area)
|
||
|
- making assertions on remote DOM
|
||
|
- logging & events
|
||
|
- downloading base64 encoded resources, even binary ones
|
||
|
- catching errors and react accordingly
|
||
|
- writing functional test suites, exporting results as JUnit XML (xUnit)
|
||
|
'';
|
||
|
|
||
|
homepage = http://casperjs.org;
|
||
|
license = stdenv.lib.licenses.mit;
|
||
|
|
||
|
maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
|
||
|
platforms = stdenv.lib.platforms.all;
|
||
|
};
|
||
|
}
|