bbc_standards 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@ module BBCStandards
7
7
  def initialize(xml)
8
8
  @xml = xml
9
9
  # TODO: remove this once Barlesque sorts out the BBC Search form
10
- @xml.sub!('<form method="get" action="http://search.bbc.co.uk/search" accept-charset="utf-8"><fieldset><input',
10
+ @xml.sub!('<form method="get" action="http://search.bbc.co.uk/search" accept-charset="utf-8"> <fieldset> <input',
11
11
  '<form method="get" action="http://search.bbc.co.uk/search" accept-charset="utf-8"><fieldset><legend>foo</legend><input')
12
12
  @doc = Nokogiri::HTML(xml)
13
13
  @errors = []
@@ -57,14 +57,25 @@ module BBCStandards
57
57
  end
58
58
 
59
59
  def test_bbc_standards
60
+ rt = Raakt::Test.new(@xml)
61
+ # Check title structure
60
62
  @errors << Error.new("Title is not valid") unless @xml =~ /<title>\w+( - )?([^<-]+)?( - )?([^<-]+)?<\/title>/
63
+ # Check 1 h1 tag
61
64
  @errors << Error.new("Page doesn't have 1 <h1> tag") unless @doc.xpath('//h1').size == 1
62
- @errors << Error.new("Page doesn't have any <h2> tags") unless @doc.xpath('//h2').size > 0
65
+ # Check heading structure
66
+ @errors << Error.new("Document heading structure is wrong") unless rt.check_document_structure.size == 0
67
+ # Check images have alt tags
68
+ @errors += rt.check_images.map { |e| Error.new(e.text) }
69
+ # Check images have width and height attributes
70
+ @errors += @doc.xpath('//img[not(@width) or not(@height)]').map { |img| Error.new("No width or height attribute for #{img.to_s}") }
71
+ # Check use of <br/> for whitespace (more than one consecutive <br/>)
63
72
  @errors << Error.new("Page is using <br> for whitespace") if @xml =~ /<br\/>\s*<br\/>/
64
- %w(b i font marquee).each do |tag|
73
+ # Check for banned tags
74
+ %w(b i big blink marquee s strike tt u center nobr font).each do |tag|
65
75
  @errors << Error.new("Page is using <#{tag}>") if @doc.xpath("//#{tag}").any?
66
76
  end
67
77
  end
78
+
68
79
  end
69
80
 
70
81
  class Error
data/lib/bbc_standards.rb CHANGED
@@ -5,5 +5,5 @@ require 'bbc_standards/validator'
5
5
  require 'bbc_standards/rspec'
6
6
 
7
7
  module BBCStandards
8
- VERSION = '0.1.1'
8
+ VERSION = '0.1.3'
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bbc_standards
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Sinclair
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-07 00:00:00 +00:00
12
+ date: 2010-04-06 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -63,6 +63,6 @@ rubyforge_project:
63
63
  rubygems_version: 1.3.5
64
64
  signing_key:
65
65
  specification_version: 3
66
- summary: What this thing does
66
+ summary: BBCStandards provides rspec helpers for checking whether documents conform to the BBC FM&T Guidelines and Standards.
67
67
  test_files: []
68
68