i18n.spec.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. var test = require('tape')
  2. var chalk = require('chalk')
  3. var Driver = require('./Driver')
  4. var setSauceTestStatus = Driver.setSauceTestStatus
  5. var setSauceTestName = Driver.setSauceTestName
  6. var collectErrors = Driver.collectErrors
  7. module.exports = function (driver, platform, host) {
  8. var testName = 'i18n: make sure Uppy loads with Russian language pack '
  9. var platformName = chalk.underline.yellow('[' +
  10. platform.os + ' ' +
  11. platform.browser + ' ' +
  12. platform.version +
  13. ']')
  14. test(testName + ' ' + platformName, function (t) {
  15. t.plan(1)
  16. driver.get(host + '/examples/i18n')
  17. driver.manage().window().maximize()
  18. setSauceTestName(driver, testName)
  19. function findLabelTextElement () {
  20. return driver.findElements({css: '.UppyDragDrop-label'}).then(function (result) {
  21. return result[0]
  22. })
  23. }
  24. driver.wait(findLabelTextElement, 8000, 'Uppy should load within 8 seconds')
  25. .then(function (element) {
  26. element.getText().then(function (value) {
  27. collectErrors(driver).then(function () {
  28. // why trim? Microsoft Edge:
  29. // not ok 4 should be equal
  30. // ---
  31. // operator: equal
  32. // expected: 'Выберите файл или перенесите его сюда'
  33. // actual: 'Выберите файл или перенесите его сюда '
  34. t.equal(value.trim(), 'Выберите файл или перенесите его сюда')
  35. if (value.trim() === 'Выберите файл или перенесите его сюда') {
  36. setSauceTestStatus(driver, true)
  37. } else {
  38. setSauceTestStatus(driver, false)
  39. }
  40. driver.quit()
  41. })
  42. })
  43. })
  44. .catch(function (err) {
  45. collectErrors(driver).then(function () {
  46. t.fail(err)
  47. setSauceTestStatus(driver, false)
  48. driver.quit()
  49. })
  50. })
  51. })
  52. }