test-suite/lib/test_hlp.js
changeset 629 8f6eed2b4261
parent 628 ecf0e467eeb8
parent 627 7d93eccbb565
child 630 36ef50b63372
--- a/test-suite/lib/test_hlp.js	Tue Apr 08 16:21:53 2014 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-// Test helpers for karma-e2e-dsl environment
-//	
-// https://github.com/winsonwq/karma-e2e-dsl
-
-
-exports.page_loading = function (url, title) {
-	test (url+' loads', dsl(function () {
-		// here we are in Karma page
-		browser.navigateTo (url);
-		expect (element ('title').text ()).toMatch (new RegExp (title,'m'));
-		// The same test agin vaniller javascript
-		element ('title').text (function (page_title) {
-			// here we got a value from the test iframe
-			// to display the tested value : console.log (page_title);
-			if (!(new RegExp (title, 'm').test (page_title))) throw 'got page '+page_title+' instead';
-		});
-	}));
-}
-
-/** Test if it's possible to change lang to the specified :
- *	c : lang code
- *	l : help label
- */
-exports.i18n = function (c, l) {
-	test ('to '+c, dsl(function () {
-		element ('#footer a[href="/i18n/setlang/'+c+'/"]').click ();
-		browser.navigateTo ('/');
-		expect (test_.elt ('#footer a[href="/help/"]').text ()).toMatch (new RegExp (l, 'm'));
-	}));
-}
-
-/** Test if the selected DOM element is defined or has a given value : .val()
- *	s : CSS selector
- *	e : expected value, if omited, test existence
- */
-exports.val = function (s, e) {
-	e = typeof e == 'undefined' ? '' : e; // .val() returns defined ? '' : undefined; // if no value
-	test (s+' is '+e, dsl(function () {
-		expect (test_.elt (s).val ()).toMatch (new RegExp (e, 'm'));
-	}));
-}
-
-exports.exist = function (s) {
-	test_.val (s);
-}
-
-/** Test if the selected DOM element has the given text : .text()
- *	s : CSS selector
- *	e : expected value
- *	v : should we test a visible value ?
- */
-exports.text = function (s, e, v) {
-	v = typeof v == 'undefined' ? true : v;
-	test (s+' has text '+e, dsl(function () {
-		expect (test_.elt (s, v).text ()).toBe (e);
-	}));
-}
-
-/** Test if the selected DOM element .text() value match the given regexp
- *	s : CSS selector
- *	r : regexp to match
- */
-exports.match = function (s, r) {
-	test (s+' text match '+r, dsl(function () {
-		expect (test_.elt (s).text ()).toMatch (r);
-	}));
-}
-
-/** Count selector occurences
- *	s : CSS selector
- *	e : expected count
- */
-exports.count = function (s, e) {
-	test (s+' count is '+e, dsl(function () {
-		expect (test_.elt (s).count ()).toBe (e);
-	}));
-}
-
-/** Test Django form field presence
- */
-exports.field = function (form_id, field_id, type, position, label, mandatory) {
-	test ('has a '+label+' form field', dsl(function () {
-		var s = '';
-
-		switch (type) {
-			case 'textarea':s = 'textarea#'+field_id; break;
-			case 'select':	s = 'select#'+field_id; break;
-			default:		s = 'input#'+field_id+'[type="'+type+'"]';
-		}
-
-		expect (test_.elt (s).val ()).toBeDefined ();
-		expect (test_.elt ('#'+form_id+' :input:eq('+position+')#'+field_id).val ()).toBeDefined ();
-		expect (test_.elt ('label[for='+field_id+']').text ()).toBe (label);
-
-		if (mandatory)
-			expect (test_.elt ('label[for='+field_id+'] + span.required_star').val ()).toBeDefined ();
-	}));
-}
-
-/**
- * Fill form field
- * s : form field id
- * v : array containing the value to use
- */
-exports.fill_field = function (s, v) {
-	test ('set '+s, dsl(function () {
-		input (s).enter (v[s]);
-	}));
-}
-
-/**
- * Submit a form
- * s : selector of the submit button
- */
-exports.submit = function (s) {
-	test ('submit '+s, dsl(function () {
-		test_.elt (s).click ();
-		browser.waitForPageLoad ();
-	}));
-}
-
-/**
- * Fails a test
- */
-exports.fail = function () {
-	test ('must fail', dsl(function () {
-		throw 'have been programmed to fail now';
-	}));
-}
-
-/**
- * Inbrowser debugger statement
- */
-exports.debug = function () {
-	test ('debugger', dsl(function (){
-		debugger; // not seen to work
-	}));
-}
-
-/**
- * Have the browser waiting while you inspect what's going on
- */
-exports.pause = function () {
-	test ('pause', dsl(function () {
-		browser.pause ();
-	}));
-}
-
-/**
- * Start back the testcases
- */
-exports.resume = function () {
-	test ('resume', dsl(function (){
-		browser.resume ();
-	}));
-}
-
-/** Ensure the given element is visible
- *	s : CSS selector of the DOM element to check
- *	v : should the element being visible
- */
-exports.elt = function (s, v) {
-	return element (s + (v ? ':visible' : ''));
-}
-
-/** Revive functions after a JSON.stringify which prevented their disappearence
- * k : key in the object to revive functions in
- * v : value
- * 
- * We keep only the string of the body part in order to use it to define a new function in tests files
- * /!\ do NEVER minify this code ! /!\
- *
- */
-exports.reviveFunc = multilineString (function (k, v) {
-/*!	if (v && typeof v === 'string' && v.substr (0, 8) == 'function') { 
-		var a = v.indexOf ('{') + 1, // start function body 
-		b = v.lastIndexOf ('}'),	
-		c = v.indexOf ('(') + 1,	 // start args 
-		d = v.indexOf (')');		
-		return new Function (v.substring (c, d), v.substring (a, b)); 
-	}
-
-	return v;*/
-});
-
-function multilineString (f) { return f.toString().replace(/^[^\/]+\/\*!?/, '').replace(/\*\/[^\/]+$/, ''); }