summary refs log tree commit diff
path: root/pkgs/development/tools/casperjs
diff options
context:
space:
mode:
authorMathijs Kwik <mathijs@bluescreen303.nl>2012-12-13 17:39:16 +0100
committerMathijs Kwik <mathijs@bluescreen303.nl>2012-12-13 17:51:03 +0100
commitfbee57defb0412b270efbea61b353835c179df48 (patch)
tree8ec155c5f320fe51084932216066193b2a397b25 /pkgs/development/tools/casperjs
parent2cdc567ff5b725dc0f04aa562c54c26019397244 (diff)
downloadnixpkgs-fbee57defb0412b270efbea61b353835c179df48.tar
nixpkgs-fbee57defb0412b270efbea61b353835c179df48.tar.gz
nixpkgs-fbee57defb0412b270efbea61b353835c179df48.tar.bz2
nixpkgs-fbee57defb0412b270efbea61b353835c179df48.tar.lz
nixpkgs-fbee57defb0412b270efbea61b353835c179df48.tar.xz
nixpkgs-fbee57defb0412b270efbea61b353835c179df48.tar.zst
nixpkgs-fbee57defb0412b270efbea61b353835c179df48.zip
new package: casperjs
Diffstat (limited to 'pkgs/development/tools/casperjs')
-rw-r--r--pkgs/development/tools/casperjs/default.nix46
1 files changed, 46 insertions, 0 deletions
diff --git a/pkgs/development/tools/casperjs/default.nix b/pkgs/development/tools/casperjs/default.nix
new file mode 100644
index 00000000000..f140f0d7862
--- /dev/null
+++ b/pkgs/development/tools/casperjs/default.nix
@@ -0,0 +1,46 @@
+{ 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;
+  };
+}